fathom-cli 0.2.4 → 0.3.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 +59 -51
- package/dist/chunk-FILMHRDQ.js +2055 -0
- package/dist/chunk-FILMHRDQ.js.map +1 -0
- package/dist/chunk-MNGU6SI4.js +6680 -0
- package/dist/chunk-MNGU6SI4.js.map +1 -0
- package/dist/chunk-SEGVTWSK.js +44 -0
- package/dist/chunk-SEGVTWSK.js.map +1 -0
- package/dist/chunk-TXIC6BY4.js +169 -0
- package/dist/chunk-TXIC6BY4.js.map +1 -0
- package/dist/data/guardrails/gdpr-basic.yaml +19 -0
- package/dist/data/guardrails/hipaa-basic.yaml +19 -0
- package/dist/data/guardrails/owasp-top-10.yaml +16 -0
- package/dist/data/guardrails/pci-basic.yaml +19 -0
- package/dist/data/guardrails/soc2-basic.yaml +19 -0
- package/dist/data/guardrails/wcag-aa.yaml +16 -0
- package/dist/dist-KXBSLOHP.js +506 -0
- package/dist/dist-KXBSLOHP.js.map +1 -0
- package/dist/dist-XKZLNUDU.js +34 -0
- package/dist/dist-XKZLNUDU.js.map +1 -0
- package/dist/fileFromPath-AY5NHOFK.js +131 -0
- package/dist/fileFromPath-AY5NHOFK.js.map +1 -0
- package/dist/index.js +14397 -18315
- package/dist/index.js.map +1 -1
- package/dist/openai-CLPZFCUS.js +10933 -0
- package/dist/openai-CLPZFCUS.js.map +1 -0
- package/package.json +23 -7
package/README.md
CHANGED
|
@@ -1,28 +1,55 @@
|
|
|
1
1
|
# fathom-cli
|
|
2
2
|
|
|
3
|
-
|
|
3
|
+
[](https://www.npmjs.com/package/fathom-cli)
|
|
4
|
+
[](https://github.com/olivelliott/fathom/blob/main/LICENSE)
|
|
4
5
|
|
|
5
|
-
|
|
6
|
+
**Know what your AI coding actually costs.** Estimate tokens before you build, track actuals while you build, calibrate so estimates get better over time.
|
|
6
7
|
|
|
7
8
|
```bash
|
|
8
9
|
npm install -g fathom-cli
|
|
10
|
+
fathom
|
|
9
11
|
```
|
|
10
12
|
|
|
11
|
-
|
|
13
|
+
## The Problem
|
|
14
|
+
|
|
15
|
+
You're spending real money on AI coding and have zero visibility into where it goes. You don't know what a feature costs until the bill arrives. Overhead — context resends, tool calls, error recovery — is invisible.
|
|
16
|
+
|
|
17
|
+
## What Fathom Does
|
|
18
|
+
|
|
19
|
+
**Estimate** → token cost per feature, based on task type + complexity + overhead model
|
|
20
|
+
|
|
21
|
+
**Track** → auto-imports sessions from Claude, GPT, Gemini, or any provider. Tags to features automatically.
|
|
22
|
+
|
|
23
|
+
**Calibrate** → compares estimates to actuals, adjusts the model. Gets more accurate every cycle.
|
|
12
24
|
|
|
13
|
-
|
|
25
|
+
```
|
|
26
|
+
$ fathom estimate "add OAuth login with Google and GitHub"
|
|
27
|
+
~42,000 tokens (~$0.84) — complexity: L, type: integration
|
|
28
|
+
|
|
29
|
+
$ fathom track
|
|
30
|
+
3 sessions imported, 2 auto-tagged (auth-login: 89%, payment: 72%)
|
|
31
|
+
|
|
32
|
+
$ fathom reconcile
|
|
33
|
+
auth-login: estimated 42K, actual 67K (1.6x over — error recovery overhead)
|
|
34
|
+
|
|
35
|
+
$ fathom calibrate
|
|
36
|
+
adjusted integration overhead: 1.8x → 2.4x (based on 12 data points)
|
|
37
|
+
```
|
|
38
|
+
|
|
39
|
+
## One Command Workflow
|
|
14
40
|
|
|
15
41
|
```bash
|
|
16
42
|
fathom
|
|
17
43
|
```
|
|
18
44
|
|
|
19
|
-
|
|
45
|
+
With no arguments, `fathom` runs the full loop:
|
|
20
46
|
|
|
21
|
-
1. **
|
|
22
|
-
2. **
|
|
23
|
-
3. **
|
|
47
|
+
1. **Intent** — captures what you're building, what matters, your budget and guardrails
|
|
48
|
+
2. **Intake** — extracts work items, estimates tokens and cost
|
|
49
|
+
3. **Build** — launches your AI tool with full context
|
|
50
|
+
4. **Review** — tracks sessions, reconciles, calibrates
|
|
24
51
|
|
|
25
|
-
New project?
|
|
52
|
+
New project? Auto-scaffolds everything. Returning? Shows progress:
|
|
26
53
|
|
|
27
54
|
```
|
|
28
55
|
$ fathom
|
|
@@ -30,65 +57,46 @@ $ fathom
|
|
|
30
57
|
Fathom — myproject
|
|
31
58
|
6/12 features complete (50%) — $8.40 of $14.20 spent
|
|
32
59
|
|
|
33
|
-
|
|
34
|
-
❯ Continue building (next: payment-integration)
|
|
60
|
+
> Continue building (next: payment-integration)
|
|
35
61
|
New intake — add more work
|
|
36
62
|
Review — reconcile recent sessions
|
|
37
|
-
Status overview
|
|
38
|
-
```
|
|
39
|
-
|
|
40
|
-
Resume from any phase:
|
|
41
|
-
|
|
42
|
-
```bash
|
|
43
|
-
fathom --from build # Skip intake
|
|
44
|
-
fathom --from review # Just track + reconcile + calibrate
|
|
45
|
-
fathom --auto # Skip all confirmations
|
|
46
63
|
```
|
|
47
64
|
|
|
48
|
-
##
|
|
65
|
+
## Also Does
|
|
49
66
|
|
|
50
|
-
|
|
67
|
+
- **Model routing** — recommends Haiku/Sonnet/Opus based on task complexity and budget
|
|
68
|
+
- **Tool config generation** — creates system prompts for Claude, Cursor, Copilot, Windsurf from your project intent
|
|
69
|
+
- **Guardrail templates** — OWASP, WCAG, HIPAA, GDPR, PCI, SOC2 built-in
|
|
70
|
+
- **MCP server** — use Fathom as tools inside any MCP-compatible editor
|
|
71
|
+
- **Velocity benchmarks** — "auth features take 2.3 days and 85K tokens on average"
|
|
51
72
|
|
|
52
|
-
|
|
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
|
|
55
|
-
|
|
56
|
-
## Individual Commands
|
|
57
|
-
|
|
58
|
-
All commands also work standalone:
|
|
73
|
+
## All Commands
|
|
59
74
|
|
|
60
75
|
| Command | What it does |
|
|
61
76
|
|---------|-------------|
|
|
62
|
-
| `fathom` |
|
|
63
|
-
| `fathom
|
|
64
|
-
| `fathom
|
|
65
|
-
| `fathom analyze <spec>` | Parse
|
|
66
|
-
| `fathom
|
|
67
|
-
| `fathom
|
|
68
|
-
| `fathom
|
|
69
|
-
| `fathom
|
|
70
|
-
| `fathom velocity` | Throughput metrics and benchmarks |
|
|
77
|
+
| `fathom` | Full workflow — intake, build, review |
|
|
78
|
+
| `fathom estimate <desc>` | Quick cost estimate |
|
|
79
|
+
| `fathom intake` | Requirements → estimated spec slices |
|
|
80
|
+
| `fathom analyze <spec>` | Parse spec, estimate features |
|
|
81
|
+
| `fathom track` | Import + auto-tag sessions |
|
|
82
|
+
| `fathom reconcile` | Estimates vs actuals |
|
|
83
|
+
| `fathom calibrate` | Adjust from real data |
|
|
84
|
+
| `fathom velocity` | Throughput metrics |
|
|
71
85
|
| `fathom status` | Project overview |
|
|
72
|
-
| `fathom
|
|
73
|
-
| `fathom
|
|
86
|
+
| `fathom pricing` | Model pricing table |
|
|
87
|
+
| `fathom go` | Launch AI tool with context |
|
|
74
88
|
|
|
75
89
|
## Environment Variables
|
|
76
90
|
|
|
77
|
-
Auto-loaded from `.env` in your project directory.
|
|
78
|
-
|
|
79
91
|
| Variable | Purpose |
|
|
80
92
|
|----------|---------|
|
|
81
|
-
| `ANTHROPIC_API_KEY` |
|
|
82
|
-
| `
|
|
83
|
-
|
|
84
|
-
## Dashboard
|
|
85
|
-
|
|
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.
|
|
93
|
+
| `ANTHROPIC_API_KEY` | For intake extraction |
|
|
94
|
+
| `OPENAI_API_KEY` | Alternative provider |
|
|
95
|
+
| `CONVEX_URL` | Optional — real-time dashboard |
|
|
87
96
|
|
|
88
|
-
##
|
|
97
|
+
## Part of Fathom
|
|
89
98
|
|
|
90
|
-
- [
|
|
91
|
-
- [Issues](https://github.com/olivelliott/fathom/issues)
|
|
99
|
+
`fathom-cli` wraps the [Fathom](https://github.com/olivelliott/fathom) headless packages into a CLI. Use the packages directly if you're building your own tooling.
|
|
92
100
|
|
|
93
101
|
## License
|
|
94
102
|
|