@rahulmutt/pi-ralph
v0.4.0
Published
Pi extension that adds the /ralph command — a Ralph Wiggum loop that runs a prompt file over multiple fresh sessions
Maintainers
Readme
@rahulmutt/pi-ralph
A pi extension that adds the /ralph command — a Ralph Wiggum loop that runs a prompt file repeatedly across fresh sessions.
Install
pi install npm:@rahulmutt/pi-ralphOr try it without installing:
pi -e npm:@rahulmutt/pi-ralphUsage
/ralph <prompt-file>
/ralph [iterations] <prompt-file>
/ralph stopExamples
/ralph prompts/implement.md
/ralph 5 prompts/implement.md
/ralph 2 "prompts/my prompt.md"
/ralph stopBehavior
- iterations is optional and defaults to
3(max1000) /ralph stoprequests a graceful stop: the current iteration is allowed to finish, and the loop exits before starting the next iteration- Each iteration starts in a fresh session branched from the original, so context is cleared before the prompt runs
- Progress is persisted under
.ralph/:.ralph/RALPH.mdis the always-current summary.ralph/<YYYY>/<MM>/<DD>/RALPH-<HH>-<MM>-<SS>-<mmm>.mdstores the full per-invocation progression, appending the last message from each iteration into the same file.ralph/<YYYY>/<MM>/<DD>/RALPH-<HH>-<MM>-<SS>-<mmm>-iter-<NNN>.jsonlstores the transcript for each individual iteration, with all JSONL files from one/ralphrun sharing the same invocation prefix
- Prompt files may live under the project directory,
~/.pi, or~/.local - Paths with spaces can be quoted
How it works
The Ralph Wiggum loop:
- Waits for the agent to become idle
- Captures the current session as the parent
- For each iteration:
- Creates a new session (branched from the parent)
- Sends the prompt file contents as a user message
- Waits for the agent to finish
- Appends the iteration's last assistant message into the current invocation's
RALPH-*.md - Writes that iteration's transcript to its own
RALPH-*-iter-<NNN>.jsonl
This is useful for running the same prompt (e.g., an implementation plan) repeatedly, where each iteration picks up the next uncompleted task from a plan file.
License
MIT
