Claude is raw power. GAIA is order and focus.

Every codebase drifts. AI just gets there faster. GAIA is the discipline that holds the line.

Built by Steven Sacks, creator of the original GAIA framework (used on 100,000+ sites).

Why GAIA

Vibe coding is broken. GAIA fixes it.

Most setups run /init and hope Claude figures out the rest. It does, for a while. Then comes output you can't trust, quality that drops as the project grows, and technical debt piling up while you build.

GAIA fixes all three. Its structure and tooling enlist Claude in the fight against its own drift.

Claude Code, configured

Commands you invoke. Hooks that control. An agent that reviews.

/gaia spec interviews you and writes the spec. /gaia plan slices it into tasks. /gaia handoff and /gaia pickup carry context across sessions.

Hooks protect main, prevent tech debt, and keep commits clean.

The code-review-audit agent scans for security, performance, architecture, and antipatterns. Critical and Important findings block the merge.

Karpathy's coding principles, wired in. Scoped rules cover best practices, testing, strict typing, and accessibility.

COMMANDyou invoke
/gaia spec
HOOKfires automatically
pre-commit
AGENTgates every merge
code-review-audit
.claude/rules/on match
**/api/**
api-service
**/*.tsx
tailwind
**/*.test.{ts,tsx}
playwright
**/i18n/**
i18n
**/*.stories.tsx
storybook
How GAIA works

Design patterns Claude doesn't have to remember.

Gates on every commit. Specs before code. Scoped memory. A code-review audit on every merge. GAIA wires these into the project itself, so they run the same way every session, every task, every model variant.

Here are two of them: a commit gate that turns typecheck, lint, tests, and build into hard stops, and an audit that reads the diff before it reaches main.

pre-commit · code-review-auditevery commit · every merge
$ git commit -m "add discount logic"
✓ typecheck✓ lint✓ tests✓ build
committed → feat/checkout
$ gh pr merge 412
CRITICALapi/session.ts:88secret committed in source
IMPORTANTcart/total.ts:24discount path has no test
SUGGESTIONui/Modal.tsx:12prefer native dialog element
✗ merge blocked — 1 critical and 1 important must clear first
Persistent memory

Memory that survives a session restart.

GAIA's wiki saves Claude tokens. Architecture, flows, and decisions live as committed markdown that Claude reads on demand, so it never re-infers them from source.

Context stops getting lost between sessions. The wiki stays yours: plain markdown in your repo, not a vendor's database.

As you ship features, GAIA updates the wiki and clears stale or duplicate entries. No one has to maintain it.

wikiArchitecture, flows, decisions.repo
hot cacheWhat Claude touched recently. Fast, scoped, evictable.session
handoffCompact session state for /gaia handoff and /gaia pickup.cross-session
agent memoryEach subagent's scratchpad, persisted between runs.per-agent
user memoryYour preferences, your style, your defaults.global
Open source. MIT.

Discipline you can install.

You direct. Claude implements. GAIA enforces.