An opinionated orchestrator for Ralph Wiggum loops
Project description
oh-my-ralph: Ralph Wiggum Loop Orchestrator
⠀⠀⠀⠀⠀⠀⣀⣤⣶⡶⢛⠟⡿⠻⢻⢿⢶⢦⣄⡀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀ ⠀⠀⠀⢀⣠⡾⡫⢊⠌⡐⢡⠊⢰⠁⡎⠘⡄⢢⠙⡛⡷⢤⡀⠀⠀⠀⠀⠀⠀⠀ ⠀⠀⢠⢪⢋⡞⢠⠃⡜⠀⠎⠀⠉⠀⠃⠀⠃⠀⠃⠙⠘⠊⢻⠦⠀⠀⠀⠀⠀⠀ ⠀⠀⢇⡇⡜⠀⠜⠀⠁⠀⢀⠔⠉⠉⠑⠄⠀⠀⡰⠊⠉⠑⡄⡇⠀⠀⠀⠀⠀⠀ ⠀⠀⡸⠧⠄⠀⠀⠀⠀⠀⠘⡀⠾⠀⠀⣸⠀⠀⢧⠀⠛⠀⠌⡇⠀⠀⠀⠀⠀⠀ ⠀⠘⡇⠀⠀⠀⠀⠀⠀⠀⠀⠙⠒⠒⠚⠁⠈⠉⠲⡍⠒⠈⠀⡇⠀⠀⠀⠀⠀⠀ ⠀⠀⠈⠲⣆⠀⠀⠀⠀⠀⠀⠀⠀⣠⠖⠉⡹⠤⠶⠁⠀⠀⠀⠈⢦⠀⠀⠀⠀⠀ ⠀⠀⠀⠀⠈⣦⡀⠀⠀⠀⠀⠧⣴⠁⠀⠘⠓⢲⣄⣀⣀⣀⡤⠔⠃⠀⠀⠀⠀⠀ ⠀⠀⠀⠀⣜⠀⠈⠓⠦⢄⣀⣀⣸⠀⠀⠀⠀⠁⢈⢇⣼⡁⠀⠀⠀⠀⠀⠀⠀⠀ ⠀⠀⢠⠒⠛⠲⣄⠀⠀⠀⣠⠏⠀⠉⠲⣤⠀⢸⠋⢻⣤⡛⣄⠀⠀⠀⠀⠀⠀⠀ ⠀⠀⢡⠀⠀⠀⠀⠉⢲⠾⠁⠀⠀⠀⠀⠈⢳⡾⣤⠟⠁⠹⣿⢆⠀⠀⠀⠀⠀⠀ ⠀⢀⠼⣆⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⣼⠃⠀⠀⠀⠀⠀⠈⣧⠀⠀⠀⠀⠀ ⠀⡏⠀⠘⢦⡀⠀⠀⠀⠀⠀⠀⠀⠀⣠⠞⠁⠀⠀⠀⠀⠀⠀⠀⢸⣧⠀⠀⠀⠀ ⢰⣄⠀⠀⠀⠉⠳⠦⣤⣤⡤⠴⠖⠋⠁⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢯⣆⠀⠀⠀ ⢸⣉⠉⠓⠲⢦⣤⣄⣀⣀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢀⣀⣀⣀⣠⣼⢹⡄⠀⠀ ⠘⡍⠙⠒⠶⢤⣄⣈⣉⡉⠉⠙⠛⠛⠛⠛⠛⠛⢻⠉⠉⠉⢙⣏⣁⣸⠇⡇⠀⠀ ⠀⢣⠀⠀⠀⠀⠀⠀⠉⠉⠉⠙⠛⠛⠛⠛⠛⠛⠛⠒⠒⠒⠋⠉⠀⠸⠚⢇⠀⠀ ⠀⠀⢧⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢠⠇⢤⣨⠇⠀ ⠀⠀⠀⢧⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⣤⢻⡀⣸⠀⠀⠀ ⠀⠀⠀⢸⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢹⠛⠉⠁⠀⠀⠀ ⠀⠀⠀⢸⠀⠀⠀⠀⠀⠀⠀⠀⢠⢄⣀⣤⠤⠴⠒⠀⠀⠀⠀⢸⠀⠀⠀⠀⠀⠀ ⠀⠀⠀⢸⠀⠀⠀⠀⠀⠀⠀⠀⡇⠀⠀⢸⠀⠀⠀⠀⠀⠀⠀⠘⡆⠀⠀⠀⠀⠀ ⠀⠀⠀⡎⠀⠀⠀⠀⠀⠀⠀⠀⢷⠀⠀⢸⠀⠀⠀⠀⠀⠀⠀⠀⡇⠀⠀⠀⠀⠀ ⠀⠀⢀⡷⢤⣤⣀⣀⣀⣀⣠⠤⠾⣤⣀⡘⠛⠶⠶⠶⠶⠖⠒⠋⠙⠓⠲⢤⣀⠀ ⠀⠀⠘⠧⣀⡀⠈⠉⠉⠁⠀⠀⠀⠀⠈⠙⠳⣤⣄⣀⣀⣀⠀⠀⠀⠀⠀⢀⣈⡇ ⠀⠀⠀⠀⠀⠉⠛⠲⠤⠤⢤⣤⣄⣀⣀⣀⣀⡸⠇⠀⠀⠀⠉⠉⠉⠉⠉⠉⠁⠀ Credit: https://emojicombos.com/ralph-wiggum-ascii-art
Ralph Wiggum Orchestrator
This is a simple orchestrator for Ralph Wiggum loop invented by Geoffrey Huntley.
Supports
- Claude Code
- Github Copilot
- Opencode
- Amp
- Any other tool that you can call from CLI (Experimental)
Requirements
Python 3.10+
How to run?
- Install the package
pip install oh-my-ralph - Place a
requirements.mdfile with your detailed requirements in your working directory (where you want the software to be built) - Choose an AI agent and run the Ralph Loop with the appropriate command below.
Using with Claude Code
Claude Code offers Anthropic's Claude models with advanced coding capabilities.
Prerequisites:
- Install Claude Code: Follow instructions at https://code.claude.com
oh-my-ralph --agent "claude -p" --model sonnet --working-dir /path/to/dir/with/requirements
Note: The --dangerously-skip-permissions flag is automatically added to enable all permissions for seamless operation.
Using with AMP (Sourcegraph)
AMP provides powerful AI assistance with multi-model support and advanced coding capabilities.
Prerequisites:
- Install AMP:
npm install -g @sourcegraph/amp@latestor usenpx --yes @sourcegraph/amp
oh-my-ralph --agent "npx --yes @sourcegraph/amp" --model smart --working-dir /path/to/dir/with/requirements
Note: The --dangerously-allow-all flag is automatically added to enable all permissions for seamless operation.
Features:
- Multi-model support (Claude Opus 4.6, GPT-5.2, fast models)
- Advanced coding capabilities with subagents and oracle mode
- Seamless integration with development workflows
- Automatic permission handling with
--dangerously-allow-allflag for uninterrupted operation
Using with OpenCode
OpenCode is the default agent and provides a web interface for monitoring progress.
oh-my-ralph --agent "opencode run" --model opencode/glm-4.7-free --start-opencode-web-at-port 8089 --working-dir /path/to/dir/with/requirements
Features:
- Web dashboard at
http://localhost:8089 - Supports various OpenCode models
- Real-time progress monitoring
- Automated permission handling for seamless operation
Using with GitHub Copilot CLI
GitHub Copilot CLI provides powerful AI assistance with access to GitHub's Copilot models.
Prerequisites:
- Install GitHub Copilot CLI: https://docs.github.com/en/copilot/github-copilot-in-the-cli/quickstart
oh-my-ralph --agent "copilot -p" --model gpt-4 --working-dir /path/to/dir/with/requirements
Note: The --yolo flag is automatically added to enable all permissions for seamless operation.
Features:
- Access to GPT-4 and other Copilot models
- Non-interactive execution per iteration
- Seamless integration with GitHub ecosystem
- Automatic permission skipping with
--yoloflag for uninterrupted automation - Runs your specified
agentcommand in a loop. - The loop exits when any of the following occur:
- The command prints
<PROMPT>DONE</PROMPT>. - The maximum number of iterations is reached, configurable via
--max-iterations. - Error occurs for 5 consecutive runs of the loop.
- You manually stop the process by pressing
Ctrl+C.
- The command prints
Development
Running Tests
Tests are automatically run during the build process. To run tests manually:
If you have pytest installed
pytest
If you don't have pytest installed
python test_ralph.py -v
python test_cli_model_required.py -v
All tests must pass before building.
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file oh_my_ralph-0.5.0.tar.gz.
File metadata
- Download URL: oh_my_ralph-0.5.0.tar.gz
- Upload date:
- Size: 15.1 kB
- Tags: Source
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
0b478f13ad1db82115bab2de1da1ce65f33dcda05fa81385535dd0b408184ecc
|
|
| MD5 |
a315b1cb178c423309aea9917df89762
|
|
| BLAKE2b-256 |
97a55911f9bcc2d33485f5d5363bd01425e6546ad7f1170f708c972adce8def6
|
Provenance
The following attestation bundles were made for oh_my_ralph-0.5.0.tar.gz:
Publisher:
publish-to-pypi.yml on vivganes/oh-my-ralph
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
oh_my_ralph-0.5.0.tar.gz -
Subject digest:
0b478f13ad1db82115bab2de1da1ce65f33dcda05fa81385535dd0b408184ecc - Sigstore transparency entry: 928278135
- Sigstore integration time:
-
Permalink:
vivganes/oh-my-ralph@42058d464370f254252ad514618eab3759b275bf -
Branch / Tag:
refs/heads/main - Owner: https://github.com/vivganes
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
publish-to-pypi.yml@42058d464370f254252ad514618eab3759b275bf -
Trigger Event:
workflow_dispatch
-
Statement type:
File details
Details for the file oh_my_ralph-0.5.0-py3-none-any.whl.
File metadata
- Download URL: oh_my_ralph-0.5.0-py3-none-any.whl
- Upload date:
- Size: 14.2 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
cc846db701578617d41db8ab40c4f220882940863aee89b1ff2f1795bacb2c1b
|
|
| MD5 |
abfc383ca178375e0ccd2a8de054d34a
|
|
| BLAKE2b-256 |
69a49bec18cab44dbc909070c12201df37fc15eec2865fc933c481e2bb3aa1a8
|
Provenance
The following attestation bundles were made for oh_my_ralph-0.5.0-py3-none-any.whl:
Publisher:
publish-to-pypi.yml on vivganes/oh-my-ralph
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
oh_my_ralph-0.5.0-py3-none-any.whl -
Subject digest:
cc846db701578617d41db8ab40c4f220882940863aee89b1ff2f1795bacb2c1b - Sigstore transparency entry: 928278179
- Sigstore integration time:
-
Permalink:
vivganes/oh-my-ralph@42058d464370f254252ad514618eab3759b275bf -
Branch / Tag:
refs/heads/main - Owner: https://github.com/vivganes
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
publish-to-pypi.yml@42058d464370f254252ad514618eab3759b275bf -
Trigger Event:
workflow_dispatch
-
Statement type: