min_version = "2026.9.2"
[tools]
committed = "1.1.11"
conftest = "0.69.0"
lefthook = "2.1.10"
rust = { version = "nightly-2026-09-29", components = "rustfmt,clippy", mr_boxington = true }
mr-boxington = "1.20.0"
"github:EmbarkStudios/cargo-deny" = "0.20.2"
[deps.cargo]
auto = true
description = "Fetch crates when Cargo.lock changes"
run = "cargo fetch --locked"
sources = ["Cargo.toml", "Cargo.lock"]
[tasks."check:toolchain"]
description = "Fail if mise.dev.toml and rust-toolchain.toml pin different toolchains"
run = '[ "$(rustc -V)" = "$(env -u RUSTUP_TOOLCHAIN RUSTUP_AUTO_INSTALL=0 rustc -V)" ] || { echo "✘ mise.dev.toml and rust-toolchain.toml pin different toolchains"; exit 1; }'
[tasks.format]
description = "rustfmt check"
run = "cargo fmt --all -- --check"
[tasks.lint]
description = "clippy -D warnings"
run = "cargo clippy --all-targets --all-features -- -D warnings"
[tasks.test]
description = "Unit, integration, and doc-tests"
run = "cargo test --all-features"
timeout = "30m"
[tasks.deny]
description = "License, ban, and source policy (offline)"
run = "cargo deny check licenses bans sources"
[tasks."deny:advisories"]
description = "RustSec advisories and yanked crates (network)"
run = "cargo deny check advisories"
[tasks.commit-msg]
description = "Lint the git commit-msg file with committed"
usage = 'arg "<file>" help="Path to the commit message file"'
run = 'committed --commit-file "${usage_file}"'
[tasks.commits]
description = "Lint commit messages with committed"
usage = 'arg "[commits]" default="HEAD" help="Commit or range"'
run = 'committed "${usage_commits}"'
[tasks.versions]
description = "Fail if manifest versions differ from the default branch"
run = "cargo run -- check --versions"
[tasks.fragments]
description = "Fail on a pending fragment prepare would refuse"
run = "cargo run -- check"
[tasks.policy]
description = "Conftest on GitHub workflows"
run = "conftest test --policy policy .github/workflows"
[tasks.verify]
description = "Toolchain pins, format, lint, policy, tests, deny, version guard, and fragments"
depends = ["check:toolchain", "format", "lint", "policy", "test", "deny", "versions", "fragments"]
[tasks.build]
description = "Build the release binary"
run = "cargo build --release"
[tasks.ver]
description = "Run verctl from this checkout"
run = "cargo run --"