faf-cli 7.11.0 → 7.12.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 +17 -7
- package/dist/cli.js +194 -194
- package/dist/cli.js.map +17 -17
- package/dist/detect/assemble.d.ts +9 -0
- package/dist/detect/enrich.d.ts +11 -0
- package/dist/index.d.ts +13 -4
- package/dist/index.js +130 -118
- package/dist/index.js.map +15 -7
- package/dist/interop/agents.d.ts +15 -0
- package/dist/interop/cards.d.ts +4 -1
- package/dist/interop/claude.d.ts +35 -0
- package/dist/interop/copilot-instructions.d.ts +26 -0
- package/dist/interop/cursorrules.d.ts +5 -0
- package/dist/interop/gemini.d.ts +12 -0
- package/dist/interop/inject.d.ts +45 -0
- package/dist/interop/labels.d.ts +26 -0
- package/dist/interop/projecthtml.d.ts +3 -1
- package/dist/interop/servercard.d.ts +4 -2
- package/package.json +1 -2
- package/project.faf +3 -3
package/README.md
CHANGED
|
@@ -132,20 +132,30 @@ faf memory etch "a durable fact" --id my-fact
|
|
|
132
132
|
faf memory show
|
|
133
133
|
```
|
|
134
134
|
|
|
135
|
-
### What's New in v7.
|
|
135
|
+
### What's New in v7.12.1 — The Open Renderers Edition
|
|
136
136
|
|
|
137
|
-
|
|
137
|
+
**`faf sync` is the one name: "bi-sync" is gone from its help, its output and the footer every rendered CLAUDE.md carries.**
|
|
138
|
+
|
|
139
|
+
- **One word for one command.** `faf sync` keeps working exactly as before: the newer of `project.faf` and CLAUDE.md wins, and CLAUDE.md → `.faf` runs only at ✪ Trophy. `faf bi-sync` still runs as a hidden alias.
|
|
140
|
+
- **Tools built on faf-cli follow automatically.** Anything that composes `renderClaudeMd` writes the new `STATUS: SYNC ACTIVE` footer on its next sync, with no release of its own.
|
|
141
|
+
|
|
142
|
+
#### v7.12.0 — the Edition release
|
|
143
|
+
|
|
144
|
+
**faf-cli opens its renderers, injector and `faf auto` update chain as public exports — consumers compose instead of port — and `faf export --agents` is idempotent again: one block, every run.**
|
|
138
145
|
|
|
139
146
|
```ts
|
|
140
|
-
import {
|
|
147
|
+
import { renderAgentsMd, enrichFromRepo, injectFafBlock, updateExistingFaf, writeFaf } from 'faf-cli';
|
|
141
148
|
```
|
|
142
149
|
|
|
143
|
-
-
|
|
144
|
-
- **`
|
|
145
|
-
- **`
|
|
150
|
+
- **Renderers are public** — `renderAgentsMd` · `renderGeminiMd` · `renderCursorrules` · `renderClaudeMd` · `renderCopilotInstructions` and their `write*` pairs. An MCP server or an editor extension writes the same bytes `faf export` writes, instead of carrying its own copy that drifts.
|
|
151
|
+
- **`enrichFromRepo(dir, data)`** — the repo-facts step `faf export --agents` runs first (commands, key files, secrets location) is exported too. Hand-authored values win; detection fills the gaps.
|
|
152
|
+
- **`updateExistingFaf(dir, existing)`** — the exact chain `faf auto` runs on an existing `project.faf`: existing wins, then interrogated → detected → Turbo-Cat → Relentless fill the empties. `faf auto` itself now calls it. `writeFaf` / `serializeFaf` write the file the way faf-cli does.
|
|
153
|
+
- **One injector, one rule** — `injectFafBlock` / `findFafBlock` locate the managed block by whole marker lines at column 0. Fenced examples are skipped, an unbalanced fence inside the block cannot hide the end marker, CRLF and BOM survive. A block that lost its end marker is prefixed, never overwritten.
|
|
154
|
+
- **Fixed: `faf export --agents` stacked its own output.** 7.1.4–7.11.0 quoted the marker tokens in prose and matched them as substrings, so every re-run appended the old block's tail (58 → 107 → 156 lines). Fixed at both ends; a file already stacked is repaired on its next export.
|
|
146
155
|
|
|
147
156
|
**Recent sprint**
|
|
148
157
|
|
|
158
|
+
- 🧩 [7.12.0](https://github.com/Wolfe-Jam/faf-cli/releases/tag/v7.12.0) The Open Renderers Edition
|
|
149
159
|
- 🖥️ [7.11.0](https://github.com/Wolfe-Jam/faf-cli/releases/tag/v7.11.0) The VS Code Edition
|
|
150
160
|
- 📚 [7.10.0](https://github.com/Wolfe-Jam/faf-cli/releases/tag/v7.10.0) The Full-Facts Edition
|
|
151
161
|
- 🌱 [7.9.0](https://github.com/Wolfe-Jam/faf-cli/releases/tag/v7.9.0) The Git-Flow Edition
|
|
@@ -186,7 +196,7 @@ Your own rules for the AI — *"use full words in identifiers," "use bun, not np
|
|
|
186
196
|
## Sync
|
|
187
197
|
|
|
188
198
|
```
|
|
189
|
-
|
|
199
|
+
sync: .faf ←── 8ms ──→ CLAUDE.md
|
|
190
200
|
tri-sync: .faf ←── 8ms ──→ CLAUDE.md ↔ MEMORY.md
|
|
191
201
|
```
|
|
192
202
|
|