rust-faf-mcp 0.7.1 → 0.8.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 (2) hide show
  1. package/README.md +21 -14
  2. package/package.json +1 -1
package/README.md CHANGED
@@ -6,9 +6,9 @@
6
6
 
7
7
  **Persistent Project Context for Rust MCP clients. Native. Fast. cargo install**
8
8
 
9
- **The Table-of-8 Edition (v0.7.1)** — `one.faf/rust-faf-mcp` · **rmcp 3.0.1** (MCP Tier 1 foundation) · **faf-rust-sdk 3.1** (the same always-33 kernel `faf-wasm-sdk` uses) · solid cargo-native Rust MCP for Rust devs
9
+ **The Lineage Edition (v0.8.0)** — `one.faf/rust-faf-mcp` · **rmcp 3.0.1** (MCP Tier 1 foundation) · **faf-rust-sdk 3.1** (the same always-33 kernel `faf-wasm-sdk` uses) · solid cargo-native Rust MCP for Rust devs
10
10
 
11
- **v0.7.1** — Pin the install. PATH `rust-faf-mcp` is not the pin. See [CHANGELOG](./CHANGELOG.md#071---2026-09-02--the-table-of-8-edition).
11
+ **v0.8.0** — `.faf-dna` lineage, the same file as faf-cli and fafb: `faf_init` births it, `faf_auto` grows it, `faf_dna` shows the journey. fafb scores all 33 slots for monorepos and teams. See [CHANGELOG](./CHANGELOG.md#080---2026-09-13--the-lineage-edition).
12
12
 
13
13
  **FAF defines. MD instructs. AI codes.**
14
14
 
@@ -26,17 +26,17 @@ Rust-native [MCP](https://modelcontextprotocol.io) (Model Context Protocol) serv
26
26
 
27
27
  ```bash
28
28
  # Rust toolchain (install):
29
- cargo install rust-faf-mcp --version 0.7.1
29
+ cargo install rust-faf-mcp --version 0.8.0
30
30
 
31
31
  # No Rust (try — downloads GH Release binary for darwin/linux):
32
- npx --yes rust-faf-mcp@0.7.1
32
+ npx --yes rust-faf-mcp@0.8.0
33
33
  ```
34
34
 
35
35
  Point an MCP client at the **pin**. A bare `rust-faf-mcp` on PATH may be an old Homebrew binary.
36
36
 
37
37
  ```bash
38
38
  # Claude Code
39
- claude mcp add faf -- npx --yes rust-faf-mcp@0.7.1
39
+ claude mcp add faf -- npx --yes rust-faf-mcp@0.8.0
40
40
  ```
41
41
 
42
42
  ```jsonc
@@ -45,13 +45,13 @@ claude mcp add faf -- npx --yes rust-faf-mcp@0.7.1
45
45
  "mcpServers": {
46
46
  "faf": {
47
47
  "command": "npx",
48
- "args": ["--yes", "rust-faf-mcp@0.7.1"]
48
+ "args": ["--yes", "rust-faf-mcp@0.8.0"]
49
49
  }
50
50
  }
51
51
  }
52
52
  ```
53
53
 
54
- After `cargo install rust-faf-mcp --version 0.7.1`, `"command": "rust-faf-mcp"` is the install. Until you have proven that binary, use the npx pin.
54
+ After `cargo install rust-faf-mcp --version 0.8.0`, `"command": "rust-faf-mcp"` is the install. Until you have proven that binary, use the npx pin.
55
55
 
56
56
  No flags, no config files, no network listener. Pure stdio JSON-RPC.
57
57
 
@@ -122,7 +122,7 @@ Every AI agent reads this once and knows exactly what you're building. No 20-min
122
122
  | `faf_auto` | Setup if missing, sync `CLAUDE.md`, score — Confirm setup (sweeps); does not invent 6Ws |
123
123
  | `faf_init` | Setup: first write from the tree. Refuses if the file exists. Confirm setup (sweeps). 6Ws stay empty |
124
124
  | `faf_go` | Table-of-8 + Confirm setup (sweeps). 6Ws score after ☑. Below 100: add Human Context. After 100: courtesy check every 30 days (90 max) |
125
- | `faf_git` | Generate `project.faf` from any GitHub repo URL — no clone needed |
125
+ | `faf_git` | Author `project.faf` from any GitHub repo URL — no clone needed |
126
126
  | `faf_discover` | Walk up the directory tree to find the nearest `project.faf` |
127
127
 
128
128
  ### Score & Validate
@@ -131,7 +131,7 @@ Every AI agent reads this once and knows exactly what you're building. No 20-min
131
131
  |------|-------------|
132
132
  | `faf_score` | Score AI-readiness 0-100% with field-level breakdown |
133
133
  | `faf_sync` | Sync `project.faf` → `CLAUDE.md` (preserves existing content) |
134
- | `faf_agents` | Generate `AGENTS.md` from `project.faf` (non-destructive, preserves hand-written content) |
134
+ | `faf_agents` | Author `AGENTS.md` from `project.faf` (non-destructive, preserves hand-written content) |
135
135
 
136
136
  ### Optimize
137
137
 
@@ -141,6 +141,12 @@ Every AI agent reads this once and knows exactly what you're building. No 20-min
141
141
  | `faf_compress` | Compress `.faf` for token-limited contexts (`minimal` / `standard` / `full`) |
142
142
  | `faf_tokens` | Estimate token count at each compression level |
143
143
 
144
+ ### Lineage
145
+
146
+ | Tool | What it does |
147
+ |------|-------------|
148
+ | `faf_dna` | Your FAF DNA journey from `.faf-dna`: Birth DNA to now, with history. `faf_init` births it, `faf_auto` records growth — the same file as faf-cli |
149
+
144
150
  `faf_init` will not overwrite an existing file. Setup occupies mechanical facts; Confirm setup (sweeps) is the walk. Empty human slots stay empty until `faf_go`.
145
151
 
146
152
  ## Architecture
@@ -155,16 +161,16 @@ src/
155
161
  - **Runtime**: `tokio` single-threaded (`current_thread`)
156
162
  - **HTTP**: `reqwest` async (only used by `faf_git` for GitHub API)
157
163
  - **SDK**: `faf-rust-sdk` **3.1** (Cargo pin — the facade over `faf-kernel`/`faf-fafb` in [faf-rust](https://github.com/Wolfe-Jam/faf-rust); `score()` for the real Mk4 number, `validate()` for structural checks only)
158
- - **Server**: **`rmcp` 3.0.1** with `#[tool_router]` / `#[tool_handler]` — JSON-RPC, schema generation, stdio transport (Tier-1 assessed SDK cut)
164
+ - **Server**: **`rmcp` 3.0.1** with `#[tool_router]` / `#[tool_handler]` — JSON-RPC, JSON Schema from the param types, stdio transport (Tier-1 assessed SDK cut)
159
165
 
160
166
  Tools return `serde_json::Value`. The server adapts them to `Result<String, String>` for rmcp's `IntoCallToolResult`.
161
167
 
162
168
  ## Testing
163
169
 
164
- 171 tests (136 integration + 35 unit):
170
+ 190 tests (143 integration + 47 unit):
165
171
 
166
172
  ```bash
167
- cargo test # runs all 171
173
+ cargo test # runs all 190
168
174
 
169
175
  # Full ship bar (same gates as GitHub CI — run before push)
170
176
  bash scripts/ci.sh
@@ -181,7 +187,8 @@ bash scripts/install-hooks.sh
181
187
  | `tier3_edge_cases.rs` | 10 | Unicode, CJK, score boundaries, unknown fields, GitHub URL parsing |
182
188
  | `tier4_aero.rs` | 22 | Manifest structure, version sync, server.json, context block, manifest-server cross-validation |
183
189
  | `wjttc_setup.rs` | 16 | Setup / Confirm setup (sweeps) — BRAKE · ENGINE · AERO · TYRE · PIT |
184
- | `src` unit | 35 | setup sweep, skills digest, `agents::`, `inject::`, intent, app-type |
190
+ | `wjttc_faf_dna.rs` | 7 | `.faf-dna` lineage `faf_init` birth, `faf_auto` growth, `faf_dna`, faf-cli's lines |
191
+ | `src` unit | 47 | setup sweep, skills digest, `agents::`, `inject::`, intent, app-type, `dna::` lineage + faf-cli fixtures |
185
192
 
186
193
  Tests spawn the compiled binary as a subprocess and communicate via stdin/stdout JSON-RPC — true integration tests against the real server.
187
194
 
@@ -213,7 +220,7 @@ If `rust-faf-mcp` has been useful, consider starring the repo — it helps other
213
220
  ## Links
214
221
 
215
222
  - [crates.io/crates/rust-faf-mcp](https://crates.io/crates/rust-faf-mcp)
216
- - [npmjs.com/package/rust-faf-mcp](https://www.npmjs.com/package/rust-faf-mcp) — `npx --yes rust-faf-mcp@0.7.1` (no Rust toolchain; downloads GH Release binary)
223
+ - [npmjs.com/package/rust-faf-mcp](https://www.npmjs.com/package/rust-faf-mcp) — `npx --yes rust-faf-mcp@0.8.0` (no Rust toolchain; downloads GH Release binary)
217
224
 
218
225
  - [Dual-package publish guide](https://github.com/Wolfe-Jam/mcp-better/blob/main/docs/DUAL-PACKAGE-RUST-MCP.md) — cargo + npm (this server is the product example)
219
226
  - [docs/DUAL-PACKAGE.md](./docs/DUAL-PACKAGE.md) — pointer + OIDC docs for this repo
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "rust-faf-mcp",
3
- "version": "0.7.1",
3
+ "version": "0.8.0",
4
4
  "mcpName": "one.faf/rust-faf-mcp",
5
5
  "description": "Persistent project context — Rust-native MCP server. IANA-registered .faf format. npm shim downloads the native binary from GitHub Releases.",
6
6
  "license": "MIT",