用途:通过官方 CLI 模板脚手架生成一个新的 Orderly 插件包。当用户希望从 CLI 模板创建插件项目时使用;脚手架完成后,参照 orderly-plugin-write 继续开发插件代码。
前置条件:Node.js >= 20.19.0;CLI 使用 npx orderly-devkit(仓库已依赖 devkit 时优先)或 npx @orderly.network/devkit。
需要收集的输入:插件名(--name / -n,PascalCase,例如 BuySellButtons);插件 ID(--id / -i,可选,默认取名称的 kebab-case,例如 buy-sell-buttons);拦截器目标(--interceptor,决定插件 UI 出现位置);目标目录(--target / -t,默认 ./<PluginName>)。命名校验规则见 reference.md 的命名约定。
关于 --interceptor:已安装 devkit 提供的 --interceptor 选项只是脚手架默认值,可能包含旧路径或缺少较新的 SDK 路径。若所需目标缺失,可先用任意目标生成,再手动编辑生成的 interceptors[].target 字符串,并始终用 SDK Inspector 验证最终路径。可用开发环境中的 Inspector 工具发现全部可用拦截器目标路径。
步骤一,查看 CLI 选项:npx orderly-devkit create plugin --help,或 npx @orderly.network/devkit create plugin --help。展示输出以查看可用标志与当前默认值。
步骤二,确认后运行。收集输入后先汇总再执行:Plugin、ID、Target、Interceptor。在父目录(插件文件夹应创建的位置)运行:npx orderly-devkit create plugin
--name "<PluginName>"
--id "<plugin-id>"
--interceptor "<InterceptorTarget>"
--target "<path>"
或使用 pnpm:pnpm orderly-devkit create plugin
--name "<PluginName>"
--id "<plugin-id>"
--interceptor "<InterceptorTarget>"
--target "<path>"
创建后,生成结构包含 src/(index.tsx 入口,导出 registerOrderlyPlugin();plugin.tsx 注册函数,含 createInterceptor() 与 setup;components/ 组件与业务逻辑、UI 分层;types/;i18n/;tailwind.css)、package.json、tsconfig.json、tsup.config.ts、tailwind.config.cjs、README.md、.orderly-manifest.json(模板下载后由 CLI 生成)与 pnpm-lock.yaml。
后续步骤:打开 .orderly-manifest.json 核对元数据;打开 src/plugin.tsx 确认 id、name、version、orderlyVersion 是真实值而非未替换或空的模板占位符;开发见 orderly-plugin-write(架构模式、拦截器策略、Hooks 用法与 props 类型、setup 与错误钩子等);接入应用见 orderly-plugin-add(加入 OrderlyAppProvider);发布见 orderly-plugin-submit(Marketplace 提交)。参考:reference.md(create 命令细节、模板变量、生成结构)与共享参考(命名规则、拦截器目标、manifest 约束)。
限制:资料未提供更详细的目标路径清单、各拦截器语义、命名校验具体规则及模板变量说明,需查阅上述参考文件;Node.js 版本低于 20.19.0 时未说明兼容行为。