faf-cli 5.0.5 → 5.1.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.
Files changed (82) hide show
  1. package/README.md +63 -526
  2. package/dist/big-orange/faf-generator.js +6 -6
  3. package/dist/big-orange/faf-generator.js.map +1 -1
  4. package/dist/cli.d.ts.map +1 -1
  5. package/dist/cli.js +17 -24
  6. package/dist/cli.js.map +1 -1
  7. package/dist/commands/bi-sync.d.ts.map +1 -1
  8. package/dist/commands/bi-sync.js +9 -1
  9. package/dist/commands/bi-sync.js.map +1 -1
  10. package/dist/commands/compile.d.ts +1 -8
  11. package/dist/commands/compile.d.ts.map +1 -1
  12. package/dist/commands/compile.js +21 -84
  13. package/dist/commands/compile.js.map +1 -1
  14. package/dist/commands/decompile.d.ts +1 -5
  15. package/dist/commands/decompile.d.ts.map +1 -1
  16. package/dist/commands/decompile.js +7 -63
  17. package/dist/commands/decompile.js.map +1 -1
  18. package/dist/commands/edit-helper.js +2 -2
  19. package/dist/commands/edit-helper.js.map +1 -1
  20. package/dist/commands/enhance-real.js +10 -10
  21. package/dist/commands/enhance-real.js.map +1 -1
  22. package/dist/commands/go.js +2 -2
  23. package/dist/commands/go.js.map +1 -1
  24. package/dist/commands/ram.d.ts.map +1 -1
  25. package/dist/commands/ram.js +32 -13
  26. package/dist/commands/ram.js.map +1 -1
  27. package/dist/commands/sync.js +18 -18
  28. package/dist/commands/sync.js.map +1 -1
  29. package/dist/compiler/faf-compiler.d.ts +14 -0
  30. package/dist/compiler/faf-compiler.d.ts.map +1 -1
  31. package/dist/compiler/faf-compiler.js +160 -32
  32. package/dist/compiler/faf-compiler.js.map +1 -1
  33. package/dist/engines/fab-formats-processor.js +4 -4
  34. package/dist/engines/fab-formats-processor.js.map +1 -1
  35. package/dist/family/detectors/next.js +3 -3
  36. package/dist/family/detectors/next.js.map +1 -1
  37. package/dist/family/detectors/react.js +3 -3
  38. package/dist/family/detectors/react.js.map +1 -1
  39. package/dist/family/detectors/svelte.js +4 -4
  40. package/dist/family/detectors/svelte.js.map +1 -1
  41. package/dist/family/detectors/vite.js +2 -2
  42. package/dist/family/detectors/vite.js.map +1 -1
  43. package/dist/family/types.d.ts +12 -4
  44. package/dist/family/types.d.ts.map +1 -1
  45. package/dist/framework-detector.js +22 -11
  46. package/dist/framework-detector.js.map +1 -1
  47. package/dist/generators/faf-generator-championship.js +26 -26
  48. package/dist/generators/faf-generator-championship.js.map +1 -1
  49. package/dist/github/faf-git-generator.js +3 -3
  50. package/dist/github/faf-git-generator.js.map +1 -1
  51. package/dist/schema/faf-schema.d.ts +8 -3
  52. package/dist/schema/faf-schema.d.ts.map +1 -1
  53. package/dist/schema/faf-schema.js.map +1 -1
  54. package/dist/systems/question-system.js +3 -3
  55. package/dist/systems/question-system.js.map +1 -1
  56. package/dist/utils/agents-parser.js +7 -7
  57. package/dist/utils/agents-parser.js.map +1 -1
  58. package/dist/utils/balance-visualizer.js +3 -3
  59. package/dist/utils/balance-visualizer.js.map +1 -1
  60. package/dist/utils/cursorrules-parser.js +5 -5
  61. package/dist/utils/cursorrules-parser.js.map +1 -1
  62. package/dist/utils/fafb-compiler.d.ts +7 -6
  63. package/dist/utils/fafb-compiler.d.ts.map +1 -1
  64. package/dist/utils/fafb-compiler.js +62 -97
  65. package/dist/utils/fafb-compiler.js.map +1 -1
  66. package/dist/utils/memory-parser.js +7 -7
  67. package/dist/utils/memory-parser.js.map +1 -1
  68. package/dist/utils/memory-topic-writer.d.ts +52 -0
  69. package/dist/utils/memory-topic-writer.d.ts.map +1 -0
  70. package/dist/utils/memory-topic-writer.js +415 -0
  71. package/dist/utils/memory-topic-writer.js.map +1 -0
  72. package/dist/utils/slot-counter.js +5 -5
  73. package/dist/utils/slot-counter.js.map +1 -1
  74. package/dist/utils/turbo-cat-knowledge.d.ts +5 -5
  75. package/dist/utils/turbo-cat-knowledge.d.ts.map +1 -1
  76. package/dist/utils/turbo-cat-knowledge.js +0 -1
  77. package/dist/utils/turbo-cat-knowledge.js.map +1 -1
  78. package/dist/utils/yaml-generator.js +6 -6
  79. package/dist/utils/yaml-generator.js.map +1 -1
  80. package/package.json +4 -1
  81. package/project.faf +21 -3
  82. package/scripts/evaluate-family-member.ts +8 -8
package/README.md CHANGED
@@ -23,45 +23,37 @@ project/
23
23
  └── src/
24
24
  ```
25
25
 
26
- <p align="center">
27
- <img src="https://raw.githubusercontent.com/Wolfe-Jam/faf-cli/main/assets/project-faf-screenshot.png" alt="project.faf in file listing" width="600" />
28
- </p>
29
-
30
- <p align="center"><em>Just another file helping you code.</em></p>
31
-
32
26
  > **Every building requires a foundation. `project.faf` is AI's foundation.**
33
27
  >
34
28
  > You have a `package.json`. Add a `project.faf`. Done.
35
29
 
36
30
  **Git-Native.** `project.faf` versions with your code — every clone, every fork, every checkout gets full AI context. No setup, no drift, no re-explaining.
37
31
 
38
- ### `faf auto` — Zero to 100% in One Command
32
+ ---
33
+
34
+ ## Install
39
35
 
40
36
  ```bash
41
- faf auto
37
+ bunx faf-cli auto # Bun (recommended — same toolchain as Claude Code)
38
+ npx faf-cli auto # npm (no install required)
39
+ brew install faf-cli && faf auto # Homebrew
42
40
  ```
43
41
 
44
- One command runs the full pipeline:
42
+ ---
45
43
 
46
- ```
47
- faf auto
48
- ├── 1. Init → Creates project.faf (or enhances existing)
49
- ├── 2. Detect → TURBO-CAT discovers your stack (199 formats)
50
- ├── 3. Extract → Pulls name, goal, version from manifests
51
- ├── 4. Sync → Generates CLAUDE.md (bi-sync)
52
- └── 5. Score → Reports AI-readiness with before/after delta
53
- ```
44
+ ## v5.1.0 — The FAFb Edition
54
45
 
55
- It reads your `package.json`, `Cargo.toml`, or `pyproject.toml`fills in the blanks and scores the result. No questions, no prompts, no manual entry.
46
+ `faf compile` turns your `.faf` into a `.fafb` binary CRC32 sealed, deterministic, portable. Same compiler that runs in the browser (322KB WASM) now runs from the CLI. YAML is source code. FAFb is the compiled output.
56
47
 
57
48
  ```bash
58
- npx faf-cli auto # No install required
59
- faf auto # Or globally installed
49
+ faf compile # project.faf project.fafb
60
50
  ```
61
51
 
62
- **91% token reclaim out the gate.** Relentless pursuit to 100%.
52
+ The full story: **[faf.one/blog/compiler-is-the-spec](https://faf.one/blog/compiler-is-the-spec)**
53
+
54
+ ---
63
55
 
64
- ### Top 6 Commands
56
+ ## Top 7 Commands
65
57
 
66
58
  | # | Command | One-liner |
67
59
  |---|---------|-----------|
@@ -71,557 +63,102 @@ faf auto # Or globally installed
71
63
  | 4 | `faf go` | Guided interview to gold code |
72
64
  | 5 | `faf bi-sync` | `.faf` ↔ CLAUDE.md — free forever |
73
65
  | 6 | `faf tri-sync` | ROM ↔ CLAUDE.md ↔ MEMORY.md — Pro |
66
+ | 7 | `faf compile` | `.faf` → `.fafb` binary — sealed, portable, deterministic |
74
67
 
75
- **Define. Build. Lock. Relax.** Answer the 6Ws. Run the Top 6. AI context at 100% — forever.
76
-
77
- <p align="center">
78
- <a href="#-how-does-it-work">Quick Start</a> · <a href="https://faf.one">Website</a> · <a href="https://faf.one/daaft">DAAFT Analysis</a> · <a href="https://www.npmjs.com/package/faf-cli">npm</a> · <a href="#-core-commands">Commands</a> · <a href="#%EF%B8%8F-tier-system-from-blind-to-optimized">Tiers</a> · <a href="https://www.npmjs.com/package/claude-faf-mcp">MCP Server</a> · <a href="./CHANGELOG.md">Changelog</a>
79
- </p>
80
-
81
- ---
82
-
83
- ## 🧠 v5.0.5 — The RAM Edition
84
-
85
- **TL;DR:** `.faf` is ROM — persistent, portable, yours forever. tri-sync adds RAM: it auto-syncs with Claude's MEMORY.md. For builders, serious coders, and app-makers.
86
-
87
- **v5.0.5** — Smart Metadata Extraction: `faf auto` now pulls project name, goal, and version from your manifest files (package.json, Cargo.toml, pyproject.toml) automatically. Closer to 100% in one command.
88
-
89
- The full story: **[faf.one/blog/ram-edition](https://faf.one/blog/ram-edition)**
90
-
91
- ### The 3Ws — Everyone Can Have an App
92
-
93
- You don't need to be a developer to describe an app idea. You just need 3 answers:
94
-
95
- | | Question | Who answers it? |
96
- |---|----------|----------------|
97
- | **1W** | **WHO** is it for? | Anyone |
98
- | **2W** | **WHAT** does it do? | Anyone |
99
- | **3W** | **WHY** build it? | Anyone |
100
-
101
- A teacher, a chef, a parent with an app idea — they answer WHO, WHAT, WHY. That's the whole idea. Try it: **[faf.one/ideas](https://faf.one/ideas)**
102
-
103
- ### The 6Ws — The Full Picture
104
-
105
- The first 3 describe the idea. The next 3 describe the implementation:
106
-
107
- | | Question | Who answers it? |
108
- |---|----------|----------------|
109
- | **4W** | **WHERE** does it live? | Developer |
110
- | **5W** | **WHEN** is it shipping? | Developer |
111
- | **6W** | **HOW** is it built? | Developer |
112
-
113
- All 6 answers live in one file: `project.faf`. The package.json for AI context. Learn more: **[faf.one/6ws](https://faf.one/6ws)**
114
-
115
- ### tri-sync — ROM meets RAM
116
-
117
- ```
118
- bi-sync = ROM (.faf) ↔ CLAUDE.md ← free forever
119
- tri-sync = ROM ↔ CLAUDE.md ↔ RAM (MEMORY.md) ← Pro
120
- ```
121
-
122
- ```bash
123
- faf tri-sync # .faf ↔ CLAUDE.md ↔ MEMORY.md
124
- faf ram # Sync project context to RAM
125
- faf bi-sync --ram # Include RAM in bi-sync
126
- faf bi-sync --all # Everything: CLAUDE.md + AGENTS.md + .cursorrules + GEMINI.md + RAM
127
- faf pro # Check license status
128
- faf pro activate <key> # Activate license
129
- ```
130
-
131
- | Sync | Target | Status |
132
- |------|--------|--------|
133
- | bi-sync | `.faf` ↔ CLAUDE.md | Free forever |
134
- | bi-sync | `.faf` ↔ AGENTS.md, .cursorrules, GEMINI.md | Free forever |
135
- | **tri-sync** | `.faf` ↔ CLAUDE.md ↔ **MEMORY.md** | **Pro** |
136
-
137
- 14-day free trial, no signup, no credit card. Early-bird: $3/mo · $19/yr (normally $10/mo — 70% off).
138
- **[Purchase at faf.one/pro](https://faf.one/pro)**
139
-
140
- **Release notes:** [CHANGELOG](./CHANGELOG.md)
141
-
142
- ---
143
-
144
- ## 📋 The 6 Ws - Quick Reference
145
-
146
- Every README should answer these questions. Here's ours:
147
-
148
- | Question | Answer |
149
- |----------|--------|
150
- | **👥 WHO** is this for? | Developers using AI coding assistants (Claude, Gemini, Cursor, Grok, ChatGPT) |
151
- | **📦 WHAT** is it? | The package.json for AI context - IANA-registered format |
152
- | **🎯 WHY** do you need it? | 100% context (AI-scored), persists forever, syncs automatically - saves $1000s/developer |
153
- | **🌍 WHERE** does it work? | Everywhere AI needs context (Claude Code, Gemini CLI, Cursor, etc.) |
154
- | **⏰ WHEN** should you use it? | New projects (day one), existing projects (now), exploring repos (instantly) |
155
- | **🚀 HOW** does it work? | `npx faf-cli git <url>` - No install, no clone, 2 seconds |
156
-
157
- **For AI:** Read the detailed sections below for full context.
158
- **For humans:** Use this pattern in YOUR README. Answer these 6 questions clearly.
159
-
160
- ---
161
-
162
- ## 👥 WHO is this for?
163
-
164
- **Built for developers working with AI coding assistants:**
165
-
166
- - Full-stack developers using Claude, Cursor, Gemini CLI, or ChatGPT
167
- - Engineering teams collaborating on AI-augmented projects
168
- - Solo developers tired of re-explaining context every session
169
- - Open source maintainers wanting contributors to onboard instantly
170
- - Anyone building with TypeScript, React, Python, Node.js, or modern frameworks
171
-
172
- If you use AI to code, `project.faf` saves you time and tokens. Every project. Every session.
173
-
174
- ---
175
-
176
- ## 📦 WHAT is project.faf?
177
-
178
- **The package.json for AI context.** Just another file in your project.
179
-
180
- Like `package.json` tells npm about dependencies, `project.faf` tells AI about your project DNA:
181
- - **Your stack:** React + TypeScript + Vite
182
- - **Your goals:** What you're building and why
183
- - **Your conventions:** How your team works
184
- - **Your context:** The information only YOU know
185
-
186
- **IANA-registered format:** `application/vnd.faf+yaml` — An official standard, not just another .md file.
187
-
188
- ### 💎 The Math
189
-
190
- | Without `project.faf` | With `project.faf` |
191
- |-----------------------|-------------------|
192
- | ~1,750 tokens/session verifying context | ~150 tokens once |
193
- | Risk: wrong guess = 7,500+ tokens rework | Zero risk |
194
- | Context drift accumulates | Drift impossible |
195
- | Hope | Trust |
196
-
197
- **91% fewer tokens. Zero risk. No drift.**
198
-
199
- ---
200
-
201
- ## 🎯 WHY do you need it?
202
-
203
- ### What FAF Actually Does
204
-
205
- **1. 100% Context Quality** — AI-scored with facts, not guesswork
206
- Every field in your `project.faf` is validated and scored. No more "I think this is a React app" — AI **knows** it is.
207
-
208
- **2. Context Persists Forever** — Never lost, never re-explained
209
- Your project DNA is written once, read forever. No context drift across sessions, team members, or AI tools.
210
-
211
- **3. Bi-Sync Keeps It Current** — Responds to changes automatically
212
- When your project evolves, `project.faf` ↔ `CLAUDE.md` stays synchronized in 8ms. Always current, never stale.
213
-
214
- ---
215
-
216
- ### What That Actually Costs (Or Saves)
217
-
218
- **The DAAFT Tax** (Discover, Assume, Ask, Forget, Time+Tokens)
219
-
220
- Without `project.faf`, every AI session cycles through rediscovery:
221
- - ❌ AI re-discovers your project (wastes tokens)
222
- - ❌ AI asks questions you've answered before (wastes time)
223
- - ❌ AI makes wrong assumptions → rework (wastes developer hours)
224
- - ❌ Context drifts → compounding errors → project delays
225
-
226
- **The Economics:**
227
- - **Per developer:** $5,460/year + 84 hours lost productivity
228
- - **50-developer team:** $273,000–$507,630 annually
229
- - **91% of tokens** wasted on rediscovery instead of building
230
-
231
- **The Real Cost:**
232
- - Token waste (measurable: 91% wasted)
233
- - Time waste (expensive: $5,460/year per developer)
234
- - **Project failure** (catastrophic: 70% of projects fail, with 39% citing poor requirements and 57% citing communication breakdowns — both rooted in context loss)
235
-
236
- **Full analysis:** [faf.one/daaft](https://faf.one/daaft)
237
-
238
- ---
239
-
240
- ### The Truth People Gloss Over
241
-
242
- Bad context → wrong assumptions → rework → delays → project failure.
243
-
244
- Good context isn't a "nice to have" — it's the foundation of AI-augmented development.
245
-
246
- **`project.faf` fixes this permanently.**
247
-
248
- At 100% AI Readiness:
249
- - AI knows your stack, goals, and conventions (scored with facts)
250
- - Zero clarifying questions needed (context persists)
251
- - Drift is impossible (bi-sync keeps it current)
252
- - Your project ships on time, within budget, with fewer surprises
253
-
254
- ---
255
-
256
- ## 🌍 WHERE does it work?
257
-
258
- **Everywhere AI needs context:**
259
-
260
- ### Official Integrations
261
- - **[Claude Code](https://claude.ai/download)** (Anthropic) — Bi-sync + tri-sync with CLAUDE.md + MEMORY.md
262
- - **[Gemini CLI](https://github.com/google/generative-ai-cli)** (Google) — Import/export GEMINI.md
263
- - **[Antigravity IDE](https://antigravityide.com)** (Google) — Global config support
264
- - **[Conductor Extension](https://chromewebstore.google.com/detail/conductor)** (Google) — conductor/ directory sync
265
-
266
- ### Works With
267
- - Cursor, Cline, Windsurf, any AI coding assistant
268
- - ChatGPT, Claude Desktop, Gemini chat interfaces
269
- - CI/CD pipelines, automation scripts, build tools
270
-
271
- ### Ecosystem
272
- - **[MCPaaS](https://mcpaas.live)** — MCP as a Service (The Endpoint for Context)
273
- - **[claude-faf-mcp](https://npmjs.com/package/claude-faf-mcp)** — MCP server for Claude (33 tools)
274
- - **[grok-faf-mcp](https://npmjs.com/package/grok-faf-mcp)** — MCP server for Grok / xAI
275
- - **[gemini-faf-mcp](https://pypi.org/project/gemini-faf-mcp/)** — MCP server for Gemini / Google
276
- - **[faf-wasm](https://www.npmjs.com/package/faf-wasm)** — WASM SDK (<5ms scoring)
277
- - **[Chrome Extension](https://chromewebstore.google.com/detail/lnecebepmpjpilldfmndnaofbfjkjlkm)** — Browser integration
278
- - **[faf.one](https://faf.one)** — Official website
279
-
280
- **Universal format. Works everywhere. Write once, use with any AI.**
281
-
282
- ---
283
-
284
- ## ⏰ WHEN should you use it?
285
-
286
- ### New Projects
287
- **Day one.** Initialize with context from the start:
288
- ```bash
289
- npm init -y
290
- faf init
291
- # Your project now has AI-ready context
292
- ```
293
-
294
- ### Existing Projects
295
- **Right now.** Add context to projects already in progress:
296
- ```bash
297
- faf init # Start from your codebase
298
- faf go # Interview to 100%
299
- faf auto # Auto-enhance to Gold Code
300
- ```
301
-
302
- ### Exploring Repos
303
- **Instantly.** Generate context for ANY GitHub repo WITHOUT cloning:
304
- ```bash
305
- npx faf-cli git https://github.com/facebook/react
306
- # 2 seconds → 95% 🥈 Silver score
307
- # No install. No clone. Just instant context.
308
- ```
309
-
310
- ### Daily Workflow
311
- **Always synced.** Keep context fresh automatically:
312
- ```bash
313
- faf bi-sync --watch # Continuous sync with CLAUDE.md
314
- ```
315
-
316
- Add to package.json to see FAF status every dev session:
317
- ```json
318
- {
319
- "scripts": {
320
- "predev": "faf status --oneline"
321
- }
322
- }
323
- ```
68
+ Run `faf --help` for all 64+ commands.
324
69
 
325
70
  ---
326
71
 
327
- ## 🚀 HOW does it work?
328
-
329
- ### Quick Start (No Install Required)
330
-
331
- **The revolutionary way — zero install, zero clone:**
332
-
333
- ```bash
334
- # Generate AI context for ANY GitHub repo
335
- npx faf-cli git https://github.com/facebook/react
336
- # ⏱️ 2 seconds → 95% 🥈 Silver score
337
-
338
- npx faf-cli git https://github.com/sveltejs/svelte
339
- # ⏱️ 2 seconds → 95% 🥈 Silver score
340
-
341
- npx faf-cli git https://github.com/your-org/your-repo
342
- # ⏱️ 2 seconds → 90%+ context, ready for AI
343
- ```
344
-
345
- **What just happened?**
346
- - ✅ No install required (`npx` runs latest version)
347
- - ✅ No cloning required (uses GitHub API)
348
- - ✅ 2 seconds → 95% AI-ready context
349
- - ✅ Works on ANY public GitHub repo
350
-
351
- **This changes everything.** You can now generate AI context for repos you don't even own. 🏎️
352
-
353
- ### For Your Own Projects
72
+ ## Quick Start
354
73
 
355
74
  ```bash
356
- # Start with your codebase
357
- npx faf-cli init
358
-
359
- # Or go interactive (completes the 6 Ws)
360
- npx faf-cli go
361
- ```
362
-
363
- ### For Pros: Install Globally (Daily Use)
364
-
365
- Once you're hooked, install globally for full power:
366
-
367
- ```bash
368
- # Install once
369
- npm install -g faf-cli # or: brew install faf-cli
370
-
371
- # Then use short commands forever
372
- faf git <repo-url> # 1-Click Context (90%+)
373
- faf go # Interactive to 100%
374
- faf auto # Full automation
375
- faf bi-sync # Keep synced
376
- # + 57 more commands
377
- ```
378
-
379
- ### The Killer Combo
380
-
381
- ```bash
382
- npx faf-cli git <repo-url> # 90%+ context, no install, no clone
383
- npx faf-cli go # Interactive polish to 100%
384
- ```
385
-
386
- ### Comparison: Traditional vs 1-Click Context
387
-
388
- **Traditional approach:**
389
- ```bash
390
- git clone https://github.com/facebook/react # 10-30 seconds
391
- cd react
392
- npm install -g faf-cli # 10 seconds
393
- faf init # 5 seconds
394
- # Total: ~45 seconds + local files
395
- ```
396
-
397
- **1-Click Context:**
398
- ```bash
399
- npx faf-cli git https://github.com/facebook/react
400
- # Total: 2 seconds + ZERO local files
401
- ```
402
-
403
- ---
404
-
405
- ## 🎖️ Tier System: From Blind to Optimized
406
-
407
- | Tier | Score | Status |
408
- |------|-------|--------|
409
- | 🏆 **Trophy** | 100% | **AI Optimized** — Gold Code |
410
- | 🥇 **Gold** | 99%+ | Near-perfect context |
411
- | 🥈 **Silver** | 95%+ | Excellent |
412
- | 🥉 **Bronze** | 85%+ | Production ready |
413
- | 🟢 **Green** | 70%+ | Solid foundation |
414
- | 🟡 **Yellow** | 55%+ | AI flipping coins |
415
- | 🔴 **Red** | <55% | AI working blind |
416
- | 🤍 **White** | 0% | No context at all |
417
-
418
- **At 55%, AI is guessing half the time.** At 100%, AI is optimized.
419
-
420
- ---
421
-
422
- ## 🎯 Slot-Ignore: The Perfect Way to Handle App Types
75
+ # ANY GitHub repo — no clone, no install, 2 seconds
76
+ bunx faf-cli git https://github.com/facebook/react
423
77
 
424
- **Like `.gitignore` for files, slot-ignore for context slots.**
425
-
426
- FAF has 21 slots. Some don't apply to your project type. **Slot-ignore** handles this elegantly:
427
-
428
- ```yaml
429
- # CLI Tool - 21 slots total
430
- stack:
431
- database: None # ✅ Ignored (CLI doesn't need database)
432
- css_framework: None # ✅ Ignored (no web UI)
433
- backend: Node.js # ✅ Filled (has value)
434
- # ... other slots
435
-
436
- Score: (Filled + Ignored) / 21 = 100% 🏆
78
+ # Your own project
79
+ bunx faf-cli init # Create .faf
80
+ bunx faf-cli auto # Zero to 100% in one command
81
+ bunx faf-cli go # Interactive interview to gold code
437
82
  ```
438
83
 
439
- **The formula:**
440
- ```
441
- Total Slots: 21 (constant)
442
- ├── Filled: 15 (has values)
443
- ├── Ignored: 6 (set to 'None' - not applicable)
444
- └── Missing: 0 (undefined - needs attention)
445
-
446
- Score: (15 + 6) / 21 = 100%
447
- ```
448
-
449
- **Common patterns:**
450
- - **CLI Tools:** Ignore `database`, `css_framework`, `frontend`
451
- - **Backend APIs:** Ignore `css_framework`, `frontend`, `ui_library`
452
- - **Static Sites:** Ignore `backend`, `database`, `api_type`
453
- - **Libraries:** Ignore `hosting`, `cicd`, `database`
454
-
455
- **Full spec:** [docs/SLOT-IGNORE.md](./docs/SLOT-IGNORE.md)
84
+ **91% token reclaim out the gate.** Relentless pursuit to 100%.
456
85
 
457
86
  ---
458
87
 
459
- ## 🔧 Core Commands
88
+ ## Core Commands
460
89
 
461
90
  | Command | Purpose |
462
91
  |---------|---------|
463
- | **`faf git <url>`** | **🚀 1-Click Context - 90%+ for ANY GitHub repo (no cloning!)** |
464
- | `faf go` | 🎯 Guided interview to 100% (completes the 6 Ws) |
92
+ | **`faf git <url>`** | 1-Click Context 90%+ for ANY GitHub repo (no cloning) |
93
+ | `faf go` | Guided interview to 100% (completes the 6 Ws) |
465
94
  | `faf init` | Create project.faf from your codebase |
466
95
  | `faf auto` | Auto-enhance to Gold Code |
467
96
  | `faf score` | Check AI-readiness (0-100%) |
97
+ | `faf compile` | Compile `.faf` → `.fafb` binary (CRC32 sealed) |
468
98
  | `faf bi-sync` | Sync .faf ↔ CLAUDE.md (8ms) |
469
- | `faf tri-sync` | 🧠 .faf ↔ CLAUDE.md ↔ MEMORY.md (ROM meets RAM) — **Pro** |
470
- | `faf ram` | Sync project context to Claude's MEMORY.md — **Pro** |
471
- | `faf pro` | Check/activate Pro license (14-day free trial) |
472
- | `faf readme` | Extract 6 Ws from README (+25-35% boost) |
473
- | `faf human` | Interactive human context entry |
474
- | `faf human-set` | Non-interactive field setting |
475
- | `faf formats` | Show 153 detected formats |
99
+ | `faf tri-sync` | .faf ↔ CLAUDE.md ↔ MEMORY.md — **Pro** |
476
100
  | `faf agents` | AGENTS.md interop (import/export/sync) |
477
101
  | `faf cursor` | .cursorrules interop (import/export/sync) |
478
- | `faf conductor` | Google Conductor interop (import/export/sync) |
479
102
  | `faf gemini` | Gemini CLI / Antigravity interop |
480
- | `faf demo sync` | Live bi-sync demonstration |
481
-
482
- Run `faf --help` for all 64 commands.
103
+ | `faf formats` | Show 199 detected formats |
483
104
 
484
105
  ---
485
106
 
486
- ## 🔄 Bi-Sync & Tri-Sync
487
-
488
- Your `project.faf` stays synchronized with everything in milliseconds.
489
-
490
- ```
491
- bi-sync: project.faf ←── 8ms ──→ CLAUDE.md (free)
492
- tri-sync: project.faf ←── 8ms ──→ CLAUDE.md ←→ MEMORY.md (Pro)
493
- ```
494
-
495
- ```bash
496
- # bi-sync — free forever
497
- faf bi-sync # Sync once (CLAUDE.md)
498
- faf bi-sync --agents # Also generate AGENTS.md
499
- faf bi-sync --cursor # Also generate .cursorrules
500
- faf bi-sync --all # All formats + RAM
501
- faf bi-sync --watch # Continuous sync
502
-
503
- # tri-sync — Pro (ROM meets RAM)
504
- faf tri-sync # .faf ↔ CLAUDE.md ↔ MEMORY.md
505
- faf ram # Sync project context to RAM
506
- faf ram status # Check RAM path and line count
507
- ```
107
+ ## Scoring
508
108
 
509
- ---
510
-
511
- ## 🧠 Human Context (The 6 Ws)
512
-
513
- Boost your score by 25-35% with human context — the information only YOU know.
514
-
515
- ```bash
516
- # Auto-extract from README
517
- faf readme --apply
109
+ | Tier | Score | Status |
110
+ |------|-------|--------|
111
+ | 🏆 Trophy | 100% | AI Optimized — Gold Code |
112
+ | 🥇 Gold | 99%+ | Near-perfect |
113
+ | 🥈 Silver | 95%+ | Excellent |
114
+ | 🥉 Bronze | 85%+ | Production ready |
115
+ | 🟡 Yellow | 55%+ | AI flipping coins |
116
+ | 🔴 Red | <55% | AI working blind |
518
117
 
519
- # Manual entry
520
- faf human-set who "Frontend team at Acme Corp"
521
- faf human-set what "Customer dashboard with real-time analytics"
522
- faf human-set why "10x faster than previous solution"
523
- ```
118
+ Details: [docs/SCORING.md](./docs/SCORING.md)
524
119
 
525
120
  ---
526
121
 
527
- ## 🧪 Boris-Flow Integration Tests
528
-
529
- **Boris-Flow** is a 12-test validation suite that ensures faf-cli is demo-ready and safe to publish.
530
-
531
- Named after Boris (Claude Code creator at Anthropic), these tests validate:
532
- - Version detection works correctly
533
- - Type and language detection (CLI, TypeScript, etc.)
534
- - Claude Code structure detection (agents, skills, commands)
535
- - Score progression: init → auto → 100%
536
- - Non-TTY safety (no crashes when stdin is piped)
537
-
538
- **When to run:**
122
+ ## Sync
539
123
 
540
- | Scenario | Command |
541
- |----------|---------|
542
- | **Before `faf init`** (on your project) | `./tests/boris-flow.test.sh` validates faf-cli works |
543
- | **After major changes** to your `.faf` | Re-run to ensure structure is valid |
544
- | **Before publishing** faf-cli updates | Required - ensures no regressions |
545
- | **Before WJTTC certification** | Validates `.faf` file for Tier 8 |
546
- | **Team onboarding** | Proves faf-cli installation works |
547
-
548
- **Run Boris-Flow:**
549
- ```bash
550
- # Clone faf-cli repository
551
- git clone https://github.com/Wolfe-Jam/faf-cli
552
- cd faf-cli
553
-
554
- # Run integration tests
555
- ./tests/boris-flow.test.sh
556
-
557
- # Expected output:
558
- # 🏆 BORIS-FLOW: ALL 12 TESTS PASSED
559
- # ✅ Demo ready
560
- # ✅ Safe to publish
561
- # Final score: 100%
562
124
  ```
563
-
564
- **What it tests:**
565
- ```bash
566
- ✅ faf --version
567
- ✅ Created Claude Code 2.1.0 structure
568
- ✅ faf init created project.faf
569
- ✅ Detected CLI type
570
- ✅ Language detected (TypeScript)
571
- ✅ claude_code section exists
572
- ✅ Claude Code detected: true
573
- ✅ Subagents detected (2+)
574
- ✅ Skills detected (1+)
575
- ✅ Commands detected (1+)
576
- ✅ faf auto maintained score
577
- ✅ human-set commands succeeded
578
- ✅ Final score is 100%
125
+ bi-sync: .faf ←── 8ms ──→ CLAUDE.md (free forever)
126
+ tri-sync: .faf ←── 8ms ──→ CLAUDE.md ↔ MEMORY.md (Pro)
579
127
  ```
580
128
 
581
- Boris-Flow validates the FAF file structure that WJTTC Tier 8 tests. Running it before certification helps ensure you'll pass Tier 8.
129
+ 14-day free trial, no signup, no credit card. Early-bird: $3/mo · $19/yr.
130
+ **[faf.one/pro](https://faf.one/pro)** · Details: [docs/SYNC.md](./docs/SYNC.md)
582
131
 
583
132
  ---
584
133
 
585
- ## 🤝 CLI vs MCP
586
-
587
- | Tool | Use Case |
588
- |------|----------|
589
- | **faf-cli** (this) | Terminal, scripts, CI/CD, automation |
590
- | **claude-faf-mcp** | Claude Desktop via MCP protocol |
591
- | **grok-faf-mcp** | Grok / xAI via MCP protocol |
592
- | **gemini-faf-mcp** | Gemini / Google via MCP protocol |
134
+ ## Documentation
593
135
 
594
- Same `project.faf`. Same scoring. Same result. Different execution layer. Three AI platforms, one format.
136
+ | Doc | What |
137
+ |-----|------|
138
+ | [Guide (6Ws)](./docs/GUIDE.md) | WHO / WHAT / WHY / WHERE / WHEN / HOW — deep dive |
139
+ | [Scoring & Tiers](./docs/SCORING.md) | Tier system, slot-ignore patterns |
140
+ | [Sync](./docs/SYNC.md) | bi-sync, tri-sync, human context |
141
+ | [Testing](./docs/TESTING.md) | Boris-Flow integration tests |
142
+ | [Skills](./docs/SKILLS.md) | 16 Claude Code skills |
143
+ | [Ecosystem](./docs/ECOSYSTEM.md) | CLI vs MCP, FAF Family, 3Ws/6Ws |
144
+ | [Slot-Ignore](./docs/SLOT-IGNORE.md) | Full slot-ignore spec |
145
+ | [Pro](./docs/PRO.md) | tri-sync commands, activation, FAQ |
146
+ | [CHANGELOG](./CHANGELOG.md) | Version history |
147
+ | [DAAFT Analysis](https://faf.one/daaft) | The cost of not having context |
595
148
 
596
149
  ---
597
150
 
598
- ## 📚 Documentation & Recommended Reading
599
-
600
- - **[The RAM Edition](https://faf.one/blog/ram-edition)** — Full v5.0.1 release blog post
601
- - **[FAF Pro](https://faf.one/pro)** — tri-sync pricing and activation
602
- - **[Pro Docs](./docs/PRO.md)** — Commands, FAQ, and licensing
603
- - **[The 3Ws](https://faf.one/ideas)** — Describe any app idea in 3 answers
604
- - **[The 6Ws](https://faf.one/6ws)** — The complete project DNA framework
605
- - **[CHANGELOG](./CHANGELOG.md)** — Version history
606
- - **[Website](https://faf.one)** — Complete guide
607
- - **[DAAFT Analysis](https://faf.one/daaft)** — The cost of not having context
608
-
609
- ---
610
-
611
- ## 💬 Support
151
+ ## Support
612
152
 
613
153
  - **[GitHub Discussions](https://github.com/Wolfe-Jam/faf-cli/discussions)** — Questions, ideas, community
614
- - **[Pro Docs](./docs/PRO.md)** — tri-sync commands, activation, FAQ
615
154
  - **Email:** team@faf.one
616
155
 
617
156
  ---
618
157
 
619
- ## 📄 License
158
+ ## License
620
159
 
621
- MIT License — Free and open source
622
-
623
- ---
160
+ MIT — Free and open source
624
161
 
625
- > **.faf is the format. `project.faf` is the file. 100% 🏆 AI Readiness is the result.**
162
+ **IANA-registered:** [`application/vnd.faf+yaml`](https://www.iana.org/assignments/media-types/application/vnd.faf+yaml)
626
163
 
627
- *"package.json gives me a list of dependencies, project.faf shows me how to use them" — Claude*
164
+ *format | driven 🏎️⚡️ [wolfejam.dev](https://wolfejam.dev)*
@@ -109,16 +109,16 @@ async function generateFafInstance(score, _projectPath) {
109
109
  // Score 70%+: Add stack
110
110
  if (score >= 70) {
111
111
  sections.push(`stack:`);
112
- sections.push(` frontend: React`);
113
- sections.push(` css_framework: Tailwind CSS`);
112
+ sections.push(` framework: React`);
113
+ sections.push(` css: Tailwind CSS`);
114
114
  sections.push(` ui_library: Headless UI`);
115
- sections.push(` state_management: React Hooks`);
115
+ sections.push(` state: React Hooks`);
116
116
  sections.push(` backend: None`);
117
117
  sections.push(` runtime: "Node.js >=18.0.0"`);
118
- sections.push(` database: None`);
118
+ sections.push(` db: None`);
119
119
  sections.push(` build: Vite`);
120
- sections.push(` package_manager: npm`);
121
- sections.push(` api_type: Component Library`);
120
+ sections.push(` pkg_manager: npm`);
121
+ sections.push(` api: Component Library`);
122
122
  sections.push(` hosting: Vercel`);
123
123
  if (score >= 85) {
124
124
  sections.push(` cicd: GitHub Actions`);