PRD-driven loop
Generate a PRD and task list from raw requirements so the loop has a durable source of truth instead of a single prompt.
_____ _ _____ _ _
| __ \ /\ | | | __ \| | | |
| |__) | / \ | | | |__) | |__| |
| _ / / /\ \ | | | ___/| __ |
| | \ \ / ____ \| |____| | | | | |
|_| \_\/_/ \_\______|_| |_| |_|
A long-running AI agent loop that can code for days.
Ralph iterates through a task list, runs your favorite agentic CLI in Docker Sandboxes, and keeps working until the job is done.

// live-ish terminal playback
// start here
// features
Ralph is a hackable, long-running loop. Point it at a task list, walk away, and come back to a stack of commits.
Generate a PRD and task list from raw requirements so the loop has a durable source of truth instead of a single prompt.
Per-task specs with detailed steps. Scales to hundreds of tasks without losing context between iterations.
Deterministic ralph-<agent>-<dir>-<hash> sandboxes. Isolated, reusable, and stopped cleanly on exit.
Claude, Codex, Cursor, Copilot, Gemini, opencode out of the box. Pass agent flags through the same script.
Step detection, stream preview, screenshot capture, full history logs, and per-iteration timing while it runs.
Edit .agent/STEERING.md while the loop is running. Ralph reads it each iteration and prioritizes critical work.

A sandbox is not a black box. Here is how to find the running microVM, shell into it with sbx exec, reproduce the failure by hand, and read the network log.

A sandboxed agent should start with no outbound network and earn each domain it reaches. Here is how to allowlist exactly what a task needs with sbx policy, so package installs work and exfiltration does not.

Bypass-permissions mode hands an agent full shell access with no prompts. That is reckless on your host and a non-event inside a Docker Sandbox. Here is how to run YOLO mode when the blast radius is contained.