Something went wrong. Try again.
Something went wrong. Try again.
Development Tasks #
This project uses mise to manage development tools and run common tasks. Mise ensures everyone uses the same tool versions and provides convenient commands for formatting, linting, testing, and more.
Every task is a shell script in scripts/, so you can run one without mise too.
Quick Reference #
mise run check # Check for compilation errors
mise run test # Run tests with coverage
mise run format # Format all files (Rust, TOML, Markdown, YAML, shell)
mise run lint # Lint all files
mise run audit # Audit dependencies for vulnerabilities
mise run setup:agents # Link the agent config for your harness and version control
Run mise tasks for the full list, with aliases.
Without Mise #
Run scripts directly from scripts/:
./scripts/format/rust # Instead of: mise run format:rust
./scripts/lint/rust # Instead of: mise run lint:rust
./scripts/test/rust # Instead of: mise run test:rust
./scripts/check/rust # Instead of: mise run check:rust
./scripts/audit/rust # Instead of: mise run audit:rust
When running scripts directly, ensure required tools are installed and available in your PATH.
Toolchain #
Tools managed by mise (see .config/mise.toml, pinned in .config/mise.lock):
- Rust stable with clippy and llvm-tools
- Rust nightly with rustfmt (for unstable formatting options)
- cargo-audit - Security vulnerability auditing
- cargo-llvm-cov - Code coverage
- cargo-nextest - Test runner
- cargo-outdated - Dependency freshness checking
- cargo-sort - Cargo.toml sorting
- editorconfig-checker, markdownlint-cli2, shellcheck, shfmt, taplo and yamlfmt - Linters and formatters for everything that is not Rust
- gum - Prompts for
mise run setup:agents