Skip to main content

Vendor-neutral AI coding workflow orchestration with unattended execution, recovery, and verification.

Project description

Ralph Workflow (Python)

Write the spec. Wake up to working software.

Ralph Workflow is a Python 3.12+ CLI for spec-driven, unattended AI coding runs. You describe the task in PROMPT.md, point Ralph Workflow at the agent CLIs you already use, and let it run. When the workflow finishes, you come back to code changes, logs, artifacts, and review output you can inspect in your normal git workflow.

Ralph Workflow supports mixed-agent runs across planning, analysis, development, review, and commit phases. You might plan with Claude, route analysis through an OpenCode-backed GPT model, hand development to Codex or another OpenCode provider, and keep review on a different agent chain — all inside the same repo-native workflow.

The deeper transport and configuration details live in the reference docs; this README stays focused on how to get a real unattended workflow running quickly.

This package is a good fit when you want more than a demo. Ralph Workflow is designed for the kind of bounded engineering work that should leave you with a working feature, a verified refactor, a serious production-bound draft, or a reviewable implementation foundation.

What you get

  • Spec-driven unattended runs for real engineering work such as refactors, test generation, documentation sweeps, and migrations
  • Repo-native workflow files instead of hidden product state
  • Agent-reviewed output instead of a long interactive transcript
  • Flexible agent routing across Claude Code, Codex CLI, OpenCode, and your own configured agents
  • Phase-by-phase model selection so planning, analysis, development, review, and commit can each use the best-fit agent chain
  • A practical default workflow you can use before inventing anything custom

Install

PyPI

pip install ralph-workflow
ralph --help

pipx

python -m pip install pipx
python -m pipx ensurepath
pipx install ralph-workflow
ralph --help

From source

git clone https://codeberg.org/RalphWorkflow/Ralph-Workflow.git
cd Ralph-Workflow/ralph-workflow
pip install -e .
ralph --version

Requires Python 3.12+.

Before your first run

  1. Install the agent CLIs you want Ralph Workflow to call.
  2. Authenticate those CLIs normally.
  3. Pick one small, concrete task for the first run.

Ralph Workflow does not manage provider authentication or store your agent credentials. You authenticate the agent CLIs yourself first, and Ralph Workflow then invokes those tools directly and supervises the workflow, even when different phases are routed through different agent families.

Quick start

cd /path/to/your/project
ralph --init
ralph --diagnose
$EDITOR PROMPT.md
ralph

What happens in that flow:

  • ralph --init creates the local .agent/ support files.
  • ralph --diagnose checks whether your configured agents and MCP setup are reachable.
  • PROMPT.md becomes the task spec for the run.
  • ralph directly invokes your configured agent CLIs and starts the unattended workflow.

After ralph --init, review the generated .agent/ support files. If this repository needs a project-local main-config override, run ralph --init-local-config to create .agent/ralph-workflow.toml, then point the workflow at the agent CLIs you already use for planning, development, and review.

What to expect from a run

Ralph Workflow is meant to get you to a strong implementation starting point while you are away, not to replace engineering judgment.

A good run should leave you with:

  • code that compiles, tests, or clearly shows where work remains
  • review artifacts and logs that explain what happened
  • a result that is worth continuing from, not discarding and restarting

That may be a finished small task, or it may be a substantial first pass toward production on a larger one.

Good first tasks

Start with work that is easy to verify:

  • add tests to an existing module
  • fix known lint failures
  • refactor one narrow subsystem
  • update documentation backed by existing code

Depth presets

ralph -Q     # quick: small fixes, single iteration
ralph        # standard: most features and tasks
ralph -T     # thorough: complex refactors, ten iterations

When Ralph Workflow fits

  • Multi-step tasks that outgrow one prompt
  • Work you want to review after the fact instead of steering live
  • Teams that want AI execution to stay in the repo
  • Runs where you want to mix stronger and cheaper models by phase

When it does not fit

  • One-shot interactive prompts
  • Pair-programming sessions with constant human steering
  • Tiny tasks where setup overhead is not worth it
  • Workflows that need unpredictable mid-run human input

Where the name comes from

Ralph Workflow builds on the original Ralph idea: repeat a strong prompt until the model can make real progress. That loop was simple and powerful. In practice, Ralph Workflow is the Ralph loop on steroids: planning before implementation, verification after development, agent fallbacks, agent-agnostic execution, and customizable pipelines so unattended runs keep moving and teams can review the results with confidence.

Development and verification

If you are changing Ralph Workflow itself, start with CONTRIBUTING.md and run the canonical verification command before you finish:

make verify

Documentation

Use the website and docs for the deeper material this README intentionally leaves out:

License

AGPL-3.0-or-later.

The framework is copyleft. The code Ralph Workflow generates belongs to you — no license encumbrance on outputs. Use it commercially. Use it privately. Use it however you want.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

ralph_workflow-0.8.6.tar.gz (587.8 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

ralph_workflow-0.8.6-py3-none-any.whl (764.3 kB view details)

Uploaded Python 3

File details

Details for the file ralph_workflow-0.8.6.tar.gz.

File metadata

  • Download URL: ralph_workflow-0.8.6.tar.gz
  • Upload date:
  • Size: 587.8 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.14.4

File hashes

Hashes for ralph_workflow-0.8.6.tar.gz
Algorithm Hash digest
SHA256 cd7c5bf60b0229488900a5a51d66ba95489e0c775b5f3da21196f7e2ebcbbbe3
MD5 18f619382a7154f5a3fb4985c461b118
BLAKE2b-256 bc3cc9819be1517889aa751e044e7c3868072a7d70a0370dc7feb54907106fda

See more details on using hashes here.

File details

Details for the file ralph_workflow-0.8.6-py3-none-any.whl.

File metadata

  • Download URL: ralph_workflow-0.8.6-py3-none-any.whl
  • Upload date:
  • Size: 764.3 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.14.4

File hashes

Hashes for ralph_workflow-0.8.6-py3-none-any.whl
Algorithm Hash digest
SHA256 bd54add30c8936e46bba67898d0d06c4dda47764095d8f249786f9fad03e02d2
MD5 ac996fb6a8d42a36065b16f713758330
BLAKE2b-256 9d9f14ac417ba0a5fee7d1989f7fc823791d6835816a985fd0b87d0cabdf0607

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page