January 2025

FAF v4.0

The Format That Became a Standard

IANA Registered Anthropic MCP 21,000+ downloads

The Idea

In late 2024, we had a simple observation: AI assistants forgetโ€”even inadvertently change stuff (wrong assumptions)!

Every new session, every new file, every new developerโ€”AI starts fresh. Context leaks away. Yesterday's collaborator becomes today's stranger.

We thought: what if project context could persist? Not in AI memory (which resets), but in the project itself.

That idea became .fafโ€”the Foundational AI-context Format.

What FAF Is

project/
โ”œโ”€โ”€ package.json     โ† npm reads this
โ”œโ”€โ”€ project.faf      โ† AI reads this
โ””โ”€โ”€ src/

A project.faf file sits alongside your package.json. It contains your project's DNA: the stack, the goals, the conventions, the context that AI needs to understand your project specifically.

Every building requires a foundation. project.faf is AI's foundation.

When AI loads your project.faf, it doesn't guess. It knows.

Why This Matters

Without persistent context, AI operates in the DAAFT cycle:

Discover โ€” "What is this project?"
Assume โ€” "Probably React? Maybe TypeScript?"
Ask โ€” "Which API are you using?"
Forget โ€” Next session, repeat from step 1
Tokens โ€” LOST (and TIME!)

Don't be DAAFT.

Without project.faf

~1,750

tokens per session

With project.faf

~150

tokens once

91% fewer tokens. Zero risk. No drift.

The Journey: Format to Standard

It was borne out of pure frustrationโ€”one day AI even changed the Auth system! I started looking for the Industry format... the package.json for AI context, if you willโ€”to my utter astonishment there wasn't one? AI needed a format for Context, so I built one.

.faf was born. F1-inspired software engineering became faf.one.

We designed the format, then the engine. Developers started using it. Feedback came in. Edge cases emerged. We refined the structure, added scoring, built tooling, launched the CLI on npm. The rest is history.

Aug 7, 2025 First .faf created (Day 0)
Sep 18, 2025 Claude: "This should become the standard" (Day 42)
Oct 9, 2025 faf-cli launches on npm (Day 62)
Oct 16, 2025 Anthropic merges PR #2759 into MCP registry (Day 69)
Oct 30, 2025 IANA registers application/vnd.faf+yaml (Day 84)
Jan 24, 2026 FAF v4.0 released
.faf โ€” The Persistent AI Context Standard

Read the full story: 42|42 โ†’

What's in FAF v4.0

The Core: project.faf

Scales from 4 slots (minimal) to 21+ slots (full) โ€” some enterprise repos hit 30+

project:
  name: "acme-dashboard"
  goal: "Real-time metrics dashboard for engineering teams"
  main_language: typescript

stack:
  frontend: react
  backend: node
  database: postgres
  hosting: vercel
  auth: clerk
  api: rest
  ci_cd: github_actions
  monitoring: datadog

human_context:
  who: "Engineering team at Acme Corp"
  what: "Internal tool replacing spreadsheet workflows"
  why: "Manual reporting takes 10 hours/week"
  where: "US-based, remote team"
  when: "Q1 2026 launch target"
  how: "Agile sprints, trunk-based development"

discovery:
  frameworks_detected: ["react", "typescript", "vite"]
  package_manager: npm
  test_framework: vitest

Above: 21-slot example. Your project might need fewer โ€” faf auto detects what's relevant.

Foundation, not configuration

This isn't settings. It's the ground your AI builds on.

Persistent, not cached

Lives in your repo, versioned, shared, permanent.

Universal, not tool-specific

Works with Claude, Gemini, Grok, ChatGPT, any AI.

Context-Mirroring

One .faf, every AI's context file. The faf sync command keeps them aligned.

CLAUDE.md โ†” .faf โ†” GEMINI.md
โ†•
conductor/

One source of truth. All files aligned. Context drift prevented at root cause.

Developer Loop Skills

/commit โ€” Context-aware git commits
/pr โ€” Context-aware pull requests
/review โ€” Context-aware code reviews

What "Foundation Optimized" Means

๐Ÿ† project.faf 100% | bi-sync โœ“ | foundation optimized
  • Your project.faf is complete for your stack
  • AI has everything it needs to understand your project
  • No clarifying questions required
  • Build with confidence on this base

The foundation is solid. Add great things above it.

The Philosophy

FAF first.

The earlier AI has your project.faf, the more tokens you save. Add it day one.

Foundation, then features.

Get to 100%, then build. Every session after that starts with full context.

Trust, not hope.

With FAF, you're not hoping AI understands. You know it does.

What .faf Is (And Isn't)

Setting honest expectations:

โœ• .faf must be initiated

You must run faf init to create the file. Once it exists, Claude reads it firstโ€”but someone has to add it.

โœ• .faf is NOT documentation

It's project context, not API documentation. Tools like context7 handle library docsโ€”.faf complements them with your project's DNA.

โœ• Scoring is a guide, not a certification (yet)

It's free open-source software (MIT). Quality depends on your project structure. 100% is recommendedโ€”that's AI confirming it has full context. Fun fact: a human can only score 99%.

โœ“ .faf IS:

  • A format for storing project context
  • A measurable way to track AI-readiness
  • A tool for giving AI project-specific knowledge
  • Free forever, open source

When to use .faf

Any project with AI-coding.

Getting Started

# Install
npm install -g faf-cli
# or: brew install faf-cli

# Initialize (do this FIRST on any project)
cd your-project
faf auto

# Verify
faf status --oneline
# ๐Ÿ† project.faf 100% | bi-sync โœ“ | foundation optimized

# Now plan. Now build.