Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion .claude-plugin/plugin.json
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
{
"name": "faf",
"version": "8.3.1",
"version": "8.3.2",
"description": "Persistent Project Context for AI — IANA-registered .faf format. Run /faf to score your project in Claude Code; install the CLI via `bunx faf` or `npm install -g faf-cli` for the full toolkit.",
"author": {
"name": "wolfejam",
Expand Down
4 changes: 2 additions & 2 deletions AGENTS.md
Original file line number Diff line number Diff line change
@@ -1,10 +1,10 @@
<!-- faf:start -->
<!-- faf: faf-cli | TypeScript | cli | CLI for IANA-registered `.faf` + `.fafm` — context DNA and portable agent memory. TypeScript, Bun-native since v6. package faf-cli v8.3.1 The Business Card Edition — scored by the always-33 engine. -->
<!-- faf: faf-cli | TypeScript | cli | CLI for IANA-registered `.faf` + `.fafm` — context DNA and portable agent memory. TypeScript, Bun-native since v6. package faf-cli v8.3.2 The Business Card Edition — scored by the always-33 engine. -->
<!-- faf: claim=project.faf | family=FAF -->

# AGENTS.md — faf-cli

CLI for IANA-registered `.faf` + `.fafm` — context DNA and portable agent memory. TypeScript, Bun-native since v6. package faf-cli v8.3.1 The Business Card Edition — scored by the always-33 engine. — TypeScript · type: cli · v8.1.0
CLI for IANA-registered `.faf` + `.fafm` — context DNA and portable agent memory. TypeScript, Bun-native since v6. package faf-cli v8.3.2 The Business Card Edition — scored by the always-33 engine. — TypeScript · type: cli · v8.1.0

> Authored by faf — do not edit the managed block; refresh with `faf export --agents`. Hand-written content outside the managed block is preserved.

Expand Down
12 changes: 11 additions & 1 deletion CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
<!-- faf: faf-cli | TypeScript | cli | CLI for the .faf format — IANA-registered AI context that versions with your code -->
<!-- faf: doc=changelog | latest=v8.3.1 | canonical=project.faf | family=FAF -->
<!-- faf: doc=changelog | latest=v8.3.2 | canonical=project.faf | family=FAF -->

# Changelog

Expand All @@ -8,6 +8,16 @@ All notable changes to faf-cli will be documented in this file.
The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/),
and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).

## [8.3.2] - 2026-10-17

**`faf check` warns when a key_files path no longer exists.** Windows CI names a stuck test and moves on. 2222 tests.

### Fixed
- **`faf check` looks at the disk for `key_files`.** Each path in `key_files` (or the older `instant_context.key_files`) is checked against the folder the .faf lives in. A path that's gone prints `! key_files: <path> not found`. It's a warning only: the file stays valid, and the exit code and the score don't change. A ` — role` note is ignored, a folder counts as present, and a pattern like `crates/*` is listed as not checked. (#173)

### CI
- **The Windows nightly names a stuck test and moves on.** A hung child process fails at 2 minutes with the command named. A test file that doesn't finish in 5 minutes is killed, and if the kill never confirms, the next file runs 15 seconds later. The nightly now runs only the tests the PR job leaves out; every PR's Windows job runs the rest. (#167, #172, #174)

## [8.3.1] - 2026-10-15

**`faf cards` gives MCP cards to a project.faf alone only when its type is mcp.** Found by a clean-folder run of 8.3.0. 2216 tests.
Expand Down
8 changes: 4 additions & 4 deletions CLAUDE.md
Original file line number Diff line number Diff line change
@@ -1,12 +1,12 @@
<!-- faf:start -->
<!-- faf: faf-cli | TypeScript | cli | CLI for IANA-registered `.faf` + `.fafm` — context DNA and portable agent memory. TypeScript, Bun-native since v6. package faf-cli v8.3.1 The Business Card Edition — scored by the always-33 engine. -->
<!-- faf: faf-cli | TypeScript | cli | CLI for IANA-registered `.faf` + `.fafm` — context DNA and portable agent memory. TypeScript, Bun-native since v6. package faf-cli v8.3.2 The Business Card Edition — scored by the always-33 engine. -->
<!-- faf: claim=project.faf | family=FAF -->

# CLAUDE.md — faf-cli

## What This Is

CLI for IANA-registered `.faf` + `.fafm` — context DNA and portable agent memory. TypeScript, Bun-native since v6. package faf-cli v8.3.1 The Business Card Edition — scored by the always-33 engine.
CLI for IANA-registered `.faf` + `.fafm` — context DNA and portable agent memory. TypeScript, Bun-native since v6. package faf-cli v8.3.2 The Business Card Edition — scored by the always-33 engine.

## Stack

Expand All @@ -21,10 +21,10 @@ CLI for IANA-registered `.faf` + `.fafm` — context DNA and portable agent memo
- **What:** Persistent AI Context Standard — project DNA for AI. IANA-registered. Anthropic-merged.
- **Why:** Eliminates 91% context re-discovery tax — define once, AI remembers forever
- **Where:** npm registry, Homebrew, GitHub
- **When:** Production since September 2025; Bun-native since v6; current package 8.3.1 (always-33 engine)
- **When:** Production since September 2025; Bun-native since v6; current package 8.3.2 (always-33 engine)
- **How:** bunx faf-cli auto, then project.faf versions with your code — faf show renders it human-visible

---

*STATUS: SYNC ACTIVE — 2026-10-15T15:15:39.061Z*
*STATUS: SYNC ACTIVE — 2026-10-17T19:23:27.615Z*
<!-- faf:end -->
1 change: 1 addition & 0 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -198,6 +198,7 @@ npx faf-cli@latest card init # seven questions → agent.fafa → A2A card,

**Recent sprint**

- ✪ [8.3.2](https://github.com/Wolfe-Jam/faf-cli/releases/tag/v8.3.2) `faf check` warns when a key_files path no longer exists
- ✪ [8.3.1](https://github.com/Wolfe-Jam/faf-cli/releases/tag/v8.3.1) `faf cards` gives MCP cards to a project.faf alone only when its type is mcp
- ✪ [8.3.0](https://github.com/Wolfe-Jam/faf-cli/releases/tag/v8.3.0) The Business Card Edition — CLI, library or MCP server, from npm, PyPI or crates.io
- ✪ [8.2.2](https://github.com/Wolfe-Jam/faf-cli/releases/tag/v8.2.2) Markdown never writes project.faf — `sync` is one way, `recover` is gone
Expand Down
2 changes: 1 addition & 1 deletion agent.fafa
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@ agent:
name: faf-cli
displayName: faf-cli
id: urn:air:faf.one:agent:faf-cli
version: 8.3.1
version: 8.3.2
description: "CLI for the IANA-registered .faf format: it detects a repo's stack into project.faf, scores it, and writes AGENTS.md, CLAUDE.md, GEMINI.md and .cursorrules from it."
homepage: https://faf.one
capabilities:
Expand Down
4 changes: 2 additions & 2 deletions package-lock.json

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

2 changes: 1 addition & 1 deletion package.json
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
{
"name": "faf-cli",
"version": "8.3.1",
"version": "8.3.2",
"description": "Persistent AI context + memory — .faf and .fafm, IANA-registered. Anthropic-merged.",
"type": "module",
"icon": "https://faf.one/orange-smiley.svg",
Expand Down
6 changes: 3 additions & 3 deletions project.faf
Original file line number Diff line number Diff line change
@@ -1,8 +1,8 @@
faf_version: "3.0"
project:
name: faf-cli
version: "8.3.1"
goal: "CLI for IANA-registered `.faf` + `.fafm` — context DNA and portable agent memory. TypeScript, Bun-native since v6. package faf-cli v8.3.1 The Business Card Edition — scored by the always-33 engine."
version: "8.3.2"
goal: "CLI for IANA-registered `.faf` + `.fafm` — context DNA and portable agent memory. TypeScript, Bun-native since v6. package faf-cli v8.3.2 The Business Card Edition — scored by the always-33 engine."
main_language: TypeScript
type: cli # found: package.json bin
# Commands + key_files feed `faf export --agents` (hand values win over detection).
Expand Down Expand Up @@ -61,7 +61,7 @@ human_context:
what: Persistent AI Context Standard — project DNA for AI. IANA-registered. Anthropic-merged.
why: Eliminates 91% context re-discovery tax — define once, AI remembers forever
where: npm registry, Homebrew, GitHub
when: Production since September 2025; Bun-native since v6; current package 8.3.1 (always-33 engine)
when: Production since September 2025; Bun-native since v6; current package 8.3.2 (always-33 engine)
how: bunx faf-cli auto, then project.faf versions with your code — faf show renders it human-visible
monorepo:
packages_count: slotignored
Expand Down
Loading