Install stable Rust with rustfmt and clippy, then run:
cargo fmt --check
cargo clippy --all-targets -- -D warnings
cargo testRun the local CLI:
cargo run -- --help- Open an issue or discussion for ambiguous work.
- Write an RFC for substantial changes.
- Create a focused branch.
- Add or update tests for behavior changes.
- Update
CHANGELOG.mdfor user-facing changes. - Run fmt, clippy, and tests.
- Open a pull request with motivation, implementation notes, validation, and follow-up risks.
Small typo corrections, narrow documentation fixes, and repository metadata updates do not need an RFC.
Use rfcs/ when a change affects:
- public CLI behavior
- install or rollback safety
- source-provider trust boundaries
- configuration shape
- release process
- repository structure
- long-term integration strategy
RFCs should describe the problem, goals, non-goals, proposed design, alternatives, rollout plan, and risks.
Every PR should answer:
- What changed?
- Why is this change needed?
- How was this tested?
- Are there follow-up tasks or risks?
For release-facing changes, include the output summary from:
cargo package --allow-dirtyDo not commit private tokens, local config, generated workspaces, internal hostnames, or personal filesystem paths.
Keep package contents intentional. If a file should ship in the crate, verify it appears in cargo package --list --allow-dirty.
Use SECURITY.md for vulnerability reporting guidance. Do not include secrets, exploit details, or private infrastructure in public issues or pull requests.