| Crates.io | ralph-workflow |
| lib.rs | ralph-workflow |
| version | 0.5.4 |
| created_at | 2026-01-14 04:03:50.795281+00 |
| updated_at | 2026-01-21 18:35:08.387906+00 |
| description | PROMPT-driven multi-agent orchestrator for git repos |
| homepage | https://codeberg.org/mistlight/RalphWithReviewer |
| repository | https://codeberg.org/mistlight/RalphWithReviewer |
| max_upload_size | |
| id | 2042124 |
| size | 3,730,201 |
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.
Ralph excels at:
Not ideal for:
Ralph runs a multi-phase workflow:
Developer Phase: AI agent implements your spec through multiple iterations
PLAN.md from your PROMPT.mdReview Phase: AI reviewer checks quality and fixes issues
ISSUES.md with problems foundFinal 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.
Ralph makes deterministic decisions whenever possible, only calling on AI when needed:
--resumegit clone https://codeberg.org/mistlight/RalphWithReviewer.git
cd RalphWithReviewer
cargo install --path .
make install # (if you want to install this system wide)
Alternatively you can use cargo crate
cargo install ralph-workflow
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 |
# Create config file (smart init detects what you need)
ralph --init
# Navigate to your git repo
cd /path/to/your/project
# Create PROMPT.md from a Work Guide
ralph --init feature-spec
# Edit PROMPT.md with detailed requirements
# Run Ralph and walk away
ralph "feat: your commit message"
Work Guides are templates for describing your tasks to the AI. Use them with --init:
# See all available Work Guides
ralph --list-work-guides
# Create PROMPT.md from a Work Guide
ralph --init bug-fix # Bug fix with investigation guidance
ralph --init feature-spec # Comprehensive product specification
ralph --init refactor # Code refactoring
ralph --init quick # Quick/small changes
ralph --init test # Test writing
# Overwrite existing PROMPT.md
ralph --init bug-fix --force-overwrite
Note: Work Guides (for PROMPT.md) are different from Agent Prompts (backend AI behavior). Run ralph --extended-help for details.
Your PROMPT.md should be detailed. Example:
# Task: Refactor Auth Module
## Description
Refactor the authentication module to use OAuth2 instead of basic auth.
## Requirements
1. Use passport-oauth2 library
2. Support GitHub and Google providers
3. Maintain backward compatibility with API keys
4. Add comprehensive tests
## Files to Update
- src/auth/mod.rs
- src/auth/oauth.rs (new)
- tests/auth_test.rs
## Constraints
- No breaking changes to public API
- All existing tests must pass
ralph -Q "fix: small bug" # Quick: 1 dev + 1 review
ralph -U "feat: minor change" # Rapid: 2 dev + 1 review
ralph -S "feat: add feature" # Standard: 5 dev + 2 reviews (default)
ralph -T "refactor: optimize" # Thorough: 10 dev + 5 reviews
ralph -L "feat: complex feature" # Long: 15 dev + 10 reviews
ralph -D 3 -R 2 "feat: implement feature" # 3 dev iterations, 2 review cycles
ralph -D 10 -R 0 "feat: no review" # Skip review phase entirely
ralph -a claude -r codex "feat: change" # Claude for dev, Codex for review
ralph -a opencode "feat: change" # Use OpenCode for development
ralph -q "fix: typo" # Quiet mode
ralph -f "feat: complex change" # Full output (no truncation)
ralph -d # Diagnose: show system info
ralph --resume # Resume from last checkpoint
ralph --dry-run # Validate setup without running
Ralph uses ~/.config/ralph-workflow.toml:
ralph --init # Smart init: creates config or PROMPT.md as needed
ralph --init bug-fix # Create PROMPT.md from a specific Work Guide
ralph --list-work-guides # Show all available Work Guides
ralph --extended-help # Show comprehensive help
Configure agent chains and defaults:
[general]
developer_iters = 5
reviewer_reviews = 2
[agent_chain]
developer = ["claude", "codex", "opencode"]
reviewer = ["codex", "claude"]
max_retries = 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).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
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.
Contributions welcome!
cargo testcargo clippy && cargo fmt --checkAGPL-3.0. See LICENSE.