ctl-core 0.6.14

Shared clap chassis for the *ctl CLIs
Documentation
# Loaded when MISE_ENV contains `dev` (local default via .miserc.toml).
# Compile this checkout. Not used by Version PR.

# The latest stable mise is the floor; CI pins the same version.
min_version = "2026.10.3"

# ctl-core baseline: begin tools
[tools]
"github:crate-ci/committed" = "1.1.11"
lefthook = "2.1.10"
rust = [
  # Pinned stable: build, lint, test.
  { version = "1.99.0", components = "clippy", mr_boxington = true },
  # Formatting only, for rustfmt's unstable options.
  { version = "nightly-2026-09-29", profile = "minimal", components = "rustfmt" },
]
mr-boxington = "1.20.0"
"github:EmbarkStudios/cargo-deny" = "0.20.2"
"github:bnjbvr/cargo-machete" = "0.9.2"
"github:obi1kenobi/cargo-semver-checks" = "0.51.0"
jq = "1.8.2"
# ctl-core baseline: end tools

# The standard Rust tasks (check:toolchain, format, lint, test, test:doc,
# deny, deny:advisories, deps, semver, verify) come from tasks/rust.toml,
# which mise.toml includes; other repositories include it from a release.

[tasks."check:features"]
description = "Compile each advertised feature set without extra features"
run = [
  "cargo check --no-default-features",
  "cargo check --no-default-features --features document",
  "cargo check --no-default-features --features render",
  "cargo check --no-default-features --features surface-model",
  "cargo check --no-default-features --features surface-serde",
  "cargo check --no-default-features --features surface-templates",
  "cargo check --no-default-features --features surface",
  "cargo check --no-default-features --features validate",
  "cargo check --no-default-features --features input",
  "cargo check --no-default-features --features fixture",
  "cargo check --no-default-features --features served",
  "cargo check --no-default-features --features baseline",
  "cargo check --no-default-features --features usage",
  "cargo check --no-default-features --features json",
  "cargo check --no-default-features --features cli",
  "cargo check --no-default-features --features view",
  "cargo check --no-default-features --features help",
  "cargo check --no-default-features --features app",
  "cargo check --no-default-features --features app,usage",
  "cargo check --no-default-features --features schema",
]

# The shared verify depends on check:repo for a repository's own checks.
# ctl-core has none beyond the shared tasks.
[tasks."check:repo"]
description = "This repository's own checks: none beyond the shared tasks"
run = "true"

[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}"'