发布你的插件
把插件打包成可安装的 bundle,并让它被本目录收录。
一个 bundle 就是一个附带配置层的 npm 包。三个文件:
my-plugin/
├── package.json # 声明 dsh.bundle
├── cordis.patch.yml # 当某个 profile 列出此 bundle 时所应用的 layer
└── index.js # patch 行所引用的插件模块
package.json:
{
"name": "dsh-my-plugin",
"version": "0.1.0",
"type": "module",
"main": "index.js",
"files": ["index.js", "cordis.patch.yml"],
"keywords": ["dsh", "dsh-plugin"],
"dsh": { "bundle": { "patch": "./cordis.patch.yml" } }
}
cordis.patch.yml:
- insert:
- id: my-plugin
name: dsh-my-plugin
index.js:
export const name = 'my-plugin'
export function apply(ctx) {
// 注册你的插件所做的事情;卸载时会自动清理
}
被收录
发布到 npm 时带上 dsh-plugin 关键字。本目录每日读取 npm registry,因此新版本
会在发布后一天内出现 —— 没有提交表单,也不需要等人工审核。
如果迟迟没有出现,原因几乎总是出在清单上。与其猜测,不如把包名粘贴到 发布检查页:它对你已发布到 npm 的包运行与索引程序完全 相同的规则,并指出缺少什么。
TODO:待补充 —— 版本管理、废弃行为、如何认领一个条目。
最后更新于 2026-08-22