How It Works

Arnold keeps documentation and code in sync through a simple loop: write docs, build code, detect drift, fix mismatches.

The Problem

AI coding agents are fast. They can scaffold an entire app in minutes. But they have a critical weakness: they forget between sessions.

Every new session starts fresh. The agent doesn't remember what you asked for last week. Your requirements live in a chat window that's long gone. The gap between "what you said to build" and "what actually got built" grows quietly.

That's documentation drift.

Arnold's Solution

Arnold gives your project a persistent, structured source of truth: a docs/ folder with markdown files organized by feature. These docs survive between sessions, context windows, and agent switches.

Then Arnold checks whether the code actually matches the docs. That's the feature nobody else has.

The Five Steps

1. Describe your product

Run /arnold:init and tell Arnold what you're building. It scaffolds a docs/ folder with feature-based documentation. Not a flat spec - a living wiki.

2. Arnold writes the docs

Run /arnold:plan to flesh out features with overviews, flows, edge cases, and acceptance criteria. Plain English, organized by what the feature IS.

3. Build with any coding agent

Use Claude Code, Cursor, Windsurf, or write code by hand. Or use /arnold:build to let Arnold guide construction from the docs.

4. Check for drift

Run /arnold:check. Arnold reads every doc and every source file, then reports exactly where they disagree - with file paths, line numbers, and specific values.

5. Fix and repeat

Run /arnold:resolve to walk through each mismatch. Fix the code, update the docs, or skip. The gap stays visible until you decide.

🦕 Arnold says
The loop never ends. Your project evolves, Arnold keeps checking. Documentation stays alive.
ACCESS DENIED
"Ah ah ah, you didn't
say the magic word."
Ah ah ah! You didn't say the magic word.
Ah ah ah! You didn't say the magic word.
Ah ah ah! You didn't say the magic word.
NEDRY_PROTOCOL // ACTIVE
click anywhere or press esc to dismiss