How Xpansion Framework Works

Install once. XF runs in every session.

You don't configure it per project. You don't invoke it manually. It watches your Claude Code sessions and acts — catching violations, surfacing impact, verifying delivery, and building memory that compounds over time.

Step 1

Install takes two minutes.

Connect with GitHub, copy your install token, and run one command in your terminal. XF installs seven hooks into Claude Code's hook system. From that point forward, it's always running — you don't do anything differently.

What gets installed: Seven Python modules and seven shell hooks. They live in ~/.claude/ alongside your Claude Code config. Your projects don't change. Your workflow doesn't change.

What it costs: About 2 seconds per tool call for the lightweight checks. The models that run XF's analysis (Mistral Nemo, 8B) are fast and cheap — not Claude. Claude is reserved for your actual work.

● ● ●
Install Xpansion Framework
Here's your install command:
 
curl -sSL https://xpansion.dev/install/<token> | bash
 
Run it in your terminal. XF installs
six hooks and six modules. Done.
◎ Xpansion Framework installed
7 modules active — session monitoring on
Step 2

Every session, seven things are watching.

XF's seven modules run in every session. Most are silent — they only surface when they find something. One, XFFI, you invoke intentionally at the start of any non-trivial task to define what done means before work begins.

XF Finite Intent
Run /xffi before any non-trivial task. Produces a finite MECE spec — WHAT, WHO, HOW — that every other module executes against.
XF Tool Dispatch
Routes every task to the right tool from 16,500+ available. Fires before you even ask.
XF Boundary Auditor
Catches code contract violations — wrong inputs, broken imports, bad types — before they land.
XF System Impact Auditor
Maps what breaks downstream when a change lands. Shows you the blast radius before you commit.
XF Token Control
Watches your context fill. Nudges you at 60%, warns at 85%. Prevents losing work mid-session.
XF De-Bug
Verifies that what Claude built actually matches what you intended. Binary: met or not met.
XF Memory
Writes a snapshot of every session automatically. The tree grows. Every future session picks up exactly where you left off.
Step 3

When something needs your attention, XF tells you plainly.

XF doesn't use developer language. It speaks to you like a collaborator who caught something — describes what's wrong in plain English, tells you what could happen if you ignore it, and asks what you want to do. One question. Two options. You decide.

It never acts without asking. XF surfaces findings — you make the call. If you say "fix it," it fixes it and confirms clean. If you say "leave it," it steps back and records the decision.

After it fixes something, XF re-checks its own work. It doesn't assume the fix worked — it verifies.

● ● ●
◈ XFBA ✗ 1 violation found
The payment function is being called
without an amount — it'll fail silently.
Repair: pass amount as second argument.
Fix it, or show you what changed first?
Fix it.
Applied. Re-running XFBA...
◈ XFBA ✓ 0 violations
Step 4

You talk to it like you talk to Claude. And there are commands when you want to go direct.

No new syntax. No special commands to memorize. When XF asks "Fix it, or leave it for now?" — you just answer. When it surfaces a memory from two sessions ago, you just say "pick up from there."

For when you want to invoke something directly, XF ships a set of slash commands. Type them in Claude Code exactly as written — they're part of XF's skill layer, installed with the framework.

When XF says…You can say…
Fix it, or show you what changed first? "Fix it" — applies the repair immediately
Fix it, or show you what changed first? "Show me first" — displays the diff, then asks again
Address these, or leave them for now? "Leave them" — XF steps back, records the decision
Snapshot and compact now, or keep going? "Snapshot now" — saves session, compacts context
Terminal closed. Commit and push? "Yes, push it" — or "keep iterating"
XF De-Bug Pro
CommandWhat it does
/xfdb Run verification. Auto-detects your most recent spec or plan and checks each terminal — met or unmet — against what's actually in the code.
/xfdb <path> Verify against a specific spec file.
/xfdb synthesize No spec yet? XF drafts one from the conversation, then runs verification against it.
XF Memory Free
CommandWhat it does
/xf-mem Save a snapshot now. Writes the current session to the memory tree — before a risky refactor, before compacting, at any milestone.
/xf-memr <query> Search your memory. "What did we decide about auth?" "How did we set up Stripe?" Returns the most relevant sessions.
Tool Dispatch & Utilities Free
CommandWhat it does
/dispatch Show pending tool recommendations — what Dispatch matched, why, and how to install it. Clears the badge after viewing.
/dispatch-compact-md Compact oversized CLAUDE.md files — moves reference sections to ~/.claude/ref/, keeps Claude's working context lean.
Step 5

When you're ready to ship, verify before you push.

Before you commit, run /xfdb. XF checks every terminal — every thing you said you were building — against what's actually in the code. Not what Claude said it did. What's there.

Already built something? XF can work backwards. Describe what you intended, generate a spec from the conversation, and verify your existing code against it. Ships clean or ships with a known gap — never ships with a hidden one.

This is what "code that enforces what the LLM doesn't always do reliably on its own" means in practice. Claude says it's done. XF checks. If XF says it's done, it's done.

● ● ●
/xfdb
◈ XFDB ✓ XF-Debug Complete
All 5 terminals met · Iteration 2
Delivered: payment flow, webhook handler,
confirmation email, error states, logging
Terminal closed. Commit and push, or
keep iterating?
Push it.
Step 6

Every session grows the tree. The context is always there.

XF Memory doesn't just save a file — it builds a tree. Every session is a branch. Every decision, every build, every open question becomes a node that future sessions can reach back to. The tree grows every time you work.

You never start from scratch again. If you've been building something for six weeks, Claude knows it — because XF recorded it, structured it, and loads the relevant branches at session start. Not because you explained it.

Search across every session with /xf-memr. Recall a decision from three months ago. Resume a project you haven't touched since last quarter. The tree is always there — and it only gets deeper.

This is what compounds. Not Claude's knowledge — yours.

XF-MEM — your project memory tree
 
├── 2026-04-01 scaffolded auth flow, wired Supabase
├── 2026-04-03 Stripe webhook handler — decision: skip idempotency for now
├── 2026-04-07 payment confirmation email open: error states
└── 2026-04-09 error states wired · all terminals met · shipped
 
↑ loaded at session start, every time
$ /xf-memr "what did we decide about idempotency?"
→ 2026-04-03 · skipped for now — revisit before scale

Ready to run it?

Install is two minutes. The first session tells you everything.

Connect with GitHub — it's free

10-day free trial · Pro: $15/mo · First 250 founders: $6/mo locked for life