Adding a New Analyzer
Splitrail tracks token usage from AI coding agents. Each agent has its own "analyzer" that discovers and parses its data files.
Checklist
- •Add variant to
Applicationenum insrc/types.rs - •Create
src/analyzers/{agent_name}.rsimplementingAnalyzertrait fromsrc/analyzer.rs - •Export in
src/analyzers/mod.rs - •Register in
src/main.rs - •Add tests in
src/analyzers/tests/{agent_name}.rs, export insrc/analyzers/tests/mod.rs - •Update README.md
- •(Optional) Add model pricing to
src/models.rsif agent doesn't provide cost data
Test fixtures go in src/analyzers/tests/source_data/. See src/types.rs for message and stats types.
VS Code Extensions
Use discover_vscode_extension_sources() and get_vscode_extension_tasks_dirs() helpers from src/analyzer.rs.
Reference Analyzers
- •Simple JSONL CLI:
src/analyzers/pi_agent.rs,src/analyzers/piebald.rs - •VS Code extension:
src/analyzers/cline.rs,src/analyzers/roo_code.rs - •Complex with dedup:
src/analyzers/claude_code.rs - •External data dirs:
src/analyzers/opencode.rs