Mischa Sigtermans

Projects

Claude Ralph

v1.1.0

Describe a feature, walk away, come back to commits.

/plugin marketplace add mischasigtermans/by-mischa
/plugin install ralph@by-mischa
~/.claude/plugins/cache/by-mischa/ralph/*/scripts/install.sh

The first version of this setup was three files and a bash loop. I let it build nine user stories for a new project while I worked on something else, and it came back with tests passing and commits clean. That post is still the honest description of why the idea works.

This plugin is what that grew into. The name comes from Geoffrey Huntley's Ralph concept, named after Ralph Wiggum, and the shape is deliberately dumb: run the same prompt over and over and let the state files do the remembering.

Two things changed my mind about how a loop should be briefed. A ticket list gets you the nearest literal reading of each ticket, and an agent that only builds never notices that the plan was wrong. So Ralph takes prose, and splits the work in two: a builder every iteration, and a planner every Nth iteration that re-reads the brief, the progress and the learnings, and adjusts.

Everything the loop knows sits in files next to your code. progress.txt is what happened, learnings.txt is what it worked out along the way, and both are readable by you at 7am with coffee, which is the only interface that matters when you left a machine running overnight.

Requires Claude Code, bash and jq. Run /ralph in a project and it will interview you, write the brief and the story list, and set the planner cadence. Then you run ralph from a terminal and walk away.

What it does

  • A brief, not a ticket list

    You write prose about what you are building and why. That brief is loaded as plan-time context on every iteration, so the loop keeps building the thing you described instead of the nearest literal reading of a ticket.

  • Two agents, two jobs

    A builder runs every iteration on Sonnet. A planner runs every Nth iteration on Opus, re-reads the brief and the state, and decides what should happen next.

  • State in files you can read

    `state.json`, `progress.txt` and `learnings.txt`. No log scraping, no guessing what the loop thinks it is doing. Open the files.

  • Watchable and stoppable

    `ralph status`, `ralph tail`, `ralph stop` and `ralph update`. With `--watch` the loop polls its story list instead of exiting, so adding work wakes it up again.

  • Not only Claude

    Executors are selectable per role, so the builder and the planner do not have to be the same model or even the same vendor.

Install Claude Ralph.

Hi, I'm Mischa. I've been shipping products and building ventures for over a decade. First exit at 25, second at 30. Now Partner & CPO at Ryde Ventures, an AI venture studio in Amsterdam. Currently shipping Stagent, TAP and Steddle. I write about what I learn along the way. More about me.

You might also enjoy: Taylor Otwell is immortal and costs $200/month.

Projects