fathom-cli 0.1.0 → 0.1.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/README.md ADDED
@@ -0,0 +1,173 @@
1
+ # fathom-cli
2
+
3
+ Workflow intelligence for AI-augmented development. Estimate token costs before work, automatically track actuals during work, reconcile and calibrate after work, and build velocity benchmarks over time.
4
+
5
+ ```
6
+ intake → estimate → build (tracked) → reconcile → calibrate → velocity
7
+ ```
8
+
9
+ ## Install
10
+
11
+ ```bash
12
+ npm install -g fathom-cli
13
+ ```
14
+
15
+ ## Quick Start
16
+
17
+ ```bash
18
+ # Quick estimate — "how much will this cost?"
19
+ # AI scores complexity automatically when ANTHROPIC_API_KEY is set
20
+ fathom estimate "React dashboard with OAuth"
21
+
22
+ # Generate a full spec sheet — "break this down into work items"
23
+ fathom intake "Users say the calendar is slow and Zoom links are missing" --project myapp
24
+
25
+ # Analyze a full spec with multiple features
26
+ fathom analyze spec.md --project myapp
27
+
28
+ # Scaffold tracking for an existing project
29
+ fathom setup --project myapp
30
+
31
+ # Import and auto-tag Claude Code sessions
32
+ fathom track --project myapp
33
+
34
+ # Compare estimates vs actuals
35
+ fathom reconcile --project myapp
36
+
37
+ # See velocity metrics
38
+ fathom velocity --project myapp
39
+ ```
40
+
41
+ ## Commands
42
+
43
+ | Command | Description |
44
+ |---------|-------------|
45
+ | `fathom estimate <desc>` | Quick cost estimate — AI scores complexity, returns tokens + cost |
46
+ | `fathom intake <text>` | Generate spec sheet — extracts work items, estimates each, outputs markdown |
47
+ | `fathom analyze <spec>` | Parse spec, estimate all features, generate registry |
48
+ | `fathom track` | Import Claude Code sessions, auto-tag to features |
49
+ | `fathom reconcile` | Compare estimates vs actuals per feature |
50
+ | `fathom calibrate` | Show drift and suggest profile adjustments |
51
+ | `fathom velocity` | Velocity metrics and benchmarks |
52
+ | `fathom status` | Project overview with tracking data |
53
+ | `fathom pricing` | Show current model pricing |
54
+ | `fathom setup` | Scaffold `.claude/` skill + hooks + registry |
55
+ | `fathom validate <spec>` | Validate spec file format |
56
+ | `fathom init` | Initialize global config |
57
+
58
+ ## How It Works
59
+
60
+ ### 1. Estimate vs Intake (Before Work)
61
+
62
+ **`estimate`** — quick cost number from a description:
63
+
64
+ ```bash
65
+ fathom estimate "Build a real-time chat system with WebSocket support"
66
+ # AI analyzes → L complexity, 205K tokens, $2.51, recommends Sonnet
67
+ # Use --complexity M to override, --no-ai for heuristic-only scoring
68
+ ```
69
+
70
+ **`intake`** — full spec sheet from raw feedback:
71
+
72
+ ```bash
73
+ fathom intake "Users need real-time chat and the Zoom integration is broken" --project myapp
74
+ # Extracts discrete work items, classifies each by complexity/priority,
75
+ # estimates tokens + cost per item, attaches velocity benchmarks,
76
+ # outputs structured markdown spec ready for implementation
77
+ ```
78
+
79
+ Use `estimate` when you want a quick number. Use `intake` when you want a plan.
80
+
81
+ Both use a calibrated model: base tokens per task type × complexity multiplier × overhead (context resend, tool calls, thinking, error recovery, planning, review).
82
+
83
+ ### 2. Track (During Work)
84
+
85
+ Fathom automatically discovers Claude Code sessions from `~/.claude/projects/` and tags them to features using a 4-signal cascade:
86
+
87
+ 1. **Explicit feature ID** in conversation → 99% confidence
88
+ 2. **Git branch** pattern match → 85%
89
+ 3. **Keyword** match → 75%
90
+ 4. **File path** match → 70%
91
+
92
+ Zero configuration needed — just run `fathom track`.
93
+
94
+ ### 3. Reconcile + Calibrate (After Work)
95
+
96
+ ```bash
97
+ fathom reconcile --project myapp
98
+ # Shows: Feature | Estimated | Actual | Drift% | Cost | Sessions
99
+
100
+ fathom calibrate --project myapp
101
+ # Shows: Feature | Drift | Suggested adjustment multiplier
102
+ ```
103
+
104
+ Over time, your estimates get more accurate as the profiles learn from real data.
105
+
106
+ ### 4. Velocity Intelligence
107
+
108
+ ```bash
109
+ fathom velocity --project myapp --benchmarks
110
+ # "M-complexity React components: $0.85 avg, 1.1 days, 2.8 sessions"
111
+ ```
112
+
113
+ ## Dashboard
114
+
115
+ Fathom includes a real-time web dashboard (Next.js + Convex) with 7 views: overview, projects, burn-down, intake queue, cost analytics, velocity benchmarks, and calibration health.
116
+
117
+ ```bash
118
+ # Set up Convex sync (optional — CLI works fully offline)
119
+ export CONVEX_URL=https://your-deployment.convex.cloud
120
+
121
+ # All commands auto-sync when CONVEX_URL is set
122
+ fathom analyze spec.md --project myapp # → syncs estimates
123
+ fathom track --project myapp # → syncs actuals
124
+ ```
125
+
126
+ See the [full repo](https://github.com/olivelliott/fathom) for dashboard setup.
127
+
128
+ ## Intake Pipeline
129
+
130
+ Turn raw feedback into estimated, structured work items:
131
+
132
+ ```bash
133
+ # From text
134
+ fathom intake "Users say the calendar is slow and Zoom links are missing" --project myapp
135
+
136
+ # From a file
137
+ fathom intake --file meeting-notes.md --project myapp --markdown
138
+ ```
139
+
140
+ Requires `ANTHROPIC_API_KEY` environment variable.
141
+
142
+ ## Environment Variables
143
+
144
+ | Variable | Required | Purpose |
145
+ |----------|----------|---------|
146
+ | `ANTHROPIC_API_KEY` | For `estimate` + `intake` | AI complexity scoring and work item extraction |
147
+ | `CONVEX_URL` | Optional | Enable dashboard sync |
148
+
149
+ ## Spec Format
150
+
151
+ Fathom parses markdown specs with `### Feature:` headings:
152
+
153
+ ```markdown
154
+ ### Feature: User Authentication
155
+ - **Complexity**: L
156
+ - **Category**: Infrastructure
157
+ - **Description**: OAuth2 with Google + email/password login
158
+
159
+ ### Feature: Dashboard
160
+ - **Complexity**: M
161
+ - **Category**: Frontend
162
+ - **Description**: Main dashboard with metrics and charts
163
+ ```
164
+
165
+ ## Links
166
+
167
+ - [GitHub Repository](https://github.com/olivelliott/fathom)
168
+ - [Roadmap](https://github.com/olivelliott/fathom/blob/main/ROADMAP.md)
169
+ - [Report an Issue](https://github.com/olivelliott/fathom/issues)
170
+
171
+ ## License
172
+
173
+ MIT
@@ -0,0 +1,78 @@
1
+ {
2
+ "version": 1,
3
+ "updated": "2026-03-05",
4
+ "models": [
5
+ {
6
+ "id": "claude-opus-4-6",
7
+ "provider": "anthropic",
8
+ "name": "Claude Opus 4.6",
9
+ "input_per_mtok": 15.0,
10
+ "output_per_mtok": 75.0,
11
+ "cache_read_per_mtok": 1.5,
12
+ "batch_discount": 0.5,
13
+ "tier": "frontier"
14
+ },
15
+ {
16
+ "id": "claude-sonnet-4-6",
17
+ "provider": "anthropic",
18
+ "name": "Claude Sonnet 4.6",
19
+ "input_per_mtok": 3.0,
20
+ "output_per_mtok": 15.0,
21
+ "cache_read_per_mtok": 0.3,
22
+ "batch_discount": 0.5,
23
+ "tier": "balanced"
24
+ },
25
+ {
26
+ "id": "claude-haiku-4-5",
27
+ "provider": "anthropic",
28
+ "name": "Claude Haiku 4.5",
29
+ "input_per_mtok": 1.0,
30
+ "output_per_mtok": 5.0,
31
+ "cache_read_per_mtok": 0.1,
32
+ "batch_discount": 0.5,
33
+ "tier": "speed"
34
+ }
35
+ ],
36
+ "recommendations": {
37
+ "architecture": {
38
+ "model": "claude-opus-4-6",
39
+ "reason": "Deep reasoning, trade-off analysis"
40
+ },
41
+ "complex-implementation": {
42
+ "model": "claude-sonnet-4-6",
43
+ "reason": "Best cost/capability for multi-file coding"
44
+ },
45
+ "standard-crud": {
46
+ "model": "claude-sonnet-4-6",
47
+ "reason": "Reliable, fast, cost-effective"
48
+ },
49
+ "scaffolding": {
50
+ "model": "claude-haiku-4-5",
51
+ "reason": "Speed + cost over reasoning depth"
52
+ },
53
+ "documentation": {
54
+ "model": "claude-haiku-4-5",
55
+ "reason": "Straightforward generation"
56
+ },
57
+ "test-generation": {
58
+ "model": "claude-sonnet-4-6",
59
+ "reason": "Needs code logic understanding"
60
+ },
61
+ "code-review": {
62
+ "model": "claude-opus-4-6",
63
+ "reason": "Benefits from deeper reasoning"
64
+ },
65
+ "debugging": {
66
+ "model": "claude-opus-4-6",
67
+ "reason": "Benefits from deeper reasoning"
68
+ },
69
+ "refactoring-architectural": {
70
+ "model": "claude-opus-4-6",
71
+ "reason": "Needs system-wide understanding"
72
+ },
73
+ "refactoring-mechanical": {
74
+ "model": "claude-sonnet-4-6",
75
+ "reason": "Pattern application"
76
+ }
77
+ }
78
+ }