Section 05 · 参与
参与贡献 Contribute
无需签署 CLA。没有赞助商优先通道。维护者只有一人;请成为你希望收到的那种贡献者: 小而聚焦的 PR、真实的测试覆盖、以及能告诉审查者你在想什么的文字。
- ①Find a thread
选择切入点
浏览 open issues。good first issue 标签意味着路径清晰。help wanted 标签意味着路径开放但有争议。其他情况请先询问。
查看议题 → - ②Fork & branch
复刻并创建分支
git clone 你的复刻,然后 git checkout -b feat/short-name 或 fix/short-name。使用约定式提交——feat:、fix:、docs:、refactor:、test:、chore:。
GitHub 仓库 → - ③Local checks
通过本地检查
CI 运行 cargo fmt --all -- --check、cargo clippy --workspace --all-targets --all-features --locked -- -D warnings 和 cargo test --workspace --all-features --locked。推送前请先运行。
贡献指南 → - ④Open the PR
提交 PR
PR 描述应说明「为什么」而非「做了什么」(diff 已经展示了做了什么)。关联相关 issue。维护者亲自审查所有 PR——通常一天内完成。
PR 模板 →
规约 House rules
简而言之:做实事,别折腾元数据。完整的行为准则是详细版。
- 欢迎附带复现步骤的 bug 报告、说明权衡的重构、修复真实歧义的文档 PR。
- 欢迎能复现 bug 的测试——甚至比修复本身更有价值。
- 欢迎在 Discussions 中提出有深度的问题。带数据更佳。
- 不欢迎不理解 diff 的 AI 生成补丁。
- 不欢迎在代码库或文档中添加托管 SaaS 依赖、遥测或推荐链接。
- 不欢迎按个人偏好跨仓库重命名。
开发循环 · The dev loop
从克隆到合并
完整流程,可直接复制粘贴。仅限 stable Rust——切勿使用 nightly 特性。
# 在 GitHub 上 fork,然后: git clone git@github.com:YOU/deepseek-tui cd deepseek-tui git checkout -b feat/your-thing # 本地构建运行 cargo build cargo run --bin deepseek # 检查(与 CI 完全一致) cargo fmt --all -- --check cargo clippy --workspace --all-targets --all-features --locked -- -D warnings cargo test --workspace --all-features --locked # 一致性验证 cargo test -p deepseek-tui-core --test snapshot --locked cargo test -p deepseek-protocol --test parity_protocol --locked cargo test -p deepseek-state --test parity_state --locked # 提交 + 推送 + PR git commit -m "feat: short subject in conventional-commit form" git push -u origin feat/your-thing gh pr create --fill