Open Ralph Wiggum CLI

Команда ralph повторяет один промпт для Claude Code, Codex, Cursor Agent или OpenCode, пока в ответе не появится метка завершения

  • 1 906 ★ репозитория
  • Последний коммит
  • MIT
CLI

Широкий доступ

Почему такой уровень

  • Запускает CLI агента без ограничения числа итераций и по умолчанию без подтверждений, агент может менять и удалять файлы проекта и выполнять команды
  • Делает коммиты в git после каждой итерации и пишет состояние в `.ralph/`, а повторные запросы расходуют платный тариф агента
Все причины и проверки

th0rgal/open-ralph-wiggum

Установка

В терминале, через SkillFoxx CLI

npx skillfoxx add cli/open-ralph-wiggum

Определит агенты на машине, покажет уровень доступа и зафиксирует версию.

Другие способы установки

Доступ и проверки

Как мы проверяем

Широкий доступИнструмент может менять данные, выполнять команды или работать с секретами.

  • Запускает CLI агента без ограничения числа итераций и по умолчанию без подтверждений, агент может менять и удалять файлы проекта и выполнять команды
  • Делает коммиты в git после каждой итерации и пишет состояние в `.ralph/`, а повторные запросы расходуют платный тариф агента

Это чужой код. Посмотрите файлы в репозитории перед установкой.

Что делает

Open Ralph Wiggum — консольная оболочка на Bun и TypeScript, которая запускает ИИ-агента для программирования в цикле. Вы даете `ralph "промпт" --max-iterations 20`, а программа раз за разом передает агенту тот же текст. Между итерациями агент ничего не помнит: он видит только состояние файлов и историю git, поэтому исправляет собственные ошибки по результатам тестов. Цикл заканчивается либо когда в выводе встречается метка вида `<promise>COMPLETE</promise>`, либо по лимиту итераций. Агента выбирает флаг `--agent`: `claude-code`, `codex`, `copilot`, `cursor-agent`, `qwen-code`, по умолчанию `opencode`. Сами CLI агентов нужно поставить и войти в них заранее. Режим `--tasks` разбивает большую работу на задачи в файле `.ralph/ralph-tasks.md` и дает агенту по одной за итерацию. Параметр `--rotation` чередует агентов и модели по итерациям. Через `--prompt-template` можно подставить свой шаблон промпта с переменными вроде `{{iteration}}` и `{{tasks}}`. За ходом можно следить из другого терминала: `ralph --status` показывает номер итерации, время, последние вызовы инструментов и признаки того, что агент застрял. Подсказку на следующую итерацию вставляет `ralph --add-context`. Состояние лежит в папке `.ralph/` проекта. Для Codex есть режим `--codex-goal`, где каждая итерация начинается с `/goal`, а внешний цикл остается за Ralph. Скилл в `skills/` объясняет эти команды ассистенту.

Для кого. Для разработчиков, которые доводят задачу с проверяемым результатом, например с зелеными тестами, до конца без ручных перезапусков агента, и для тех, кто сравнивает Claude Code, Codex и OpenCode на одном промпте.

Подходит, если

  • Надо добиться, чтобы все тесты прошли, и задача допускает много мелких попыток подряд без вашего участия
  • Новый проект с четкими критериями готовности запускается на ночь, а утром вы просматриваете коммиты
  • Вы хотите провести один и тот же промпт через Claude Code и Codex и сравнить результаты флагом `--agent`
  • Крупную работу из PRD нужно пройти по задачам, по одной за итерацию, с журналом в `.ralph/ralph-tasks.md`

Не подходит, если

  • Результат нельзя проверить автоматически: цикл без тестов или линтера повторяет промпт вслепую и тратит оплаченные запросы к модели
  • Задача требует человеческого решения или разового действия, например отладки на рабочем сервере
  • У вас нет Bun: программа запускается только на нем, а еще нужен хотя бы один установленный CLI агента с входом в аккаунт
  • Нужна готовая система с ревью и правилами качества, тогда ближе Ralph Orchestrator: он блокирует неполную работу тестами и линтером

Пример запроса к агенту

Запусти ralph с Claude Code на двадцать итераций: добавь экспорт отчета в CSV и закончи, когда все тесты проходят

Ограничения

  • Число итераций по умолчанию не ограничено. Автор советует всегда задавать `--max-iterations`, иначе цикл не остановится, пока в ответе нет метки завершения.
  • Разрешения агента по умолчанию принимаются автоматически (`--allow-all` включен), а после каждой итерации идет коммит в git. Для подтверждений используйте `--no-allow-all`, для отключения коммитов `--no-commit`.
  • Программа не заменяет агента: нужен Bun, установленный и авторизованный CLI хотя бы одного агента и модель, настроенная в нем. Расходы на запросы идут по тарифу этого агента.
  • Для OpenCode без модели по умолчанию появится ошибка `ProviderModelNotFoundError`, модель задают в `opencode.json` или флагом `--model`.
  • Автор называет метод техникой Ральфа Виггама по Джеффри Хантли и советует не применять его там, где критерий успеха размыт. Лицензия MIT.

Как отключить. Выполните `npm uninstall -g @th0rgal/ralph-wiggum` или запустите `uninstall.sh` из клонированного репозитория, в Windows `uninstall.ps1`. Остановить идущий цикл можно сочетанием Ctrl+C. Файлы состояния лежат в папке `.ralph/` проекта, ее можно удалить вручную.

Частые вопросы

Как Ralph понимает, что задача выполнена?

Он ищет в выводе агента метку из флага `--completion-promise`, по умолчанию `COMPLETE`, в виде `<promise>COMPLETE</promise>`. Пока не пройдено число итераций из `--min-iterations`, метку игнорируют. Фраза из `--abort-promise` останавливает цикл досрочно.

Может ли Ralph поменять агента посреди цикла?

Да, через `--rotation`: список агентов и моделей через запятую задает, кто выполняет каждую следующую итерацию. Без него весь цикл идет с одним агентом из `--agent`. Пути к бинарникам агентов переопределяют переменные вроде `RALPH_CLAUDE_BINARY` и `RALPH_CODEX_BINARY`.

Как направить агента, не останавливая цикл?

В другом терминале выполните `ralph --add-context "Ошибка в utils/parser.ts, строка 42"`. Подсказка попадет в промпт следующей итерации и будет использована один раз. Очищает очередь `ralph --clear-context`.

Что делает режим `--tasks`?

Он ведет список задач в `.ralph/ralph-tasks.md` с отметками `[ ]`, `[/]` и `[x]` и дает агенту по одной. Задача закрывается меткой `READY_FOR_NEXT_TASK`. Команды `--list-tasks`, `--add-task` и `--remove-task` правят список, `--task-min-iterations` требует минимум попыток на задачу.

Как устроен режим `--codex-goal`?

Флаг `--codex-goal` отдает каждую итерацию Codex с промптом, начинающимся с `/goal`, а перезапуски, лимиты и поиск метки остаются за Ralph. Каждый шаг записывается в `.ralph/codex-goal-ledger.jsonl`. Через OMX режим включают переменные `RALPH_CODEX_GOAL=1` и `RALPH_CODEX_BACKEND=omx`.

Какой промпт лучше всего подходит для цикла?

С проверяемыми условиями: тесты, линтер, типы. Автор рекомендует короткий PRD с целью, границами, нумерованными требованиями и меткой завершения. Для больших проектов он советует файл `features.json` с полем `passes`, чтобы агент не переписывал критерии успеха.

Обсуждение

Вопросов и отзывов пока нет.

CLI-оркестратор, который прогоняет Claude Code, Codex, Gemini CLI и другие агенты по циклу до готовности задачи и блокирует неполную работу тестами и линтером

CLIРасширенный доступ3,2 тыс.Звезды репозитория

Цикл Ральфа для длинных задач: агент в песочнице Docker идет по списку задач из PRD, проверяет каждую тестами и коммитит, пока список не кончится

ВоркфлоуШирокий доступ333Звезды репозитория

Автономное выполнение плана по задачам: каждая задача в свежем сеансе Claude Code или Codex, затем многопроходное ревью. Написан на Go

ВоркфлоуШирокий доступ1,5 тыс.Звезды репозитория

OpenRig

openrig

CLI для постоянных команд агентов Claude Code и Codex: команда описывается в YAML и запускается одной командой, с ролями и мониторингом

CLIШирокий доступ8,3 тыс.Звезды репозитория

Личный набор автора для Claude Code: команды мета-промптов и заметок на потом, скиллы для создания скиллов, хуков и MCP-серверов, аудиторы и цикл Ральфа

ПлагинШирокий доступ2 тыс.Звезды репозитория

oah раскладывает более 80 скиллов, пять ролей и команды /commit, /review, /test-tdd по папкам Claude Code, Cursor, Codex и других

CLIРасширенный доступ984Звезды репозитория

Сравнение с похожими

Записи с тем же главным запросом: чем они отличаются.

ЗаписьОфициальныйАвторизацияЗвезды репозиторияГлавное отличие
Open Ralph Wiggum (эта запись)нет1 906
Ralphyнет2 981прогоняет агентов циклом по списку задач или PRD, пока все не будет сделано
Ralph Orchestratorнетне нужна3 190оркестратор, который блокирует неполную работу тестами и линтером
Ralphнет22 083Bash-цикл с чистым контекстом для Claude Code или Amp и два скилла для PRD

Коротко о README

В репозитории лежат основной цикл на TypeScript в одном файле, оболочка для npm, скрипты установки и удаления для Linux, macOS и Windows, модуль автодополнения, тесты с заглушками агентов, скилл для ассистента и вариант интеграции с OMX в папке `contrib`. Главная страница начинается с таблицы поддерживаемых агентов, затем идут принцип метода, установка, команды, советы по составлению промптов и схема работы цикла.

Бейдж для README

Сообщить о проблеме

Foxx AIOpen Ralph Wiggum
Foxx AI

Я Foxx AI и уже разобрал этот инструмент. Спросите про установку, настройку или что угодно еще, отвечу простыми словами.