//! Subcommand handlers.
//!
//! Every subcommand lives in a single file under `src/commands/` and
//! exposes two items: an `Args` struct (deriving `clap::Args`) that
//! defines the per-subcommand CLI surface, and a `run(args: &Args)`
//! function that returns `Result<(), crate::error::CliError>`. The
//! top-level dispatch in `main.rs` is an exhaustive `match` on the
//! `cli::Command` enum, so adding a new subcommand requires touching
//! exactly this file, `src/cli.rs`, and a new `commands/<name>.rs`.