贡献指南

August 20, 2026 · View on GitHub

感谢你考虑为 dsh-files-git 贡献!🎉

报告问题(Issue)

  • 提交前请先搜索已有 Issue, 避免重复;
  • 请包含:DSH 版本(dsh --version)、git 版本、操作系统与浏览器、 复现步骤、预期与实际行为;如有报错,附上面板输出模块 / 浏览器控制台的 错误文本;
  • 安全漏洞请开公开 Issue,按 SECURITY.md 披露。

提交 Pull Request

  1. Fork 本仓库并创建特性分支:
    git checkout -b feat/my-feature
    
  2. 修改 lib/src/ 下的源码片段,不要手改 lib/client.js(它是构建产物);
  3. 重新拼装产物并验证:
    node lib/build.cjs --rebuild
    dsh web   # 重启后在实际 WebUI 中手动验证你的改动
    
    构建脚本会对片段首行标记做断言,若报 line mismatch,请先跑一次 node lib/build.cjs(不带参数:按当前 bundle 重切分再拼装)刷新行号表;
  4. 如改动影响界面文案,请同时更新 lib/src/i18n.jszh / en 两份字典 (双语强制平衡,缺一边会在加载时报错);
  5. 更新 README.md / README.en.md 中受影响的功能描述(两份保持同步);
  6. 提交信息请简洁描述动机与改动(中英文均可),发起 PR 并说明验证方式。

代码约定

  • 源码片段共享同一工厂作用域(无 import/export),按 lib/build.cjsPARTS 表的依赖顺序拼装——新增片段需同步更新该表及 HEADS/TAILS 标记;
  • 遵循现有风格:Tab 缩进、双引号字符串、中文注释说明意图;
  • 保持 host 半区(lib/index.js零运行时依赖(仅 Node 内置模块);
  • 涉及 RPC 端点变更时,同步更新 lib/index.js 头部注释与文档中的端点清单;
  • 所有 git 命令必须走 argv 数组执行(无 shell 拼接),文件访问必须保持 工作区包含校验——安全模型见 SECURITY.md,勿引入绕过。

许可

提交 PR 即表示你同意将贡献以 MIT 许可证 授权本仓库使用。