The most complete Ralph Wiggum implementation.
Connect your tools. Run AI coding loops. Ship faster.
The easiest way to run Ralph Wiggum autonomous coding loops — pull specs from GitHub, Linear, Notion, Figma, and more, then let AI build it.
Integrations •
Quick Start •
Features •
Docs
Most AI coding tools work in isolation. You describe a task, AI builds it, done.
ralph-starter brings the Ralph Wiggum technique to production. It connects to your existing workflow — pulling specs from GitHub issues, Linear tickets, Notion docs, or any URL — then runs autonomous Ralph Wiggum loops until the task is complete. One command to go from spec to shipped code.
ralph-starter run --from github --project myorg/myrepo --label "ready"
ralph-starter run --from linear --project "Mobile App" --label "sprint-1"
ralph-starter run --from notion --project "https://notion.so/Product-Spec-abc123"
ralph-starter run "build a todo app with React" --commit
Integrations
ralph-starter integrates with your favorite tools out of the box:
| GitHub | gh CLI (recommended) or API token | Issues, PRs, files |
| Linear | linear CLI or API key | Issues by team/project |
| Notion | None (public) or API token (private) | Pages, databases |
| Figma | API token | Design specs, tokens, assets & content extraction |
| URLs | None | Any public markdown/HTML |
| Files | None | Local markdown, PDF |
ralph-starter integrations list
ralph-starter integrations test github
ralph-starter integrations test linear
ralph-starter integrations fetch github owner/repo
Want more integrations? PRs welcome! See CONTRIBUTING.md to get started.
Table of Contents
Key Features
| Integrations | Pull specs from GitHub, Linear, Notion, Figma, URLs, files |
| Multi-Agent Support | Works with Claude Code, Cursor, Copilot, Gemini CLI, and more |
| Interactive Wizard | Guided project creation with AI-refined specifications |
| 16+ Workflow Presets | Pre-configured modes: feature, tdd, debug, review, and more |
| Circuit Breaker | Auto-stops stuck loops after repeated failures |
| Cost Tracking | Estimates token usage and cost per iteration |
| Git Automation | Auto-commit, push, and PR creation |
| Backpressure Validation | Run tests/lint/build after each iteration |
| MCP Server | Use from Claude Desktop or any MCP client |
Quick Example
ralph-starter run "build a todo app" --commit --validate
ralph-starter run --preset tdd-red-green "add user authentication"
ralph-starter run --rate-limit 50 --circuit-breaker-failures 3 "build X"
ralph-starter
What is Ralph Wiggum?
The Ralph Wiggum technique is an autonomous AI coding pattern where you run a coding agent (like Claude Code, Codex, or Cursor) in a loop — feeding errors back into the agent until the task is complete. Originally described by Geoffrey Huntley, the Ralph Wiggum loop has become one of the most popular approaches for autonomous AI development.
ralph-starter is the production-grade Ralph Wiggum implementation — it adds integrations, safety controls (circuit breakers, rate limiting, cost tracking), git automation, validation backpressure, and multi-agent support on top of the core Ralph Wiggum loop pattern. Instead of a bare bash script, you get a full orchestration engine.
Why ralph-starter over a raw Ralph Wiggum script?
- Spec-driven: Pull tasks from GitHub, Linear, Notion, Figma — not just manual prompts
- Safe: Circuit breakers stop stuck loops, rate limiters control costs
- Multi-agent: Works with 8+ coding agents, not just one
- Observable: Cost tracking, progress logs, iteration history
- Automated: Auto-commit, push, and PR creation built in
Installation
npm install -g ralph-starter
npx ralph-starter
After installing, run the setup wizard and verify your environment:
ralph-starter setup
ralph-starter check
Quick Start
For Everyone (Non-Developers Welcome!)
Just run ralph-starter with no arguments to launch the interactive wizard:
ralph-starter
The wizard will:
- Ask if you have a project idea (or help you brainstorm one)
- Refine your idea with AI
- Let you customize the tech stack
- Build your project automatically
Don't Know What to Build?
ralph-starter ideas
This launches Idea Mode - a brainstorming session to help you discover project ideas:
- Brainstorm with AI - Get creative suggestions
- See trending ideas - Based on 2025-2026 tech trends
- Based on my skills - Personalized to technologies you know
- Solve a problem - Help fix something that frustrates you
For Developers
ralph-starter run "build a todo app with React"
ralph-starter run "add user authentication" --commit --pr
ralph-starter run "refactor auth" --commit --validate
ralph-starter run --from https://example.com/spec.md
ralph-starter run --from github --project myorg/myrepo --label "ready"
ralph-starter run --from linear --project "Mobile App"
ralph-starter run --from github --project owner/repo --issue 123
ralph-starter run --from github --project owner/repo --issue 42 --output-dir ~/projects/new-app
Working with Existing Projects
ralph-starter automatically detects existing projects when you run the wizard:
Ralph Playbook Project (has AGENTS.md, IMPLEMENTATION_PLAN.md, etc.):
cd my-ralph-project
ralph-starter
The wizard will detect the Ralph Playbook files and let you:
- Continue working (run the build loop)
- Regenerate the implementation plan
- Add new specs
Language Project (has package.json, pyproject.toml, Cargo.toml, go.mod):
cd my-existing-app
ralph-starter
The wizard will detect the project type and let you:
- Add features to the existing project
- Create a new project in a subfolder
Features
Interactive Wizard
Launch with ralph-starter (no args) for a guided experience:
- Describe your idea in plain English
- AI refines and suggests features
- Choose your tech stack
- Auto-runs init → plan → build
Idea Mode
For users who don't know what to build yet:
ralph-starter ideas
MCP Server
Use ralph-starter from Claude Desktop or any MCP client:
ralph-starter mcp
Add to Claude Desktop config:
{
"mcpServers": {
"ralph-starter": {
"command": "ralph-starter",
"args": ["mcp"]
}
}
}
Available MCP Tools:
ralph_init - Initialize Ralph Playbook
ralph_plan - Create implementation plan
ralph_run - Execute coding loop
ralph_status - Check progress
ralph_validate - Run tests/lint/build
Multi-Agent Support
Works with your favorite coding agents:
- Claude Code (recommended)
- Cursor
- OpenCode
- OpenAI Codex
- GitHub Copilot
- Gemini CLI
- Amp
- Openclaw
LLM Providers
ralph-starter supports multiple LLM providers for internal features:
| Anthropic | ANTHROPIC_API_KEY | Claude models (default) |
| OpenAI | OPENAI_API_KEY | GPT-4 and GPT-4o |
| OpenRouter | OPENROUTER_API_KEY | 100+ models with one API |
These keys are for ralph-starter's internal LLM calls. Coding agents handle their own authentication.
Git Automation
ralph-starter run "your task" --commit
ralph-starter run "your task" --push
ralph-starter run "your task" --pr
Backpressure Validation
ralph-starter run "your task" --validate
The --validate flag runs test, lint, and build commands (from AGENTS.md or package.json) after each iteration. If validation fails, the agent gets feedback to fix the issues.
Workflow Presets
Pre-configured settings for common development scenarios:
ralph-starter presets
ralph-starter run --preset feature "build login"
ralph-starter run --preset tdd-red-green "add tests"
ralph-starter run --preset debug "fix the bug"
ralph-starter run --preset refactor "clean up auth module"
ralph-starter run --preset pr-review "review changes"
Available Presets:
| Development | feature, feature-minimal, tdd-red-green, spec-driven, refactor |
| Debugging | debug, incident-response, code-archaeology |
| Review | review, pr-review, adversarial-review |
| Documentation | docs, documentation-first |
| Specialized | api-design, migration-safety, performance-optimization, scientific-method, research, gap-analysis |
Circuit Breaker
Automatically stops loops that are stuck:
ralph-starter run "build X" --validate
ralph-starter run "build X" --circuit-breaker-failures 2 --circuit-breaker-errors 3
The circuit breaker monitors:
- Consecutive failures: Stops after N validation failures in a row
- Same error count: Stops if the same error repeats N times
Progress Tracking
Writes iteration logs to activity.md:
ralph-starter run "build X"
ralph-starter run "build X" --no-track-progress
Each iteration records:
- Timestamp and duration
- Status (completed, failed, blocked)
- Validation results
- Commit info
File-Based Completion
The loop automatically checks for completion signals:
RALPH_COMPLETE file in project root
.ralph-done marker file
- All tasks marked
[x] in IMPLEMENTATION_PLAN.md
Rate Limiting
Control API call frequency to manage costs:
ralph-starter run --rate-limit 50 "build X"
When rate limits are reached, ralph-starter displays detailed stats:
⚠ Claude rate limit reached
Rate Limit Stats:
• Session usage: 100% (50K / 50K tokens)
• Requests made: 127 this hour
• Time until reset: ~47 minutes (resets at 04:30 UTC)
Session Progress:
• Tasks completed: 3/5
• Current task: "Add swarm mode CLI flags"
• Branch: auto/github-54
• Iterations completed: 12
To resume when limit resets:
ralph-starter run
Tip: Check your limits at https://claude.ai/settings
This helps you:
- Know exactly when you can resume
- Track progress on your current session
- Understand your usage patterns
Cost Tracking
Track estimated token usage and costs during loops:
ralph-starter run "build X"
ralph-starter run "build X" --no-track-cost
Cost tracking provides:
- Per-iteration cost displayed during the loop
- Running total of tokens and cost
- Cost summary at the end of the loop
- Cost logged in
activity.md for each iteration
- Projected cost for remaining iterations (after 3+ iterations)
Supported models for cost estimation:
- Claude 3 Opus ($15/$75 per 1M tokens)
- Claude 3.5 Sonnet ($3/$15 per 1M tokens)
- Claude 3.5 Haiku ($0.25/$1.25 per 1M tokens)
- GPT-4 ($30/$60 per 1M tokens)
- GPT-4 Turbo ($10/$30 per 1M tokens)
Ralph Playbook Workflow
ralph-starter follows the Ralph Playbook methodology:
ralph-starter init
ralph-starter plan
ralph-starter run --commit --validate
This creates:
AGENTS.md - Agent instructions and validation commands
PROMPT_plan.md - Planning prompt template
PROMPT_build.md - Building prompt template
IMPLEMENTATION_PLAN.md - Prioritized task list
specs/ - Specification files
Commands
ralph-starter | Launch interactive wizard |
ralph-starter run [task] | Run an autonomous coding loop |
ralph-starter fix [task] | Fix build errors, lint issues, or design problems |
ralph-starter auto | Batch-process issues from GitHub/Linear |
ralph-starter task <action> | Manage tasks across GitHub and Linear (list, create, update, close, comment) |
ralph-starter integrations <action> | Manage integrations (list, help, test, fetch) |
ralph-starter plan | Create implementation plan from specs |
ralph-starter init | Initialize Ralph Playbook in a project |
ralph-starter setup | Configure environment and API keys interactively |
ralph-starter check | Verify system requirements and connectivity |
ralph-starter ideas | Brainstorm project ideas |
ralph-starter presets | List available workflow presets |
ralph-starter mcp | Start as MCP server |
ralph-starter config <action> | Manage credentials |
ralph-starter source <action> | Manage input sources (legacy) |
ralph-starter skill add <repo> | Install agent skills |
Options for run
Core Options
--auto | Skip permission prompts (default: true) |
--no-auto | Require manual permission approval |
--commit | Auto-commit after tasks |
--push | Push commits to remote |
--pr | Create pull request |
--validate | Run tests/lint/build (backpressure) |
--agent <name> | Specify agent to use |
--max-iterations <n> | Max loop iterations (default: 50) |
Debug Mode
Use RALPH_DEBUG=1 to see detailed output during execution:
RALPH_DEBUG=1 ralph-starter run "build a todo app"
RALPH_DEBUG=1 ralph-starter run --from github --issue 42
Debug mode shows:
- Exact commands being run
- Agent output in real-time
- Timing information
- Error details
Workflow Presets
--preset <name> | Use a workflow preset (feature, tdd-red-green, debug, etc.) |
ralph-starter presets
ralph-starter run --preset feature "build login page"
ralph-starter run --preset tdd-red-green "add user validation"
ralph-starter run --preset debug "fix the auth bug"
Exit Detection
--completion-promise <string> | Custom string to detect task completion |
--require-exit-signal | Require explicit EXIT_SIGNAL: true for completion |
ralph-starter run --completion-promise "FEATURE_DONE" "build X"
ralph-starter run --require-exit-signal "build Y"
Safety Controls
--rate-limit <n> | Max API calls per hour (default: unlimited) |
--circuit-breaker-failures <n> | Max consecutive failures before stopping (default: 3) |
--circuit-breaker-errors <n> | Max same error occurrences before stopping (default: 5) |
--track-progress | Write progress to activity.md (default: true) |
--no-track-progress | Disable progress tracking |
--track-cost | Track token usage and estimated cost (default: true) |
--no-track-cost | Disable cost tracking |
ralph-starter run --rate-limit 50 "build X"
ralph-starter run --circuit-breaker-failures 2 "build Y"
Source Options
--from <source> | Fetch spec from source |
--project <name> | Project filter for sources |
--label <name> | Label filter for sources |
--status <status> | Status filter for sources |
--limit <n> | Max items from source |
--issue <n> | Specific issue number (GitHub) |
--output-dir <path> | Directory to run task in (skips prompt) |
--prd <file> | Read tasks from markdown |
Options for fix
--scan | Force full project scan (build + lint + typecheck + tests) |
--agent <name> | Specify agent to use (default: auto-detect) |
--commit | Auto-commit the fix |
--max-iterations <n> | Max fix iterations (default: 3) |
--output-dir <path> | Project directory (default: cwd) |
ralph-starter fix
ralph-starter fix "fix the paddings and make the colors brighter"
ralph-starter fix --scan --commit
For design-related tasks (CSS, colors, spacing, etc.), the fix command automatically:
- Detects and applies installed design skills
- Instructs the agent to visually verify changes via browser screenshots
Config Commands
ralph-starter config set linear.apiKey <key>
ralph-starter config set notion.token <token>
ralph-starter config set github.token <token>
ralph-starter config list
ralph-starter config get linear.apiKey
ralph-starter config delete linear.apiKey
Example: Build a SaaS Dashboard
mkdir my-saas && cd my-saas
git init
ralph-starter run "Create a SaaS dashboard with:
- User authentication (email/password)
- Stripe subscription billing
- Dashboard with usage metrics
- Dark mode support" --commit --pr --validate
Testing ralph-starter
Quick Test (No API Keys)
You can test ralph-starter with public URLs - no API keys required:
ralph-starter run --from https://raw.githubusercontent.com/multivmlabs/ralph-starter/main/README.md
gh auth login
ralph-starter run --from github --project multivmlabs/ralph-starter --label "enhancement"
Testing the Wizard
ralph-starter
ralph-starter ideas
Testing with Your Own Specs
echo "Build a simple counter app with React" > my-spec.md
ralph-starter run --from ./my-spec.md
Verifying Source Connectivity
Before using an integration, verify it's working:
ralph-starter integrations list
ralph-starter integrations test github
ralph-starter integrations test linear
ralph-starter integrations test notion
ralph-starter integrations fetch linear "My Project" --limit 3
API Key Configuration
Option 1: Environment Variables (Recommended for Developers)
Set environment variables in your shell profile or .env file:
export LINEAR_API_KEY=lin_api_xxxxx
export NOTION_API_KEY=secret_xxxxx
export GITHUB_TOKEN=ghp_xxxxx
Environment variables take precedence over the config file.
Option 2: Config Command
Use the CLI to store credentials:
ralph-starter config set linear.apiKey lin_api_xxxxx
ralph-starter config set notion.token secret_xxxxx
ralph-starter config set github.token ghp_xxxxx
Credentials are stored in ~/.ralph-starter/sources.json.
Environment Variable Reference
| Linear | LINEAR_API_KEY | linear.apiKey |
| Notion | NOTION_API_KEY | notion.token |
| GitHub | GITHUB_TOKEN | github.token |
| Figma | FIGMA_TOKEN | figma.token |
Requirements
- Node.js 18+
- At least one coding agent installed (Claude Code, Cursor, etc.)
- Git (for automation features)
- GitHub CLI
gh (for PR creation and GitHub source)
Documentation
Full documentation available at: https://ralphstarter.ai
Contributing
Contributions welcome! See CONTRIBUTING.md for guidelines.
For creating custom integrations, agents, or using the programmatic API, see the Developer Extension Guide.
Badge
Using ralph-starter? Add the badge to your README:

[](https://github.com/multivmlabs/ralph-starter)
More styles available at ralphstarter.ai/badge.
License
MIT