---
name: new-analyzer
description: Guide for adding a new AI coding agent analyzer to Splitrail. Use when implementing support for a new tool like Copilot, Cline, or similar.
---
# 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
1. Add variant to `Application` enum in `src/types.rs`
2. Create `src/analyzers/{agent_name}.rs` implementing `Analyzer` trait from `src/analyzer.rs`
3. Export in `src/analyzers/mod.rs`
4. Register in `src/main.rs`
5. Add tests in `src/analyzers/tests/{agent_name}.rs`, export in `src/analyzers/tests/mod.rs`
6. Update README.md
7. (Optional) Add model pricing to `src/models.rs` if 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`