A terminal UI for managing Ralph Loop iterations - an AI-powered development workflow that iterates through user stories until completion.
- Two-panel layout - Stories list on the left, live output on the right
- Real-time progress tracking - Progress bar, ETA, and per-story timing
- File watching - Automatically reloads when
prd.jsonchanges - Interactive controls - Vim-style navigation, search, panel switching
- Process management - Start/stop iterations, view live output
- Go 1.22+
opencodeCLI in your PATH- A project with
scripts/ralph/containing:prd.json- Product Requirements Document with user storiesprompt.md- AI agent prompt
git clone https://github.com/thenomadcode/ralphy.git
cd ralphy
./install.shgit clone https://github.com/thenomadcode/ralphy.git
cd ralphy
go build -o ralphy .
sudo cp ralphy /usr/local/bin/Download from Releases and add to your PATH.
# Run from any project with scripts/ralph/ folder
cd ~/my-project
ralphy
# Custom ralph directory
ralphy --ralph-dir ./custom/path
# Explicit file paths
ralphy --prd ./prd.json --prompt ./prompt.md| Key | Action |
|---|---|
r |
Start/restart iteration |
Tab |
Switch between panels |
↑/k |
Scroll up |
↓/j |
Scroll down |
g |
Jump to top |
G |
Jump to bottom |
/ |
Search stories |
? |
Toggle help |
q |
Quit |
Your prd.json should follow this structure:
{
"project": "My Project",
"branchName": "feature/awesome",
"description": "Project description",
"userStories": [
{
"id": "S1",
"title": "Story title",
"description": "What needs to be done",
"priority": 1,
"passes": false,
"notes": "",
"acceptanceCriteria": ["Criterion 1", "Criterion 2"]
}
]
}- Ralphy reads your
prd.jsonto get the list of user stories - When you press
r, it runsopencode run <prompt.md content> - The AI works through stories, updating
prd.jsonas they pass - Ralphy detects file changes and updates the UI in real-time
- Iterations continue until all stories pass or max iterations reached
MIT License - see LICENSE for details.