CodeWhale
参与贡献

参与贡献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 条目会归属原作者。

想走直接合并而非采纳

  1. 01一个 PR 只做一件事,bug 修复和功能不要混在一起。
  2. 02提 PR 前以及 CI 反馈后,都先变基到当前 main。冲突会逼迫采纳路径。
  3. 03带上测试。缺测试是最常见的采纳原因。
  4. 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。推荐用法见 递归自改进提示词:让智能体只找一个很小的摩擦点,做一个补丁,然后停下。 没有提前确认前,不要用智能体动信任边界相关的代码。