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