贡献指南 (Contributing)
August 21, 2026 · View on GitHub
感谢你愿意为 dsh-plugin-manager-lite 贡献!请花几分钟阅读以下约定。
工作流
- 先讨论,后编码:对于较大的改动,请先开 Issue 讨论方案,避免浪费精力。
- Fork + 分支:从
main新建功能分支(如feat/enable-foo、fix/list-bug)。 - 小步提交:每个提交只做一件事,提交信息清晰(用 changesets 风格:
feat:/fix:/docs:/refactor:/chore:)。 - 提交 Pull Request:PR 需关联 Issue、描述改动与测试。
开发环境
- Node.js
>=18、DSH0.1.0-rc.7+
# 语法检查
npm run check
代码规范
- 纯 JavaScript / ESM:Host(
lib/index.js)为 ESM 模块;Client(client/client.js)为浏览器 bundle(window.__ModuleLoader__.load)。 - 金三角规则:
package.json的name、cordis.patch.yml的name、client/client.js的__ModuleLoader__.load({ id })三者必须等于包名。 - Host 与 Client 通信:Client 用同源
fetch('/tppm/<method>')调用 Host 的webServer路由,不用动态host.call。 - 只 require 平台种子词:Client 的
require只能加载react等已注册模块,不能触发网络加载。 - 生命周期可回收:Host 的副作用(路由等)放入
ctx.effect的 disposer,确保停止/更新时清除。
测试
当前没有自动化测试框架;至少保证:
node --check lib/index.js && node --check client/client.js通过;- 如有涉及 dsh 运行时的改动,在本地 profile 装好插件并重启验证。
提交信息
建议遵循 Conventional Commits:
feat: 增加按来源筛选插件
fix: 修复停用插件从列表消失的问题
docs: 更新 README 安装说明
提交 PR 前检查清单
-
npm run check通过 - 代码遵循本指南规范
- README / CHANGELOG 相应更新
- 已同步到本地 profile 并重启验证
再次感谢你的贡献!