How maciek-roboblog/claude-code-usage-monitor works
Claude Code Usage Monitor is a local usage-operations companion: CLI or statusline invocations collect Claude usage and optional official limits, build estimates and forecasts, then present or export a common snapshot. Its live workflow refreshes usage through the monitoring orchestrator and renders it in the terminal; one-shot and automation modes use the snapshot contract. The README also documents opt-in history and reports. Those capabilities are represented from documentation and paths; their internal wiring is not established by the sampled source.
Main entry points: main.py CLI entry · analysis.py Usage analysis · orchestrator.py Monitor orchestrator · snapshots.py Snapshot builder
Components 24
Invocation and monitoring
- CLI entry
src/claude_monitor/cli/main.py - CLI settings
src/claude_monitor/core/settings.py - Monitor orchestrator
src/claude_monitor/monitoring/orchestrator.py - Session tracking
src/claude_monitor/monitoring/session_monitor.py - Data manager
src/claude_monitor/monitoring/data_manager.py
Usage analysis
- Usage reader
src/claude_monitor/data/reader.py - Session analyzer
src/claude_monitor/data/analyzer.py - Usage analysis
src/claude_monitor/data/analysis.py - Usage aggregation
src/claude_monitor/data/aggregator.py
Limits and snapshots
- Plan limits
src/claude_monitor/core/plans.py - Usage calculations
src/claude_monitor/core/calculations.py - Snapshot builder
src/claude_monitor/output/snapshots.py - Official limits
src/claude_monitor/output/official.py - Experimental API limits
src/claude_monitor/output/api_usage.py
Presentation and persistence
- Live display control
src/claude_monitor/ui/display_controller.py - Session rendering
src/claude_monitor/ui/session_display.py - Output formatters
src/claude_monitor/output/formatters.py - State export
src/claude_monitor/output/state.py - Usage warehouse
src/claude_monitor/data/warehouse.py - History reports
src/claude_monitor/data/reports.py
Other components
- Monitor user
- Claude Code
- Claude usage files
- Statusline rate limits
Connections 23
- Monitor user → CLI entry: invokes
- Claude Code → CLI entry: runs hook
- CLI entry → CLI settings: loads options
- CLI entry → Monitor orchestrator: starts monitoring
- Monitor orchestrator → Data manager: fetches usage
- Data manager → Usage analysis: analyzes usage
- Usage analysis → Usage reader: reads entries
- Usage analysis → Session analyzer: analyzes sessions
- Usage analysis → Usage aggregation: aggregates usage
- Claude usage files → Usage reader: provides entries
- Monitor orchestrator → Session tracking: updates sessions
- CLI entry → Official limits: reads limits
- Statusline rate limits → Official limits: supplies limits
- CLI entry → Experimental API limits: checks optionally
- CLI entry → Snapshot builder: builds snapshot
- Snapshot builder → Plan limits: gets plan limits
- Snapshot builder → Usage calculations: calculates pace
- CLI entry → Live display control: runs live view
- Live display control → Session rendering: renders session
- CLI entry → Output formatters: formats output
- CLI entry → State export: writes state
- Usage analysis → Usage warehouse: persists optionally
- Usage warehouse → History reports: provides history