参与贡献
参与贡献Contribute
欢迎提交 PR。权威文档是仓库里的 CONTRIBUTING.md 和 CODE_OF_CONDUCT.md。本页只是一份简短指引。
PR 怎么合并
两条路径。范围合理、通过 CI、不触及信任边界(认证、沙箱、发布、品牌、prompts)的 PR 会被直接合并。 范围较大或目的混杂的 PR 可能被采纳(harvest)——维护者会把有用的提交复制到一个新的 main 上提交,提交信息里带 Harvested from PR #N by @你 和 Co-authored-by。 采纳不是拒绝,而是当来回沟通比维护者直接完成更慢时,代码上线的方式。下一个 CHANGELOG.md 条目会归属原作者。
想走直接合并而非采纳
- 01一个 PR 只做一件事,bug 修复和功能不要混在一起。
- 02提 PR 前以及 CI 反馈后,都先变基到当前 main。冲突会逼迫采纳路径。
- 03带上测试。缺测试是最常见的采纳原因。
- 04没有提前确认前,不要碰信任边界:认证 / 凭据、沙箱策略、发布与构建管线、提供商策略、遥测、赞助、品牌,以及
prompts/目录。
本地检查(与 CI 等价)
Stable Rust 1.88+(edition 2024)。三条命令推送前都跑一遍——CI 用同样的命令,任一失败都会挂。
cargo fmt --all -- --check cargo clippy --workspace --all-targets --all-features --locked -- -D warnings cargo test --workspace --all-features --locked
完整流程
从 clone 到 PR 的复制粘贴序列。
# Fork on GitHub, then: git clone git@github.com:YOU/CodeWhale cd CodeWhale git checkout -b feat/short-subject cargo build cargo run --bin codewhale # Match CI before pushing: cargo fmt --all -- --check cargo clippy --workspace --all-targets --all-features --locked -- -D warnings cargo test --workspace --all-features --locked git commit -m "feat: short subject in conventional-commit form" git push -u origin feat/short-subject gh pr create --fill
用智能体协助贡献
CodeWhale 可以帮忙改 CodeWhale。推荐用法见 递归自改进提示词:让智能体只找一个很小的摩擦点,做一个补丁,然后停下。 没有提前确认前,不要用智能体动信任边界相关的代码。