Development#
Prerequisites#
All dev tooling is managed by mise via mise.toml. Never install tools manually.
# Install mise
curl https://mise.run | sh
# Install all project tools (Rust toolchain, just, cargo extensions, etc.)
mise install
Common Commands#
All dev commands run through just (see justfile):
just fmt # Format code (rustfmt, 2024 edition)
just lint-rust # Run clippy with workspace lint config
just test # Run tests (cargo nextest)
just coverage-check # Verify 80%+ coverage (cargo llvm-cov)
just ci-check # Full local CI parity check
just changelog # Generate CHANGELOG.md from commits (git-cliff)
CI#
GitHub Actions workflows in .github/workflows/ cover: quality checks, tests, cross-platform tests, and coverage.
Security Tooling#
cargo audit— vulnerability scanning for dependencies.cargo deny— supply chain security. Bansopensslandgit2; userustlsandgixinstead.
Release Pipeline#
release-plz.toml+cargo-distfor releases.git-cliffgenerates the changelog from conventional commits.
Pre-commit Hooks#
The following hooks run automatically on commit:
rustfmt, clippy, cargo-check, cargo-machete, mdformat, cargo-audit, cargo-sort, actionlint
See GOTCHAS.md for known quirks with auto-fixing hooks.