Ralph Loop by PageAI — воркфлоу
Цикл Ральфа для длинных задач: агент в песочнице Docker идет по списку задач из PRD, проверяет каждую тестами и коммитит, пока список не кончится
- 333 ★ репозитория
- Последний коммит
- MIT
Широкий доступ
Почему такой уровень
- Агент работает без запросов разрешений: правит код, ставит пакеты, запускает приложение и тесты и коммитит, а ограничивает его только песочница
- Цикл идет часами и сутками и тратит лимиты подписки или деньги по ключу API на каждой итерации
- Агент видит исходники и переменные окружения проекта: в примере из описания ему доступны ключи Supabase и Stripe
Установка
- Работает в
В терминале, через SkillFoxx CLI
npx skillfoxx add workflows/ralph-loop-by-pageaiОпределит агенты на машине, покажет уровень доступа и зафиксирует версию.
Другие способы установки
Доступ и проверки
Как мы проверяемШирокий доступИнструмент может менять данные, выполнять команды или работать с секретами.
- Агент работает без запросов разрешений: правит код, ставит пакеты, запускает приложение и тесты и коммитит, а ограничивает его только песочница
- Цикл идет часами и сутками и тратит лимиты подписки или деньги по ключу API на каждой итерации
- Агент видит исходники и переменные окружения проекта: в примере из описания ему доступны ключи Supabase и Stripe
Это чужой код. Посмотрите файлы в репозитории перед установкой.
Что делает
Ralph Loop — набор для автономной разработки: скрипт `ralph.sh` раз за разом запускает агента с чистым контекстом и заставляет его идти по списку задач, пока все не будет выполнено или не кончатся итерации. Команда `npx @pageai/ralph-loop` создает в проекте папку `.agent` с промптом, файлом задач, шаблонами, журналом и общими скиллами. Сначала вы описываете требования, а скилл `prd-creator` превращает их в PRD и разбивает на задачи: общая таблица в `tasks.json` и по файлу `TASK-{ID}.json` со шагами на каждую. На каждой итерации агент берет самую важную незавершенную задачу, выполняет ее шаги и пишет модульный тест, для задач интерфейса делает смоук-тест в Playwright и сохраняет снимок экрана. Дальше запускает `eslint --fix`, `prettier --write`, `tsc` и тесты по всему проекту. Когда все проходит, он отмечает задачу выполненной, дописывает журнал и делает коммит в формате Conventional Commits. Отправлять изменения в удаленный репозиторий (`git push`) промпт агенту запрещает. По умолчанию агент работает в Docker Sandboxes, изолированных микромашинах, и с режимом без запросов разрешений, ради которого песочница и нужна. Кроме Claude Code поддерживаются Codex, Copilot, Cursor, Gemini и OpenCode, их выбирают ключом `--agent`. Файл `.agent/STEERING.md` позволяет прямо во время работы вписать срочное дело, которое агент выполнит раньше задач. Статус агент сообщает метками: `COMPLETE`, `BLOCKED` или `DECIDE`, им соответствуют коды выхода 0, 2 и 3.
Для кого. Для разработчиков веб-приложений на TypeScript, которые хотят отдать агенту большой список задач на часы и сутки и получить коммиты с тестами.
Подходит, если
- Есть требования или PRD на несколько десятков задач, и вы хотите прогнать их агентом без вашего участия на каждом шаге
- Надо вести цикл в изолированной песочнице, а не в основной системе, потому что агент работает без запросов разрешений
- Нужен след работы агента: журнал, снимки экрана, история вывода по каждой итерации и коммиты на каждую задачу
- В середине прогона возник блокер, и нужно вписать срочное дело через `.agent/STEERING.md`
- Проект уже на React, Next.js или TanStack с Vitest и Playwright, как предполагает набор
Не подходит, если
- Нет автоматических тестов и нечем проверять работу агента: автор называет проверку условием, при котором цикл вообще работает
- Вы не можете или не хотите ставить Docker Sandboxes и CLI `sbx`: скрипт рассчитан на них по умолчанию
- Проект не на TypeScript: промпт и проверки привязаны к Playwright, Vitest, `tsc`, ESLint и Prettier, и их придется переписывать
- Задач мало и они мелкие: накладные расходы на PRD, разбивку на задачи и песочницу окупаются только на большом списке
- Вам нужен простой цикл без песочницы и готовых скиллов: в каталоге есть Ralph от snarktank
Пример запроса к агенту
Используй скилл prd-creator: вот требования к сервису учета расходов для фрилансеров на React и Supabase, составь PRD и список задач для RalphОграничения
- Скрипт предполагает установленные Playwright, Vitest, TypeScript, ESLint и Prettier. Для другого языка или фреймворка нужно править `.agent/PROMPT.md`: порты, команды запуска и проверки.
- Нужны Docker Sandboxes и вход в агент. Авторизация через OAuth внутри песочницы иногда не сохраняется, тогда помогает ключ API, но автор считает его обычно более дорогим и не рекомендует.
- Песочница по умолчанию блокирует исходящие запросы по HTTP и HTTPS. При сбое установки пакетов или вызова API доступ выдают командой `sbx policy allow network`, а полное снятие фильтра автор советует применять редко.
- Автор просит проверять каждую задачу по отдельности до запуска цикла. Первая итерация уходит на подготовку песочницы, автор предупреждает о пяти минутах.
- У проекта есть сайт с документацией и видеоразбор. Лицензия MIT.
Как отключить. Остановите цикл двойным Ctrl+C: Ralph остановит только песочницу текущего запуска. Затем удалите папку `.agent` и файл `ralph.sh` из проекта, а ненужную песочницу найдите по `sbx ls`. Коммиты, которые агент уже сделал, остаются в истории git.
Частые вопросы
Что делает каждая итерация цикла?
Агент находит самую важную задачу со статусом «не пройдена» в `.agent/tasks.json`, читает ее файл `TASK-{ID}.json`, выполняет шаги, запускает тесты, линтер и проверку типов, отмечает задачу, снимает скриншот и коммитит. Цикл повторяется, пока все задачи не пройдены или не достигнут предел итераций. По умолчанию их десять, число задают ключом `-n`.
Зачем нужна песочница Docker?
Агента просят включить режим без запросов разрешений, и автор объясняет, что ради этого песочница и нужна. Docker Sandboxes запускает агента в изолированной микромашине. Каждая сессия получает имя вида `ralph-<агент>-<папка>-<хэш>`, поэтому для разных агентов в одном проекте создаются отдельные песочницы.
Какие агенты поддерживаются?
Claude Code по умолчанию, а также Codex, Copilot, Cursor, Gemini и OpenCode. Агента выбирают ключом `--agent`, например `./ralph.sh --agent codex`. Дополнительные параметры агента передают после разделителя `--`, например `--model gpt-5.3-codex`.
Как вмешаться, если агент застрял?
Впишите срочное дело в `.agent/STEERING.md`. Агент проверяет файл на каждой итерации и, если там есть критическая работа, пропускает задачи и сначала выполняет ее. Если агенту нужна помощь человека, он выводит метку `BLOCKED` или `DECIDE` с пояснением, и цикл завершается кодом 2 или 3.
Какие скиллы идут в комплекте?
Тринадцать: `prd-creator`, `agent-browser`, `e2e-tester`, `frontend-testing`, `frontend-code-review`, `component-refactoring`, `shadcn`, `postgres`, `mysql`, `vitest-best-practices`, `vercel-react-best-practices`, `web-design-guidelines` и `skill-creator`. Они лежат в `.agent/skills/` и дублируются символьными ссылками для Claude Code, Codex, Cursor и общей папки `.agents`.
Что делать, если в песочнице не ставятся пакеты?
Выдать песочнице доступ к нужным доменам. Например, `sbx policy allow network <имя> "*.npmjs.org,github.com"` разрешает пакетные реестры и GitHub, а `sbx policy log` показывает историю соединений. Совпадение домена точное: поддомены нужно перечислять отдельно.
Обсуждение
Вопросов и отзывов пока нет.
Похожие
ВоркфлоуКоманда ralph повторяет один промпт для Claude Code, Codex, Cursor Agent или OpenCode, пока в ответе не появится метка завершения
CLI-оркестратор, который прогоняет Claude Code, Codex, Gemini CLI и другие агенты по циклу до готовности задачи и блокирует неполную работу тестами и линтером
Автономное выполнение плана по задачам: каждая задача в свежем сеансе Claude Code или Codex, затем многопроходное ревью. Написан на Go
Один рантайм для Claude Code, Codex, OpenCode и других: работа принята, только если пройдены проверки, которые агент не писал
Личный набор автора для Claude Code: команды мета-промптов и заметок на потом, скиллы для создания скиллов, хуков и MCP-серверов, аудиторы и цикл Ральфа
Команда ИИ-агентов по одному запросу: планирует задачу, пишет код в параллельных ветках, тестирует, проверяет и открывает пull request
Сравнение с похожими
Записи с тем же главным запросом: чем они отличаются.
| Запись | Официальный | Авторизация | Звезды репозитория | Главное отличие |
|---|---|---|---|---|
| Ralph Loop by PageAI (эта запись) | нет | 333 | ||
| Ralph | нет | 22 083 | Bash-цикл, который заново запускает Claude Code или Amp с чистым контекстом, пока все истории из PRD не пройдут проверки, и два скилла для PRD | |
| Ralphy | нет | 2 981 | CLI, который прогоняет Claude Code, Codex, OpenCode и другие агенты циклом по списку задач или PRD, пока все не будет сделано | |
| Ralph Orchestrator | нет | не нужна | 3 190 | CLI-оркестратор, который прогоняет Claude Code, Codex, Gemini CLI и другие агенты по циклу до готовности задачи и блокирует неполную работу тестами и линтером |
Коротко о README
Описание ведет по четырем шагам: подготовка проекта, установка Ralph, создание PRD и задач, настройка агента в Docker Sandboxes и запуск. Дальше идут ключи скрипта, принцип работы итерации, сравнение с другими реализациями цикла, управление через файл срочных дел, метки статуса и коды выхода, структура папки `.agent`, список скиллов и рекомендуемые настройки Playwright и Vitest. Раздел отладки объясняет, как зайти в песочницу, выдать ей доступ в сеть и перейти на ключи API. Рядом лежат скрипты на Bash с общей библиотекой и файл `RALPH.md`.