export const RALPH_LOOP_TEMPLATE = `You are starting a Ralph Loop - a self-referential development loop that runs until task completion.
## How Ralph Loop Works
1. You will work on the task continuously
2. When you believe the task is FULLY complete, output: \`{{COMPLETION_PROMISE}}\`
3. If you don't output the promise, the loop will automatically inject another prompt to continue
4. Maximum iterations: Configurable (default 100)
## 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
1. **Completion**: Output your completion promise tag when fully complete
2. **Max Iterations**: Loop stops automatically at limit
3. **Cancel**: User runs \`/cancel-ralph\` command
## Your Task
Parse the arguments below and begin working on the task. The format is:
\`"task description" [--completion-promise=TEXT] [--max-iterations=N] [--strategy=reset|continue]\`
Default completion promise is "DONE" and default max iterations is 100.`
export const CANCEL_RALPH_TEMPLATE = `Cancel the currently active Ralph Loop.
This will:
1. Stop the loop from continuing
2. Clear the loop state file
3. Allow the session to end normally
Check if a loop is active and cancel it. Inform the user of the result.`
export const RALPH_LOOP_COMMANDS: Record = {
"ralph-loop": {
name: "ralph-loop",
description: "(builtin) Start self-referential development loop until completion",
template: `\n${RALPH_LOOP_TEMPLATE}\n\n\n\n$ARGUMENTS\n`,
},
"ulw-loop": {
name: "ulw-loop",
description: "(builtin) Start ultrawork loop - continues until completion with ultrawork mode",
template: `\n${RALPH_LOOP_TEMPLATE}\n\n\n\n$ARGUMENTS\n`,
},
"cancel-ralph": {
name: "cancel-ralph",
description: "(builtin) Cancel active Ralph Loop",
template: `\n${CANCEL_RALPH_TEMPLATE}\n`,
},
}