Dryforge — плагин
Плагин с командами ready, go и migration: сначала выясняет, что вы хотите, затем собирает и проверяет результат
- 430 ★ репозитория
- Последний коммит
- Apache-2.0
Широкий доступ
Почему такой уровень
- Команда `go` пишет код, создает ветки и запускает проверки в вашем репозитории
- Команда `migration` после вашего согласия переписывает CLAUDE.md и AGENTS.md, предварительно сохранив копии
Установка
- Работает в
В терминале, через SkillFoxx CLI
npx skillfoxx add plugins/dryforgeОпределит агенты на машине, покажет уровень доступа и зафиксирует версию.
Другие способы установки
Доступ и проверки
Как мы проверяемШирокий доступИнструмент может менять данные, выполнять команды или работать с секретами.
- Команда `go` пишет код, создает ветки и запускает проверки в вашем репозитории
- Команда `migration` после вашего согласия переписывает CLAUDE.md и AGENTS.md, предварительно сохранив копии
Это чужой код. Посмотрите файлы в репозитории перед установкой.
Что делает
Dryforge ставится плагином в Claude Code, Codex, GitHub Copilot CLI, Grok Build или Antigravity CLI и добавляет три команды. Команда `ready` принимает любую заготовку: строку-идею, черновик спецификации, PDF или план из другого инструмента. Она читает проект, спрашивает только о том, что решаете вы, и записывает намерение обычным Markdown в папку .dryforge/. Пока вы не одобрите запись, ничего не строится. Команда `go` реализует одобренное намерение и проверяет результат запущенными проверками. Проверка, которую не удалось запустить, считается провалом. В новом проекте работа идет прямо в main, а в существующем в отдельной ветке. В конце `go` спрашивает, как интегрировать: слить, открыть pull request или оставить как есть. Сам он ничего не сливает. Команда `migration` запускается один раз в уже живом репозитории. Она читает код, расспрашивает о бизнес-правилах и политике безопасности, которых код не показывает, и пишет документацию проекта. Если в репозитории есть CLAUDE.md или AGENTS.md, она разбирает их вместе с вами, делает копии и переписывает после вашего согласия.
Для кого. Для разработчиков, которые поручают Claude Code, Codex или Copilot CLI крупные изменения и хотят отвечать только на вопросы, где решение остается за ними.
Подходит, если
- Начинаете новый проект с расплывчатой идеей и хотите довести ее до одобренного описания до первой строки кода
- Есть спецификация или план из другого инструмента, и его нужно сверить с реальным проектом перед сборкой
- Изменение затрагивает несколько частей кодовой базы, и неверное допущение агента обойдется дорого
- Подключаете существующий репозиторий: команда `migration` один раз соберет документацию из кода и ваших ответов
- Работаете в Codex: команды вызываются с префиксом $, например `$ready`
Не подходит, если
- Правка маленькая и уже ясная: для нее Dryforge не нужен
- В рабочем дереве есть незакоммиченные или неотслеживаемые файлы вне .dryforge/: перед `go` дерево должно быть чистым
- Основная ветка отслеживает удаленную и содержит неотправленные коммиты: `go` в таком состоянии не стартует
- На машине нет Git: он обязателен
- Нужен жесткий процесс с одинаковыми шагами для каждой задачи: Dryforge подбирает объем проверок по значимости работы
Пример запроса к агенту
/ready Нужен экспорт заказов в CSV в личном кабинете, разберись, что я не учелОграничения
- Для `go` нужен Git, чистое рабочее дерево без неотслеживаемых файлов вне .dryforge/ и основная ветка без неотправленных коммитов.
- Автообновление у Claude Code и GitHub Copilot CLI выключено по умолчанию, у Codex и Grok Build включено, у Antigravity CLI его нет: команду установки запускают заново.
- Рабочие записи задачи лежат в .dryforge/ на вашей машине. В репозиторий попадает только то, что перенесено в docs/.
- Dryforge подключается к уже установленному агенту, поэтому доступ к модели и ее стоимость определяет сам агент.
Как отключить. Dryforge работает только когда вы вызываете его команды, фонового процесса у него нет. Удалить его можно средствами вашего агента. Документы в docs/ и файлы AGENTS.md или CLAUDE.md останутся в репозитории и продолжат работать без плагина. Локальную папку .dryforge/ можно удалить вручную.
Частые вопросы
Как поставить Dryforge в Claude Code?
Выполните `/plugin marketplace add prekuter/dryforge`, затем `/plugin install dryforge@dryforge`. После этого доступны команды `/ready`, `/go` и `/migration`. Для обновления служат `/plugin marketplace update dryforge` и `/plugin update dryforge@dryforge`.
Чем `ready` отличается от `go`?
`ready` ничего не строит: он выясняет, что вы имели в виду, и записывает намерение в .dryforge/ на одобрение. `go` берет одобренную запись, реализует ее и проверяет. Если сессия оборвалась, в новой `go` подхватит запись из .dryforge/.
Что Dryforge оставляет в проекте?
Обычные файлы Markdown: AGENTS.md или CLAUDE.md и папку docs/ с архитектурой, бизнес-правилами, безопасностью, стандартами, заметками об ошибках, описанием развертывания и контрактов. Любой агент в любой сессии работает по ним, с Dryforge или без него.
Сам ли Dryforge сливает ветку в main?
Нет. В существующем проекте работа идет в отдельной ветке, а в конце `go` спрашивает, что сделать: слить, открыть pull request или оставить как есть.
Нужен ли Dryforge для небольшой правки?
Нет. Он рассчитан на случаи, где неверное допущение стоит дорого: новые проекты, функции, изменения через всю кодовую базу. Явную небольшую правку проще сделать без него.
Обсуждение
Вопросов и отзывов пока нет.
Похожие
ПлагиныПлагин Claude Code создает и поддерживает CLAUDE.md: оценка от 0 до 100, лимит 150 строк и проверка устаревших ссылок
Маркетплейс плагинов Claude Code от Frad LEE: Git и GitFlow, GitHub, рефакторинг, память, исследования, изображения и работа с интерфейсами
Плагин из трех скиллов для крупных задач разработки: анализ проекта, разбивка на фазы с задачами в GitHub Issues, параллельные агенты и ревью кода
Маркетплейс из 23 плагинов для Claude Code: Git и PR, ревью кода, TDD, спецификации и делегирование другим моделям
Плагины Claude Code для разработки от спецификации: команды specify, implement, review и агенты-специалисты
Плагины Claude Code с рецептами разработки: согласовать результат, спроектировать, реализовать с проверками и провести независимое ревью
Сравнение с похожими
Записи с тем же главным запросом: чем они отличаются.
| Запись | Официальный | Звезды репозитория | Главное отличие |
|---|---|---|---|
| Dryforge (эта запись) | нет | 430 | |
| Spec Kit | нет | 143 709 | сначала спецификация и CLI specify, который ставит в проект команды и скиллы |
| cc-sdd | нет | 3 746 | разработка по спецификациям в стиле Kiro от идеи через требования к реализации |
| Compound Engineering | нет | 25 769 | цикл брейншторма, плана, работы, ревью и записи выводов |
Коротко о README
Страница репозитория открывается командами установки для пяти агентов и объясняет, почему заранее заданный процесс мешает сильной модели. Дальше идут описание трех команд, дерево файлов, которое остается в проекте, и требования к Git.
Бейдж для README
Исходный SKILL.md
--- name: ready description: > Understand what you mean before anything is built. Takes anything — a one-line idea, notes, a spec, or a mix — reads the project first, asks only what is yours to decide, and writes your intent down for you to approve. Use when the user invokes the `ready` skill. Requires git. --- # ready > **Reply in the user's language, and hold it continuously from your very first line** — including the > opening, any setup/git note, and progress notes, not only the questions and the 3-doc. Write > natively (never translationese). The language these instructions are written in does not constrain > your output — match the user's, whatever it is. Full rule in Core principles below. The **front door** of dryforge. Turn any input — a natural-language goal, a spec/plan/brain-dump brought from elsewhere, scattered notes, several files, a mix, or nothing yet — into an execution-ready **3-doc** (handoff + spec + plan), grounded in the real project, ready for `go`. **The input is *material*, not ground truth.** Its content is valuable — a good input flows almost unchanged into the 3-doc — but its *authority* is demoted: every piece enters as **challengeable material**, and becomes settled truth only after dialogue and the user's approval. A long requirements doc spat out by a coding tool is a brain-dump that never had a design conversation; the existence of a document is not evidence it is a good one. Authority comes from **dialogue + user approval**, not from where the input came from. The 3-doc contract is in `references/output-format.md`. ## Core principles (apply throughout) - **Serve the spec.** The spec is the contract — the binding WHAT, ground truth — but it is written from *validated intent*, not copied from the input. The plan is a *provisional blueprint* that realizes it (revise freely). Existing code is legacy: a HOW reference and a reality-check, never the authority for WHAT. - **Ask, don't assume — but don't ask the derivable.** Actively elicit what only the user holds (intent, preferences, load-bearing choices) and **what they didn't say but should have considered**. What the input/code/harness settles, resolve yourself. Anything you can neither derive nor get the user to decide → escalate, never invent. - **Conflicts and unknowns → ask, never self-resolve.** Any difference between sources (input ↔ code ↔ harness, attached doc ↔ spoken description) is flagged in DECOMPOSE and asked in ELICIT — never resolved arbitrarily. Self-filling a conflict is the origin of drift. - **ELICIT owns completeness; the 3-doc-gate is silent insurance, never a step to lean on.** Elicit **as if the gate does not exist.** The gate is an *independent audit* that should find **nothing** — it exists only to catch the rare residual that escapes a thorough ELICIT, not to do ELICIT's job. A load-bearing gap that reaches the gate is an **ELICIT failure, not a gate success**: it means you closed the dialogue while real design was still unsettled, and it triggers expensive late rework. **Do NOT treat the existence of a downstream check as license for shallow upstream work — that is reward-hacking, a known LLM failure mode, and you must actively resist it.** Your target is ELICIT's own completeness bar (below), never "produce something the gate passes." Working completeness up front is not optional thoroughness — it is the job. - **Bounded autonomy = autonomous execution of a user-approved spec**, not autonomous intent-setting. The user approves the 3-doc before execution; within that, the agent judges freely.