Skip to main content

Ralph Wiggum Loop engine for Claude Code

Project description

Ralpher

A CLI tool that orchestrates Claude Code for autonomous software development. Give it a prompt, and it generates a Project Plan, breaks it into tasks, then runs iterative Claude development loops to implement each one.

Workflow: User PromptProject PlanRalph Wiggum Loop⁠

Install

pipx install ralpher

Usage

# 1. Generate a Project Plan
ralpher plan "Create a TODO app" --name todo-app

# (Optional) Refine the plan
ralpher refine "Use MySQL"

# 2. Run the Ralph-loop on an existing plan
ralpher loop

How it works

  1. Plan generation -- Sends your prompt to Claude to produce a structured Project Plan with tasks, saved to .ralpher/projects/{project_id}/PLAN.md.
  2. Run Ralph-loop
    1. Parses the plan into a structured JSON model (project, tasks with acceptance criteria and priorities).
    2. Iteratively invokes claude to implement each task on a dedicated git branch (ralph/{project_id}), tracking progress and detecting completion.

Notion integration

Ralpher supports optional Notion integration for syncing task status. Set these in a .env file:

  • RALPHER_NOTION_TOKEN -- Notion API token
  • RALPHER_NOTION_PARENT_PAGE_ID -- Parent page for task pages

Development

# Run tests
uv run pytest

TODO

  • Add git worktree support
  • Create PRs automatically
  • Run repeating tasks in a loop (useful for continuous optimization, refactoring, or research)
  • Implement a standalone reviewer agent (or subagent) in both the planning and loop stages
  • Support Gemini-CLI
  • Support Codex CLI

Acknowledgements

This project draws its design and some of its prompts from snarktank/ralph.

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

ralpher-0.1.5.tar.gz (39.4 kB view details)

Uploaded Source

Built Distribution

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

ralpher-0.1.5-py3-none-any.whl (32.8 kB view details)

Uploaded Python 3

File details

Details for the file ralpher-0.1.5.tar.gz.

File metadata

  • Download URL: ralpher-0.1.5.tar.gz
  • Upload date:
  • Size: 39.4 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.10.4 {"installer":{"name":"uv","version":"0.10.4","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"macOS","version":null,"id":null,"libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}

File hashes

Hashes for ralpher-0.1.5.tar.gz
Algorithm Hash digest
SHA256 1448cbc69dfd4e698ee6379c8cb459298a528dde0bc45eb7f616465108bee2c5
MD5 4aa07755dfca0a43ca7430658427d125
BLAKE2b-256 02e1787ac313130046cff4cf2ac64872f9b3f20820b82be18c8e358be281506b

See more details on using hashes here.

File details

Details for the file ralpher-0.1.5-py3-none-any.whl.

File metadata

  • Download URL: ralpher-0.1.5-py3-none-any.whl
  • Upload date:
  • Size: 32.8 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.10.4 {"installer":{"name":"uv","version":"0.10.4","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"macOS","version":null,"id":null,"libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}

File hashes

Hashes for ralpher-0.1.5-py3-none-any.whl
Algorithm Hash digest
SHA256 57ad704f04c89946f548b1e574935ff6b9dccc940dba8af876654762dcdd64f0
MD5 61668f66147afc8b280fa64d2381ab14
BLAKE2b-256 33cd71ba55b563cbc0ee7d1d2d2b96cbfd533b7d5a9265c58eb0706d90dc093b

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