fathom-cli 0.1.4 → 0.2.0

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 CHANGED
@@ -1,10 +1,6 @@
1
1
  # fathom-cli
2
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
- ```
3
+ Estimate AI token costs before work, track actuals during work, and calibrate your estimates after. One command runs the full loop.
8
4
 
9
5
  ## Install
10
6
 
@@ -12,161 +8,87 @@ intake → estimate → build (tracked) → reconcile → calibrate → velocity
12
8
  npm install -g fathom-cli
13
9
  ```
14
10
 
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
- ```
11
+ Add `ANTHROPIC_API_KEY` to your project's `.env` file (auto-loaded).
69
12
 
70
- **`intake`** full spec sheet from raw feedback:
13
+ ## One Command
71
14
 
72
15
  ```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
16
+ fathom
77
17
  ```
78
18
 
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:
19
+ That's it. `fathom` with no arguments walks through the entire workflow:
86
20
 
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%
21
+ 1. **Intake** extracts work items from your requirements, estimates tokens + cost
22
+ 2. **Build** generates a context-rich prompt and launches Claude Code
23
+ 3. **Review** tracks sessions, reconciles estimates vs actuals, calibrates
91
24
 
92
- Zero configuration needed just run `fathom track`.
25
+ New project? It auto-scaffolds everything. Returning project? Shows progress and offers contextual next steps:
93
26
 
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
27
  ```
28
+ $ fathom
103
29
 
104
- Over time, your estimates get more accurate as the profiles learn from real data.
30
+ Fathom myproject
31
+ 6/12 features complete (50%) — $8.40 of $14.20 spent
105
32
 
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"
33
+ What would you like to do?
34
+ ❯ Continue building (next: payment-integration)
35
+ New intake — add more work
36
+ Review reconcile recent sessions
37
+ Status overview
111
38
  ```
112
39
 
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.
40
+ Resume from any phase:
116
41
 
117
42
  ```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
43
+ fathom --from build # Skip intake
44
+ fathom --from review # Just track + reconcile + calibrate
45
+ fathom --auto # Skip all confirmations
124
46
  ```
125
47
 
126
- See the [full repo](https://github.com/olivelliott/fathom) for dashboard setup.
48
+ ## Build Modes
127
49
 
128
- ## Intake Pipeline
50
+ Fathom offers three ways to build (choice is remembered):
129
51
 
130
- Turn raw feedback into estimated, structured work items:
52
+ - **Launch Claude Code** — opens Claude with full project context, priority queue, and feature details
53
+ - **Worktree** — creates an isolated git branch per feature, launches Claude in it
54
+ - **Manual** — prints the spec path and build prompt so you can build however you want
131
55
 
132
- ```bash
133
- # From text
134
- fathom intake "Users say the calendar is slow and Zoom links are missing" --project myapp
56
+ ## Individual Commands
135
57
 
136
- # From a file
137
- fathom intake --file meeting-notes.md --project myapp --markdown
138
- ```
58
+ All commands also work standalone:
139
59
 
140
- Requires `ANTHROPIC_API_KEY` environment variable.
60
+ | Command | What it does |
61
+ |---------|-------------|
62
+ | `fathom` | **Full workflow** — intake → build → review |
63
+ | `fathom intake` | Generate a spec from raw feedback (interactive) |
64
+ | `fathom estimate <desc>` | Quick cost estimate for a single feature |
65
+ | `fathom analyze <spec>` | Parse an existing spec and estimate all features |
66
+ | `fathom setup` | Scaffold project tracking in `.claude/` |
67
+ | `fathom track` | Import Claude Code sessions, auto-tag to features |
68
+ | `fathom reconcile` | Compare estimates vs actuals |
69
+ | `fathom calibrate` | Adjust profiles from real data |
70
+ | `fathom velocity` | Throughput metrics and benchmarks |
71
+ | `fathom status` | Project overview |
72
+ | `fathom rename <name>` | Rename project across config files |
73
+ | `fathom pricing` | Show model pricing |
141
74
 
142
75
  ## Environment Variables
143
76
 
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
77
+ Auto-loaded from `.env` in your project directory.
150
78
 
151
- Fathom parses markdown specs with `### Feature:` headings:
79
+ | Variable | Purpose |
80
+ |----------|---------|
81
+ | `ANTHROPIC_API_KEY` | Required for `intake` and `estimate` |
82
+ | `CONVEX_URL` | Optional — enables real-time dashboard sync |
152
83
 
153
- ```markdown
154
- ### Feature: User Authentication
155
- - **Complexity**: L
156
- - **Category**: Infrastructure
157
- - **Description**: OAuth2 with Google + email/password login
84
+ ## Dashboard
158
85
 
159
- ### Feature: Dashboard
160
- - **Complexity**: M
161
- - **Category**: Frontend
162
- - **Description**: Main dashboard with metrics and charts
163
- ```
86
+ Optional web dashboard (Next.js + Convex) with project burn-down, velocity charts, cost analytics, and more. All CLI commands auto-sync when `CONVEX_URL` is set. See the [repo](https://github.com/olivelliott/fathom) for setup.
164
87
 
165
88
  ## Links
166
89
 
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)
90
+ - [GitHub](https://github.com/olivelliott/fathom)
91
+ - [Issues](https://github.com/olivelliott/fathom/issues)
170
92
 
171
93
  ## License
172
94