set shell := ["bash", "-c"] default: check [private] _ensure_tools: @mise trust --yes . 2>/dev/null; mise install --quiet # Run all checks (fmt, clippy, test, audit) check: fmt-check clippy test audit # Format code fmt: _ensure_tools cargo fmt # Check formatting without changing files fmt-check: _ensure_tools cargo fmt --check # Lint with clippy clippy: _ensure_tools cargo clippy --all-targets -- -D warnings # Run tests test: _ensure_tools cargo test # Security + license audit audit: _ensure_tools cargo deny check # Build release build: _ensure_tools cargo build --release # Check for outdated dependencies outdated: _ensure_tools cargo outdated # Clean build artifacts clean: cargo clean