跳转到内容

参与贡献

欢迎为 Dline 贡献代码、测试、文档或审查意见。所有参与者都需要遵守仓库中的 行为准则。

提交前先搜索已有的 Issue,避免重复。新建 Issue 时选择对应的模板填写。

除小的 bug 修复、错别字、措辞调整和不改变功能的简单类型修正外,所有贡献都应当先有对应的 GitHub Issue。新功能要先在 Feature Requests 讨论区提出,等核心维护者同意后再开始实现。没有经过批准的 Issue 的 PR 可能会被关闭。

想找入门任务,可以看带 good first issue 或 help wanted 标签的 Issue。

仓库有两个长期分支:

分支角色
dev集成分支,所有普通 PR 的目标
main生产分支,只接收已经通过完整发布门禁的 dev
  1. 从最新的 dev 创建独立分支,例如 feature/<名称>、bugfix/<名称>、docs/<名称>、refactor/<名称> 或 chore/<名称>。
  2. 完成修改,并按开发环境和测试中的说明做本地验证。
  3. 提交前把分支 rebase 到最新的 dev。
  4. 推送分支,创建以 dev 为目标的 PR。CI 会运行类型检查、lint、测试和打包。

功能分支和 bug 修复分支不能直接以 main 为目标。

  • 一个 PR 只处理一个功能或一个问题;较大的修改拆成多个相关的 PR,提交按逻辑拆分,便于分别审查。
  • 运行 npm run lint 检查代码,运行 npm run format:fix 修复格式。npm run format 只检查、不写入。
  • 为新功能补充测试,修改影响到已有测试时同步更新,运行相关测试确认通过。
  • 确认分支可以构建,并去掉调试代码和多余的日志输出。

PR 描述应当说明改了什么、如何测试、是否有破坏性变更;界面修改请附截图。

使用 Conventional Commits 格式,例如 feat:、fix:、docs:,需要时用 #<Issue 编号> 关联 Issue。仓库目前没有自动校验提交信息的钩子,这是约定而不是强制检查。

贡献者不需要在 PR 中编写更新日志条目。版本号和更新日志由维护者在发布时整理:中文版在仓库根目录的 CHANGELOG.md,英文版在 docs/changelog/CHANGELOG_en.md。打包带标签的版本时,两份更新日志都必须包含对应的 ## [X.Y.Z] 标题。

本站是 docs/ 下独立的 Astro Starlight 项目,需要 Node.js >=22.12.0:

终端窗口
cd docs
npm install
npm run dev # 本地预览,根路径为 /
npm run verify # 单元测试、内容检查、构建和产物检查

也可以在仓库根目录运行 npm run docs、npm run docs:check 和 npm run docs:verify。

文档必须中英文成对提交:英文页面放在 docs/src/content/docs/,中文页面放在 docs/src/content/docs/zh-cn/ 的相同路径下。

提交 PR 即表示你同意以本项目使用的 Apache 2.0 许可证授权你的贡献。