faf 7.1.4 → 7.3.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 +31 -6
- package/dist/cli.js +272 -259
- package/dist/cli.js.map +53 -48
- package/dist/core/tiers.d.ts +4 -2
- package/dist/detect/go.d.ts +25 -0
- package/dist/fafm/from-claude-dir.d.ts +14 -0
- package/dist/fafm/index.d.ts +4 -0
- package/dist/fafm/soul.d.ts +71 -0
- package/dist/fafm/types.d.ts +41 -0
- package/dist/index.d.ts +2 -0
- package/dist/index.js +136 -135
- package/dist/index.js.map +24 -20
- package/package.json +6 -3
- package/project.faf +6 -3
package/README.md
CHANGED
|
@@ -23,7 +23,7 @@ detected from your real stack, scored, and versioned with your code. No drift. N
|
|
|
23
23
|
|
|
24
24
|
<br>
|
|
25
25
|
|
|
26
|
-
**
|
|
26
|
+
**Over 100k downloads** · see [faf.one/downloads](https://faf.one/downloads) for latest stats · **IANA-registered · Anthropic-merged (#2759)**
|
|
27
27
|
|
|
28
28
|
⭐ **A star helps other devs find faf-cli** — despite the downloads, ~3 of 4 devs check stars.
|
|
29
29
|
|
|
@@ -105,6 +105,7 @@ Run `faf` with no arguments:
|
|
|
105
105
|
| `faf score` | Check AI-readiness (0–100%) |
|
|
106
106
|
| `faf export` | Author `AGENTS.md`, `CLAUDE.md`, `GEMINI.md`, `.cursorrules` |
|
|
107
107
|
| `faf sync` | Bi-directional `.faf` ↔ `CLAUDE.md` |
|
|
108
|
+
| `faf memory` | `.fafm` soul ops — convert Claude memory, etch, recall, ls, show |
|
|
108
109
|
| `faf diff` / `log` | Semantic context diff + score timeline across git history |
|
|
109
110
|
| `faf hooks --install` | Pre-commit guard against context regression |
|
|
110
111
|
| `faf compile` / `decompile` | `.faf` ↔ `.fafb` sealed binary |
|
|
@@ -115,6 +116,30 @@ Run `faf` with no arguments:
|
|
|
115
116
|
|
|
116
117
|
Run `faf --help` for the full command set and options.
|
|
117
118
|
|
|
119
|
+
### Memory (`.fafm`) — new in 7.2.0
|
|
120
|
+
|
|
121
|
+
Portable agent memory in the IANA-registered [`.fafm`](https://www.iana.org/assignments/media-types/application/vnd.fafm+yaml) format. Same INTEROP as [claude-fafm-sdk 1.0](https://pypi.org/project/claude-fafm-sdk/).
|
|
122
|
+
|
|
123
|
+
```bash
|
|
124
|
+
# Claude Code memory dir → soul.fafm
|
|
125
|
+
faf memory convert ~/.claude/projects/.../memory -o soul.fafm
|
|
126
|
+
|
|
127
|
+
faf memory ls # ranked facts
|
|
128
|
+
faf memory recall "your query" # deterministic filter + rank
|
|
129
|
+
faf memory etch "a durable fact" --id my-fact
|
|
130
|
+
faf memory show
|
|
131
|
+
```
|
|
132
|
+
|
|
133
|
+
### What's New in v7.3.0 — The Go Edition
|
|
134
|
+
|
|
135
|
+
- **Content-aware Go** — `go.mod` alone is never “backend.” FAF classifies MCP · Gin/Echo/Fiber/Chi · Cobra/cmd CLI · pure library.
|
|
136
|
+
- **Same pattern as Dart** — one knowledge file, one classifier; composed across surfaces.
|
|
137
|
+
- **Work-surface Trophy glyph ✪** — 100% Proof Seal on CLI/docs (social still 🏆).
|
|
138
|
+
|
|
139
|
+
### Dart/Flutter — knowledge v2 in 7.2.1
|
|
140
|
+
|
|
141
|
+
Same content-aware detection as the [Dart Edition](https://faf.one/blog/claude-dart-edition) (Flutter ≠ every `pubspec`). **7.2.1** refreshes the single-source knowledge table: Riverpod annotation, Flutter Hooks, Beamer, Routemaster, Jaspr, Relic, and more MCP package names — still **one classifier**, composed by the MCPs.
|
|
142
|
+
|
|
118
143
|
---
|
|
119
144
|
|
|
120
145
|
## Custom instructions
|
|
@@ -127,20 +152,20 @@ Your own rules for the AI — *"use full words in identifiers," "use bun, not np
|
|
|
127
152
|
|
|
128
153
|
## Scoring
|
|
129
154
|
|
|
130
|
-
|
|
155
|
+
**✪ Trophy 100% — all or nothing.** From v6.6.0 onward, faf-cli recommends only Trophy. 100% on the FCL is what makes the layers above (MD instructions, Agents, AI tooling) work — sub-Trophy leaves gaps that AI guesses on. Sub-Trophy tiers (including Bronze 85) remain on the ladder as honest interim states — they are not deleted; we just no longer *aim* for 85 as the goal.
|
|
131
156
|
|
|
132
157
|
| Tier | Score | Status |
|
|
133
158
|
|------|-------|--------|
|
|
134
|
-
|
|
|
159
|
+
| ✪ **Trophy** | 100% | AI never has to guess — target |
|
|
135
160
|
| ★ **Gold** | 99%+ | 1 slot from Trophy |
|
|
136
161
|
| ◆ **Silver** | 95%+ | Close — keep going |
|
|
137
|
-
| ◇ **Bronze** | 85%+ |
|
|
162
|
+
| ◇ **Bronze** | 85%+ | On the ladder (was the old recommend-min; not the target) |
|
|
138
163
|
| ● **Green** | 70%+ | Interim — keep going |
|
|
139
164
|
| ● **Yellow** | 55%+ | AI flipping coins |
|
|
140
165
|
| ○ **Red** | <55% | AI working blind |
|
|
141
166
|
| ♡ **White** | 0% | No context at all |
|
|
142
167
|
|
|
143
|
-
|
|
168
|
+
**One score, three glyphs:** ✪ work (CLI · docs · receipts) · 🏆 social (X · blogs) · Trophy Mark PNG (brand). Source of truth: `src/core/tiers.ts`.
|
|
144
169
|
|
|
145
170
|
---
|
|
146
171
|
|
|
@@ -172,7 +197,7 @@ Pivotal releases — full history in [CHANGELOG.md](./CHANGELOG.md):
|
|
|
172
197
|
- **v7.0 — GIT** — context goes git-native: `faf diff` / `log` / `hooks`.
|
|
173
198
|
- **v6.16 — Know Your Stack** — every emitted file labels your stack identically.
|
|
174
199
|
- **v6.15 — Copilot** — `faf export --copilot` writes the file GitHub Copilot reads.
|
|
175
|
-
- **v6.14 — Loop** — `faf loop` drives any repo to
|
|
200
|
+
- **v6.14 — Loop** — `faf loop` drives any repo to ✪ 100% or the honest human wall.
|
|
176
201
|
- **v6.7 — HTML** — `faf show` renders a `.faf` to a browsable page. *(FAF defines. MD instructs. AI codes. HTML shows.)*
|
|
177
202
|
- **v6.6 — Trophy** — 100% or nothing.
|
|
178
203
|
- **v6.0 — Bun** — ground-up rewrite; single portable binary, four platforms.
|