faf-cli 6.3.0 → 6.4.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,11 +1,15 @@
1
1
  <div style="display: flex; align-items: center; gap: 12px;">
2
2
  <img src="https://www.faf.one/orange-smiley.svg" alt="FAF" width="40" />
3
3
  <div>
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>
4
+ <h1 style="margin: 0; color: #000000;">faf-cli v6.4</h1>
5
+ <p style="margin: 2px 0 0 0; font-size: 0.85em; letter-spacing: 0.12em; opacity: 0.7; text-transform: uppercase;"><strong>The Foundation Edition</strong></p>
6
+ <p style="margin: 6px 0 0 0;"><strong>Persistent Project Context for AI.</strong></p>
7
+ <p style="margin: 0;"><strong>Define once. Run anywhere.</strong></p>
6
8
  </div>
7
9
  </div>
8
10
 
11
+ **FAF defines. MD instructs. AI codes.**
12
+
9
13
  [![TAF](./badge.svg)](https://github.com/Wolfe-Jam/faf-taf-git)
10
14
  [![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
15
  [![NPM Downloads](https://img.shields.io/npm/dt/faf-cli?label=total%20downloads&color=00CCFF)](https://www.npmjs.com/package/faf-cli)
@@ -16,41 +20,31 @@
16
20
  [![Built with Bun](https://img.shields.io/badge/Built_with-Bun-f9f1e1?logo=bun)](https://bun.sh)
17
21
  [![project.faf](https://img.shields.io/badge/project.faf-inside-00D4D4)](https://github.com/Wolfe-Jam/faf)
18
22
 
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
23
  ```
26
24
  project/
27
25
  ├── package.json ← npm reads this
28
26
  ├── project.faf ← AI reads this
27
+ ├── README.md ← humans read this
29
28
  └── src/
30
29
  ```
31
30
 
32
- > **Every building requires a foundation. `project.faf` is AI's foundation.**
31
+ > **Every building requires a foundation. FAF is AI's foundational layer.**
33
32
  >
34
- > You have a `package.json`. Add a `project.faf`. Done.
33
+ > You have a `package.json`. AI needs you to add a `project.faf`. Done.
35
34
 
36
35
  **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
36
 
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
37
  ---
41
38
 
42
39
  ## Install
43
40
 
44
41
  ```bash
45
- bunx faf # That's it. FAF is all you need.
46
- npx faf # Also works.
47
- brew install faf-cli && faf # Homebrew
42
+ bunx faf # Bun zero install, fastest path
43
+ npx faf # npm works everywhere
44
+ brew install faf-cli && faf # Homebrew
48
45
  ```
49
46
 
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.
47
+ > `faf` is shorthand for `faf-cli auto` same behavior, fewer keystrokes.
54
48
 
55
49
  ---
56
50
 
@@ -74,15 +68,15 @@ v6 is a ground-up rewrite. All-in on Bun — same toolchain as Claude Code.
74
68
  | **Language** | TypeScript | TypeScript |
75
69
  | **Compile** | Bun bytecode | `bun build --compile` |
76
70
 
77
- 409 tests in ~20s. 128 kB package. Single portable binary, 4 platforms. npx backward-compatible.
71
+ 408 tests in ~13s. 296KB bundle in 2.4s. Single portable binary, 4 platforms. npx backward-compatible.
78
72
 
79
- 26 commands. 409 tests. 3,182 lines. 94% smaller than v5.
73
+ 26 commands. 408 tests. WJTTC-tested. 93% smaller than v5.
80
74
 
81
75
  ```
82
76
  commands → interop → core → wasm
83
77
  ```
84
78
 
85
- The WASM scoring kernel (`faf-scoring-kernel`) does the math. Bun does the delivery.
79
+ The WASM scoring kernel (`faf-scoring-kernel` 2.0.0) does the math. Bun does the delivery.
86
80
 
87
81
  ---
88
82
 
@@ -91,9 +85,9 @@ The WASM scoring kernel (`faf-scoring-kernel`) does the math. Bun does the deliv
91
85
  | # | Command | One-liner |
92
86
  |---|---------|-----------|
93
87
  | 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 |
88
+ | 2 | `faf git <url>` | Instant `.faf` from any GitHub repo — no clone |
95
89
  | 3 | `faf auto` | Zero to 100% in one command |
96
- | 4 | `faf go` | One sentence in. Review. Sign off. 🏆 |
90
+ | 4 | `faf go` | Guided interview to gold code |
97
91
  | 5 | `faf score` | Check AI-readiness (0-100%) |
98
92
  | 6 | `faf sync` | `.faf` ↔ CLAUDE.md (bi-sync, mtime auto-direction) |
99
93
  | 7 | `faf compile` | `.faf` → `.fafb` binary — sealed, portable, deterministic |
@@ -130,7 +124,7 @@ bunx faf-cli git https://github.com/facebook/react
130
124
  # Your own project
131
125
  bunx faf-cli init # Create .faf
132
126
  bunx faf-cli auto # Zero to 100% in one command
133
- bunx faf-cli go # One sentence in. Review. Sign off.
127
+ bunx faf-cli go # Interactive interview to gold code
134
128
  ```
135
129
 
136
130
  ---
@@ -139,47 +133,14 @@ bunx faf-cli go # One sentence in. Review. Sign off.
139
133
 
140
134
  | Tier | Score | Status |
141
135
  |------|-------|--------|
142
- | 🏆 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.
136
+ | 🏆 **Trophy** | 100% | AI Optimized — Gold Code |
137
+ | ★ **Gold** | 99%+ | Near-perfect |
138
+ | ◆ **Silver** | 95%+ | Excellent |
139
+ | ◇ **Bronze** | 85%+ | Production ready |
140
+ | ● **Green** | 70%+ | Solid foundation |
141
+ | ● **Yellow** | 55%+ | AI flipping coins |
142
+ | ○ **Red** | <55% | AI working blind |
143
+ | **♡** **White** | 0% | No context at all |
183
144
 
184
145
  ---
185
146
 
@@ -187,11 +148,9 @@ Project name and description read from `pyproject.toml` and `Cargo.toml` — not
187
148
 
188
149
  ```
189
150
  bi-sync: .faf ←── 8ms ──→ CLAUDE.md (free forever)
190
- tri-sync: .faf ←── 8ms ──→ CLAUDE.md ↔ MEMORY.md (free for devs 🐘)
151
+ tri-sync: .faf ←── 8ms ──→ CLAUDE.md ↔ MEMORY.md (Pro)
191
152
  ```
192
153
 
193
- Nelly never forgets — and now she's free for all builders 🐘 Teams & Enterprise: [faf.one/pro](https://faf.one/pro) (plans)
194
-
195
154
  ---
196
155
 
197
156
  ## Compiled Binaries
@@ -226,33 +185,17 @@ src/
226
185
 
227
186
  ## Testing
228
187
 
229
- ```bash
230
- bun test # 409 tests, 45 files, ~20s
231
- ```
232
-
233
- 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
-
235
- ---
236
-
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:
188
+ > **Robust. Reliable. Next-level WJTTC tested.** — The Foundation Edition.
250
189
 
251
190
  ```bash
252
- brew install terminal-notifier
191
+ bun test # 408 tests, 42 files, ~13s
253
192
  ```
254
193
 
255
- Then in System Settings → Notifications → **terminal-notifier** switch to **Alerts**. faf-cli detects `terminal-notifier` automatically and routes through it on macOS.
194
+ - **WJTTC Build Resilience** (13) every regression class locked.
195
+ - **WJTTC Kernel Stress** (19) — WASM kernel boundary tests.
196
+ - **e2e lifecycle** — every command in sequence.
197
+
198
+ Test reports in `reports/`.
256
199
 
257
200
  ---
258
201