# Run all CI checks locally (same as CI)
check: format-check lint test
# Format Rust code (auto-fix)
format-rust:
cargo fmt --all
# Format documentation with flowmark
format-docs:
cargo build --release
# FIXME: Disabling until bugs fixed.
# ./target/release/flowmark --auto *.md ./docs/*.md ./docs/*/*.md
# Format everything (Rust code + docs)
format: format-rust format-docs
# Check code formatting (CI check only, no changes)
format-check:
cargo fmt --all -- --check
# Run clippy (CI check only, no changes)
lint:
cargo clippy --all-targets --all-features --workspace -- -D warnings
# Auto-fix clippy warnings where possible
lint-fix:
cargo clippy --fix --all-targets --all-features --workspace --allow-dirty --allow-staged
# Run tests
test:
cargo test --all-features --workspace
# Run tests (no default features)
test-no-default:
cargo test --no-default-features --workspace
# Auto-fix formatting only
fix-format: format-rust
# Auto-fix clippy warnings only
fix-lint: lint-fix
# Auto-fix everything possible (format + clippy + docs)
fix: format-rust lint-fix format-docs
# Run before committing (auto-fix then verify all checks pass)
precommit: fix check
# Build release binary
build:
cargo build --release
# Clean build artifacts
clean:
cargo clean
# Release a new version (requires cargo-release: cargo install cargo-release)
# Usage: just release patch|minor|major
release level:
cargo release {{level}} --execute