贡献指南
August 20, 2026 · View on GitHub
感谢你考虑为 dsh-files-git 贡献!🎉
报告问题(Issue)
- 提交前请先搜索已有 Issue, 避免重复;
- 请包含:DSH 版本(
dsh --version)、git 版本、操作系统与浏览器、 复现步骤、预期与实际行为;如有报错,附上面板输出模块 / 浏览器控制台的 错误文本; - 安全漏洞请勿开公开 Issue,按 SECURITY.md 披露。
提交 Pull Request
- Fork 本仓库并创建特性分支:
git checkout -b feat/my-feature - 修改
lib/src/下的源码片段,不要手改lib/client.js(它是构建产物); - 重新拼装产物并验证:
构建脚本会对片段首行标记做断言,若报 line mismatch,请先跑一次node lib/build.cjs --rebuild dsh web # 重启后在实际 WebUI 中手动验证你的改动node lib/build.cjs(不带参数:按当前 bundle 重切分再拼装)刷新行号表; - 如改动影响界面文案,请同时更新
lib/src/i18n.js的 zh / en 两份字典 (双语强制平衡,缺一边会在加载时报错); - 更新 README.md / README.en.md 中受影响的功能描述(两份保持同步);
- 提交信息请简洁描述动机与改动(中英文均可),发起 PR 并说明验证方式。
代码约定
- 源码片段共享同一工厂作用域(无 import/export),按
lib/build.cjs中PARTS表的依赖顺序拼装——新增片段需同步更新该表及HEADS/TAILS标记; - 遵循现有风格:Tab 缩进、双引号字符串、中文注释说明意图;
- 保持 host 半区(
lib/index.js)零运行时依赖(仅 Node 内置模块); - 涉及 RPC 端点变更时,同步更新
lib/index.js头部注释与文档中的端点清单; - 所有 git 命令必须走 argv 数组执行(无 shell 拼接),文件访问必须保持 工作区包含校验——安全模型见 SECURITY.md,勿引入绕过。
许可
提交 PR 即表示你同意将贡献以 MIT 许可证 授权本仓库使用。