min_version = "2026.7.7"
[settings]
lockfile = true
[tools]
rust = "1.97.1"
"cargo:stgit" = { version = "2.6.1", depends = ["rust"] }
lefthook = "2.1.10"
gh = "2.95.0"
[tasks."format:fix"]
description = "Format Rust sources"
run = "cargo fmt --all"
[tasks.format]
description = "Check Rust formatting"
run = "cargo fmt --all -- --check"
[tasks."lint:fix"]
description = "Apply machine-fixable Clippy suggestions"
run = "cargo clippy --fix --allow-dirty --allow-staged --workspace --all-targets --all-features -- -D warnings"
[tasks.lint]
description = "Run Clippy with warnings denied"
run = "cargo clippy --workspace --all-targets --all-features -- -D warnings"
[tasks.test]
description = "Run unit tests"
run = "cargo test --workspace --all-features"
[tasks."version:sync"]
description = "Synchronize task and example versions from Cargo.toml"
run = "cargo run --quiet --package forkctl-xtask"
[tasks."version:check"]
description = "Verify task and example versions match Cargo.toml"
run = "cargo run --quiet --package forkctl-xtask -- --check"
[tasks.verify]
description = "Run all repository checks"
depends = ["format", "lint", "test", "version:check"]
[tasks.build]
description = "Build the release binary"
run = "cargo build --release"