Skip to main content

Ralph Wiggum technique — continuous AI agent loops with Rich TUI dashboard, task decomposer, TRIZ analyzer and PRD wizard

Project description

Whilly Orchestrator

Python 3.10+ License: MIT

Python implementation of the Ralph Wiggum technique — continuous AI agent loops for autonomous software development. Drive a coding agent (Claude CLI) around a task board until the work is done, with a Rich TUI dashboard, task decomposition, TRIZ analysis and PRD generation.

"I'm helping!" — Ralph Wiggum

What it does

Whilly runs a loop: pick a pending task → hand it to an LLM agent → verify result → commit → next. It keeps running until the task board is empty, a budget is exhausted, or you stop it. Parallel mode dispatches multiple agents in tmux panes or git worktrees.

Originally described in Ghuntley's post on the Ralph Wiggum technique and widely adopted across the Claude Code community. This is a batteries-included orchestrator with a dashboard and task lifecycle around that loop.

Features

  • Continuous agent loop — pull tasks from a simple tasks.log file, run Claude CLI on each, retry on transient errors
  • Rich TUI dashboard — live progress, token usage, cost totals, per-task status; hotkeys for pause/reset/skip
  • Parallel execution — tmux panes or git worktrees, up to N concurrent agents with budget/deadlock guards
  • Task decomposer — LLM-based breakdown of oversized tasks into subtasks
  • PRD wizard — interactive Product Requirements Document generation, then auto-derive tasks from the PRD
  • TRIZ analyzer — surface contradictions and inventive principles for ambiguous tasks
  • State store — persistent task state across restarts, per-task per-iteration logs
  • Notifications — budget warnings, deadlock detection, auth/API error alerts

Install

pip install whilly-orchestrator

Or from source:

git clone https://github.com/mshegolev/whilly-orchestrator
cd whilly-orchestrator
pip install -e .

Requires Claude CLI on PATH (or set CLAUDE_BIN).

Quick start

  1. Create a tasks.log with one task per line:

    TASK-001 Add a /health endpoint returning {"status":"ok"}
    TASK-002 Write a pytest covering the new endpoint
    TASK-003 Update README with the new endpoint
    
  2. Run Whilly:

    whilly --tasks tasks.log --parallel 2
    # or without install:
    python -m whilly --tasks tasks.log --parallel 2
    
  3. Watch the dashboard. Press q to quit, p to pause, r to reset a failed task.

Modules

Module Purpose
orchestrator.py Main loop, batch planning, interface agreement between agents
agent_runner.py Claude CLI wrapper, JSON output parsing, usage accounting
tmux_runner.py Parallel agents in tmux panes
worktree_runner.py Parallel agents in isolated git worktrees
dashboard.py Rich TUI dashboard with hotkeys
task_manager.py Task lifecycle (pending → in_progress → done/failed)
state_store.py Persistent state across restarts
decomposer.py LLM-based task breakdown
prd_generator.py, prd_wizard.py, prd_launcher.py PRD generation and task derivation
triz_analyzer.py TRIZ contradiction analysis
reporter.py Per-iteration reports, cost totals, summary markdown
verifier.py, notifications.py, history.py, config.py Infrastructure

Configuration

Pass flags to whilly or set environment variables:

  • CLAUDE_BIN — path to Claude CLI binary
  • --model — Claude model id (default: claude-opus-4-6[1m])
  • --parallel N — concurrent agents (default 1)
  • --budget-usd — hard cap on spend
  • --tasks <file> — task list file
  • --worktree — use git worktrees instead of tmux

See docs/Whilly-Usage.md for the full CLI reference.

Documentation

Development

pip install -e ".[dev]"
pytest
ruff check whilly/ tests/
ruff format whilly/ tests/

Credits

  • Technique attribution: Ghuntley — the Ralph Wiggum technique
  • Spirit of the technique — a Simpsons character whose "I'm helping!" captures the essence of an agent that just keeps going, no matter what

Related work

  • ralph-orchestrator by @mikeyobrien — another implementation of the same technique. Whilly differentiates with a Rich TUI dashboard, TRIZ analyzer, PRD wizard, and tmux/git-worktree parallel execution.

License

MIT — see LICENSE.

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

whilly_orchestrator-3.0.0.tar.gz (83.0 kB view details)

Uploaded Source

Built Distribution

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

whilly_orchestrator-3.0.0-py3-none-any.whl (83.5 kB view details)

Uploaded Python 3

File details

Details for the file whilly_orchestrator-3.0.0.tar.gz.

File metadata

  • Download URL: whilly_orchestrator-3.0.0.tar.gz
  • Upload date:
  • Size: 83.0 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for whilly_orchestrator-3.0.0.tar.gz
Algorithm Hash digest
SHA256 e7c65c12760743912dc1898a3da59da9b487cd0a24d3ff0b912b36ea010287ed
MD5 44a5eb9a1c3d93783a1b0f246a2a1abf
BLAKE2b-256 3161ef4d06dc942372938af83c74657417dccfe1d474e7b2af847a8172564a9a

See more details on using hashes here.

Provenance

The following attestation bundles were made for whilly_orchestrator-3.0.0.tar.gz:

Publisher: release.yml on mshegolev/whilly-orchestrator

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file whilly_orchestrator-3.0.0-py3-none-any.whl.

File metadata

File hashes

Hashes for whilly_orchestrator-3.0.0-py3-none-any.whl
Algorithm Hash digest
SHA256 3b7eb591a0ca734db99dcc26d39ce3f55cda91edd28711884d09710de84a4d0c
MD5 549a0af30cc2f6f0f152cf135a4d4697
BLAKE2b-256 c1dfee78945f0a5d1f56fe79062eec5f583946aa2fe2b950bd8a0b8f20cc5822

See more details on using hashes here.

Provenance

The following attestation bundles were made for whilly_orchestrator-3.0.0-py3-none-any.whl:

Publisher: release.yml on mshegolev/whilly-orchestrator

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

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