Library half of the cabin CLI binary.
The bin (src/main.rs) is intentionally a thin shim that
calls [run]; the typed parser ([Cli]), the
command dispatcher, and every glue module live here so
integration tests can re-use the same surface the binary
does — Cli::command() is the single source of truth for
which subcommands exist and which are hidden.