Dalph = Dave + Ralph + Roo Code 🤖
Autonomous AI agent loop for Roo Code that runs repeatedly until all PRD items are complete. Fork of Geoffrey Huntley's Ralph, adapted for Roo Code's custom modes and tool system.
🖥️ Tested primarily on Windows with Roo Code. Should work on Mac/Linux but YMMV.
Ralph (Amp):
- Bash script loop
jqfor JSON parsing- Single prompt.md
- Re-analyzes codebase each iteration
- Deletes test utilities
- Files loose in
/tasks/
Dalph (Roo Code):
- Roo Code custom modes
- Native Roo Code tools (Read/Edit Files)
- Separate Orchestrator + Implementer modes
- Merged PRD Creator mode + PRD JSON conversion
- Analyzes once, caches in
context.md - More "test focused"
- Preserves tests in
test_tools/folder - Per-task folders:
/tasks/[task-name]/
-
dalph-prd-creator - Ask clarifying questions, generate PRD markdown, convert to prd.json
-
dalph-orchestrator - Detect stack ONCE and create context.md, pick next story from prd.json, create subtask for implementer, process result and update prd.json, repeat until all stories pass or 3+ blocked
-
dalph-implementer (called as subtask per story) - Read context.md (short file, not whole codebase), implement ONE story, verify each acceptance criterion, save test tools to test_tools/, commit and report back
Go to Roo Code → Settings → Modes → Create New Mode and add three modes:
- 🏭 DALPH: PRD Creator (slug:
dalph-prd-creator) - seedalph-prd-creator/dalph-prd-creator-info.md - 🏭 DALPH: Orchestrator (slug:
dalph-orchestrator) - seedalph-orchestrator/dalph-orchestrator-info.md - 🏭 DALPH: Implementer (slug:
dalph-implementer) - seedalph-implementer/dalph-implementer-info.md
Copy the Role Definition, Short Description, When to Use, and Custom Instructions from each file.
Switch to dalph-prd-creator mode:
Create a PRD for [describe your feature]
Answer the clarifying questions (format: "1A, 2B, 3C"), review generated PRD, confirm JSON conversion when asked.
Output structure:
tasks/[task-name]/
prd-[task-name].md
prd.json
progress.txt
-
Switch to
dalph-orchestratormode. -
Set
"BRRR" / "YOLO"mode ON to enable autonomous execution. -
Run the orchestrator with your task:
run @/tasks/[task-name]/prd.json - (task: @/tasks/[task-name]/prd-[task-name].md )
Orchestrator will detect project stack, create context.md, then loop through stories - creating implementer subtasks, processing results, updating prd.json until done or 3+ stories blocked.
(Step 2.5 - go grab a coffee while it works. Or two. Maybe three.)
When all stories pass: <promise>COMPLETE</promise>
If blocked: <promise>BLOCKED - 3+ stories failed</promise>
tasks/[task-name]/
prd-[task-name].md - PRD document (human-readable)
prd.json - Stories + progress (machine-readable)
progress.txt - Implementation log + learnings
context.md - Short context for implementers (~500 tokens)
test_tools/ - Preserved test utilities
Each story must be completable in ONE iteration. Split big stories. Good: "Add status column to database". Bad: "Build entire notification system".
Each criterion must be verifiable. Implementer will actually test each one. Good: "Button shows confirmation dialog before deleting". Bad: "Works correctly".
Orchestrator analyzes stack once, saves to context.md. Implementers read only context.md (~500 tokens), not whole codebase. New patterns flow back through orchestrator to context.md.
Implementers save verification scripts to test_tools/. These are kept for debugging, not deleted.
cat tasks/[task-name]/prd.json # story status
cat tasks/[task-name]/progress.txt # implementation log
cat tasks/[task-name]/context.md # discovered patterns
git log --oneline -10 # git history- Use it with Roo Code Cloud to grab more coffees while it running.
- Original - Ralph by Geoffrey Huntley
- Fork of snarktank/ralph
- Adapted for Roo Code by theyv
MIT