faf-cli 6.3.0 → 6.3.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 CHANGED
@@ -2,10 +2,12 @@
2
2
  <img src="https://www.faf.one/orange-smiley.svg" alt="FAF" width="40" />
3
3
  <div>
4
4
  <h1 style="margin: 0; color: #000000;">faf-cli</h1>
5
- <p style="margin: 4px 0 0 0;"><strong>The package.json for AI Context</strong></p>
5
+ <p style="margin: 4px 0 0 0;"><strong>Persistent Project Context for AI. Define once. Run anywhere.</strong></p>
6
6
  </div>
7
7
  </div>
8
8
 
9
+ **FAF defines. MD instructs. AI codes.**
10
+
9
11
  [![TAF](./badge.svg)](https://github.com/Wolfe-Jam/faf-taf-git)
10
12
  [![CI](https://github.com/Wolfe-Jam/faf-cli/actions/workflows/ci.yml/badge.svg)](https://github.com/Wolfe-Jam/faf-cli/actions/workflows/ci.yml)
11
13
  [![NPM Downloads](https://img.shields.io/npm/dt/faf-cli?label=total%20downloads&color=00CCFF)](https://www.npmjs.com/package/faf-cli)
@@ -16,12 +18,6 @@
16
18
  [![Built with Bun](https://img.shields.io/badge/Built_with-Bun-f9f1e1?logo=bun)](https://bun.sh)
17
19
  [![project.faf](https://img.shields.io/badge/project.faf-inside-00D4D4)](https://github.com/Wolfe-Jam/faf)
18
20
 
19
- **FAF defines. MD instructs. AI codes.**
20
-
21
- > 🐘 **tri-sync now free for all builders** — `.faf` ↔ `CLAUDE.md` ↔ `MEMORY.md` in one command. Pro feature. Now free.
22
-
23
- > **51,582+ downloads** | **Claude Code Skills** | **Homebrew AI Tools** | **Championship-grade developer productivity**
24
-
25
21
  ```
26
22
  project/
27
23
  ├── package.json ← npm reads this
@@ -35,23 +31,16 @@ project/
35
31
 
36
32
  **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
33
 
38
- 10 lines of structured YAML gives AI more context than 550 lines of prose. [Read why →](https://faf.one/blog/sunset-edition)
39
-
40
34
  ---
41
35
 
42
36
  ## Install
43
37
 
44
38
  ```bash
45
- bunx faf # That's it. FAF is all you need.
46
- npx faf # Also works.
47
- brew install faf-cli && faf # Homebrew
39
+ bunx faf-cli auto # Bun zero install, fastest path
40
+ npx faf-cli auto # npm works everywhere
41
+ brew install faf-cli && faf auto # Homebrew
48
42
  ```
49
43
 
50
- Three letters. Auto-detects your project, creates `.faf`, scores it, tells you what's next.
51
-
52
- **Before:** `bunx faf-cli auto` — 18 characters, you had to know the command.
53
- **Now:** `bunx faf` — 8 characters, does everything automatically.
54
-
55
44
  ---
56
45
 
57
46
  ## Nelly Never Forgets
@@ -74,15 +63,15 @@ v6 is a ground-up rewrite. All-in on Bun — same toolchain as Claude Code.
74
63
  | **Language** | TypeScript | TypeScript |
75
64
  | **Compile** | Bun bytecode | `bun build --compile` |
76
65
 
77
- 409 tests in ~20s. 128 kB package. Single portable binary, 4 platforms. npx backward-compatible.
66
+ 312 tests in ~10s. 290KB bundle in 2.4s. Single portable binary, 4 platforms. npx backward-compatible.
78
67
 
79
- 26 commands. 409 tests. 3,182 lines. 94% smaller than v5.
68
+ 26 commands. 312 tests. 5,292 lines. 93% smaller than v5.
80
69
 
81
70
  ```
82
71
  commands → interop → core → wasm
83
72
  ```
84
73
 
85
- The WASM scoring kernel (`faf-scoring-kernel`) does the math. Bun does the delivery.
74
+ The WASM scoring kernel (`faf-scoring-kernel` 2.0.0) does the math. Bun does the delivery.
86
75
 
87
76
  ---
88
77
 
@@ -91,9 +80,9 @@ The WASM scoring kernel (`faf-scoring-kernel`) does the math. Bun does the deliv
91
80
  | # | Command | One-liner |
92
81
  |---|---------|-----------|
93
82
  | 1 | `faf init` | Create `.faf` from your local project |
94
- | 2 | `faf git <url>` | Instant `.faf` from any GitHub repo — README enriched, `--keep` to stay |
83
+ | 2 | `faf git <url>` | Instant `.faf` from any GitHub repo — no clone |
95
84
  | 3 | `faf auto` | Zero to 100% in one command |
96
- | 4 | `faf go` | One sentence in. Review. Sign off. 🏆 |
85
+ | 4 | `faf go` | Guided interview to gold code |
97
86
  | 5 | `faf score` | Check AI-readiness (0-100%) |
98
87
  | 6 | `faf sync` | `.faf` ↔ CLAUDE.md (bi-sync, mtime auto-direction) |
99
88
  | 7 | `faf compile` | `.faf` → `.fafb` binary — sealed, portable, deterministic |
@@ -130,7 +119,7 @@ bunx faf-cli git https://github.com/facebook/react
130
119
  # Your own project
131
120
  bunx faf-cli init # Create .faf
132
121
  bunx faf-cli auto # Zero to 100% in one command
133
- bunx faf-cli go # One sentence in. Review. Sign off.
122
+ bunx faf-cli go # Interactive interview to gold code
134
123
  ```
135
124
 
136
125
  ---
@@ -140,46 +129,11 @@ bunx faf-cli go # One sentence in. Review. Sign off.
140
129
  | Tier | Score | Status |
141
130
  |------|-------|--------|
142
131
  | 🏆 Trophy | 100% | AI Optimized — Gold Code |
143
- | Gold | 99%+ | Near-perfect |
144
- | Silver | 95%+ | Excellent |
145
- | Bronze | 85%+ | Production ready |
146
- | Green | 70%+ | Solid foundation |
147
- | Yellow | 55%+ | AI flipping coins |
148
- | ○ Red | <55% | AI working blind |
149
- | ♡ White | 0% | No context |
150
-
151
- ---
152
-
153
- ## Project Types
154
-
155
- faf-cli auto-detects your project type and activates the right slots:
156
-
157
- | Type | Detection | Active Slots |
158
- |------|-----------|-------------|
159
- | **mcp** | `@modelcontextprotocol/sdk`, `fastmcp`, `mcp`, `rmcp` | project + backend + universal + human |
160
- | **fullstack** | Next.js, Nuxt, frontend + backend | project + frontend + backend + universal + human |
161
- | **svelte** | SvelteKit / Svelte | project + frontend + backend + universal + human |
162
- | **backend** | FastAPI, Express, Django, Flask | project + backend + universal + human |
163
- | **frontend** | React, Vue, Angular (no backend) | project + frontend + human |
164
- | **cli** | `bin` field in package.json | project + human |
165
- | **library** | No framework signals | project + human |
166
-
167
- ### MCP Server Detection
168
-
169
- 10 MCP frameworks supported. Your MCP server gets the right type, backend, and framework sub-type automatically:
170
-
171
- ```yaml
172
- project:
173
- type: mcp
174
- framework: fastmcp # or: mcp-sdk-ts, mcp-sdk-py, rmcp
175
- stack:
176
- backend: FastMCP # auto-filled from MCP SDK
177
- api_type: MCP (stdio/SSE) # auto-filled
178
- ```
179
-
180
- ### Python & Rust Support
181
-
182
- Project name and description read from `pyproject.toml` and `Cargo.toml` — not just `package.json`. Python deps (FastAPI, SQLAlchemy, Django) and Rust deps (rmcp, tokio) detected from manifests.
132
+ | 🥇 Gold | 99%+ | Near-perfect |
133
+ | 🥈 Silver | 95%+ | Excellent |
134
+ | 🥉 Bronze | 85%+ | Production ready |
135
+ | 🟡 Yellow | 55%+ | AI flipping coins |
136
+ | 🔴 Red | <55% | AI working blind |
183
137
 
184
138
  ---
185
139
 
@@ -187,11 +141,9 @@ Project name and description read from `pyproject.toml` and `Cargo.toml` — not
187
141
 
188
142
  ```
189
143
  bi-sync: .faf ←── 8ms ──→ CLAUDE.md (free forever)
190
- tri-sync: .faf ←── 8ms ──→ CLAUDE.md ↔ MEMORY.md (free for devs 🐘)
144
+ tri-sync: .faf ←── 8ms ──→ CLAUDE.md ↔ MEMORY.md (Pro)
191
145
  ```
192
146
 
193
- Nelly never forgets — and now she's free for all builders 🐘 Teams & Enterprise: [faf.one/pro](https://faf.one/pro) (plans)
194
-
195
147
  ---
196
148
 
197
149
  ## Compiled Binaries
@@ -227,35 +179,13 @@ src/
227
179
  ## Testing
228
180
 
229
181
  ```bash
230
- bun test # 409 tests, 45 files, ~20s
182
+ bun test # 312 tests, 39 files, ~12s
231
183
  ```
232
184
 
233
185
  Full e2e lifecycle test runs every command in sequence: init → auto → score → edit → sync → export → compile → decompile → taf → recover → check. Test reports in `reports/`.
234
186
 
235
187
  ---
236
188
 
237
- ## Environment Variables
238
-
239
- | Variable | Effect |
240
- |----------|--------|
241
- | `FAF_NO_NOTIFY=1` | Disable desktop notifications (Trophy unlocks, long-running command completion). |
242
- | `FAF_PRO=1` | Enable Pro features (reserved for Teams/Enterprise; tri-sync is free for all developers). |
243
- | `ANTHROPIC_API_KEY` | Used by `faf go` to interpret the project opener via Claude. Falls back to keyword extraction if unset. |
244
-
245
- ### Click-to-dismiss notifications (macOS)
246
-
247
- Notifications use OSC 9 by default — emitted on Ghostty / iTerm2 / Wezterm / Kitty, silently ignored elsewhere. macOS auto-dismisses these after a few seconds.
248
-
249
- For sticky **click-to-dismiss** notifications:
250
-
251
- ```bash
252
- brew install terminal-notifier
253
- ```
254
-
255
- Then in System Settings → Notifications → **terminal-notifier** → switch to **Alerts**. faf-cli detects `terminal-notifier` automatically and routes through it on macOS.
256
-
257
- ---
258
-
259
189
  ## Support
260
190
 
261
191
  - **[GitHub Discussions](https://github.com/Wolfe-Jam/faf-cli/discussions)** — Questions, ideas, community