MNRails-AI时代Marginnote插件开发脚手架

MN Rails是一个用于快速创建MarginNote4标准插件工程的脚手架。

它提供统一的项目初始化流程,帮助开发者更快开始MarginNote插件开发。生成的项目面向标准插件工程,并支持后续开发与打包流程。

特性

  • 快速创建MarginNote4标准插件工程模板
  • 一行命令npx mn-rails快速初始化项目
  • 创建过程中可填写addonidauthortitle等项目信息
  • 内置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仓库

1 Like

先star一下!:star:

1 Like