@gian-tiaga/eda 3.13.1 → 4.0.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/MIGRATION.md +23 -2
- package/README.md +153 -232
- package/agents/eda-aim-executor/prompt.md +2 -0
- package/agents/eda-aim-verifier/prompt.md +2 -0
- package/agents/eda-review-api/prompt.md +4 -4
- package/agents/eda-review-architecture/prompt.md +4 -4
- package/agents/eda-review-business/prompt.md +5 -12
- package/agents/eda-review-code-quality/prompt.md +4 -4
- package/agents/eda-review-correctness/prompt.md +3 -3
- package/agents/eda-review-database/prompt.md +4 -4
- package/agents/eda-review-documentation/prompt.md +4 -4
- package/agents/eda-review-frontend/prompt.md +4 -4
- package/agents/eda-review-infra/agent.json +14 -0
- package/agents/eda-review-infra/prompt.md +36 -0
- package/agents/eda-review-performance/prompt.md +7 -7
- package/agents/eda-review-plan-alignment/prompt.md +4 -4
- package/agents/eda-review-previous-reviews/prompt.md +5 -4
- package/agents/eda-review-references/prompt.md +4 -4
- package/agents/eda-review-rules/prompt.md +4 -4
- package/agents/eda-review-security/prompt.md +4 -4
- package/agents/eda-review-seo/agent.json +14 -0
- package/agents/eda-review-seo/prompt.md +36 -0
- package/agents/eda-review-tests/prompt.md +4 -4
- package/agents/eda-review-triage/agent.json +14 -0
- package/agents/eda-review-triage/prompt.md +38 -0
- package/agents/eda-skill-runner/agent.json +14 -0
- package/agents/eda-skill-runner/prompt.md +11 -0
- package/bin/cli.js +3 -3
- package/lib/catalog.js +32 -1
- package/lib/install.js +266 -611
- package/lib/prompts.js +53 -0
- package/lib/renderers/codex-agent.js +3 -1
- package/lib/renderers/codex-skill.js +21 -1
- package/lib/renderers/opencode-agent.js +23 -0
- package/lib/renderers/opencode-skill.js +24 -0
- package/package.json +4 -4
- package/skills/_shared/done.md +15 -0
- package/skills/_shared/questions.md +9 -0
- package/skills/eda-aim/SKILL.md +2 -3
- package/skills/eda-business/SKILL.md +5 -6
- package/skills/eda-commit/SKILL.md +2 -3
- package/skills/eda-discover-automations/SKILL.md +6 -7
- package/skills/eda-explore/SKILL.md +28 -15
- package/skills/eda-fix/SKILL.md +7 -7
- package/skills/eda-fix-by-review/SKILL.md +4 -3
- package/skills/eda-just-do-it/SKILL.md +4 -4
- package/skills/eda-manual-test/SKILL.md +7 -5
- package/skills/eda-merge-worktree/SKILL.md +2 -3
- package/skills/eda-new-project/SKILL.md +3 -5
- package/skills/eda-orhestra/SKILL.md +3 -4
- package/skills/eda-plan/SKILL.md +126 -168
- package/skills/eda-plan-execute/SKILL.md +72 -92
- package/skills/eda-plan-polish/SKILL.md +14 -14
- package/skills/eda-plan-review/SKILL.md +25 -10
- package/skills/eda-plan-review-fix/SKILL.md +10 -7
- package/skills/eda-polish/SKILL.md +9 -6
- package/skills/eda-prepare-ai/SKILL.md +35 -15
- package/skills/eda-prod-check/SKILL.md +129 -0
- package/skills/eda-review/SKILL.md +92 -64
- package/skills/eda-review/references/checks/api.md +18 -0
- package/skills/eda-review/references/checks/architecture.md +16 -0
- package/skills/eda-review/references/checks/business.md +13 -0
- package/skills/eda-review/references/checks/code-quality.md +18 -0
- package/skills/eda-review/references/checks/correctness.md +19 -0
- package/skills/eda-review/references/checks/database.md +17 -0
- package/skills/eda-review/references/checks/documentation.md +13 -0
- package/skills/eda-review/references/checks/frontend.md +19 -0
- package/skills/eda-review/references/checks/infra.md +16 -0
- package/skills/eda-review/references/checks/performance.md +21 -0
- package/skills/eda-review/references/checks/plan-alignment.md +16 -0
- package/skills/eda-review/references/checks/previous-reviews.md +9 -0
- package/skills/eda-review/references/checks/references.md +11 -0
- package/skills/eda-review/references/checks/rules.md +16 -0
- package/skills/eda-review/references/checks/security.md +26 -0
- package/skills/eda-review/references/checks/seo.md +16 -0
- package/skills/eda-review/references/checks/tests.md +18 -0
- package/skills/eda-review/references/defects.md +24 -0
- package/skills/eda-review/references/triage.md +23 -0
- package/skills/eda-roadmap/SKILL.md +2 -4
- package/skills/eda-send-review/SKILL.md +3 -5
- package/skills/eda-worktree/SKILL.md +2 -3
- package/skills/eda-review/references/review-matrix.md +0 -72
package/README.md
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
# 🌊 eda
|
|
2
2
|
|
|
3
3
|
> Поточная разработка с AI-агентами — на русском языке.
|
|
4
|
-
> Пакет готовых скилов и специализированных агентов для **Claude Code** и **
|
|
4
|
+
> Пакет готовых скилов и специализированных агентов для **Claude Code**, **Codex CLI** и **OpenCode V2**, которые ведут тебя через весь цикл: от исследования до коммита.
|
|
5
5
|
|
|
6
6
|
`eda` — это двадцать три скила и пакетные агенты для повторяемых ролей. Скил отвечает за пользовательский workflow и оркестрацию, агент — за изолированную работу с закреплённой моделью и ограничениями. Вместо того чтобы каждый раз объяснять модели, как делать ревью или как исполнять план, ты говоришь одно слово — и она следует чёткой инструкции на русском, со всеми правилами, проверками и артефактами в нужных папках.
|
|
7
7
|
|
|
@@ -21,11 +21,13 @@ npm install -g @gian-tiaga/eda
|
|
|
21
21
|
eda init
|
|
22
22
|
```
|
|
23
23
|
|
|
24
|
-
Установщик
|
|
24
|
+
Установщик построен на `@clack/prompts`. Сначала он спрашивает платформы: по умолчанию ничего не отмечено, пробел отмечает Claude Code, OpenCode или Codex CLI, Enter продолжает, нужна хотя бы одна. Устанавливаются и скилы, и агенты. Если `docs/settings.yaml` ещё нет, установщик спрашивает только основные настройки в порядке работы: `eda-plan` (размер, решения, тесты), где выполнять `eda-plan-execute`, `eda-review` и `eda-polish`, глубину `eda-manual-test`, режим, этапы и исполнение `eda-orhestra`. Первым в каждом вопросе стоит вариант по умолчанию, «Спрашивать каждый раз» — последним. Редкие настройки и модели `review.agents` получают defaults и меняются вручную в `docs/settings.yaml`. Без интерактивного терминала устанавливаются все три среды и записываются defaults. В конце `eda init` отдельно пишет, какие скилы и агенты реально установлены или изменились.
|
|
25
25
|
|
|
26
|
-
`eda update
|
|
26
|
+
Чтобы добавить OpenCode или другую платформу в проект с уже установленным EDA, запусти `eda update`. В интерактивном терминале команда при каждом запуске показывает все платформы: установленные уже отмечены, остальные можно добавить. Установленные обновляются в любом случае: снятая с них отметка ничего не удаляет. Enter без изменений обновляет текущий набор. Выбор фиксируется установленными каталогами и manifest каждой платформы, поэтому при следующем запуске она уже отмечена; отдельный список в `docs/settings.yaml` не нужен. Без TTY новые платформы не добавляются. Если ни одной среды ещё нет, сначала нужен `eda init`. У `update-all` выбор платформ не меняется: он обновляет только уже найденные среды.
|
|
27
27
|
|
|
28
|
-
|
|
28
|
+
После выбора платформ `eda update` переносит старые рабочие каталоги из `docs/<тип>/` в `docs/artifacts/<тип>/`, затем обновляет настройки, скилы и агентов. Содержимое файлов при переносе не меняется. Если один относительный путь уже существует в новой структуре, новый файл сохраняется, а старый удаляется.
|
|
29
|
+
|
|
30
|
+
Полный валидный v3-конфиг сохраняется, пока совпадает с актуальным шаблоном; если в пакете появились новые значения или подсказки, файл молча перерисовывается с сохранением ваших значений. Старый, неизвестный или неполный файл разбирается как YAML: известные значения переносятся, в TTY спрашиваются только отсутствующие основные настройки, редкие получают defaults, затем профиль целиком атомарно записывается как v3. Без TTY используются перенесённые значения и defaults.
|
|
29
31
|
|
|
30
32
|
Если пакет уже стоит во многих проектах, можно обновить его одной командой:
|
|
31
33
|
|
|
@@ -33,7 +35,7 @@ eda init
|
|
|
33
35
|
eda update-all ~/Code
|
|
34
36
|
```
|
|
35
37
|
|
|
36
|
-
`eda update-all` ищет проекты в указанной директории, её прямых подпапках и подпапках второго уровня. Проект считается найденным, если в нём уже есть установленный скил, агент или manifest `eda` для Claude/Codex. В каждом проекте команда переносит рабочие артефакты, затем предлагает настроить один общий профиль для всех проектов или выбрать `skip`. В режиме `skip` актуальный полный v3 сохраняется, устаревший по шаблону перерисовывается, старые и неполные конфиги индивидуально переносятся, отсутствующие создаются с defaults. Без TTY автоматически используется `skip`. Ошибка одного проекта не останавливает остальные.
|
|
38
|
+
`eda update-all` ищет проекты в указанной директории, её прямых подпапках и подпапках второго уровня. Проект считается найденным, если в нём уже есть установленный скил, агент или manifest `eda` для Claude/Codex/OpenCode. Служебные каталоги, включая `.opencode`, и symlink-директории не обходятся. В каждом проекте команда переносит рабочие артефакты, затем предлагает настроить один общий профиль для всех проектов или выбрать `skip`. В режиме `skip` актуальный полный v3 сохраняется, устаревший по шаблону перерисовывается, старые и неполные конфиги индивидуально переносятся, отсутствующие создаются с defaults. Без TTY автоматически используется `skip`. Ошибка одного проекта не останавливает остальные.
|
|
37
39
|
|
|
38
40
|
---
|
|
39
41
|
|
|
@@ -44,25 +46,26 @@ eda update-all ~/Code
|
|
|
44
46
|
| `eda-orhestra` | Выполняет настраиваемую цепочку `eda-*`-скилов. В `subagents` каждый этап получает чистый контекст, в `main` этапы выполняет текущий агент, а `main_propagated` дополнительно передаёт `main` в совместимые execute/review-этапы. По умолчанию: план без проверок → полировка плана → выполнение → автономное ревью и исправления → ручные тесты. Если QA нашёл баг, оркестра запускает fix и повторяет только ручной тест. В `orhestra.steps` шаги можно переставлять, отключать и снабжать `args`. Не коммитит | Артефакты включённых скилов |
|
|
45
47
|
| `eda-aim` | Сначала через отдельного агента-планировщика согласует с человеком одну или несколько простых проверяемых целей, затем передаёт их агентам-исполнителям и повторяет работу до независимого подтверждения агентом-проверяющим. При необходимости использует установленные скилы в отдельных изолированных субагентах. В `automatic` отвечает на безопасные рабочие вопросы самостоятельно, в `manual` передаёт их человеку; режим задаётся через `aim.mode` или текущий вызов. Точный список новых целей человек подтверждает всегда | `docs/artifacts/aims/` и артефакты задействованных скилов |
|
|
46
48
|
| `eda-new-project` | Помогает стартовать новый проект: собирает и согласует требования, функциональность и границы, ограничения и архитектурные драйверы, сравнивает варианты основного стека и фиксирует выбранные компоненты с актуальными стабильными версиями. Если у стека есть официальный generator/scaffold CLI, передаёт его как обязательный способ разворачивания вместо ручного создания основы. Не проектирует архитектуру, правила, проверки, AI-скилы или MCP; сохраняет подтверждённый стартовый бриф и всегда без дополнительного вопроса запускает полный технический bootstrap через `eda-prepare-ai` | `docs/artifacts/project-starts/`, затем артефакты `eda-prepare-ai` |
|
|
47
|
-
| `eda-business` | Совместно с человеком описывает целевое поведение проекта по тематическим карточкам: сложные темы фиксирует подробно, но без шума, соседних модулей и привязки к текущему коду. Может закрепить значимый механизм вроде JWT или серверного хранения токенов, но не язык, библиотеку или конкретную СУБД. `about` содержит лишь короткое описание проекта и основные
|
|
49
|
+
| `eda-business` | Совместно с человеком описывает целевое поведение проекта по тематическим карточкам: сложные темы фиксирует подробно, но без шума, соседних модулей и привязки к текущему коду. Может закрепить значимый механизм вроде JWT или серверного хранения токенов, но не язык, библиотеку или конкретную СУБД. `about` содержит лишь короткое описание проекта и основные возможности. Карточка не больше 20 КБ: большую тему делит на подтемы, изменения вносит на месте без датированных дополнений | `docs/business.md`, `docs/business/` |
|
|
48
50
|
| `eda-roadmap` | Создаёт roadmap-файл: список будущих задач с короткими, понятными и недвусмысленными описаниями без деталей реализации, файлов, библиотек, API и пошагового плана | `docs/artifacts/roadmaps/` |
|
|
49
51
|
| `eda-explore` | Исследует тему до конкретного результата: описание проблемы, релевантная архитектура, закрытые развилки, риски внутри решений и короткий выбранный вариант решения без плана. После определения темы читает только применимые business- и reference-карточки. В дефолтном режиме ведёт исследование как диалог; для пакетов и ПО проверяет актуальные стабильные версии | `docs/artifacts/researches/` |
|
|
50
|
-
| `eda-plan` | Пишет план
|
|
51
|
-
| `eda-plan-review` | Одним read-only проходом проверяет план по фиксированному чек-листу из
|
|
52
|
-
| `eda-plan-review-fix` | Закрывает проваленные пункты чек-листа минимальным изменением плана с совпадающим SHA-256. План не растёт: сначала удаление и замена, прирост объёма за один заход не больше 3%. Новое ревью не делает и код не меняет | `docs/artifacts/plan-review-fixes/` |
|
|
53
|
-
| `eda-plan-polish` | Оркестрирует изолированный цикл plan-review → plan-review-fix
|
|
54
|
-
| `eda-plan-execute` | Управляет выполнением плана по фазам в режиме `subagents`, `main` или `auto`. В `subagents` каждую фазу целиком выполняет отдельный изолированный субагент: он читает план,
|
|
52
|
+
| `eda-plan` | Пишет план реализации: закрывает решения с пользователем, фиксирует контракты БД и API, устройство и дизайн интерфейса, консольные команды и фазы, каждую из которых один агент выполняет и проверяет за один проход. В разделе `Рамка` по строке на пункт выписывает всё, что задача обязана соблюдать из правил, архитектуры, эталонов, бизнес-карточек и `AGENTS.md`. `Целевой алгоритм` пишет сценариями из нумерованных шагов в порядке выполнения, а каждую таблицу БД — своей таблицей колонок. Каждый ответ пользователя попадает в `Принятые решения`, механизмов вне запроса и рамки план не добавляет. На подтверждение показывает полный план: в Claude Code — через Plan Mode, в Codex — в чате; сохраняет тот же текст. Для затронутой инфраструктуры, публичных страниц и частого пути ввода-вывода записывает решения, которые иначе принял бы исполнитель: переменные окружения и деплой, адреса и индексацию, допустимое число запросов и внешних вызовов. Если целевое поведение ещё не описано в business-карточках, до реализации добавляет `Дополнить бизнесовые правила`; если решение противоречит правилам или архитектуре, сначала меняет сам документ. Полировку плана не запускает — для неё есть `eda-plan-polish` и этап `eda-orhestra`; `plan.strict` включает кросс-CLI ревью | `docs/artifacts/plans/`, опционально plan-review артефакты |
|
|
53
|
+
| `eda-plan-review` | Одним read-only проходом проверяет план по фиксированному чек-листу из 22 пунктов: покрытие запроса фазами, отсутствие развилок, качества без меры и механизмов вне запроса, полноту `Рамки`, дубли и одинаковые имена, порядок разделов, формат алгоритма и таблиц БД, ошибки и восстановление в сценариях, тесты на каждую ветку алгоритма, удаляемое поведение, фазы с проверяемым результатом, объём и записанные решения по затронутой инфраструктуре, публичным страницам и числу запросов на частом пути. Замечания вне списка не принимает. Оценка — доля закрытых пунктов, поэтому растёт монотонно. План не меняет | `docs/artifacts/plan-reviews/` |
|
|
54
|
+
| `eda-plan-review-fix` | Закрывает проваленные пункты чек-листа минимальным изменением плана с совпадающим SHA-256. План не растёт: сначала удаление и замена, прирост объёма за один заход не больше 3%. Пункт, который не закрыть без роста, оставляет открытым со статусом `partial`; если план не изменился — `no-change`. Оба статуса не блокируют полировку. Новое ревью не делает и код не меняет | `docs/artifacts/plan-review-fixes/` |
|
|
55
|
+
| `eda-plan-polish` | Оркестрирует изолированный цикл plan-review → plan-review-fix до подтверждённых 100/100 без открытых пунктов или лимита попыток. Отсутствие прогресса не останавливает цикл. Хранит снапшот лучшей версии для восстановления при завершении без успеха. По умолчанию одна итерация: проверка и исправление. Исправление проверяет ревью следующей итерации, поэтому при `limit 1` последняя правка остаётся неперепроверенной. Кросс-CLI strict не используется | `docs/artifacts/plan-reviews/`, `docs/artifacts/plan-review-fixes/` |
|
|
56
|
+
| `eda-plan-execute` | Управляет выполнением плана по фазам в режиме `subagents`, `main` или `auto`. В `subagents` каждую фазу целиком выполняет отдельный изолированный субагент: он полностью читает план, его `Рамку` и все файлы из `sources`. Перед сдачей фазы исполнитель сверяет изменения с каждым пунктом `Рамки` и `Принятых решений`, а проверяющий повторяет эту сверку независимо. Поле `Согласование` останавливает работу до ответа пользователя, механизмов вне плана исполнитель не добавляет. Фазы проходят строго последовательно и принимаются независимыми проверяющими. В `main` весь план по тем же правилам выполняет и проверяет основной агент в одном контексте, а `auto` выбирает режим по плану. Отметки подтверждённых задач и журнал ведёт основной агент | `docs/artifacts/executions/` |
|
|
55
57
|
| `eda-just-do-it` | Сразу выполняет задачу из текста рядом с вызовом: определяет scope, загружает только необходимые проектные инструкции, business/reference-карточки, код и тесты, вносит нужные изменения и проверяет результат. Не подменяет выполнение планом и не делает git- или внешние действия без прямого указания | `docs/artifacts/just-do-it/` |
|
|
56
58
|
| `eda-fix` | Делает обычные фиксы по короткому контексту, баг-репорту или плану. Перед правками читает правила, архитектуру и только применимые карточки, добавляет нужные тесты, прогоняет проверки и сохраняет историю правок | `docs/artifacts/fixes/` |
|
|
57
|
-
| `eda-review` | Оркестрирует отдельные read-only проверки корректности, архитектуры, правил, references, business-правил, плана, качества, тестов, безопасности, производительности, frontend/UI/UX, API, БД, документации и предыдущих ревью. Для PR/MR переиспользует результаты CI текущего head и не запускает локально уже завершённые там тесты, линтеры, typecheck, сборку и аналогичные проверки; смысловое ревью diff при этом выполняется полностью. Сохраняет только доказанные дефекты, которые обязательно исправить; косметические и спекулятивные предложения отбрасывает. Любая находка даёт `changes-required`, а чистое ревью — `clean` и 100/100. Без аргументов ревьюит `git diff HEAD` | `docs/artifacts/reviews/` |
|
|
59
|
+
| `eda-review` | Сначала отдельный агент `eda-review-triage` по содержимому ревью выбирает нужные проверки и применимые карточки, затем параллельно запускаются только они. Оркестрирует отдельные read-only проверки корректности, архитектуры, правил, references, business-правил, плана, качества, тестов, безопасности, производительности, frontend/UI/UX, API, БД, инфраструктуры, SEO, документации и предыдущих ревью. Производительность сравнивает base и head: рост числа запросов к БД и внешних вызовов на ту же операцию считается дефектом, а не оптимизацией. Инфраструктура и SEO проверяют только затронутое изменением и берут проектные решения вроде канонического хоста из `docs/rules.md`. Для PR/MR переиспользует результаты CI текущего head и не запускает локально уже завершённые там тесты, линтеры, typecheck, сборку и аналогичные проверки; смысловое ревью diff при этом выполняется полностью. Сохраняет только доказанные дефекты, которые обязательно исправить; косметические и спекулятивные предложения отбрасывает. Любая находка даёт `changes-required`, а чистое ревью — `clean` и 100/100. Без аргументов ревьюит `git diff HEAD` | `docs/artifacts/reviews/` |
|
|
58
60
|
| `eda-fix-by-review` | Применяет все находки из ревью с учётом правил, архитектуры и применимых карточек. Спрашивает только при неоднозначности, конфликте, расширении scope или рискованном действии. В конце ссылается на отчёт прямо в файле ревью | `docs/artifacts/review-fixes/` |
|
|
59
61
|
| `eda-manual-test` | Делает ручную проверку после изменений. По умолчанию проверка полная: разбирает план или другой артефакт по разделам, дополняет его фактическим `git diff HEAD` и закрывает матрицу областей — API, база данных, консольные команды, интерфейс, алгоритмы, фон и интеграции, права и роли, конфигурация, логи, регрессии рядом. Область нельзя закрыть чтением кода или зелёными автотестами; незакрытая область даёт `blocked`. Быстрый smoke включается настройкой `manual-test.depth` или словом в запросе. Применимая business-карточка может добавить только относящийся к задаче инвариант или сценарий. Не правит код, не пишет автотесты и не коммитит | `docs/artifacts/manual-tests/` |
|
|
60
|
-
| `eda-
|
|
62
|
+
| `eda-prod-check` | Read-only диагностика работающего прода или стейджа: «почему каждая страница открывается 5 секунд». Сначала замеряет симптом в цифрах, затем проходит слои снаружи внутрь — сеть и TLS, отдача статики, сервер (CPU, steal, память, диск), веб-сервер, runtime (opcache, PHP-FPM), приложение (debug, кеши фреймворка, драйверы), база, фронтенд — и сохраняет отчёт с причинами, их вкладом, доказательствами и исправлениями с ожидаемым эффектом. На сервере ничего не меняет и секреты не выводит | `docs/artifacts/prod-checks/` |
|
|
63
|
+
| `eda-polish` | Оркестрирует доводку изменений: запускает полное `eda-review`, затем `eda-fix-by-review` и повторяет цикл до подтверждённых 100/100, `clean` и отсутствия находок либо до лимита 5 итераций. Отсутствие прогресса не останавливает цикл. Режим цикла задаёт `polish.execution`: в `main` оба контракта выполняет основной агент без субагентов, в `subagents` каждый шаг получает отдельный изолированный контекст. Все находки исправляются. Не коммитит | `docs/artifacts/reviews/`, `docs/artifacts/review-fixes/` |
|
|
61
64
|
| `eda-send-review` | На `sonnet` / `gpt-5.6-terra` отправляет ревью на открытый GitHub PR через `gh` всегда в едином формате: общий комментарий-сводка плюс комментарии к строкам кода. Закрытый или смерженный PR не переиспользует и предлагает создать новый либо указать другой открытый PR. Без явно указанного типа использует `comment`; `approve` и `request-changes` берёт только из контекста текущего вызова. По настройке может скрыть предыдущие сводки eda-send-review и зарезолвить их inline-треды. По умолчанию шлёт все пункты. Claude-модель закрепляется при установке; Codex-модель хранится как рекомендуемый будущий override | (комментарий в PR) |
|
|
62
65
|
| `eda-commit` | Работает как лёгкий оркестратор одного `sonnet` / `gpt-5.6-terra` агента: тот сам собирает git-контекст, пишет сообщения и тексты PR по исходному запросу и фактическим изменениям, точечно коммитит и выполняет явно заданные push/PR/merge-действия. Агент экономит время: собирает контекст одним вызовом, не читает кодовую базу и документацию целиком, вместо полного diff берёт сводку `--stat` и дочитывает только неясные файлы, а смысл работы берёт из свежих артефактов `docs/artifacts/**`, если они есть в составе изменений. Весь состав идёт одним коммитом; на несколько логически цельных коммитов он делится только по явной просьбе (`split`, «раздели», «отдельными коммитами») или при явно раздельном scope. Для PR использует шаблон репозитория, отражает все группы изменений и указывает только реально выполненные проверки; существующим считает только открытый PR, а после закрытого или смерженного создаёт новый. С явным контекстом охватывает указанный состав; без контекста коммитит всё — все tracked-изменения и все untracked-файлы независимо от авторства и связи с текущей задачей, кроме очевидных кэшей и локальных служебных артефактов вроде `.DS_Store`. В Claude Code сам оркестратор закреплён за `sonnet`; в Codex остаётся на активной модели сессии из-за отсутствия per-skill override. При вероятном секрете агент блокируется до индексации затронутой группы. После любого push всегда возвращает ссылку — на существующий PR или на его создание — и спрашивает, создавать ли PR, если его нет. Если продолжение не задано, предлагает применимые варианты | (git, опционально GitHub PR) |
|
|
63
66
|
| `eda-worktree` | На `haiku` / `gpt-5.6-luna` создаёт через пакетного агента git worktree рядом с основным проектом в папке `{name}-work-{n}` и одноимённую ветку. Базу берёт из аргумента или спрашивает | соседняя папка `{name}-work-{n}` |
|
|
64
67
|
| `eda-merge-worktree` | На `haiku` / `gpt-5.6-luna` мержит через пакетного агента ветку из соседнего worktree в текущую ветку. Принимает номер `1`, короткое имя `work-1` или полное имя `{name}-work-1`. Worktree и ветку после merge не удаляет | (git) |
|
|
65
|
-
| `eda-prepare-ai` | Выполняет технический bootstrap нового или существующего проекта: проектирует архитектуру, строгие правила и профиль инструментов, проходит полный каталог автоматических проверок, подбирает применимые AI-скилы, роли и MCP, затем создаёт AI-документацию. Для нового проекта фиксирует точную команду официального scaffold CLI выбранного стека, чтобы основа создавалась штатным инструментом, а не вручную. Один факт хранит у одного владельца: `docs/rules.md` содержит рабочие действия, запреты и команды проверок, а `docs/arch.md` — топологию исходного кода, ownership, зависимости и потоки без рабочих инструкций. Подтверждённые требования, стек и архитектурные драйверы из `eda-new-project` принимает как обязательный вход и не переоткрывает без обнаруженного конфликта. Для пустого проекта не выдумывает reference-карточки и не выдаёт неустановленные инструменты за доступные | `docs/rules.md`, `docs/arch.md`, `docs/references.md`, `docs/references/`, `AGENTS.md`, `CLAUDE.md` |
|
|
68
|
+
| `eda-prepare-ai` | Выполняет технический bootstrap нового или существующего проекта: проектирует архитектуру, строгие правила и профиль инструментов, проходит полный каталог автоматических проверок, подбирает применимые AI-скилы, роли и MCP, затем создаёт AI-документацию. Для нового проекта фиксирует точную команду официального scaffold CLI выбранного стека, чтобы основа создавалась штатным инструментом, а не вручную. Один факт хранит у одного владельца: `docs/rules.md` содержит рабочие действия, запреты и команды проверок, а `docs/arch.md` — топологию исходного кода, ownership, зависимости и потоки без рабочих инструкций. Правила и архитектура — короткие индексы и карточки областей в `docs/rules/` и `docs/arch/`; любой файл рамки не больше 20 КБ, без датированных разделов и журналов изменений, чтобы агент читал его целиком. Подтверждённые требования, стек и архитектурные драйверы из `eda-new-project` принимает как обязательный вход и не переоткрывает без обнаруженного конфликта. Для пустого проекта не выдумывает reference-карточки и не выдаёт неустановленные инструменты за доступные | `docs/rules.md`, `docs/rules/`, `docs/arch.md`, `docs/arch/`, `docs/references.md`, `docs/references/`, `AGENTS.md`, `CLAUDE.md` |
|
|
66
69
|
| `eda-discover-automations` | Проводит baseline gap-аудит проекта даже без истории, а при наличии анализирует ревью, планы и фиксы. Не ограничивает число предложений: проверяет тесты/e2e, стиль, статанализ, границы модулей, конфиги/IaC, API/БД, security/supply chain, performance, release, эксплуатацию, browser MCP и MCP стека. Для каждой идеи даёт команду, контур запуска и приоритет; ничего не внедряет | `docs/artifacts/automations/` |
|
|
67
70
|
|
|
68
71
|
### Структура `docs/`
|
|
@@ -81,7 +84,7 @@ eda update-all ~/Code
|
|
|
81
84
|
|
|
82
85
|
### Экстремальный профиль проверок
|
|
83
86
|
|
|
84
|
-
`eda-prepare-ai` и `eda-discover-automations` проходят не короткий список, а полный стек-зависимый каталог. В него входят unit/integration/component/contract/API/e2e/smoke/regression-тесты; property-based, mutation и fuzz; visual regression, accessibility и cross-browser; форматирование, lint, сложность, дубли и dead code; typecheck, taint и sanitizers; границы модулей, циклы и направления зависимостей; валидация env, CI, Docker, Kubernetes, Terraform и других
|
|
87
|
+
`eda-prepare-ai` и `eda-discover-automations` проходят не короткий список, а полный стек-зависимый каталог. В него входят unit/integration/component/contract/API/e2e/smoke/regression-тесты; property-based, mutation и fuzz; visual regression, accessibility и cross-browser; форматирование, lint, сложность, дубли и dead code; typecheck, taint и sanitizers; границы модулей, циклы и направления зависимостей; валидация env, CI, Docker, Kubernetes, Terraform, прокси и других конфигов, включая редиректы на HTTPS и канонический хост; API/схемы и migrations; security, supply chain и SBOM; performance/load/soak/chaos и тесты на число запросов к БД и внешних вызовов; SEO и индексация публичных страниц; reproducible build, compatibility и release checks; документация, observability, backup/restore, доменные инварианты и AI evals.
|
|
85
88
|
|
|
86
89
|
Для каждой применимой проверки скил указывает инструмент, точную команду или сценарий, риск и место запуска: `pre-commit`, `pre-push`, `PR CI`, `nightly`, `release`, `post-deploy` или `MCP/manual`. Browser/Playwright MCP и MCP выбранного стека рассматриваются отдельно и не подменяют детерминированные CLI/CI-проверки. Фиксированного лимита предложений нет; неприменимые группы должны иметь явное обоснование.
|
|
87
90
|
|
|
@@ -96,9 +99,11 @@ eda update-all ~/Code
|
|
|
96
99
|
| `eda-aim-planner` | `sonnet`, workspace-write | `gpt-5.6-terra`, workspace-write | Задаёт вопросы, формулирует простой проверяемый список и создаёт файл только после подтверждения человека |
|
|
97
100
|
| `eda-aim-executor` | `opus`, workspace-write | `gpt-5.6-sol`, workspace-write | Выполняет назначенные пункты, при необходимости запрашивает установленные скилы для запуска в изолированных субагентах и дополняет общий журнал |
|
|
98
101
|
| `eda-aim-verifier` | `opus`, workspace-write | `gpt-5.6-sol`, workspace-write | Независимо проверяет каждый критерий, отмечает подтверждённые цели и возвращает пробелы на новый круг выполнения |
|
|
102
|
+
| `eda-skill-runner` | `opus`, workspace-write | `gpt-5.6-sol`, workspace-write | Выполняет один установленный скил в изолированной сессии; в OpenCode сохраняет возможность вложенных субагентов |
|
|
99
103
|
| `eda-commit-executor` | `sonnet` | `gpt-5.6-terra` | Одним вызовом собирает git-контекст, пишет сообщения коммитов и PR по запросу, артефактам и фактическим изменениям, коммитит состав одним коммитом или по группам при `split` и выполняет явно разрешённые push/PR/merge-действия |
|
|
100
104
|
| `eda-worktree-executor` | `haiku` | `gpt-5.6-luna` | Создаёт соседний worktree и одноимённую ветку, не изменяя файлы проекта |
|
|
101
105
|
| `eda-merge-worktree-executor` | `haiku` | `gpt-5.6-luna` | Мержит ветку из соседнего worktree в текущую без cleanup и ручного разрешения конфликтов |
|
|
106
|
+
| `eda-review-triage` | `sonnet`, read-only | `gpt-5.6-terra`, read-only | Выбирает проверки и применимые карточки по содержимому ревью |
|
|
102
107
|
| `eda-review-correctness` | `sonnet`, read-only | `gpt-5.6-terra`, read-only | Проверяет функциональную корректность и крайние случаи |
|
|
103
108
|
| `eda-review-architecture` | `opus`, read-only | `gpt-5.6-sol`, read-only | Проверяет архитектурные границы и зависимости |
|
|
104
109
|
| `eda-review-rules` | `haiku`, read-only | `gpt-5.6-luna`, read-only | Проверяет инструкции и правила проекта |
|
|
@@ -108,40 +113,54 @@ eda update-all ~/Code
|
|
|
108
113
|
| `eda-review-code-quality` | `sonnet`, read-only | `gpt-5.6-terra`, read-only | Проверяет читаемость, сложность и поддерживаемость |
|
|
109
114
|
| `eda-review-tests` | `sonnet`, read-only | `gpt-5.6-terra`, read-only | Проверяет тестовое покрытие и корректность тестов |
|
|
110
115
|
| `eda-review-security` | `opus`, read-only | `gpt-5.6-sol`, read-only | Проверяет безопасность и границы доверия |
|
|
111
|
-
| `eda-review-performance` | `sonnet`, read-only | `gpt-5.6-terra`, read-only | Проверяет
|
|
116
|
+
| `eda-review-performance` | `sonnet`, read-only | `gpt-5.6-terra`, read-only | Проверяет рост запросов, внешних вызовов, памяти и веса отдаваемого фронтенда |
|
|
112
117
|
| `eda-review-frontend` | `sonnet`, read-only | `gpt-5.6-terra`, read-only | Проверяет frontend-код, UI и UX по исходникам |
|
|
113
118
|
| `eda-review-api` | `sonnet`, read-only | `gpt-5.6-terra`, read-only | Проверяет API-контракты и совместимость |
|
|
114
119
|
| `eda-review-database` | `opus`, read-only | `gpt-5.6-sol`, read-only | Проверяет схемы, миграции, запросы и целостность данных |
|
|
120
|
+
| `eda-review-infra` | `sonnet`, read-only | `gpt-5.6-terra`, read-only | Проверяет образы, контейнеры, прокси и TLS, сжатие и кеш статики, production-настройки, CI/CD и конфигурацию окружений |
|
|
121
|
+
| `eda-review-seo` | `sonnet`, read-only | `gpt-5.6-terra`, read-only | Проверяет индексацию публичных страниц: адреса, редиректы, canonical, robots, sitemap и метаданные |
|
|
115
122
|
| `eda-review-documentation` | `haiku`, read-only | `gpt-5.6-luna`, read-only | Проверяет обязательные обновления документации |
|
|
116
123
|
| `eda-review-previous-reviews` | `haiku`, read-only | `gpt-5.6-luna`, read-only | Перепроверяет незакрытые удалённые замечания |
|
|
117
124
|
|
|
118
|
-
Агенты устанавливаются отдельно от скилов. Модели review-агентов в таблице — сбалансированные defaults; `docs/settings.yaml` или прямое указание пользователя может заменить модель конкретной проверки на текущий запуск в режиме `subagents`. `eda-aim` последовательно разделяет согласование, выполнение и независимую проверку, а при необходимости использует установленные скилы только в отдельных изолированных субагентах; основной агент передаёт вопросы и структурированные результаты. `eda-commit` сохраняет исходный запрос и целиком передаёт сбор контекста, выбор файлов, коммит и разрешённое продолжение одному простому агенту. `eda-worktree` и `eda-merge-worktree` передают одному специализированному агенту git-операцию, обрабатывают его вопрос или результат и сами команды не выполняют. `eda-review` поддерживает два режима: `subagents` параллельно запускает применимых review-агентов, а `main` выполняет те же проверки основным агентом
|
|
125
|
+
Агенты устанавливаются отдельно от скилов. Модели review-агентов в таблице — сбалансированные defaults; `docs/settings.yaml` или прямое указание пользователя может заменить модель конкретной проверки на текущий запуск в режиме `subagents`. `eda-aim` последовательно разделяет согласование, выполнение и независимую проверку, а при необходимости использует установленные скилы только в отдельных изолированных субагентах; основной агент передаёт вопросы и структурированные результаты. `eda-commit` сохраняет исходный запрос и целиком передаёт сбор контекста, выбор файлов, коммит и разрешённое продолжение одному простому агенту. `eda-worktree` и `eda-merge-worktree` передают одному специализированному агенту git-операцию, обрабатывают его вопрос или результат и сами команды не выполняют. `eda-review` поддерживает два режима: `subagents` параллельно запускает применимых review-агентов, а `main` выполняет те же проверки основным агентом без субагентов. Чек-лист каждой проверки хранится в одном файле `skills/eda-review/references/checks/<проверка>.md`: его читает `main`, а установщик встраивает в агента, поэтому оба режима проверяют одно и то же. Чек-лист перечисляет конкретные классы дефектов: тихие сбои и гонки, доступ к чужим объектам, SSRF и prompt injection, совместимость API для старых клиентов, миграции без простоя, вес CSS и JS, сжатие и кеш статики, production-настройки. В Codex специализированные review-агенты запускаются с `fork_turns: "none"`, без наследования истории. В `subagents` все выбранные проверки отправляются одним нативным параллельным пакетом без ручных партий и shell-опроса.
|
|
119
126
|
|
|
120
127
|
Для Claude Code установленный `eda-commit` получает `model: sonnet`, а `eda-worktree` и `eda-merge-worktree` — `model: haiku`. В Codex у скилов пока нет отдельного per-skill model override: основной поток остаётся на выбранной пользователем модели, но он выполняет только лёгкую оркестрацию; содержательная работа `eda-commit` закреплена за `gpt-5.6-terra`, а worktree-операции — за `gpt-5.6-luna`.
|
|
121
128
|
|
|
129
|
+
Codex-копии скилов начинаются с платформенного адаптера, а Codex-агенты заканчиваются тем же правилом чтения. Codex обрезает середину длинного вывода команды, поэтому вывод с пометкой `tokens truncated` не считается прочитанным файлом: агент дочитывает пропущенные строки, большие файлы читает частями, а документы рамки и план — только целиком. Адаптер также сопоставляет `AskUserQuestion` с `request_user_input`, `Agent` — со `spawn_agent`, а Plan Mode — с показом полного плана в чате; `update_plan` документ плана не заменяет.
|
|
130
|
+
|
|
131
|
+
### OpenCode V2
|
|
132
|
+
|
|
133
|
+
Вызывай скилы через `@eda-plan`, `@eda-review` и другие точные ID. OpenCode-копии содержат платформенный адаптер: вложенные скилы загружаются через `skill`, агенты запускаются через `subagent`, вопросы задаются через `question`. Изолированные шаги оркестраторов выполняет `eda-skill-runner`, а не встроенный general, у которого запрещены вложенные субагенты. Режимы `main` / `subagents` сохраняют обычные границы.
|
|
134
|
+
|
|
135
|
+
Все OpenCode-агенты по умолчанию наследуют модель сессии: колонки Claude/Codex в таблице выше к OpenCode не применяются. Модели ролей ревью из `review.agents` в формате `provider/model#variant` OpenCode применяет как есть. В каноническом `agent.json` можно задать необязательное `models.opencode` в формате `provider/model#variant`; variant необязателен. Модель можно настроить средствами OpenCode. Per-skill модель не назначается. При явном runtime override, который хост не поддерживает, скил возвращает `blocked`, а не молча заменяет модель.
|
|
136
|
+
|
|
137
|
+
Read-only роли используют V2 `permissions`: разрешены чтение, поиск и web-инструменты, запрещены shell, редакторы, MCP и субагенты. Оркестратор передаёт им diff и git/CI-контекст; такие агенты сами не запускают тесты. Git-write роли не получают редакторов, но shell наследует разрешения пользователя; workspace-write также не переопределяет пользовательские разрешения. Это правила инструментов, не отдельный OS sandbox.
|
|
138
|
+
|
|
139
|
+
Установщик не меняет `opencode.json(c)` и не требует перезапуска OpenCode. Скилы `.opencode/skills` имеют приоритет над совместимыми копиями `.claude/skills` и `.agents/skills` с тем же ID. Если нет обязательного инструмента, разрешения или нативного Plan Mode, workflow сообщает конкретный блокер. В strict из OpenCode нужно явно выбрать внешний Claude Code или Codex CLI либо ответить на вопрос скила.
|
|
140
|
+
|
|
122
141
|
---
|
|
123
142
|
|
|
124
143
|
## 🚩 Флаги скилов
|
|
125
144
|
|
|
126
145
|
У некоторых скилов есть флаг `strict` — он включает дополнительные тяжёлые проверки. Передаётся как часть запроса агенту, например: `eda-explore strict <тема>`. Также strict можно включить отдельно в `docs/settings.yaml`, например через `explore.strict: true`. У `eda-review` режим исполнения задаётся через `subagents` / `main`, а состав проверок — через собственные `mode` и `model`.
|
|
127
146
|
|
|
128
|
-
У `eda-plan-execute` есть режимы `
|
|
147
|
+
У `eda-plan-execute` есть режимы `main` / `auto` / `subagents`. Режим можно разово указать в вызове, например `eda-plan-execute subagents docs/artifacts/plans/....md`; без него используется `plan-execute.mode` из настроек, а без настроек — `main`.
|
|
129
148
|
|
|
130
149
|
Выбранный режим исполнения обязателен для `eda-plan-execute`, `eda-review`, `eda-polish` и `eda-orhestra`. При `main` из вызова или настроек агент не может перейти к субагентам из-за большого плана, diff или нехватки контекста. Прогресс и режим сохраняются для продолжения после сжатия контекста; при технической невозможности продолжить агент сообщает блокер. Выбор по размеру плана разрешён только в `eda-plan-execute auto` до начала выполнения. Зафиксированный режим меняется только по новому прямому указанию пользователя; `automatic` оркестратора такого права не даёт. У оркестратора `main` по-прежнему управляет только верхней цепочкой, а `main_propagated` также передаёт `main` совместимым execute/review-этапам; остальные вложенные контракты сохраняются.
|
|
131
150
|
|
|
132
151
|
У `eda-aim` есть режимы `automatic` / `manual`. В автоматическом основной агент сам отвечает на безопасные рабочие вопросы по рекомендации субагента и фактам проекта, в ручном передаёт их человеку. Режим можно разово указать в вызове; без него используется `aim.mode` из настроек. Точный список новых целей перед записью в `docs/artifacts/aims/` всё равно один раз подтверждает человек.
|
|
133
152
|
|
|
134
|
-
Скилы, которых нет в таблице ниже, не поддерживают эти флаги. Набор проверок `eda-review`
|
|
153
|
+
Скилы, которых нет в таблице ниже, не поддерживают эти флаги. Набор проверок `eda-review` выбирает `eda-review-triage` по содержимому ревью; модели и effort ролей задаются в `review.agents`.
|
|
135
154
|
|
|
136
155
|
| Скил | Флаг | Что включает | Когда стоит использовать |
|
|
137
156
|
|---|---|---|---|
|
|
138
157
|
| `eda-orhestra` | `automatic` / `manual`, `subagents` / `main` / `main_propagated`, `без полировки плана`, `без полировки кода`, `полировка кода N итераций`, `без ручных тестов` | Разово меняет вопросы, исполнение, состав цепочки и параметры шагов поверх `docs/settings.yaml` | `main` экономит верхний слой, `main_propagated` также включает main у совместимых execute/review-этапов |
|
|
139
158
|
| `eda-aim` | `automatic` / `manual` | Разово меняет способ ответа на рабочие вопросы поверх `aim.mode`; подтверждение точного списка новых целей остаётся обязательным | Автономная работа или совместное прохождение развилок с человеком |
|
|
140
159
|
| `eda-explore` | `strict` | После сохранения отчёта отдаёт его соседнему CLI (Claude → Codex или наоборот) на критическое ревью конкретности, фактов, развилок, рисков и версий; затем доправляет отчёт по замечаниям | Серьёзные исследования, которые лягут в основу больших решений; когда хочется второго мнения от другой модели/среды |
|
|
141
|
-
| `eda-plan` | `strict`, `без
|
|
160
|
+
| `eda-plan` | `strict`, `без проверок` | `strict` включает кросс-CLI проверку плана; `без проверок` её отключает. Полировку плана `eda-plan` не запускает: для неё есть `eda-plan-polish` и этап `eda-orhestra` | Когда нужна независимая проверка плана другим CLI |
|
|
142
161
|
| `eda-plan-review` | `threshold N` | Разово меняет долю закрытых пунктов, при которой план считается готовым | Для самостоятельного аудита готового плана |
|
|
143
162
|
| `eda-plan-execute` | `subagents` / `main` / `auto` | Разово меняет, где выполняются фазы, поверх `plan-execute.mode` | `main` для обязательного выполнения основным агентом, `subagents` для изолированных фаз, `auto` для выбора по размеру плана |
|
|
144
|
-
| `eda-plan-polish` | `
|
|
163
|
+
| `eda-plan-polish` | `limit N` | Меняет максимальное число итераций «проверка + исправление»; gate всегда 100, `threshold N` игнорируется | Для доводки ответственных планов перед `eda-plan-execute` |
|
|
145
164
|
| `eda-manual-test` | `full` / `полная проверка`, `smoke` / `быстро` | Разово меняет глубину ручной проверки поверх `manual-test.depth` | `smoke` для короткой правки, `full` — когда нужно закрыть все области после плана |
|
|
146
165
|
| `eda-polish` | `subagents` / `main`, `limit N` | Разово меняет способ выполнения review и исправлений поверх `polish.execution` и число итераций | `subagents` держит каждый шаг в чистом контексте, `main` экономит контекст на мелкой доводке |
|
|
147
166
|
| `eda-review` | `subagents` / `main` | Разово меняет способ выполнения выбранных проверок поверх `review.execution` | `main` экономит контекст на частых локальных ревью; `subagents` сохраняет независимость ролей для ответственных изменений |
|
|
@@ -157,6 +176,97 @@ eda update-all ~/Code
|
|
|
157
176
|
```yaml
|
|
158
177
|
version: 3
|
|
159
178
|
|
|
179
|
+
explore:
|
|
180
|
+
# Включает кросс-CLI ревью в eda-explore.
|
|
181
|
+
# false | true
|
|
182
|
+
strict: false
|
|
183
|
+
# Как eda-explore ведёт исследовательские развилки.
|
|
184
|
+
# recommend_and_ask | autonomous | ask_each_time
|
|
185
|
+
decision_mode: recommend_and_ask
|
|
186
|
+
|
|
187
|
+
plan:
|
|
188
|
+
# Размер плана.
|
|
189
|
+
# normal | short | ask_each_time
|
|
190
|
+
size: normal
|
|
191
|
+
# Как eda-plan принимает существенные решения.
|
|
192
|
+
# recommend_and_ask | autonomous | ask_each_time
|
|
193
|
+
decision_mode: recommend_and_ask
|
|
194
|
+
# Когда писать тесты и запускать автоматические проверки.
|
|
195
|
+
# phase_tests_final_checks | tdd_each_phase | after_each_phase | end_of_plan | ask_each_time
|
|
196
|
+
test_strategy: phase_tests_final_checks
|
|
197
|
+
# Стратегия логирования.
|
|
198
|
+
# standard | debug_precise | ask_each_time
|
|
199
|
+
logging_strategy: standard
|
|
200
|
+
# Включает кросс-CLI ревью в eda-plan.
|
|
201
|
+
# false | true
|
|
202
|
+
strict: false
|
|
203
|
+
|
|
204
|
+
plan-review:
|
|
205
|
+
# Доля закрытых пунктов чек-листа, при которой план считается готовым.
|
|
206
|
+
# 1..100
|
|
207
|
+
threshold: 100
|
|
208
|
+
|
|
209
|
+
plan-polish:
|
|
210
|
+
# Максимальное число итераций «проверка + исправление».
|
|
211
|
+
# Положительное целое число.
|
|
212
|
+
limit: 5
|
|
213
|
+
|
|
214
|
+
plan-execute:
|
|
215
|
+
# Где eda-plan-execute выполняет фазы плана.
|
|
216
|
+
# main — весь план одним контекстом, auto — решает по плану, subagents — каждая фаза в отдельном субагенте.
|
|
217
|
+
mode: main
|
|
218
|
+
|
|
219
|
+
review:
|
|
220
|
+
# Где eda-review выполняет выбранные проверки.
|
|
221
|
+
# main — все проверки основным агентом без субагентов, subagents — разведчик и отдельный агент на проверку.
|
|
222
|
+
execution: main
|
|
223
|
+
# Какие проверки нужны, решает eda-review-triage по содержимому ревью.
|
|
224
|
+
# Модель роли в subagents: default — модель установленного агента, иначе provider/model#variant,
|
|
225
|
+
# например anthropic/claude-opus-5-5#high или deepseek/deepseek-flash-4.1; variant задаёт effort.
|
|
226
|
+
# Если среда не может запустить модель, роль идёт на модели агента с предупреждением в ревью.
|
|
227
|
+
# В main все проверки выполняет текущая модель.
|
|
228
|
+
agents:
|
|
229
|
+
triage: default
|
|
230
|
+
correctness: default
|
|
231
|
+
architecture: default
|
|
232
|
+
rules: default
|
|
233
|
+
references: default
|
|
234
|
+
business: default
|
|
235
|
+
plan_alignment: default
|
|
236
|
+
code_quality: default
|
|
237
|
+
tests: default
|
|
238
|
+
security: default
|
|
239
|
+
performance: default
|
|
240
|
+
frontend: default
|
|
241
|
+
api: default
|
|
242
|
+
database: default
|
|
243
|
+
infra: default
|
|
244
|
+
seo: default
|
|
245
|
+
documentation: default
|
|
246
|
+
previous_reviews: default
|
|
247
|
+
|
|
248
|
+
polish:
|
|
249
|
+
# Где eda-polish выполняет review и исправления цикла полировки.
|
|
250
|
+
# subagents — каждое review и каждое исправление в отдельном изолированном субагенте, main — оба контракта основным агентом.
|
|
251
|
+
execution: subagents
|
|
252
|
+
|
|
253
|
+
manual-test:
|
|
254
|
+
# Глубина ручной проверки в eda-manual-test.
|
|
255
|
+
# full — закрыть все применимые области: API, база, консольные команды, интерфейс, алгоритмы, фон, права, конфигурацию, логи и регрессии рядом.
|
|
256
|
+
# smoke — только запуск и основной сценарий изменённой области.
|
|
257
|
+
# full | smoke | ask_each_time
|
|
258
|
+
depth: full
|
|
259
|
+
|
|
260
|
+
send-review:
|
|
261
|
+
# После успешной отправки скрывает предыдущие сводки eda-send-review и резолвит их inline-треды.
|
|
262
|
+
# true | false
|
|
263
|
+
close_previous_reviews: true
|
|
264
|
+
|
|
265
|
+
discover-automations:
|
|
266
|
+
# Добавляет docs/artifacts/plans/ в обычный запуск eda-discover-automations.
|
|
267
|
+
# false | true
|
|
268
|
+
include_plans: false
|
|
269
|
+
|
|
160
270
|
orhestra:
|
|
161
271
|
# Режим полного цикла eda-orhestra.
|
|
162
272
|
# automatic | manual
|
|
@@ -204,197 +314,6 @@ aim:
|
|
|
204
314
|
# Режим ответов на рабочие вопросы eda-aim.
|
|
205
315
|
# automatic | manual
|
|
206
316
|
mode: automatic
|
|
207
|
-
|
|
208
|
-
explore:
|
|
209
|
-
# Включает кросс-CLI ревью в eda-explore.
|
|
210
|
-
# true | false
|
|
211
|
-
strict: false
|
|
212
|
-
# Определяет, как eda-explore ведёт исследовательские развилки.
|
|
213
|
-
# autonomous | recommend_and_ask | ask_each_time
|
|
214
|
-
decision_mode: recommend_and_ask
|
|
215
|
-
|
|
216
|
-
plan:
|
|
217
|
-
# Включает кросс-CLI ревью в eda-plan.
|
|
218
|
-
# true | false
|
|
219
|
-
strict: false
|
|
220
|
-
# Запускает изолированный цикл eda-plan-polish.
|
|
221
|
-
# true | false
|
|
222
|
-
review: true
|
|
223
|
-
# Задаёт размер плана.
|
|
224
|
-
# normal | short | ask_each_time
|
|
225
|
-
size: normal
|
|
226
|
-
# Определяет, как eda-plan принимает существенные решения.
|
|
227
|
-
# autonomous | recommend_and_ask | ask_each_time
|
|
228
|
-
decision_mode: recommend_and_ask
|
|
229
|
-
# Задаёт стратегию тестов и автоматических проверок.
|
|
230
|
-
# after_each_phase | phase_tests_final_checks | tdd_each_phase | end_of_plan | ask_each_time
|
|
231
|
-
test_strategy: ask_each_time
|
|
232
|
-
# Задаёт стратегию логирования.
|
|
233
|
-
# debug_precise | standard | ask_each_time
|
|
234
|
-
logging_strategy: ask_each_time
|
|
235
|
-
|
|
236
|
-
plan-review:
|
|
237
|
-
# Доля закрытых пунктов чек-листа, при которой план считается готовым.
|
|
238
|
-
threshold: 100
|
|
239
|
-
|
|
240
|
-
plan-polish:
|
|
241
|
-
# Максимальное число итераций «проверка + исправление».
|
|
242
|
-
limit: 1
|
|
243
|
-
|
|
244
|
-
plan-execute:
|
|
245
|
-
# Где eda-plan-execute выполняет фазы плана.
|
|
246
|
-
# subagents — каждая фаза в отдельном субагенте, main — весь план одним контекстом, auto — решает по плану.
|
|
247
|
-
mode: auto
|
|
248
|
-
|
|
249
|
-
polish:
|
|
250
|
-
# Где eda-polish выполняет review и исправления цикла полировки.
|
|
251
|
-
# subagents — каждое review и каждое исправление в отдельном изолированном субагенте, main — оба контракта основным агентом.
|
|
252
|
-
execution: subagents
|
|
253
|
-
|
|
254
|
-
manual-test:
|
|
255
|
-
# Глубина ручной проверки в eda-manual-test.
|
|
256
|
-
# full — закрыть все применимые области: API, база, консольные команды, интерфейс, алгоритмы, фон, права, конфигурацию, логи и регрессии рядом.
|
|
257
|
-
# smoke — только запуск и основной сценарий изменённой области.
|
|
258
|
-
# full | smoke | ask_each_time
|
|
259
|
-
depth: full
|
|
260
|
-
|
|
261
|
-
review:
|
|
262
|
-
# subagents — отдельный специализированный агент на проверку, main — все проверки основным агентом без субагентов.
|
|
263
|
-
execution: subagents
|
|
264
|
-
# Каждая проверка имеет собственный режим запуска; модели применяются только в subagents.
|
|
265
|
-
agents:
|
|
266
|
-
# Проверяет ошибки в логике, крайние случаи и обработку ошибок.
|
|
267
|
-
# Эта базовая проверка по умолчанию запускается всегда.
|
|
268
|
-
correctness:
|
|
269
|
-
# always — всегда, auto — когда применимо, off — отключено.
|
|
270
|
-
mode: always
|
|
271
|
-
model:
|
|
272
|
-
# Модель для Claude Code.
|
|
273
|
-
claude: sonnet
|
|
274
|
-
# Модель для Codex.
|
|
275
|
-
codex: gpt-5.6-terra
|
|
276
|
-
|
|
277
|
-
# Проверяет архитектурные границы, зависимости и разделение ответственности.
|
|
278
|
-
# В auto запускается при изменении модулей, зависимостей, публичных контрактов или границ системы.
|
|
279
|
-
architecture:
|
|
280
|
-
mode: auto
|
|
281
|
-
model:
|
|
282
|
-
claude: opus
|
|
283
|
-
codex: gpt-5.6-sol
|
|
284
|
-
|
|
285
|
-
# Проверяет соблюдение AGENTS.md, CLAUDE.md и docs/rules.md.
|
|
286
|
-
# Эта базовая проверка по умолчанию запускается всегда.
|
|
287
|
-
rules:
|
|
288
|
-
mode: always
|
|
289
|
-
model:
|
|
290
|
-
claude: haiku
|
|
291
|
-
codex: gpt-5.6-luna
|
|
292
|
-
|
|
293
|
-
# Проверяет соответствие применимым карточкам из docs/references/.
|
|
294
|
-
# В auto запускается только когда для изменений выбраны применимые карточки.
|
|
295
|
-
references:
|
|
296
|
-
mode: auto
|
|
297
|
-
model:
|
|
298
|
-
claude: haiku
|
|
299
|
-
codex: gpt-5.6-luna
|
|
300
|
-
|
|
301
|
-
# Проверяет изменённое поведение по применимым карточкам из docs/business/.
|
|
302
|
-
# В auto запускается только когда изменения затрагивают поведение с применимой business-карточкой.
|
|
303
|
-
business:
|
|
304
|
-
mode: auto
|
|
305
|
-
model:
|
|
306
|
-
claude: sonnet
|
|
307
|
-
codex: gpt-5.6-terra
|
|
308
|
-
|
|
309
|
-
# Проверяет, что реализация соответствует указанному или однозначно найденному плану.
|
|
310
|
-
# В auto запускается только когда у ревью есть конкретный план.
|
|
311
|
-
plan_alignment:
|
|
312
|
-
mode: auto
|
|
313
|
-
model:
|
|
314
|
-
claude: sonnet
|
|
315
|
-
codex: gpt-5.6-terra
|
|
316
|
-
|
|
317
|
-
# Проверяет читаемость, сложность, дублирование и поддерживаемость кода.
|
|
318
|
-
# Эта базовая проверка по умолчанию запускается всегда.
|
|
319
|
-
code_quality:
|
|
320
|
-
mode: always
|
|
321
|
-
model:
|
|
322
|
-
claude: sonnet
|
|
323
|
-
codex: gpt-5.6-terra
|
|
324
|
-
|
|
325
|
-
# Проверяет достаточность, корректность и устойчивость тестов.
|
|
326
|
-
# Эта базовая проверка по умолчанию запускается всегда.
|
|
327
|
-
tests:
|
|
328
|
-
mode: always
|
|
329
|
-
model:
|
|
330
|
-
claude: sonnet
|
|
331
|
-
codex: gpt-5.6-terra
|
|
332
|
-
|
|
333
|
-
# Проверяет уязвимости, права доступа, валидацию и работу с чувствительными данными.
|
|
334
|
-
# В auto запускается для auth, permissions, внешнего ввода, файлов, сети, секретов и криптографии.
|
|
335
|
-
security:
|
|
336
|
-
mode: auto
|
|
337
|
-
model:
|
|
338
|
-
claude: opus
|
|
339
|
-
codex: gpt-5.6-sol
|
|
340
|
-
|
|
341
|
-
# Проверяет запросы, циклы, память, конкурентность и другие риски производительности.
|
|
342
|
-
# В auto запускается при изменении запросов, кешей, конкурентности или горячих путей.
|
|
343
|
-
performance:
|
|
344
|
-
mode: auto
|
|
345
|
-
model:
|
|
346
|
-
claude: sonnet
|
|
347
|
-
codex: gpt-5.6-terra
|
|
348
|
-
|
|
349
|
-
# Проверяет фронтенд-код, UI, UX, адаптивность и состояния интерфейса.
|
|
350
|
-
# В auto обязательно запускается при изменении компонентов, стилей, клиентских маршрутов или состояния UI.
|
|
351
|
-
frontend:
|
|
352
|
-
mode: auto
|
|
353
|
-
model:
|
|
354
|
-
claude: sonnet
|
|
355
|
-
codex: gpt-5.6-terra
|
|
356
|
-
|
|
357
|
-
# Проверяет API-контракты, совместимость, валидацию и обработку ошибок.
|
|
358
|
-
# В auto запускается при изменении маршрутов, handlers, DTO, схем API, GraphQL или RPC.
|
|
359
|
-
api:
|
|
360
|
-
mode: auto
|
|
361
|
-
model:
|
|
362
|
-
claude: sonnet
|
|
363
|
-
codex: gpt-5.6-terra
|
|
364
|
-
|
|
365
|
-
# Проверяет схемы, миграции, запросы, индексы и целостность данных.
|
|
366
|
-
# В auto запускается при изменении миграций, моделей хранения, SQL, схем или транзакций.
|
|
367
|
-
database:
|
|
368
|
-
mode: auto
|
|
369
|
-
model:
|
|
370
|
-
claude: opus
|
|
371
|
-
codex: gpt-5.6-sol
|
|
372
|
-
|
|
373
|
-
# Проверяет, обновлена ли документация для изменившегося пользовательского поведения.
|
|
374
|
-
# В auto запускается при изменении публичного API, CLI, настроек или документируемого поведения.
|
|
375
|
-
documentation:
|
|
376
|
-
mode: auto
|
|
377
|
-
model:
|
|
378
|
-
claude: haiku
|
|
379
|
-
codex: gpt-5.6-luna
|
|
380
|
-
|
|
381
|
-
# Перепроверяет незакрытые замечания предыдущих ревью для удалённого PR или MR.
|
|
382
|
-
# В auto запускается только для ссылки на PR/MR или другой цели с доступными удалёнными обсуждениями.
|
|
383
|
-
previous_reviews:
|
|
384
|
-
mode: auto
|
|
385
|
-
model:
|
|
386
|
-
claude: haiku
|
|
387
|
-
codex: gpt-5.6-luna
|
|
388
|
-
|
|
389
|
-
send-review:
|
|
390
|
-
# После успешной отправки скрывает предыдущие сводки eda-send-review и резолвит их inline-треды.
|
|
391
|
-
# true | false
|
|
392
|
-
close_previous_reviews: false
|
|
393
|
-
|
|
394
|
-
discover-automations:
|
|
395
|
-
# Добавляет docs/artifacts/plans/ в обычный запуск eda-discover-automations.
|
|
396
|
-
# true | false
|
|
397
|
-
include_plans: false
|
|
398
317
|
```
|
|
399
318
|
|
|
400
319
|
Что означают настройки:
|
|
@@ -405,23 +324,24 @@ discover-automations:
|
|
|
405
324
|
- `steps[].on_failure` — настраивает исправление failed manual-test прямо рядом с этим шагом: `skill` и `args` задают фикс, `then` — повторяемые id шагов, `max_cycles` — лимит. Если обработчика нет, оркестратор сохраняет failed-отчёт и останавливается.
|
|
406
325
|
- `aim.mode` — `automatic` самостоятельно выбирает безопасные ответы на рабочие вопросы; `manual` передаёт вопросы человеку. Явный режим в текущем вызове имеет приоритет.
|
|
407
326
|
- `explore.strict` и `explore.decision_mode` — кросс-CLI ревью и способ выбора по исследовательским развилкам в `eda-explore`.
|
|
408
|
-
- `plan.
|
|
409
|
-
- `plan.size`, `plan.decision_mode`, `plan.test_strategy`, `plan.logging_strategy` — режим и структура работы `eda-plan`. Имя `test_strategy` сохранено для совместимости, но настройка управляет и тестами, и автоматическими проверками: `after_each_phase` запускает их после каждой фазы, `tdd_each_phase` сначала пишет тесты и после реализации запускает все проверки фазы, `phase_tests_final_checks` в фазе запускает только добавленные или изменённые ею тесты, а остальные проверки оставляет финалу, `end_of_plan` переносит тесты и автоматические проверки в конец плана.
|
|
327
|
+
- `plan.strict` — кросс-CLI ревью плана в `eda-plan`. Полировки плана внутри `eda-plan` нет: её делает `eda-plan-polish` отдельно или этапом `eda-orhestra`.
|
|
328
|
+
- `plan.size`, `plan.decision_mode`, `plan.test_strategy`, `plan.logging_strategy` — режим и структура работы `eda-plan`. Имя `test_strategy` сохранено для совместимости, но настройка управляет и тестами, и автоматическими проверками: `after_each_phase` запускает их после каждой фазы, `tdd_each_phase` сначала пишет тесты и после реализации запускает все проверки фазы, `phase_tests_final_checks` в фазе запускает только добавленные или изменённые ею тесты, а остальные проверки оставляет финалу, `end_of_plan` переносит тесты и автоматические проверки в конец плана. Defaults: `size: normal`, `decision_mode: recommend_and_ask`, `test_strategy: phase_tests_final_checks`, `logging_strategy: standard`.
|
|
410
329
|
- `plan-review.threshold` — доля закрытых пунктов чек-листа для статуса `ready`, default `100`. Отдельных агентов у `plan-review` больше нет: проверку целиком делает один субагент.
|
|
411
|
-
- `plan-polish.limit` — максимальное число итераций «проверка + исправление»; default `
|
|
412
|
-
- `plan-execute.mode` — где `eda-plan-execute` выполняет фазы: `subagents` — каждая фаза в отдельном изолированном субагенте с независимой проверкой, `main` — весь план одним контекстом без субагентов, `auto` — выбор по плану; default `
|
|
330
|
+
- `plan-polish.limit` — максимальное число итераций «проверка + исправление»; default `5`. Отдельного подтверждающего прохода нет: исправление проверяет ревью следующей итерации. Отсутствие роста score, повторные пункты и исправление без изменений цикл не останавливают: он идёт до 100/100 или лимита.
|
|
331
|
+
- `plan-execute.mode` — где `eda-plan-execute` выполняет фазы: `subagents` — каждая фаза в отдельном изолированном субагенте с независимой проверкой, `main` — весь план одним контекстом без субагентов, `auto` — выбор по плану; default `main`. Явный режим в вызове имеет приоритет.
|
|
413
332
|
- `polish.execution` — где `eda-polish` выполняет review и исправления своего цикла: `subagents` — каждый шаг в отдельном изолированном субагенте, `main` — оба контракта основным агентом; default `subagents`. Настройка независима от `review.execution`, которая задаёт только раскладку проверок внутри `eda-review`. Явный режим в вызове и `main` от `eda-orhestra` в `main_propagated` имеют приоритет.
|
|
414
333
|
- `manual-test.depth` — глубина ручной проверки в `eda-manual-test`: `full` — закрыть все применимые области матрицы покрытия, `smoke` — только запуск и основной сценарий изменённой области, `ask_each_time` — спрашивать каждый раз; default `full`. Явная глубина в вызове имеет приоритет.
|
|
415
|
-
- `review.execution` — где выполняются проверки `eda-review`: `subagents` запускает отдельные специализированные роли, `main` выполняет те же выбранные проверки основным агентом без субагентов и с однократной загрузкой общего контекста; default `
|
|
416
|
-
- `review.agents.<
|
|
417
|
-
-
|
|
334
|
+
- `review.execution` — где выполняются проверки `eda-review`: `subagents` запускает отдельные специализированные роли, `main` выполняет те же выбранные проверки основным агентом без субагентов и с однократной загрузкой общего контекста; default `main`. Явный режим в вызове имеет приоритет.
|
|
335
|
+
- `review.agents.<role>` — одна строка на роль: `default` или модель `provider/model#variant`, где provider и variant необязательны, а variant задаёт effort. Например: `security: anthropic/claude-opus-5-5#high`, `triage: deepseek/deepseek-flash-4.1`, `tests: default#high`. `default` — модель и effort установленного агента: в Claude Code и Codex — из `agent.json`, в OpenCode — модель агента или сессии. Установщик пишет `default` и о моделях не спрашивает; значения меняются вручную. Применяются только в `subagents`, в `main` работает текущая модель агента.
|
|
336
|
+
- Одна строка действует во всех средах проекта. Claude Code запускает только модели Claude, Codex — только OpenAI, OpenCode — любые. Если текущая среда не может запустить указанную модель, роль выполняется на модели установленного агента, а в покрытии ревью появляется warning.
|
|
337
|
+
- Режимов `always` / `auto` / `off` у проверок нет: какие проверки нужны, решает `eda-review-triage` по содержимому ревью, а в `main` — основной агент по той же таблице. При переходе на 4.0 `eda update` ставит `default` всем ролям и переписывает конфиг; после этого заданные вручную модели сохраняются, а значение не в формате `default` или `provider/model#variant` заменяется на `default` с сообщением.
|
|
418
338
|
- `eda-review` не делит находки по обязательности: каждый принятый пункт требует исправления, а предложения без доказанного практического дефекта отбрасываются. Score остаётся экспертной оценкой серьёзности; любая находка блокирует `clean` независимо от score.
|
|
419
|
-
- `send-review.close_previous_reviews` — после успешной новой отправки скрывает предыдущие сводки, созданные `eda-send-review` текущим GitHub-пользователем, и резолвит связанные inline-треды; прямое указание в текущем запросе переопределяет настройку.
|
|
339
|
+
- `send-review.close_previous_reviews` — после успешной новой отправки скрывает предыдущие сводки, созданные `eda-send-review` текущим GitHub-пользователем, и резолвит связанные inline-треды; default `true`, прямое указание в текущем запросе переопределяет настройку.
|
|
420
340
|
- `discover-automations.include_plans` — добавляет `docs/artifacts/plans/` в обычный запуск `eda-discover-automations`.
|
|
421
341
|
|
|
422
|
-
Каждый скилл читает только свой раздел. Для `eda-review` прямое указание в текущем запросе может разово включить или отключить проверку и заменить её
|
|
342
|
+
Каждый скилл читает только свой раздел. Для `eda-review` прямое указание в текущем запросе может разово включить или отключить проверку и заменить её модель или effort, например: «без performance, включи business, architecture на anthropic/claude-opus-5-5#high, security на default#xhigh». Такие указания важнее выбора triage.
|
|
423
343
|
|
|
424
|
-
Поддерживается только `version: 3`. Полный валидный v3 установщик сохраняет как есть, пока его текст совпадает с шаблоном пакета; когда шаблон меняется — например, у настройки появляется новое допустимое значение, — файл перерисовывается без вопросов: ваши значения переносятся, посторонние ключи и ручные комментарии не сохраняются. Старые, неизвестные и неполные файлы разбираются через YAML: валидные известные значения переносятся, в TTY спрашиваются только отсутствующие, затем профиль целиком атомарно нормализуется. Без TTY недостающие поля получают defaults. `plan.
|
|
344
|
+
Поддерживается только `version: 3`. Полный валидный v3 установщик сохраняет как есть, пока его текст совпадает с шаблоном пакета; когда шаблон меняется — например, у настройки появляется новое допустимое значение, — файл перерисовывается без вопросов: ваши значения переносятся, посторонние ключи и ручные комментарии не сохраняются. Старые, неизвестные и неполные файлы разбираются через YAML: валидные известные значения переносятся, в TTY спрашиваются только отсутствующие, затем профиль целиком атомарно нормализуется. Без TTY недостающие поля получают defaults. `plan.review`, `plan.meta_review` и `plan-polish.strict` удаляются.
|
|
425
345
|
|
|
426
346
|
`eda update-all configure` записывает один общий v3-профиль. `skip` сохраняет актуальный полный v3 и перерисовывает устаревший по шаблону, индивидуально переносит остальные конфиги и создаёт defaults при отсутствии файла. Подробности перехода приведены в [MIGRATION.md](MIGRATION.md)
|
|
427
347
|
|
|
@@ -485,8 +405,9 @@ discover-automations может запускаться от review, fix-by-revie
|
|
|
485
405
|
## 🎯 Главные принципы
|
|
486
406
|
|
|
487
407
|
- **Простой язык.** Скилы общаются с тобой так, чтобы понял человек без глубоких знаний предмета. Термины — только когда без них нельзя.
|
|
488
|
-
-
|
|
489
|
-
-
|
|
408
|
+
- **Вопросы — раундами с рекомендацией.** Скилы, которые согласуют решения (`eda-plan`, `eda-explore`, `eda-business`, `eda-new-project`, `eda-prepare-ai`), сначала сами выясняют факты, а затем задают раундом все вопросы, которые уже можно задать; вопрос, зависящий от ещё не данного ответа, ждёт следующего раунда. У каждого вопроса — зачем он, 2–4 варианта и рекомендованный вариант первым с причиной.
|
|
409
|
+
- **Все вопросы — интерактивно.** Скилы задают вопрос через `AskUserQuestion`, а платформенный адаптер подставляет инструмент среды: в Claude Code это сам `AskUserQuestion`, в Codex — `request_user_input` или блокирующий вопрос в чат, в OpenCode — `question`. В неинтерактивных запусках (`codex exec`, `claude -p`) скил не имитирует диалог: если без ответа нельзя безопасно продолжать, он завершает работу со статусом `blocked: нужен ответ пользователя`.
|
|
410
|
+
- **Способ review настраивается.** В `subagents` `eda-review` запускает установленных read-only агентов нативным механизмом Claude/Codex и блокируется при их недоступности без CLI-fallback. В `main` основной агент выполняет те же выбранные проверки по тем же чек-листам без субагентов и повторной загрузки общего контекста.
|
|
490
411
|
- **Технические остановки обрабатываются по причине.** Оркестраторы ждут свободный слот при лимите параллельности, запрашивают недостающее разрешение, один раз продолжают агента после временной API-ошибки и без бессмысленных retry останавливаются при лимите глубины, исчерпанной квоте или неизвестном сбое.
|
|
491
412
|
- **Повторяемые роли — в пакетных агентах.** Скилы управляют процессом, а стабильные изолированные роли получают собственный prompt, модель и доступ. Полные review-prompts не дублируются в оркестраторе.
|
|
492
413
|
- **Артефакты по папкам.** Исследования отдельно, планы отдельно, ревью отдельно. Между файлами — ссылки. Через месяц легко найти, кто что когда решал.
|
|
@@ -498,8 +419,8 @@ discover-automations может запускаться от review, fix-by-revie
|
|
|
498
419
|
## 💻 Команды
|
|
499
420
|
|
|
500
421
|
```bash
|
|
501
|
-
eda init # выбрать Claude Code / Codex /
|
|
502
|
-
eda update #
|
|
422
|
+
eda init # выбрать Claude Code / Codex / OpenCode и установить пакет
|
|
423
|
+
eda update # предложить добавить платформы, обновить настройки, скилы и агентов
|
|
503
424
|
eda update-all [dir] # сохранить конфиги или настроить общий и обновить проекты на глубине 2
|
|
504
425
|
eda --version # показать версию установленного пакета
|
|
505
426
|
eda --help # справка
|
|
@@ -527,15 +448,15 @@ eda update-all ~/Code
|
|
|
527
448
|
|
|
528
449
|
Исходники агентов лежат в `agents/<agent>/agent.json` и `prompt.md`. Установщик рендерит единый агентный контракт в нативный формат выбранной среды.
|
|
529
450
|
|
|
530
|
-
| Компонент | Claude Code | Codex CLI |
|
|
531
|
-
|
|
532
|
-
| Скил | `.claude/skills/<skill>/SKILL.md` | `.agents/skills/<skill>/SKILL.md` |
|
|
533
|
-
| Агент | `.claude/agents/<agent>.md` | `.codex/agents/<agent>.toml` |
|
|
534
|
-
| Manifest владения | `.claude/eda-manifest.json` | `.codex/eda-manifest.json` |
|
|
451
|
+
| Компонент | Claude Code | Codex CLI | OpenCode V2 |
|
|
452
|
+
|---|---|---|---|
|
|
453
|
+
| Скил | `.claude/skills/<skill>/SKILL.md` | `.agents/skills/<skill>/SKILL.md` | `.opencode/skills/<skill>/SKILL.md` |
|
|
454
|
+
| Агент | `.claude/agents/<agent>.md` | `.codex/agents/<agent>.toml` | `.opencode/agents/<agent>.md` |
|
|
455
|
+
| Manifest владения | `.claude/eda-manifest.json` | `.codex/eda-manifest.json` | `.opencode/eda-manifest.json` |
|
|
535
456
|
|
|
536
457
|
`eda update` переносит известные старые каталоги артефактов, сохраняет актуальный полный v3-конфиг как есть, устаревший по шаблону перерисовывает с сохранением значений, а старый или неполный умно переносит и целиком нормализует; затем идемпотентно синхронизирует обе группы компонентов и отдельно показывает реально изменившиеся скилы и агенты. Manifest хранит только идентификаторы компонентов, которыми владеет `eda`: retired-компоненты удаляются, а чужие скилы и агенты остаются нетронутыми. `eda update-all [dir]` выполняет тот же перенос артефактов в каждом проекте, затем либо записывает общий профиль, либо в `skip` сохраняет актуальный полный v3, перерисовывает устаревший по шаблону и переносит остальные настройки. При миграции Codex установщик переносит актуальные скилы в `.agents/skills/` и удаляет принадлежащие `eda` старые копии `.codex/skills/<skill>/` и `.codex/skills/<skill>.md`, не затрагивая чужие компоненты.
|
|
537
458
|
|
|
538
|
-
Установленные копии не являются источником правды. Локальные изменения внутри `.claude/skills/eda-*`, `.agents/skills/eda-*`, `.claude/agents/eda-*` или `.
|
|
459
|
+
Установленные копии не являются источником правды. Локальные изменения внутри `.claude/skills/eda-*`, `.agents/skills/eda-*`, `.opencode/skills/eda-*`, `.claude/agents/eda-*`, `.codex/agents/eda-*` или `.opencode/agents/eda-*` будут заменены следующим обновлением.
|
|
539
460
|
|
|
540
461
|
`AGENTS.md` (как и любые другие файлы в корне проекта) установщик **не трогает**. Codex автоматически обнаруживает проектные скилы в `.agents/skills/`.
|
|
541
462
|
|