fathom-cli 0.1.1 → 0.1.3
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 +26 -10
- package/dist/data/remote-manifest.json +78 -0
- package/dist/index.js +665 -26
- package/dist/index.js.map +1 -1
- package/package.json +1 -1
- package/dist/chunk-FILMHRDQ.js +0 -2055
- package/dist/chunk-FILMHRDQ.js.map +0 -1
- package/dist/chunk-SEGVTWSK.js +0 -44
- package/dist/chunk-SEGVTWSK.js.map +0 -1
- package/dist/fileFromPath-AY5NHOFK.js +0 -131
- package/dist/fileFromPath-AY5NHOFK.js.map +0 -1
- package/dist/sdk-OEGEIPVM.js +0 -7829
- package/dist/sdk-OEGEIPVM.js.map +0 -1
package/README.md
CHANGED
|
@@ -15,8 +15,12 @@ npm install -g fathom-cli
|
|
|
15
15
|
## Quick Start
|
|
16
16
|
|
|
17
17
|
```bash
|
|
18
|
-
#
|
|
19
|
-
|
|
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
|
|
20
24
|
|
|
21
25
|
# Analyze a full spec with multiple features
|
|
22
26
|
fathom analyze spec.md --project myapp
|
|
@@ -38,9 +42,9 @@ fathom velocity --project myapp
|
|
|
38
42
|
|
|
39
43
|
| Command | Description |
|
|
40
44
|
|---------|-------------|
|
|
41
|
-
| `fathom estimate <desc>` | Quick
|
|
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 |
|
|
42
47
|
| `fathom analyze <spec>` | Parse spec, estimate all features, generate registry |
|
|
43
|
-
| `fathom intake <text>` | Extract work items from raw feedback via Claude API |
|
|
44
48
|
| `fathom track` | Import Claude Code sessions, auto-tag to features |
|
|
45
49
|
| `fathom reconcile` | Compare estimates vs actuals per feature |
|
|
46
50
|
| `fathom calibrate` | Show drift and suggest profile adjustments |
|
|
@@ -53,16 +57,28 @@ fathom velocity --project myapp
|
|
|
53
57
|
|
|
54
58
|
## How It Works
|
|
55
59
|
|
|
56
|
-
### 1. Estimate (Before Work)
|
|
60
|
+
### 1. Estimate vs Intake (Before Work)
|
|
57
61
|
|
|
58
|
-
|
|
62
|
+
**`estimate`** — quick cost number from a description:
|
|
59
63
|
|
|
60
64
|
```bash
|
|
61
|
-
fathom estimate "Build a real-time chat system with WebSocket support"
|
|
62
|
-
# →
|
|
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
|
|
63
68
|
```
|
|
64
69
|
|
|
65
|
-
|
|
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).
|
|
66
82
|
|
|
67
83
|
### 2. Track (During Work)
|
|
68
84
|
|
|
@@ -127,7 +143,7 @@ Requires `ANTHROPIC_API_KEY` environment variable.
|
|
|
127
143
|
|
|
128
144
|
| Variable | Required | Purpose |
|
|
129
145
|
|----------|----------|---------|
|
|
130
|
-
| `ANTHROPIC_API_KEY` | For `intake`
|
|
146
|
+
| `ANTHROPIC_API_KEY` | For `estimate` + `intake` | AI complexity scoring and work item extraction |
|
|
131
147
|
| `CONVEX_URL` | Optional | Enable dashboard sync |
|
|
132
148
|
|
|
133
149
|
## Spec Format
|
|
@@ -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
|
+
}
|