{"_id":"@diego-tobalina/ralph-wiggum","_rev":"6-f493b9fa047cb0a04354bd227b9cbac5","name":"@diego-tobalina/ralph-wiggum","dist-tags":{"latest":"1.1.5"},"versions":{"1.1.0":{"name":"@diego-tobalina/ralph-wiggum","version":"1.1.0","keywords":["opencode","ai","ralph-wiggum","iterative-development","automation","ai-agent","coding-assistant","llm","claude","claude-code","codex","gpt","self-correcting","autonomous","developer-tools","cli","bun","typescript"],"author":{"name":"diego-tobalina"},"license":"MIT","_id":"@diego-tobalina/ralph-wiggum@1.1.0","maintainers":[{"name":"diegotobalina","email":"diegotobalina97@gmail.com"}],"homepage":"https://github.com/diego-tobalina/ralph-wiggum#readme","bugs":{"url":"https://github.com/diego-tobalina/ralph-wiggum/issues"},"bin":{"ralph":"bin/ralph.js"},"dist":{"shasum":"7ba863c12eb4d68b9c8b7252aadbec88cde35304","tarball":"https://registry.npmjs.org/@diego-tobalina/ralph-wiggum/-/ralph-wiggum-1.1.0.tgz","fileCount":22,"integrity":"sha512-ZlhlXBS/epnQ43wPDqHLA2bHR3fET2LErjQZgSf7v0AK9KKqP0Qi7BTDu72R97WGOl4tJvyUWFPHdGSDxcF+/w==","signatures":[{"sig":"MEYCIQCKCKYN0i0aW0Y6Jzo1R0hrHylUzkN/KPc3b4eUWfvilgIhAJI9tsW+y7wJyBogTwlaxxFwrhKZTz8gyv9EqFg8tI5j","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":121053},"main":"bin/ralph.js","engines":{"bun":">=1.0.0","node":">=18.0.0"},"gitHead":"f82b81e742d0657b1da9fae8e409f21bad9e866f","scripts":{"lint":"eslint . --ext .ts,.js","test":"bun test","build":"bun build ralph.ts --outfile bin/ralph --compile","check":"bun run typecheck && bun run lint && bun run test","clean":"rm -rf bin/ && rm -rf .ralph/","start":"bun ralph.ts","format":"prettier --write .","lint:fix":"eslint . --ext .ts,.js --fix","typecheck":"tsc --noEmit","format:check":"prettier --check .","install-local":"bun link"},"_npmUser":{"name":"diegotobalina","email":"diegotobalina97@gmail.com"},"repository":{"url":"git+https://github.com/diego-tobalina/ralph-wiggum.git","type":"git"},"_npmVersion":"11.8.0","description":"Ralph Wiggum technique for iterative AI development loops with multi-agent support","directories":{},"_nodeVersion":"24.11.1","_hasShrinkwrap":false,"devDependencies":{"eslint":"^8.0.0","prettier":"^3.0.0","@types/bun":"^1.3.5","typescript":"^5.0.0","@typescript-eslint/parser":"^6.0.0","@typescript-eslint/eslint-plugin":"^6.0.0"},"_npmOperationalInternal":{"tmp":"tmp/ralph-wiggum_1.1.0_1769090788717_0.854421339820056","host":"s3://npm-registry-packages-npm-production"}},"1.1.1":{"name":"@diego-tobalina/ralph-wiggum","version":"1.1.1","keywords":["opencode","ai","ralph-wiggum","iterative-development","automation","ai-agent","coding-assistant","llm","claude","claude-code","codex","gpt","self-correcting","autonomous","developer-tools","cli","bun","typescript"],"author":{"name":"diego-tobalina"},"license":"MIT","_id":"@diego-tobalina/ralph-wiggum@1.1.1","maintainers":[{"name":"diegotobalina","email":"diegotobalina97@gmail.com"}],"homepage":"https://github.com/diego-tobalina/ralph-wiggum#readme","bugs":{"url":"https://github.com/diego-tobalina/ralph-wiggum/issues"},"bin":{"ralph":"bin/ralph.js"},"dist":{"shasum":"c64639e5734cff04027f01b19dc3a9107d465477","tarball":"https://registry.npmjs.org/@diego-tobalina/ralph-wiggum/-/ralph-wiggum-1.1.1.tgz","fileCount":22,"integrity":"sha512-zxfeRI1nXCuNwa6KxUCQNpGN5Cjt3G8yt7GtQyPgEeBi/sNaAWiSqudAOgijW3JpgzxWg/QdghpxGN9V8ttJqw==","signatures":[{"sig":"MEUCIDxoO/h/xohCpBIbhSojeFsM1VlSyLTCIlaWPaOy8DLyAiEAovHkbWnZYQ85VzrgmakfK8xecHd+7B8Hh02ySaIZil0=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":120631},"main":"bin/ralph.js","engines":{"bun":">=1.0.0","node":">=18.0.0"},"gitHead":"f82b81e742d0657b1da9fae8e409f21bad9e866f","scripts":{"lint":"eslint . --ext .ts,.js","test":"bun test","build":"bun build ralph.ts --outfile bin/ralph --compile","check":"bun run typecheck && bun run lint && bun run test","clean":"rm -rf bin/ && rm -rf .ralph/","start":"bun ralph.ts","format":"prettier --write .","lint:fix":"eslint . --ext .ts,.js --fix","typecheck":"tsc --noEmit","format:check":"prettier --check .","install-local":"bun link"},"_npmUser":{"name":"diegotobalina","email":"diegotobalina97@gmail.com"},"repository":{"url":"git+https://github.com/diego-tobalina/ralph-wiggum.git","type":"git"},"_npmVersion":"11.8.0","description":"Ralph Wiggum technique for iterative AI development loops with multi-agent support","directories":{},"_nodeVersion":"24.11.1","_hasShrinkwrap":false,"devDependencies":{"eslint":"^8.0.0","prettier":"^3.0.0","@types/bun":"^1.3.5","typescript":"^5.0.0","@typescript-eslint/parser":"^6.0.0","@typescript-eslint/eslint-plugin":"^6.0.0"},"_npmOperationalInternal":{"tmp":"tmp/ralph-wiggum_1.1.1_1769090876655_0.3419063761013932","host":"s3://npm-registry-packages-npm-production"}},"1.1.2":{"name":"@diego-tobalina/ralph-wiggum","version":"1.1.2","keywords":["opencode","ai","ralph-wiggum","iterative-development","automation","ai-agent","coding-assistant","llm","claude","claude-code","codex","gpt","self-correcting","autonomous","developer-tools","cli","bun","typescript"],"author":{"name":"diego-tobalina"},"license":"MIT","_id":"@diego-tobalina/ralph-wiggum@1.1.2","maintainers":[{"name":"diegotobalina","email":"diegotobalina97@gmail.com"}],"homepage":"https://github.com/diego-tobalina/ralph-wiggum#readme","bugs":{"url":"https://github.com/diego-tobalina/ralph-wiggum/issues"},"bin":{"ralph":"bin/ralph.js"},"dist":{"shasum":"0e5760bf2b5f202481ead30732d6a1e3dc0c6e9b","tarball":"https://registry.npmjs.org/@diego-tobalina/ralph-wiggum/-/ralph-wiggum-1.1.2.tgz","fileCount":22,"integrity":"sha512-mn66E9/m8+J92Wa3G8qrJpB0h6qJjaidSamMZF+bXxLUoN8ksQeWfQAT/6ayolGQFv6l92Crieegyp/sKzIB4A==","signatures":[{"sig":"MEUCIQDLYH3kUBPTwHOQbcY1qPlroCRU9Y9lW4ICAmQAPaTTBQIge4fpjLrECSOBbhwWCMctL8H604jSUYQHSE+C0PT2Tao=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":121698},"main":"bin/ralph.js","engines":{"bun":">=1.0.0","node":">=18.0.0"},"gitHead":"f82b81e742d0657b1da9fae8e409f21bad9e866f","scripts":{"lint":"eslint . --ext .ts,.js","test":"bun test","build":"bun build ralph.ts --outfile bin/ralph --compile","check":"bun run typecheck && bun run lint && bun run test","clean":"rm -rf bin/ && rm -rf .ralph/","start":"bun ralph.ts","format":"prettier --write .","lint:fix":"eslint . --ext .ts,.js --fix","typecheck":"tsc --noEmit","format:check":"prettier --check .","install-local":"bun link"},"_npmUser":{"name":"diegotobalina","email":"diegotobalina97@gmail.com"},"repository":{"url":"git+https://github.com/diego-tobalina/ralph-wiggum.git","type":"git"},"_npmVersion":"11.8.0","description":"Ralph Wiggum technique for iterative AI development loops with multi-agent support","directories":{},"_nodeVersion":"24.11.1","_hasShrinkwrap":false,"devDependencies":{"eslint":"^8.0.0","prettier":"^3.0.0","@types/bun":"^1.3.5","typescript":"^5.0.0","@typescript-eslint/parser":"^6.0.0","@typescript-eslint/eslint-plugin":"^6.0.0"},"_npmOperationalInternal":{"tmp":"tmp/ralph-wiggum_1.1.2_1769091502643_0.8371968161845178","host":"s3://npm-registry-packages-npm-production"}},"1.1.3":{"name":"@diego-tobalina/ralph-wiggum","version":"1.1.3","keywords":["opencode","ai","ralph-wiggum","iterative-development","automation","ai-agent","coding-assistant","llm","claude","claude-code","codex","gpt","self-correcting","autonomous","developer-tools","cli","bun","typescript"],"author":{"name":"diego-tobalina"},"license":"MIT","_id":"@diego-tobalina/ralph-wiggum@1.1.3","maintainers":[{"name":"diegotobalina","email":"diegotobalina97@gmail.com"}],"homepage":"https://github.com/diego-tobalina/ralph-wiggum#readme","bugs":{"url":"https://github.com/diego-tobalina/ralph-wiggum/issues"},"bin":{"ralph":"bin/ralph.js"},"dist":{"shasum":"7fb73abc0cb54f6f545aa50853ef69f05cdbfbc1","tarball":"https://registry.npmjs.org/@diego-tobalina/ralph-wiggum/-/ralph-wiggum-1.1.3.tgz","fileCount":22,"integrity":"sha512-IWnGXmgEfECiYMijnSL85imieUlpPKZKan2ra08A8ntwNbBZJj/bUTrMZzDznJ4k+cfslRWCaga1KkouT1LwFg==","signatures":[{"sig":"MEUCIQC0iLp8oOeSIUWEtFsyUPYC5vYsoV9VIqBbWFW1ZnLpIQIgCZvpZ86axnuinDbaL9EAmwBvKi7n2pXSdmJiSM4URac=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":122067},"main":"bin/ralph.js","engines":{"bun":">=1.0.0","node":">=18.0.0"},"gitHead":"f82b81e742d0657b1da9fae8e409f21bad9e866f","scripts":{"lint":"eslint . --ext .ts,.js","test":"bun test","build":"bun build ralph.ts --outfile bin/ralph --compile","check":"bun run typecheck && bun run lint && bun run test","clean":"rm -rf bin/ && rm -rf .ralph/","start":"bun ralph.ts","format":"prettier --write .","lint:fix":"eslint . --ext .ts,.js --fix","typecheck":"tsc --noEmit","format:check":"prettier --check .","install-local":"bun link"},"_npmUser":{"name":"diegotobalina","email":"diegotobalina97@gmail.com"},"repository":{"url":"git+https://github.com/diego-tobalina/ralph-wiggum.git","type":"git"},"_npmVersion":"11.8.0","description":"Ralph Wiggum technique for iterative AI development loops with multi-agent support","directories":{},"_nodeVersion":"24.11.1","_hasShrinkwrap":false,"devDependencies":{"eslint":"^8.0.0","prettier":"^3.0.0","@types/bun":"^1.3.5","typescript":"^5.0.0","@typescript-eslint/parser":"^6.0.0","@typescript-eslint/eslint-plugin":"^6.0.0"},"_npmOperationalInternal":{"tmp":"tmp/ralph-wiggum_1.1.3_1769092121807_0.18016592741560467","host":"s3://npm-registry-packages-npm-production"}},"1.1.4":{"name":"@diego-tobalina/ralph-wiggum","version":"1.1.4","keywords":["opencode","ai","ralph-wiggum","iterative-development","automation","ai-agent","coding-assistant","llm","claude","claude-code","codex","gpt","self-correcting","autonomous","developer-tools","cli","bun","typescript"],"author":{"name":"diego-tobalina"},"license":"MIT","_id":"@diego-tobalina/ralph-wiggum@1.1.4","maintainers":[{"name":"diegotobalina","email":"diegotobalina97@gmail.com"}],"homepage":"https://github.com/diego-tobalina/ralph-wiggum#readme","bugs":{"url":"https://github.com/diego-tobalina/ralph-wiggum/issues"},"bin":{"ralph":"bin/ralph.js"},"dist":{"shasum":"ab9ef95e8ab7e14f3fbfad1f0b6fa40ab4879c5b","tarball":"https://registry.npmjs.org/@diego-tobalina/ralph-wiggum/-/ralph-wiggum-1.1.4.tgz","fileCount":22,"integrity":"sha512-QJo7ga1xxitJ5amFa8Dl+/+/CQdckntvCPaG6bKpsakZwgIzlD8T+CMDIIzTF8azAjllrmPVwq/8TEYAWUL/rA==","signatures":[{"sig":"MEUCIBs/6HxATB1pLiDrOatosWCHKPkWJ/4R3T3JSlHVjy6RAiEAm83npXEDtdEuG8f24VQnA4hbajK+qFKVu4ej7/BG4nc=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":126949},"main":"bin/ralph.js","engines":{"bun":">=1.0.0","node":">=18.0.0"},"gitHead":"e7fcbd0c3d32d1f589aef46a0ab6a14fbda6848f","scripts":{"lint":"eslint . --ext .ts,.js","test":"bun test","build":"bun build ralph.ts --outfile bin/ralph --compile","check":"bun run typecheck && bun run lint && bun run test","clean":"rm -rf bin/ && rm -rf .ralph/","start":"bun ralph.ts","format":"prettier --write .","lint:fix":"eslint . --ext .ts,.js --fix","typecheck":"tsc --noEmit","format:check":"prettier --check .","install-local":"bun link"},"_npmUser":{"name":"diegotobalina","email":"diegotobalina97@gmail.com"},"repository":{"url":"git+https://github.com/diego-tobalina/ralph-wiggum.git","type":"git"},"_npmVersion":"11.8.0","description":"Ralph Wiggum technique for iterative AI development loops with multi-agent support","directories":{},"_nodeVersion":"24.11.1","_hasShrinkwrap":false,"devDependencies":{"eslint":"^8.0.0","prettier":"^3.0.0","@types/bun":"^1.3.5","typescript":"^5.0.0","@typescript-eslint/parser":"^6.0.0","@typescript-eslint/eslint-plugin":"^6.0.0"},"_npmOperationalInternal":{"tmp":"tmp/ralph-wiggum_1.1.4_1769095912825_0.32893519560996975","host":"s3://npm-registry-packages-npm-production"}},"1.1.5":{"name":"@diego-tobalina/ralph-wiggum","version":"1.1.5","description":"Ralph Wiggum technique for iterative AI development loops with multi-agent support","main":"bin/ralph.js","bin":{"ralph":"bin/ralph.js"},"scripts":{"start":"bun ralph.ts","build":"bun build ralph.ts --outfile bin/ralph --compile","test":"bun test","install-local":"bun link","lint":"eslint . --ext .ts,.js","lint:fix":"eslint . --ext .ts,.js --fix","format":"prettier --write .","format:check":"prettier --check .","typecheck":"tsc --noEmit","clean":"rm -rf bin/ && rm -rf .ralph/","check":"bun run typecheck && bun run lint && bun run test"},"keywords":["opencode","ai","ralph-wiggum","iterative-development","automation","ai-agent","coding-assistant","llm","claude","claude-code","codex","gpt","self-correcting","autonomous","developer-tools","cli","bun","typescript"],"author":{"name":"diego-tobalina"},"license":"MIT","repository":{"type":"git","url":"git+https://github.com/diego-tobalina/ralph-wiggum.git"},"bugs":{"url":"https://github.com/diego-tobalina/ralph-wiggum/issues"},"homepage":"https://github.com/diego-tobalina/ralph-wiggum#readme","devDependencies":{"@types/bun":"^1.3.5","@typescript-eslint/eslint-plugin":"^6.0.0","@typescript-eslint/parser":"^6.0.0","eslint":"^8.0.0","prettier":"^3.0.0","typescript":"^5.0.0"},"engines":{"node":">=18.0.0","bun":">=1.0.0"},"gitHead":"1192f3a8306543a475f4a59926150df1c9629c9d","_id":"@diego-tobalina/ralph-wiggum@1.1.5","_nodeVersion":"24.11.1","_npmVersion":"11.8.0","dist":{"integrity":"sha512-xNJnxJpvzRq1UJCr9ZcO+JIAA99xLLEhIf/19NiEsgU1bmS9JrLw/qZj5U1Ln35WnAVd/knde0Yd8nCka6RBaw==","shasum":"9bae0e3951e803b2985e9a796f8a1c73890e5387","tarball":"https://registry.npmjs.org/@diego-tobalina/ralph-wiggum/-/ralph-wiggum-1.1.5.tgz","fileCount":22,"unpackedSize":127490,"signatures":[{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEQCIC2+CE8UEd7YbEZx83B0hs5kE7HvK9CPBnFX130MHqm8AiBl6HewZSrQLlLDy8QLV4+i4vdh7sTU0ZYbCWeRqF7dIA=="}]},"_npmUser":{"name":"diegotobalina","email":"diegotobalina97@gmail.com"},"directories":{},"maintainers":[{"name":"diegotobalina","email":"diegotobalina97@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/ralph-wiggum_1.1.5_1769098875034_0.7861743445511513"},"_hasShrinkwrap":false}},"time":{"created":"2026-01-22T14:06:28.595Z","modified":"2026-01-22T16:21:15.303Z","1.1.0":"2026-01-22T14:06:28.872Z","1.1.1":"2026-01-22T14:07:56.855Z","1.1.2":"2026-01-22T14:18:22.862Z","1.1.3":"2026-01-22T14:28:41.954Z","1.1.4":"2026-01-22T15:31:52.979Z","1.1.5":"2026-01-22T16:21:15.182Z"},"bugs":{"url":"https://github.com/diego-tobalina/ralph-wiggum/issues"},"author":{"name":"diego-tobalina"},"license":"MIT","homepage":"https://github.com/diego-tobalina/ralph-wiggum#readme","keywords":["opencode","ai","ralph-wiggum","iterative-development","automation","ai-agent","coding-assistant","llm","claude","claude-code","codex","gpt","self-correcting","autonomous","developer-tools","cli","bun","typescript"],"repository":{"type":"git","url":"git+https://github.com/diego-tobalina/ralph-wiggum.git"},"description":"Ralph Wiggum technique for iterative AI development loops with multi-agent support","maintainers":[{"name":"diegotobalina","email":"diegotobalina97@gmail.com"}],"readme":"<p align=\"center\">\n  <h1 align=\"center\">Ralph Wiggum for OpenCode</h1>\n</p>\n\n<p align=\"center\">\n  <img src=\"https://github.com/Th0rgal/opencode-ralph-wiggum/blob/master/screenshot.webp\" alt=\"Ralph Wiggum Screenshot\" />\n</p>\n\n<p align=\"center\">\n  <strong>Iterative AI development loops. Same prompt. Persistent progress.</strong><br>\n  <em>Supports OpenCode (default), Claude Code, and Codex via <code>--agent</code>.</em><br>\n  <em>Originally based on <a href=\"https://ghuntley.com/ralph/\">ghuntley.com/ralph</a> and <a href=\"https://github.com/Th0rgal/opencode-ralph-wiggum\">Th0rgal/ralph-wiggum</a>, but significantly evolved with a modular class-based architecture and advanced parallelization.</em>\n</p>\n\n<p align=\"center\">\n  <img src=\"https://img.shields.io/badge/license-MIT-blue.svg\" alt=\"MIT License\">\n  <img src=\"https://img.shields.io/badge/built%20with-Bun%20%2B%20TypeScript-f472b6.svg\" alt=\"Built with Bun + TypeScript\">\n</p>\n\n---\n\n## What is Ralph?\n\nRalph is a development methodology where an AI agent receives the **same prompt repeatedly** until it completes a task. Each iteration, the AI sees its previous work in files and git history, enabling self-correction and incremental progress.\n\nThis package provides a **CLI-only** implementation, optimized for local control and speed.\n\n## ✨ Key Features\n\n- **Robust Loop Logic**: Handles state persistence, history tracking, and error recovery.\n- **Parallel Subtasks**: Run multiple agents simultaneously on different tasks with full **Git Worktree** isolation.\n- **Project Configuration**: Save defaults in `.ralph/ralph.config.json` (auto-initialized if missing).\n- **Global Rules**: Auto-injects `AGENTS.md`, `RULES.md`, or `.ralph/rules.md` into context.\n- **Class-Based Architecture**: Refactored for maintainability and extensibility (`RalphLoop`, `ParallelExecutor`).\n- **Detailed History**: Tracks tool usage, files modified, and **Struggle Detection** to suggest when to intervene.\n- **Tasks Mode**: Structured task tracking with subtask support and progress visualization.\n\n## Installation (Local Development)\n\nThis project is designed to run with [Bun](https://bun.sh).\n\n### Option 1: Run directly\n```bash\n# Run from the project root\nbun ralph.ts \"Your prompt here\"\n```\n\n### Option 2: Link globally\n```bash\n# In the project root\nbun install\nbun link\n\n# Now you can use 'ralph' anywhere\nralph --version\n```\n\n## Quick Start\n\n### 1. Simple Loop\n```bash\nralph \"Create a hello.txt file. Output <promise>DONE</promise> when complete.\" \\\n  --max-iterations 5\n```\n\n### 2. Parallel Execution (🚀)\nRun multiple independent tasks simultaneously. Each worker runs in an isolated **Git Worktree** to prevent conflicts.\n```bash\nralph --parallel \\\n  \"Refactor login.ts\" \\\n  \"Update styles.css\" \\\n  \"Write unit tests\" \\\n  --max-parallel 3\n```\n\n### 3. Advanced Parallel Execution\n```bash\nralph --parallel \\\n  \"Mejora los estilos del gráfico PnL\" \\\n  \"Añade animaciones al gráfico\" \\\n  \"Optimiza el rendimiento del renderizado\" \\\n  --max-parallel 3 \\\n  --max-iterations 10 \\\n  --verbose-tools \\\n  --agent opencode \\\n  --model github-copilot/grok-code-fast-1\n```\n\n### 4. Tasks Mode\nWork through a checklist in `.ralph/ralph-tasks.md`. In this mode, the prompt serves as the \"Main Goal\", while the file dictates the specific steps.\n```bash\n# 1. First, verify or create your task list in .ralph/ralph-tasks.md\n- [ ] Set up database\n- [ ] Create API endpoints\n\n# 2. Run Ralph with a main goal prompt\nralph \"Complete all backend tasks\" --tasks\n```\n\n## Configuration\n\n### Project Config\nInitialize or edit the configuration file:\n```bash\nralph --init-config\n```\nThis creates `.ralph/ralph.config.json` where you can set defaults like agent, model, and auto-commit behavior. Ralph also looks for `.ralph.config.json`, `.ralph.json`, or `ralph.config.json` in the root.\n\n### Global Rules\nRalph automatically looks for these files in your project root and injects them into the AI's context:\n- `AGENTS.md`\n- `RULES.md`\n- `.ralph/rules.md`\n\n### Context Injection\nYou can add manual hints or context mid-loop (for the next iteration):\n```bash\nralph --add-context \"Focus on the auth module first and use the new API client.\"\n```\n\n## CLI Reference\n\n### Commands\n- `--status`: Show current loop status, history, and struggle indicators.\n- `--status --tasks`: Show status including the current task list.\n- `--add-context TEXT`: Add context for the next iteration.\n- `--clear-context`: Clear any pending context.\n- `--list-tasks`: Display the current task list with indices.\n- `--add-task \"desc\"`: Add a new task to the list.\n- `--remove-task N`: Remove task at index N.\n- `--init-config`: Create a sample config file.\n\n### Execution Control\n- `prompts...`: The task description (or subtasks in parallel mode).\n- `--tasks` / `-t`: Enable Tasks Mode (reads `.ralph/ralph-tasks.md`).\n- `--prompt-file <path>`: Read prompt from a file.\n- `--max-iterations N`: Limit the number of loops (default: 10).\n- `--min-iterations N`: Force a minimum number of loops (default: 1).\n- `--parallel`: Enable parallel execution mode.\n- `--max-parallel N`: Max concurrent workers (default: 2).\n\n### Agent & Model\n- `--agent opencode|claude-code|codex`: Select AI agent (default: opencode).\n- `--model MODEL`: Specify model (e.g., `anthropic/claude-3-5-sonnet`).\n\n### Flags\n- `--verbose-tools`: Show every tool call (disables compact summary).\n- `--stream` / `--no-stream`: Enable/disable streaming output.\n- `--no-commit`: Disable auto-commit after each iteration.\n- `--no-plugins`: Disable non-auth OpenCode plugins.\n- `--allow-all`: Auto-approve all tool permissions (default: on).\n- `--no-allow-all`: Require interactive permission prompts.\n\n## Development\n\n### Project Structure\nThe codebase is modular and class-based:\n- `src/loop.ts`: Main logic for the `RalphLoop` class.\n- `src/parallel.ts`: `ParallelExecutor` class for git worktree isolation.\n- `src/cli.ts`: Argument parsing and command dispatch.\n- `src/prompt.ts`: Prompt building and context/rules injection.\n- `src/agents.ts`: Agent configurations and environment setup.\n- `src/tasks.ts`: Logic for task parsing and progress tracking.\n- `src/project-config.ts`: Configuration file discovery and merging.\n- `src/state.ts` & `src/history.ts`: Persistence and tracking.\n\n### Running Tests\n```bash\nbun test\n```\n\n## License\n\nMIT\n","readmeFilename":"README.md"}