Ralph Workflow
Ralph Workflow is an unattended AI agent orchestrator for long-running development tasks. Write a detailed specification in PROMPT.md, start Ralph, and walk away. It coordinates AI agents through multiple development iterations and review cycles, producing commits automatically.
Ralph works best when you think like a Product Manager: scope out every detail of the feature you need. The more detail in your specification, the better Ralph performs. It is designed to run for hours without babysitting.
Inspired by Geoffrey Huntley's Ralph Workflow concept.
When to Use Ralph
Ralph excels at:
- Long-running feature implementations with detailed specifications
- Systematic refactoring workflows requiring multiple iterations
- Test suite generation with comprehensive review
- Documentation writing with multiple review passes
- Any task where you can write a detailed spec and let it run unattended
Not ideal for:
- Vague or undefined requirements (Ralph needs detailed specs)
- Simple one-off commands (use Claude Code directly)
- Real-time interactive debugging
- Tasks requiring human judgment at each step
How It Works
Ralph runs a multi-phase workflow:
-
Developer Phase: AI agent implements your spec through multiple iterations
- Creates
PLAN.mdfrom yourPROMPT.md - Executes the plan and makes code changes
- Auto-commits after each iteration
- Cleans up and repeats for configured iterations
- Creates
-
Review Phase: AI reviewer checks quality and fixes issues
- Reviews code and creates
ISSUES.mdwith problems found - Developer agent fixes the issues
- Repeats until no issues or max cycles reached
- Reviews code and creates
-
Final Commit: Generates a meaningful commit message via AI
All orchestration files (PLAN.md, ISSUES.md) are controlled by Ralph, not the AI agents. This ensures deterministic, reliable operation.
Design Philosophy
Ralph makes deterministic decisions whenever possible, only calling on AI when needed:
- Conflict Resolution: Prompts AI specifically about conflicts, then resolves automatically
- File I/O: The orchestrator controls all file writes, not the agents
- Git Operations: Ralph handles rebasing, committing, and status checks deterministically
- Checkpoint/Resume: Saves state after each phase; interrupted runs can resume with
--resume
Quick Start
1. Install
Alternatively you can use cargo crate
2. Install AI Agents
Install at least one AI agent:
| Agent | Install | Recommended Role |
|---|---|---|
| Claude Code | npm install -g @anthropic/claude-code |
Developer |
| Codex | npm install -g @openai/codex |
Reviewer |
| OpenCode | See opencode.ai | Either |
3. Run Ralph
# Create config file (smart init detects what you need)
# Navigate to your git repo
# Create PROMPT.md from a Work Guide
# Edit PROMPT.md with detailed requirements
# Run Ralph and walk away
Work Guides
Work Guides are templates for describing your tasks to the AI. Use them with --init:
# See all available Work Guides
# Create PROMPT.md from a Work Guide
# Overwrite existing PROMPT.md
Note: Work Guides (for PROMPT.md) are different from Agent Prompts (backend AI behavior). Run ralph --extended-help for details.
Writing Effective Specifications
Your PROMPT.md should be detailed. Example:
Refactor the authentication module to use OAuth2 instead of basic auth.
1. 2.3.4.
- --
- -
Common Commands
Preset Modes (control thoroughness)
Custom Iterations
Choose Agents
Verbosity Control
Recovery
Configuration
Ralph uses ~/.config/ralph-workflow.toml:
Configure agent chains and defaults:
[]
= 5
= 2
[]
= ["claude", "codex", "opencode"]
= ["codex", "claude"]
= 3
Environment variables override config:
RALPH_DEVELOPER_AGENT- Developer agentRALPH_REVIEWER_AGENT- Reviewer agentRALPH_DEVELOPER_ITERS- Developer iterationsRALPH_REVIEWER_REVIEWS- Review cyclesRALPH_VERBOSITY- Output detail (0-4)
Files Created by Ralph
.agent/
├── PLAN.md # Current iteration plan (orchestrator-written)
├── ISSUES.md # Review findings (orchestrator-written)
├── STATUS.md # Current status
├── commit-message.txt # Generated commit message
├── checkpoint.json # For --resume
├── start_commit # Baseline for diffs
└── logs/ # Detailed per-phase logs
Documentation
- Quick Reference - Cheat sheet for commands and flags
- Agent Compatibility - Supported AI agents
- Git Workflow - How Ralph handles commits and diffs
- Work Guide Reference - PROMPT.md Work Guides (templates for your tasks)
FAQ
Can I use Ralph at work?
Yes. Ralph is a local CLI tool. The AGPL license covers only the Ralph source code, not anything you create with it.
Does AGPL apply to my generated code?
No. The AGPL covers only Ralph itself, not your code or Ralph's output.
What if Ralph gets interrupted?
Use ralph --resume to continue from the last checkpoint.
Contributing
Contributions welcome!
- Fork the repository
- Create a feature branch
- Run tests:
cargo test - Run lints:
cargo clippy && cargo fmt --check - Submit a pull request
License
AGPL-3.0. See LICENSE.