Skip to main content

Run iterative agent loops with task tracking

Project description

wiggum

A minimal, opinionated tool for running agent loops.

while true; do cat PROMPT.md | claude --print; done

This is the "Ralph Wiggum loop" - the simplest possible agent loop. wiggum adds just enough guardrails to make it practical.

Philosophy

  • Simple - prefer simplicity whenever possible
  • Minimal - does one thing well: run a prompt in a loop until tasks are done
  • Opinionated - sensible defaults, few options
  • Unobtrusive - infer what you can, don't ask obvious questions
  • Task-driven - stops when TODO.md has no unchecked items
  • Test-driven - write tests first for new behavior; skip tests for trivial changes (renames, constants, config)

Installation

# Run directly (no install needed)
uvx wiggum init

# Or install globally
uv tool install wiggum

# Upgrade to latest version
uv tool upgrade wiggum

Quick Start

# Set up (Claude helps plan your tasks)
wiggum init

# Run the loop
wiggum run

How It Works

  1. init creates LOOP-PROMPT.md (workflow) and TODO.md (task list)
  2. run executes Claude with the prompt, checks TODO.md after each iteration
  3. Loop stops when all tasks are checked off (- [x])

Commands

init

Initialize a new loop with LOOP-PROMPT.md, TODO.md, and .wiggum.toml.

wiggum init           # Interactive setup with Claude
wiggum init --force   # Overwrite existing files

run

Execute the agent loop until all tasks are complete.

wiggum run                    # Run with defaults
wiggum run -n 5               # Max 5 iterations
wiggum run --continue         # Keep context between iterations
wiggum run --keep-running     # Continue when tasks complete (agent can add new)
wiggum run --identify-tasks   # Analyze codebase, populate TODO.md, then exit
wiggum run --no-yolo          # Ask for permissions
wiggum run -v                 # Show git status after each iteration

add

Add tasks directly from the command line.

wiggum add "Fix the login bug"
wiggum add "Refactor auth module" -f my-tasks.md

list

Show all tasks grouped by status.

wiggum list

suggest

Use Claude to discover and suggest tasks interactively.

wiggum suggest       # Interactive prompts
wiggum suggest -y    # Accept all suggestions

spec

Create detailed spec files for complex features.

wiggum spec user-auth    # Creates specs/user-auth.md

Tasks can reference specs: - [ ] Implement auth (see specs/user-auth.md)

upgrade

Upgrade wiggum-managed files to the latest template versions.

wiggum upgrade            # Upgrade all files
wiggum upgrade prompt     # Only LOOP-PROMPT.md
wiggum upgrade config     # Only .wiggum.toml
wiggum upgrade --dry-run  # Preview changes

clean

Remove wiggum-managed files.

wiggum clean              # Interactive removal
wiggum clean --keep-tasks # Remove config, keep TODO.md
wiggum clean --all        # Remove everything

Configuration

Settings are stored in .wiggum.toml:

[security]
yolo = true           # Skip permission prompts (default: true)
allow_paths = ""      # Comma-separated paths to allow writing

[loop]
max_iterations = 10   # Default iteration limit

[git]
enabled = false       # Enable git workflow
branch_prefix = "wiggum"  # Prefix for auto-generated branches

CLI flags override config file settings.

Git Workflow

Create branches and PRs automatically:

wiggum run --pr           # Create branch, run loop, open PR when done
wiggum run --pr --no-branch  # Use current branch, still create PR

The --pr flag:

  1. Fetches and merges from main
  2. Creates a new branch (e.g., wiggum/fix-auth-bug)
  3. Runs the loop
  4. Opens a PR when complete

Multi-Agent Support

wiggum supports multiple coding agents:

wiggum run --agent claude   # Claude Code (default)
wiggum run --agent codex    # OpenAI Codex CLI
wiggum run --agent gemini   # Google Gemini CLI

Learning Diary

wiggum automatically captures learnings during each session in .wiggum/session-diary.md. After the loop completes, it consolidates these into your CLAUDE.md for future sessions.

wiggum run --no-diary        # Disable diary for this run
wiggum run --no-consolidate  # Skip consolidation after run

License

MIT

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

wiggum-0.10.0.tar.gz (34.9 kB view details)

Uploaded Source

Built Distribution

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

wiggum-0.10.0-py3-none-any.whl (43.1 kB view details)

Uploaded Python 3

File details

Details for the file wiggum-0.10.0.tar.gz.

File metadata

  • Download URL: wiggum-0.10.0.tar.gz
  • Upload date:
  • Size: 34.9 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.8.12

File hashes

Hashes for wiggum-0.10.0.tar.gz
Algorithm Hash digest
SHA256 bd141efe1bc3042708a7ef2dfa5c5662b42fd3c3bd2891059ece37c74738e9dc
MD5 a79ced9fe641e4d0a919f33954eab1ab
BLAKE2b-256 4710024d906fb0033f05b41ee912d9a627bbf16980f5d8e929d69581913bbb8a

See more details on using hashes here.

File details

Details for the file wiggum-0.10.0-py3-none-any.whl.

File metadata

  • Download URL: wiggum-0.10.0-py3-none-any.whl
  • Upload date:
  • Size: 43.1 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.8.12

File hashes

Hashes for wiggum-0.10.0-py3-none-any.whl
Algorithm Hash digest
SHA256 42f569de7700578d2b040fece72040189aa6f821422d5822e3f8bfede6914280
MD5 c60b86ff435503ec1c9d6b9b5cf85f04
BLAKE2b-256 9e4dd26ccb9bf16883fc4a8e10d9df7a8d38007fb83d86ecb10fe1bed316def0

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