# ccusage-adapter-codebuff The Codebuff adapter: it turns per-channel `chat-messages.json` files into the usage entries the reports render. ## Owns - `loader.rs` — reading the source, dedupe, and date filtering. - `parser.rs` — raw record parsing, token mapping, and model naming. - `paths.rs` — environment variables, default directories, and file discovery. - `report.rs` — the JSON and table shapes where they differ from the shared ones. Anything that is not specific to this source belongs in `ccusage-core` or `ccusage-adapter-common` instead. ## Data source - `${CODEBUFF_DATA_DIR:-~/.config/}/projects/**/chat-messages.json` - Channels: `manicode`, `manicode-dev`, `manicode-staging`. Reads plain files through `ccusage-adapter-common`, which handles walking, size-balanced chunking, and ordered parallel reads. ## Public surface - `loader::load_entries` - `report::report_from_rows` - `report::summarize_entries` - `run` ## Depends on - `ccusage-adapter-common` - `ccusage-core` - `jiff` - `serde_json` ## Build layer Built in the `adapters` Crane artifact layer; the layer compiles all adapters in one Cargo invocation, so they build concurrently.