csusage-0.2.2 is not a library.
ccusage
The distributed binary. It stays thin on purpose: argument parsing lives in
ccusage-cli-parser, shared runtime behavior in ccusage-core, and every data
source in its own ccusage-adapter-* crate.
Owns
main.rs— startup, command dispatch, and the version string the release embeds throughCCUSAGE_VERSION.cli.rs— the parse entry point and the config context it passes to the parser.commands/— the command implementations that are not an agent report, such asblocksandstatusline.adapter/— the thin aliases that map eachccusage <agent>subcommand to its adapter crate.bin/generate_config_schema.rs— writesapps/ccusage/config-schema.json; theconfig-schemaflake check fails when the committed file drifts.
Depends on
ccusage-adapter-allccusage-adapter-ampccusage-adapter-claudeccusage-adapter-codebuffccusage-adapter-codexccusage-adapter-commonccusage-adapter-copilotccusage-adapter-droidccusage-adapter-geminiccusage-adapter-gooseccusage-adapter-grokccusage-adapter-hermesccusage-adapter-kiloccusage-adapter-kimiccusage-adapter-openclawccusage-adapter-opencodeccusage-adapter-piccusage-adapter-qwenccusage-adapter-zcodeccusage-cliccusage-cli-parserccusage-configccusage-coreserdeserde_json
Build layer
Outside the Crane artifact layers: it is compiled with the final binary, so editing it leaves the cached layers untouched. Its link step is the dominant cost of a warm build, because the release profile uses fat LTO with a single codegen unit.