Describe it. Springfield builds it.
An autonomous development loop powered by Claude Code — from idea to working app.
Quick Start · How It Works · Dashboard · Options
You describe what you want to build. Springfield researches, plans, builds, and reviews it — story by story — with no manual intervention.
Four agents work together in sequence:
YOU WORKING APP
| ^
| "A crypto dashboard with real-time prices" |
v |
┌──────────────┐ ┌──────────────┐ ┌──────────────┐ ┌──────────────┐
│ DECOMPOSER │──>│ ARCHITECT │──>│ BUILDER │──>│ REVIEWER │
│ │ │ │ │ │ │ │
│ Researches │ │ Creates │ │ Implements │ │ Validates │
│ & generates │ │ the plan │ │ story by │ │ quality & │
│ stories │ │ & design │ │ story │ │ correctness │
└──────────────┘ └──────────────┘ └──────────────┘ └──────────────┘
| |
└───── retry loop ──┘
Key features:
- Resume anytime — stop and restart, it picks up where you left off
- Auto-rollback — 3 failed attempts triggers git rollback + your choice to skip or debug
- Architecture-first — builder follows a plan, not guesswork
- Design-aware — generates distinctive visual identities, not generic UIs
- Two-pass validation — builder self-checks, then reviewer validates
| Requirement | What it's for |
|---|---|
| Claude Code CLI | The AI engine powering the agents |
| Git | Version control, checkpoints, rollback |
| Node.js | For the projects Springfield builds |
| Python 3 | JSON parsing in the bash script (Mac/Linux only) |
npm install -g @anthropic-ai/claude-code
claude # opens browser to log in (one-time)
claude -p "Say hello" # verify it worksWindows (PowerShell):
git clone https://github.com/crispylines/springfield.git
cd springfield
.\scripts\springfield\springfield.ps1Mac / Linux:
git clone https://github.com/crispylines/springfield.git
cd springfield
chmod +x scripts/springfield/springfield.sh
./scripts/springfield/springfield.shDescribe your project in a few sentences:
> A real-time crypto dashboard that shows new PumpFun token launches
> with filtering by age, market cap, and search
Any reference URLs or docs? (comma-separated, or Enter to skip):
> https://pumpportal.fun/data-api
Springfield has a few follow-up questions:
Q1: What visual style do you want?
> dark theme, neon accents, data-dense layout like a trading terminal
Q2: What are the most important user interactions?
> click tokens to see details, filter by criteria, search by name
Q3: Any technical preferences or constraints?
> use Tailwind, WebSocket for real-time data
Springfield will:
- Research your idea and generate user stories
- Create an architecture + design plan
- Build each story, run tests, commit
- Review each story for quality
- Repeat until all stories pass
Note: Springfield runs Claude with
--dangerously-skip-permissions, which allows it to read/write files, run commands, and commit autonomously. This is required for the loop to run without manual approval at each step.
| # | Phase | Agent | Output |
|---|---|---|---|
| 1 | Research & Decompose | Decomposer | prd.json + research.md — user stories with design direction |
| 2 | Plan | Architect | architecture.md — implementation plan, interfaces, design system |
| 3 | Build | Builder | Code, tests, commits — one story at a time |
| 4 | Review | Reviewer | Approve or reject — rejected stories go back to the builder |
pending ──> building ──> self-check ──> review
^ |
| rejected |
└──────────────────────────┘
|
approved ──> next story
Each story tracks: passes, reviewed, attempts, blocked, reviewNotes, lastError.
When a story fails 3 times:
- Git rolls back to the pre-story checkpoint
- You choose: (1) Skip it and continue, or (2) Stop to debug manually
- Restart the script after debugging — it resumes automatically
Springfield includes a pixel art dashboard that shows your agents working in real-time. It launches automatically with the loop.
Run it standalone:
python -m http.server 3333 # Windows
python3 -m http.server 3333 # Mac/Linux
# open http://localhost:3333/dashboard/Keyboard shortcuts:
| Key | Action |
|---|---|
D |
Toggle demo mode (cycles animations with fake data) |
B |
Toggle debug overlay (bounding boxes and anchors) |
# Windows (PowerShell)
.\scripts\springfield\springfield.ps1 # default: 40 iterations
.\scripts\springfield\springfield.ps1 -MaxIterations 50 # custom limit
.\scripts\springfield\springfield.ps1 -NoDashboard # skip visual dashboard
# Mac / Linux (Bash)
./scripts/springfield/springfield.sh # default: 40 iterations
./scripts/springfield/springfield.sh 50 # custom limit
./scripts/springfield/springfield.sh --no-dashboard # skip visual dashboardStop the loop anytime (Ctrl+C) and restart — it detects existing progress:
| File exists? | What happens |
|---|---|
prd.json |
Skips Decomposer (stories already generated) |
architecture.md |
Skips Architect (plan already created) |
| Neither | Starts from scratch |
The build loop picks up at the next unfinished story automatically.
rm scripts/springfield/prd.json scripts/springfield/research.md scripts/springfield/architecture.mdThe quality of your input directly affects the output:
Bad: "Build an app"
Good: "A real-time Solana token dashboard with price charts,
watchlists, and paper trading"
Bad: "Make a website"
Good: "A portfolio site with blog, project showcase, and contact
form using Next.js with a minimal dark theme"
Tip: Adding reference URLs helps the Decomposer research effectively:
https://api.coingecko.com/api/v3, https://nextjs.org/docs
scripts/springfield/
├── springfield.ps1 # Orchestrator (PowerShell)
├── springfield.sh # Orchestrator (Bash)
├── prompts/
│ ├── decomposer.md # Story generation instructions
│ ├── architect.md # Architecture planning instructions
│ ├── builder.md # Implementation instructions
│ ├── reviewer.md # Review & validation instructions
│ └── followup.md # Follow-up question generator
├── prd.json # Generated user stories
├── progress.txt # Shared learning log
├── research.md # Research findings (generated)
└── architecture.md # Implementation plan (generated)
Inspired by the Ralph Loop concept from AmpCode.
Built by qrime
