CodeWhale
Contribute

Contribute参与贡献

Pull requests welcome. The authoritative documents are CONTRIBUTING.md and CODE_OF_CONDUCT.md. What follows is a short orientation.

How PRs land

Two paths. A well-scoped PR that passes CI and doesn’t touch trust-boundary surface (auth, sandbox, publishing, branding, prompts) gets merged directly. Larger or mixed-scope PRs may be harvested — the maintainer copies the useful commits into a new commit on main with Harvested from PR #N by @you in the message and Co-authored-by trailers. Harvest isn’t rejection; it’s how your code ships when a round-trip would be slower than the maintainer finishing it. The next CHANGELOG.md entry credits the original handle.

Land directly, not via harvest

  1. 01One purpose per PR — bug fix or feature, not both.
  2. 02Rebase onto current main before opening the PR and after CI feedback. Conflicts force the harvest path.
  3. 03Include tests with new behavior. Missing tests are the most common reason for harvest.
  4. 04Stay off the trust-boundary surface without prior sign-off: auth/credentials, sandbox policy, publishing/release plumbing, provider policy, telemetry, sponsorship, branding, the prompts/ tree.

Local checks (matches CI)

Stable Rust 1.88+ (edition 2024). Run all three before pushing — CI runs the same commands and fails on any of them.

cargo fmt --all -- --check
cargo clippy --workspace --all-targets --all-features --locked -- -D warnings
cargo test --workspace --all-features --locked

Quickstart

Copy-paste sequence from clone to 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

Agent-assisted improvements

CodeWhale is allowed to help improve CodeWhale. The recommended workflow is the recursive self-improvement prompt: let the agent find one small friction point, ship one patch, stop. Don’t use an agent for trust-boundary work without prior maintainer sign-off.