Thanks for your interest in contributing.
See the Commands section of CLAUDE.md for the full list. The short version:
cargo build --workspace
cargo test --workspace
cargo clippy --workspace --all-targets -- -D warnings
cargo fmt --all -- --checkIntegration tests run against a wiremock mock backend, so no network access or real models
are required.
- Use conventional commits: feat, fix, docs, ci, chore, refactor, test.
Every commit must be signed off under the Developer Certificate of Origin. Sign off with:
git commit -sThis appends a Signed-off-by: Your Name <you@example.com> trailer. By signing off you
certify that you wrote the change or otherwise have the right to submit it under the
project's open-source license (Apache 2.0). The sign-off identity must match the commit
author.
A lightweight check verifies that every commit in a pull request carries a sign-off. If you forgot to sign off, add it to existing commits with:
git rebase --signoff origin/mainWe use the DCO, NOT a Contributor License Agreement. This is the open-core-friendly choice: it certifies provenance without assigning copyright or relicensing rights. See docs/open-core.md.
Substantial portions of this codebase are AI-assisted. Changes to security-sensitive paths
require a named human reviewer before merge, in addition to CI. The paths in scope are the
backend client (chorus-core/src/backend), the config loop guard
(chorus-core/src/config), and any tool adapter (chorus-core/src/tools). The rule is
enforced by .github/CODEOWNERS.
If you find a security vulnerability, do NOT open a public issue or PR; follow the disclosure process in SECURITY.md.
- Tests for every behavior change, in the same commit.
- Docs updated in the same PR.
- If a quality, cost, or latency claim changed, include the benchmark run that backs it.
- All CI checks must be green: test, lint, deny, docker-build, codeql, scorecard.
- Issues labeled "good first issue".
- ROADMAP.md is the priority order; pick something near the top.
No em or en dashes anywhere; see the Coding Conventions section of CLAUDE.md.
This repository is open source under the Apache License 2.0 (see LICENSE). Contributions
are accepted under the DCO and stay under that license. The open-core boundary is described
in docs/open-core.md. The "chorus" name and marks are reserved; see
TRADEMARKS.md. The code license does not grant trademark rights.