Dryforge — плагин

Плагин с командами ready, go и migration: сначала выясняет, что вы хотите, затем собирает и проверяет результат

  • 430 ★ репозитория
  • Последний коммит
  • Apache-2.0
Плагин

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

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

  • Команда `go` пишет код, создает ветки и запускает проверки в вашем репозитории
  • Команда `migration` после вашего согласия переписывает CLAUDE.md и AGENTS.md, предварительно сохранив копии
Все причины и проверки

prekuter/dryforge

Установка

В терминале, через 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 строк и проверка устаревших ссылок

ПлагинРасширенный доступ430Звезды репозитория

Маркетплейс плагинов Claude Code от Frad LEE: Git и GitFlow, GitHub, рефакторинг, память, исследования, изображения и работа с интерфейсами

ПлагинРасширенный доступ596Звезды репозитория

Плагин из трех скиллов для крупных задач разработки: анализ проекта, разбивка на фазы с задачами в GitHub Issues, параллельные агенты и ревью кода

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

Маркетплейс из 23 плагинов для Claude Code: Git и PR, ревью кода, TDD, спецификации и делегирование другим моделям

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

Плагины Claude Code для разработки от спецификации: команды specify, implement, review и агенты-специалисты

ПлагинШирокий доступ575Звезды репозитория
Нужен VPN

Плагины Claude Code с рецептами разработки: согласовать результат, спроектировать, реализовать с проверками и провести независимое ревью

ПлагинРасширенный доступ705Звезды репозитория

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

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

ЗаписьОфициальныйЗвезды репозиторияГлавное отличие
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.

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

Foxx AIDryforge
Foxx AI

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