FAF has a Rust ecosystem now. Five crates on crates.io, one meta-crate to rule them all. Parse .faf files, stream context via Radio Protocol, inject into Axum servers, run MCP servers — all in Rust.

One Install

cargo add faf

That gives you the full SDK — parse, validate, score, and compile .faf files.

Need more?

cargo add faf --features axum

Need even more?

cargo add faf --features radio

Feature flags. Pay for what you use. Zero deps when off.

The Ecosystem

240 tests across the ecosystem. All passing. ☑

⚡ Just Shipped: Axum Middleware

One line to inject FAF project context into any Axum server:

.layer(FafLayer::new())

Feature-gated behind axum. Your .faf is parsed once at startup, shared via Arc. Per-request cost: one atomic increment. ~240 lines of strategically-placed code.

Read the full Axum Edition post →

What You Can Build

🔍 Parse project DNA

Read any .faf file. Score it. Validate it. The same IANA-registered format used by 33,000+ projects.

📡 Stream context to every AI

Radio Protocol — broadcast your project context once, Claude + Grok + Gemini all receive it. Real-time WebSocket.

🔌 Run an MCP server

Serve .faf context over Model Context Protocol. Same spec, Rust performance.

📦 Compile to FAFb binary

32-byte header, CRC32 integrity, 11 section types. The binary format for edge deployment.

🦀 Axum middleware

Inject .faf context into every HTTP request. Tower Layer, Axum extractor, builder pattern.

🍺 Homebrew CLI

Pre-built binary, 569 tests. FAF Pro licensing. Compiles .faf to .fafb. brew install and go.

The Binary CLI

If you want the CLI rather than the library:

brew install Wolfe-Jam/faf/rust-faf-cli

569 tests. FAF Pro licensing. Compiles .faf to .fafb binary. Same key as the TypeScript CLI — one subscription unlocks everything.

Why Rust

FAF CLI started in TypeScript. 97 versions, 16,000+ downloads. Free forever.

But the industry is moving. xAI built Grok's inference stack on Rust. Anthropic's MCP servers are being rewritten in Rust. Cloudflare Workers run Rust at 300+ edge locations. CLI tools that used to take seconds now start in milliseconds.

When Grok needs your project context at inference speed, it won't wait for a Node process to spin up. It needs bytes on the wire, now. That's faf-rust-sdk compiling to FAFb binary. That's faf-radio-rust streaming over WebSocket. That's the edge.

cargo add faf is the starting line.

The Compiler Pipeline

                     .faf (YAML)
                          │
          ┌───────────────┼───────────────┐
          │               │               │
          ▼               ▼               ▼
     ┌─────────┐    ┌─────────┐    ┌─────────┐
     │  Rust   │    │   Zig   │    │   TS    │
     │  SDK    │    │  WASM   │    │  CLI    │
     └────┬────┘    └────┬────┘    └────┬────┘
          │              │              │
   ┌──────┴──────┐       │              │
   │             │       │              │
   ▼             ▼       ▼              ▼
┌───────┐  ┌────────┐ ┌───────┐  ┌─────────┐
│ .fafb │  │  WASM  │ │ WASM  │  │ Node /  │
│Binary │  │ 211KB  │ │ 2.7KB │  │ Browser │
└───────┘  └────────┘ └───────┘  └─────────┘

Three compilers. Four outputs. One format. IANA-registered.

What's Next

Axum is shipped. The Rust ecosystem is growing. Here's what's on the radar:

  • no_std embedded support — FAF on microcontrollers
  • Actix-web / Tonic (gRPC) middleware
  • faf! proc macro — compile-time .faf validation
  • More feature flags, same one-liner install

Links