Ralph Loop Mechanics
How It Works
-
Start: User runs /majestic-ralph:start "<prompt>" --max-iterations N --completion-promise "WORD"
-
Loop: Stop hook intercepts session exit, re-feeds same prompt
-
Exit: Output <promise>WORD</promise> to signal genuine completion
State File
Location: .claude/ralph-loop.local.yml
iteration: 1 max_iterations: 50 completion_promise: DONE started_at: 2024-01-15T10:30:00Z prompt: | Your prompt here. Can be multiline.
Completion Signal
Output exactly: <promise>YOUR_PHRASE</promise>
-
Only output when genuinely complete
-
Lying restarts the loop
-
Max iterations is a hard stop
Safety Rules
Rule Reason
Idempotent operations Migrations with IF NOT EXISTS , etc.
Non-interactive commands No -i flags, no prompts
Clear exit criteria Vague goals loop forever
Monitoring
Check iteration
grep '^iteration:' .claude/ralph-loop.local.yml
Cancel loop
/majestic-ralph:cancel