fathom-cli 0.1.0 → 0.1.1
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 +157 -0
- package/package.json +1 -1
package/README.md
ADDED
|
@@ -0,0 +1,157 @@
|
|
|
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
|
+
# Estimate a feature in seconds
|
|
19
|
+
fathom estimate "React dashboard with OAuth" --complexity L
|
|
20
|
+
|
|
21
|
+
# Analyze a full spec with multiple features
|
|
22
|
+
fathom analyze spec.md --project myapp
|
|
23
|
+
|
|
24
|
+
# Scaffold tracking for an existing project
|
|
25
|
+
fathom setup --project myapp
|
|
26
|
+
|
|
27
|
+
# Import and auto-tag Claude Code sessions
|
|
28
|
+
fathom track --project myapp
|
|
29
|
+
|
|
30
|
+
# Compare estimates vs actuals
|
|
31
|
+
fathom reconcile --project myapp
|
|
32
|
+
|
|
33
|
+
# See velocity metrics
|
|
34
|
+
fathom velocity --project myapp
|
|
35
|
+
```
|
|
36
|
+
|
|
37
|
+
## Commands
|
|
38
|
+
|
|
39
|
+
| Command | Description |
|
|
40
|
+
|---------|-------------|
|
|
41
|
+
| `fathom estimate <desc>` | Quick single-feature token + cost estimate |
|
|
42
|
+
| `fathom analyze <spec>` | Parse spec, estimate all features, generate registry |
|
|
43
|
+
| `fathom intake <text>` | Extract work items from raw feedback via Claude API |
|
|
44
|
+
| `fathom track` | Import Claude Code sessions, auto-tag to features |
|
|
45
|
+
| `fathom reconcile` | Compare estimates vs actuals per feature |
|
|
46
|
+
| `fathom calibrate` | Show drift and suggest profile adjustments |
|
|
47
|
+
| `fathom velocity` | Velocity metrics and benchmarks |
|
|
48
|
+
| `fathom status` | Project overview with tracking data |
|
|
49
|
+
| `fathom pricing` | Show current model pricing |
|
|
50
|
+
| `fathom setup` | Scaffold `.claude/` skill + hooks + registry |
|
|
51
|
+
| `fathom validate <spec>` | Validate spec file format |
|
|
52
|
+
| `fathom init` | Initialize global config |
|
|
53
|
+
|
|
54
|
+
## How It Works
|
|
55
|
+
|
|
56
|
+
### 1. Estimate (Before Work)
|
|
57
|
+
|
|
58
|
+
Write a spec with `### Feature:` headings, or just describe a feature:
|
|
59
|
+
|
|
60
|
+
```bash
|
|
61
|
+
fathom estimate "Build a real-time chat system with WebSocket support" --complexity L
|
|
62
|
+
# → 205,865 tokens, $2.51 estimated cost, recommends Sonnet
|
|
63
|
+
```
|
|
64
|
+
|
|
65
|
+
Estimates use a calibrated model: base tokens per task type × complexity multiplier × overhead (context resend, tool calls, thinking, error recovery, planning, review).
|
|
66
|
+
|
|
67
|
+
### 2. Track (During Work)
|
|
68
|
+
|
|
69
|
+
Fathom automatically discovers Claude Code sessions from `~/.claude/projects/` and tags them to features using a 4-signal cascade:
|
|
70
|
+
|
|
71
|
+
1. **Explicit feature ID** in conversation → 99% confidence
|
|
72
|
+
2. **Git branch** pattern match → 85%
|
|
73
|
+
3. **Keyword** match → 75%
|
|
74
|
+
4. **File path** match → 70%
|
|
75
|
+
|
|
76
|
+
Zero configuration needed — just run `fathom track`.
|
|
77
|
+
|
|
78
|
+
### 3. Reconcile + Calibrate (After Work)
|
|
79
|
+
|
|
80
|
+
```bash
|
|
81
|
+
fathom reconcile --project myapp
|
|
82
|
+
# Shows: Feature | Estimated | Actual | Drift% | Cost | Sessions
|
|
83
|
+
|
|
84
|
+
fathom calibrate --project myapp
|
|
85
|
+
# Shows: Feature | Drift | Suggested adjustment multiplier
|
|
86
|
+
```
|
|
87
|
+
|
|
88
|
+
Over time, your estimates get more accurate as the profiles learn from real data.
|
|
89
|
+
|
|
90
|
+
### 4. Velocity Intelligence
|
|
91
|
+
|
|
92
|
+
```bash
|
|
93
|
+
fathom velocity --project myapp --benchmarks
|
|
94
|
+
# "M-complexity React components: $0.85 avg, 1.1 days, 2.8 sessions"
|
|
95
|
+
```
|
|
96
|
+
|
|
97
|
+
## Dashboard
|
|
98
|
+
|
|
99
|
+
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.
|
|
100
|
+
|
|
101
|
+
```bash
|
|
102
|
+
# Set up Convex sync (optional — CLI works fully offline)
|
|
103
|
+
export CONVEX_URL=https://your-deployment.convex.cloud
|
|
104
|
+
|
|
105
|
+
# All commands auto-sync when CONVEX_URL is set
|
|
106
|
+
fathom analyze spec.md --project myapp # → syncs estimates
|
|
107
|
+
fathom track --project myapp # → syncs actuals
|
|
108
|
+
```
|
|
109
|
+
|
|
110
|
+
See the [full repo](https://github.com/olivelliott/fathom) for dashboard setup.
|
|
111
|
+
|
|
112
|
+
## Intake Pipeline
|
|
113
|
+
|
|
114
|
+
Turn raw feedback into estimated, structured work items:
|
|
115
|
+
|
|
116
|
+
```bash
|
|
117
|
+
# From text
|
|
118
|
+
fathom intake "Users say the calendar is slow and Zoom links are missing" --project myapp
|
|
119
|
+
|
|
120
|
+
# From a file
|
|
121
|
+
fathom intake --file meeting-notes.md --project myapp --markdown
|
|
122
|
+
```
|
|
123
|
+
|
|
124
|
+
Requires `ANTHROPIC_API_KEY` environment variable.
|
|
125
|
+
|
|
126
|
+
## Environment Variables
|
|
127
|
+
|
|
128
|
+
| Variable | Required | Purpose |
|
|
129
|
+
|----------|----------|---------|
|
|
130
|
+
| `ANTHROPIC_API_KEY` | For `intake` only | Claude API for work item extraction |
|
|
131
|
+
| `CONVEX_URL` | Optional | Enable dashboard sync |
|
|
132
|
+
|
|
133
|
+
## Spec Format
|
|
134
|
+
|
|
135
|
+
Fathom parses markdown specs with `### Feature:` headings:
|
|
136
|
+
|
|
137
|
+
```markdown
|
|
138
|
+
### Feature: User Authentication
|
|
139
|
+
- **Complexity**: L
|
|
140
|
+
- **Category**: Infrastructure
|
|
141
|
+
- **Description**: OAuth2 with Google + email/password login
|
|
142
|
+
|
|
143
|
+
### Feature: Dashboard
|
|
144
|
+
- **Complexity**: M
|
|
145
|
+
- **Category**: Frontend
|
|
146
|
+
- **Description**: Main dashboard with metrics and charts
|
|
147
|
+
```
|
|
148
|
+
|
|
149
|
+
## Links
|
|
150
|
+
|
|
151
|
+
- [GitHub Repository](https://github.com/olivelliott/fathom)
|
|
152
|
+
- [Roadmap](https://github.com/olivelliott/fathom/blob/main/ROADMAP.md)
|
|
153
|
+
- [Report an Issue](https://github.com/olivelliott/fathom/issues)
|
|
154
|
+
|
|
155
|
+
## License
|
|
156
|
+
|
|
157
|
+
MIT
|