[tasks]
build = "cargo build"
test = "cargo test"
lint = "cargo clippy -- -D warnings"
fmt = "cargo fmt --check"
fmt-fix = "cargo fmt"
spec-check = "cargo run -- spec check"
docs-build = "mdbook build docs"
docs-serve = "mdbook serve docs --open"
[tasks.validate-templates]
cmd = "cargo run -- validate-template templates/"
description = "Validate all built-in templates"
[lanes.ci]
description = "Full CI pipeline"
steps = ["fmt", "lint", "test", "build", "spec-check", "validate-templates"]
[lanes.check]
description = "Quick quality check"
steps = [
{ parallel = ["fmt", "lint"] },
"test",
]
[lanes.pre-commit]
description = "Run before committing"
steps = [
{ parallel = ["fmt", "lint"] },
"test",
"spec-check",
]
[lanes.docs]
description = "Build and validate documentation"
steps = ["docs-build"]
[lanes.release]
description = "Pre-release validation"
steps = ["fmt", "lint", "test", "build", "spec-check", "validate-templates", "docs-build"]
[tasks.audit]
cmd = "cargo audit"
description = "Check dependencies for known vulnerabilities"
[lanes.audit]
description = "All quality checks and security audit (reports all failures)"
fail_fast = false
steps = ["lint", "fmt", "test", "audit"]
[lanes.ci-fast]
description = "CI with parallel static checks (faster on multi-core)"
steps = [{ parallel = ["fmt", "lint"] }, "test", "build"]
[release]
files = ["flake.nix"]