Expand description
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.