| name | ralph-loop |
| description | Self-referential development loop that runs until task completion. Includes Ralph Loop (basic), ULW Loop (with Oracle verification), and cancel-ralph functionality. |
Ralph Loop
A self-referential development loop that runs until task completion.
Variants
Ralph Loop (Basic)
- Work on the task continuously
- When the task is FULLY complete, output:
<promise>DONE</promise>
- If you don't output the promise, continue working
- Maximum iterations: 100 (configurable)
ULW Loop (Ultrawork)
- Work on the task continuously
- When the work is complete, output:
<promise>DONE</promise>
- That does NOT finish the loop yet - Oracle verification is required
- The loop only ends after Oracle verifies the result
- There is no iteration limit
Rules
- Focus on completing the task fully, not partially
- Don't output the completion promise until the task is truly done
- Each iteration should make meaningful progress toward the goal
- If stuck, try different approaches
- Use todos to track your progress
Exit Conditions
Ralph Loop
- Completion: Output your completion promise tag when fully complete
- Max Iterations: Loop stops automatically at limit
- Cancel: User says "cancel ralph" or "stop"
ULW Loop
- Verified Completion: Oracle verifies the result
- Cancel: User says "cancel ralph" or "stop"
Usage
ralph-loop "task description" [--completion-promise=TEXT] [--max-iterations=N]
ulw-loop "task description" [--completion-promise=TEXT]
Default completion promise is "DONE" and default max iterations is 100.
Cancel
To cancel an active loop:
- Stop the loop from continuing
- Clear the loop state
- Allow the session to end normally
Check if a loop is active and cancel it. Inform the user of the result.
Your Task
Parse the arguments and begin working. Work continuously until the task is fully complete, then output the completion promise.