MN Rails是一个用于快速创建MarginNote4标准插件工程的脚手架。
它提供统一的项目初始化流程,帮助开发者更快开始MarginNote插件开发。生成的项目面向标准插件工程,并支持后续开发与打包流程。
特性
- 快速创建MarginNote4标准插件工程模板
- 一行命令
npx mn-rails快速初始化项目 - 创建过程中可填写
addonid、author、title等项目信息 - 内置
AGENTS.md,便于配合AI工具及MCP进行高效开发 - 内置版本号dump脚本与可选的Github CI,便于快速迭代新版本
- 内置打包脚本
快速开始
在目标目录运行:
npx mn-rails
按照提示输入项目信息后
❮ npx mn-rails
Project name (marginnote-addon): FooBar
addonid: foo.bar.banana
author: Monkey
title: FooBar Plugin
class name (MNFooBarPluginAddon):
package manager (npm/pnpm) [pnpm]:
generate CI? (y/n) [y]:
Created: /Users/shenshichao/FooBar
脚手架会生成对应的项目目录
❮ tree FooBar/
FooBar/
├── AGENTS.md
├── package.json
├── scripts
│ ├── build-release.js
│ └── bump-version.js
└── src
├── icon.png
├── main.js
├── mnaddon.json
└── MNFooBarPluginAddon.js
3 directories, 8 files
注意事项:
- 目标目录必须为空目录,否则创建会中止
- 若检测到git可用,会自动完成仓库初始化并创建初始commit
进入项目目录后即可安装依赖并启动开发:
cd <your-project>
pnpm i
# or
npm i
MCP
使用AI开发建议配合MCP
MCP启动命令:npx mn-docs-mcp
首次启动会下载embedding模型并构建向量数据,建议先在终端执行过一次后再由AI工具进行调用。
快速配置:
{
"mcpServers": {
"mn-docs": {
"command": "npx",
"args": [
"mn-docs-mcp"
]
}
}
}
Codex快速配置:
[mcp_servers.mn-docs]
args = ["mn-docs-mcp"]
command = "npx"
enabled = true
构建与发布
插件打包
pnpm dev # 直接打包
pnpm build # 压缩后打包
版本更新
语法类似npm version,一次性实现版本号更新、打tag、创建版本commit的操作
pnpm version:patch
pnpm version:minor
pnpm version:major
发布Release
如果启用了ci,推送tag后会自动生成release
git push
git push --tag
开发计划
- 搜集整理开发过程中的常见问题,为AI整理错题本
- 支持 MNUtils
贡献
欢迎提交issue和pr到GitHub仓库