TL;DR: We studied how Boris Cherny (creator of Claude Code) structures his projects - subagents, slash commands, MCP servers, Bun runtime - and built a 12-test integration suite that validates all of it. Now .faf detects and preserves the complete Claude Code ecosystem. Every publish passes Boris-Flow or it doesn't ship.
๐ Revision Note
Originally published: January 7, 2026
Updated: February 3, 2026
Since launching Boris-Flow in January, we've integrated it into the WJTTC certification workflow and faf-cli documentation. This update adds practical guidance on when to run Boris-Flow and how it validates project structure before WJTTC Tier 8 certification. See the new "When to Run Boris-Flow" section below.
What's new: Workflow recommendations, WJTTC integration, pre-certification best practices.
The Problem
Claude Code has evolved. It's not just CLAUDE.md anymore. Modern Claude Code projects have:
.claude/agents/*.md- Specialized subagents for different tasks.claude/commands/*.md- Custom slash commands.claude/settings.json- Permissions and configuration.mcp.json- MCP server integrations (Slack, BigQuery, Sentry)- Bun runtime detection (
bun.lockb)
If your AI context format doesn't understand this structure, you're working with half a blueprint. Context drift is inevitable.
The Inspiration
Boris Cherny created Claude Code. His setup is the reference implementation:
- 5 subagents for specialized tasks
- Custom slash commands for workflows
- MCP servers for external services
- Bun as the runtime
- Everything wired together
We asked: what if .faf could detect all of this automatically? What if we could validate that detection with real tests?
The Insight
Don't guess what a Claude Code project looks like. Model it on the creator's actual setup. Then test against that model.
Boris-Flow: The Test Suite
12 integration tests that must pass before any faf-cli publish:

View full test output
$ ./tests/boris-flow.test.sh
๐๏ธBORIS-FLOW INTEGRATION TEST
๐๏ธ Using local build: /Users/wolfejam/FAF/cli/dist/cli.js
1๏ธโฃ Testing --version...
โ
faf --version (got: 3.4.4)
2๏ธโฃ Creating Claude Code project...
โ
Created Claude Code structure
3๏ธโฃ Testing faf init...
โ
faf init created project.faf
4๏ธโฃ Checking type detection...
โ
Detected CLI type (got: cli-ts)
5๏ธโฃ Checking language detection...
โ
Language detected (got: TypeScript)
6๏ธโฃ Checking Claude Code detection...
โ
claude_code section exists
โ
Claude Code detected: true
โ
Subagents detected (got: 2)
7๏ธโฃ Testing faf auto...
โ
faf auto maintained score (67 โ 67)
8๏ธโฃ Filling human context...
โ
human-set commands succeeded
9๏ธโฃ Testing final score...
โ
Final score is 100% (got: 100%)
๐ Testing non-TTY safety...
โ
faf enhance safe in non-TTY (100 โ 100)
๐ BORIS-FLOW: ALL 12 TESTS PASSED
โ
Demo ready
โ
Safe to publish
Final score: 100%If any test fails, the publish stops. No exceptions.
What .faf Now Detects
Run faf init on a Claude Code project and the output includes:
claude_code:
detected: true
claude_md: true
subagents:
- code-reviewer
- test-runner
- docs-writer
commands:
- pubpro
- deploy
permissions:
- Bash(npm:*)
- Read(**)
mcp_servers:
- slack
- bigquery Complete metadata. Ready for any AI to understand your Claude Code setup instantly.
When to Run Boris-Flow
Boris-Flow isn't just for faf-cli maintainers โ it's a validation tool for anyone using .faf files. Here are the key scenarios:
| Scenario | Why Run Boris-Flow |
|---|---|
Before faf init | Validates faf-cli installation works correctly on your machine |
| After major .faf changes | Re-validates project structure remains valid |
| Before WJTTC certification | Pre-validates .faf file for Tier 8 (FAF Documentation) tests |
| Before publishing | Ensures no regressions in faf-cli (maintainers only) |
| Team onboarding | Proves faf-cli works and demonstrates 100% scoring |
Pre-Certification Workflow
WJTTC users can now validate their .faf files before running certification:
cd your-project faf init && faf auto faf score git clone https://github.com/Wolfe-Jam/faf-cli cd faf-cli && ./tests/boris-flow.test.sh cd ../your-project npx wjttc certify --mcp "npx your-server"Boris-Flow validates the structure that WJTTC Tier 8 tests. Running it first helps ensure you pass Tier 8.
Where it's documented:
- WJTTC README - Pre-certification best practices
- faf-cli README - Complete Boris-Flow documentation
Live Bi-Sync Demo
We also shipped faf demo sync - a live demonstration of bidirectional sync:
$ faf demo sync
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
โ FAF BI-SYNC DEMO โ
โ Live demonstration of .faf <-> CLAUDE.md syncโ
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
Starting demo...
โโ Files detected:
โ ๐ project.faf
โ CLAUDE.md
T=39.589s ๐ CLAUDE.md -> editing...
T=40.092s ๐ Change detected: "DEMO rule added"
T=40.602s โก project.faf synced (9ms)
T=41.603s ๐ project.faf -> editing...
T=42.108s ๐ Change detected: "demo_marker updated"
T=42.610s โก CLAUDE.md synced (1ms)
T=43.611s ๐ CLAUDE.md -> editing...
T=44.111s ๐ Change detected: "context update"
T=44.612s โก project.faf synced (1ms)
3 changes ยท 3 syncs ยท avg 4ms ยท 0 conflicts
Demo complete - no files changed.
โจ Try: faf bi-sync - Set up real bi-sync for your project Every faf-cli user can now demo bi-sync to their team. Built-in evangelism.
Why This Matters
Context drift happens when your AI doesn't know your project structure. With Boris-Flow:
| Before | After |
|---|---|
| AI guesses your setup | AI knows your exact Claude Code structure |
| Subagents invisible | Subagents listed by name |
| MCP servers unknown | MCP servers detected |
| Runtime assumed | Bun/Node detected from lockfile |
| Permissions unclear | Permissions extracted from settings.json |
One format. Complete AI context. Zero drift.
Try It
brew install faf-cli faf init && faf autoThat's it. Your Claude Code structure is now captured in project.faf.
For the brave:
cd your-project npx faf-cli yoloDownloads faf-cli via npx and runs yolo โ init + auto + aggressive extraction in one command. May take a minute on first run.
The FAF Tier System
At FAF-Score 100% AI is optimized. No more guessing, peak AI performance is activated ๐ Gold Code mode enabled
| Score | Tier | Meaning |
|---|---|---|
| ๐ 100% | Gold Code | AI Optimized |
| ๐ฅ 99%+ | Gold | Exceptional |
| ๐ฅ 95%+ | Silver | Excellent |
| ๐ฅ 85%+ | Bronze | Production ready |
| ๐ข 70%+ | Green | Good foundation |
| ๐ก 55%+ | Yellow | Needs work |
| ๐ด <55% | Red | Critical gaps |
The Numbers
- v3.4.4 - Released January 7, 2026
- 12/12 - Boris-Flow tests pass
- 609/629 - Full test suite (20 intentionally skipped)
- 100% - FAF score on faf-cli itself
- 4ms - Average bi-sync time
- 21,000+ - npm downloads