@gian-tiaga/eda 3.12.0 → 3.13.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/README.md CHANGED
@@ -43,7 +43,7 @@ eda update-all ~/Code
43
43
  |---|---|---|
44
44
  | `eda-orhestra` | Выполняет настраиваемую цепочку `eda-*`-скилов. В `subagents` каждый этап получает чистый контекст, в `main` этапы выполняет текущий агент, а `main_propagated` дополнительно передаёт `main` в совместимые execute/review-этапы. По умолчанию: план без проверок → полировка плана → выполнение → автономное ревью и исправления → ручные тесты. Если QA нашёл баг, оркестра запускает fix и повторяет только ручной тест. В `orhestra.steps` шаги можно переставлять, отключать и снабжать `args`. Не коммитит | Артефакты включённых скилов |
45
45
  | `eda-aim` | Сначала через отдельного агента-планировщика согласует с человеком одну или несколько простых проверяемых целей, затем передаёт их агентам-исполнителям и повторяет работу до независимого подтверждения агентом-проверяющим. При необходимости использует установленные скилы в отдельных изолированных субагентах. В `automatic` отвечает на безопасные рабочие вопросы самостоятельно, в `manual` передаёт их человеку; режим задаётся через `aim.mode` или текущий вызов. Точный список новых целей человек подтверждает всегда | `docs/artifacts/aims/` и артефакты задействованных скилов |
46
- | `eda-new-project` | Помогает стартовать новый проект: собирает и согласует требования, функциональность и границы, ограничения и архитектурные драйверы, сравнивает варианты основного стека и фиксирует выбранные компоненты с актуальными стабильными версиями. Не проектирует архитектуру, правила, проверки, AI-скилы или MCP; сохраняет подтверждённый стартовый бриф и всегда без дополнительного вопроса запускает полный технический bootstrap через `eda-prepare-ai` | `docs/artifacts/project-starts/`, затем артефакты `eda-prepare-ai` |
46
+ | `eda-new-project` | Помогает стартовать новый проект: собирает и согласует требования, функциональность и границы, ограничения и архитектурные драйверы, сравнивает варианты основного стека и фиксирует выбранные компоненты с актуальными стабильными версиями. Если у стека есть официальный generator/scaffold CLI, передаёт его как обязательный способ разворачивания вместо ручного создания основы. Не проектирует архитектуру, правила, проверки, AI-скилы или MCP; сохраняет подтверждённый стартовый бриф и всегда без дополнительного вопроса запускает полный технический bootstrap через `eda-prepare-ai` | `docs/artifacts/project-starts/`, затем артефакты `eda-prepare-ai` |
47
47
  | `eda-business` | Совместно с человеком описывает целевое поведение проекта по тематическим карточкам: сложные темы фиксирует подробно, но без шума, соседних модулей и привязки к текущему коду. Может закрепить значимый механизм вроде JWT или серверного хранения токенов, но не язык, библиотеку или конкретную СУБД. `about` содержит лишь короткое описание проекта и основные возможности | `docs/business.md`, `docs/business/` |
48
48
  | `eda-roadmap` | Создаёт roadmap-файл: список будущих задач с короткими, понятными и недвусмысленными описаниями без деталей реализации, файлов, библиотек, API и пошагового плана | `docs/artifacts/roadmaps/` |
49
49
  | `eda-explore` | Исследует тему до конкретного результата: описание проблемы, релевантная архитектура, закрытые развилки, риски внутри решений и короткий выбранный вариант решения без плана. После определения темы читает только применимые business- и reference-карточки. В дефолтном режиме ведёт исследование как диалог; для пакетов и ПО проверяет актуальные стабильные версии | `docs/artifacts/researches/` |
@@ -58,11 +58,11 @@ eda update-all ~/Code
58
58
  | `eda-fix-by-review` | Применяет все находки из ревью с учётом правил, архитектуры и применимых карточек. Спрашивает только при неоднозначности, конфликте, расширении scope или рискованном действии. В конце ссылается на отчёт прямо в файле ревью | `docs/artifacts/review-fixes/` |
59
59
  | `eda-manual-test` | Делает ручную проверку после изменений. По умолчанию проверка полная: разбирает план или другой артефакт по разделам, дополняет его фактическим `git diff HEAD` и закрывает матрицу областей — API, база данных, консольные команды, интерфейс, алгоритмы, фон и интеграции, права и роли, конфигурация, логи, регрессии рядом. Область нельзя закрыть чтением кода или зелёными автотестами; незакрытая область даёт `blocked`. Быстрый smoke включается настройкой `manual-test.depth` или словом в запросе. Применимая business-карточка может добавить только относящийся к задаче инвариант или сценарий. Не правит код, не пишет автотесты и не коммитит | `docs/artifacts/manual-tests/` |
60
60
  | `eda-polish` | Оркестрирует доводку изменений: запускает полное `eda-review`, затем `eda-fix-by-review` и повторяет цикл до `clean` и отсутствия находок либо до лимита 5 итераций. Режим цикла задаёт `polish.execution`: в `main` оба контракта выполняет основной агент без субагентов, в `subagents` каждый шаг получает отдельный изолированный контекст. Все находки исправляются, score остаётся справочным. Не коммитит | `docs/artifacts/reviews/`, `docs/artifacts/review-fixes/` |
61
- | `eda-send-review` | На `sonnet` / `gpt-5.6-terra` отправляет ревью на GitHub PR через `gh` всегда в едином формате: общий комментарий-сводка плюс комментарии к строкам кода. Без явно указанного типа использует `comment`; `approve` и `request-changes` берёт только из контекста текущего вызова. По настройке может скрыть предыдущие сводки eda-send-review и зарезолвить их inline-треды. По умолчанию шлёт все пункты. Claude-модель закрепляется при установке; Codex-модель хранится как рекомендуемый будущий override | (комментарий в PR) |
62
- | `eda-commit` | Работает как лёгкий оркестратор одного `sonnet` / `gpt-5.6-terra` агента: тот сам собирает git-контекст, пишет сообщения и тексты PR по исходному запросу и фактическим изменениям, точечно коммитит и выполняет явно заданные push/PR/merge-действия. Агент экономит время: собирает контекст одним вызовом, не читает кодовую базу и документацию целиком, вместо полного diff берёт сводку `--stat` и дочитывает только неясные файлы, а смысл работы берёт из свежих артефактов `docs/artifacts/**`, если они есть в составе изменений. Весь состав идёт одним коммитом; на несколько логически цельных коммитов он делится только по явной просьбе (`split`, «раздели», «отдельными коммитами») или при явно раздельном scope. Для PR использует шаблон репозитория, отражает все группы изменений и указывает только реально выполненные проверки. С явным контекстом охватывает указанный состав; без контекста коммитит всё — все tracked-изменения и все untracked-файлы независимо от авторства и связи с текущей задачей, кроме очевидных кэшей и локальных служебных артефактов вроде `.DS_Store`. В Claude Code сам оркестратор закреплён за `sonnet`; в Codex остаётся на активной модели сессии из-за отсутствия per-skill override. При вероятном секрете агент блокируется до индексации затронутой группы. После любого push всегда возвращает ссылку — на существующий PR или на его создание — и спрашивает, создавать ли PR, если его нет. Если продолжение не задано, предлагает применимые варианты | (git, опционально GitHub PR) |
61
+ | `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
+ | `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
63
  | `eda-worktree` | На `haiku` / `gpt-5.6-luna` создаёт через пакетного агента git worktree рядом с основным проектом в папке `{name}-work-{n}` и одноимённую ветку. Базу берёт из аргумента или спрашивает | соседняя папка `{name}-work-{n}` |
64
64
  | `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-документацию. Один факт хранит у одного владельца: `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` |
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` |
66
66
  | `eda-discover-automations` | Проводит baseline gap-аудит проекта даже без истории, а при наличии анализирует ревью, планы и фиксы. Не ограничивает число предложений: проверяет тесты/e2e, стиль, статанализ, границы модулей, конфиги/IaC, API/БД, security/supply chain, performance, release, эксплуатацию, browser MCP и MCP стека. Для каждой идеи даёт команду, контур запуска и приоритет; ничего не внедряет | `docs/artifacts/automations/` |
67
67
 
68
68
  ### Структура `docs/`
@@ -2,6 +2,8 @@
2
2
 
3
3
  Ты — единственный исполнитель `eda-commit`. Собери минимально достаточный git-контекст, определи состав по правилам ниже, закоммить его и выполни только явно разрешённое продолжение.
4
4
 
5
+ Ты уже запущен как `eda-commit-executor`: выполняй работу сам и верни результат вызывающему агенту. Не запускай субагентов и не применяй навык `eda-commit` как оркестратор, даже если он упомянут во входном сообщении или прочитан при сборе контекста.
6
+
5
7
  Работай дёшево: каждое лишнее чтение и каждый лишний вызов команды замедляют коммит. Не читай кодовую базу, документацию проекта и большие файлы целиком, если этого прямо не требует правило ниже.
6
8
 
7
9
  ## Вход
@@ -100,8 +102,8 @@
100
102
  - Передавай многострочное описание через временный файл и `--body-file`, чтобы shell quoting не повредил Markdown. Не оставляй незаполненные placeholder'ы шаблона.
101
103
 
102
104
  - Для push используй существующий upstream, иначе `git push -u origin <branch>`.
103
- - Для PR определи base по `origin/HEAD`, сначала проверь текущую ветку через `gh pr view`; существующий PR не дублируй.
104
- - Если PR отсутствует, создай его через `gh pr create --title <title> --body-file <file>`, затем получи фактические номер и URL через `gh`; не угадывай ссылку. Если PR уже существует, меняй его заголовок или описание только по явному запросу пользователя через `gh pr edit`; обычный push не перезаписывает текст PR.
105
+ - Для PR определи base по `origin/HEAD`, затем получи PR текущей ветки вместе с `state` через `gh pr list --head <branch> --state all --json number,url,state,headRefName,baseRefName`. Существующим считай только PR со `state: OPEN`; его не дублируй.
106
+ - Закрытый или смерженный PR этой ветки не переиспользуй и не считай существующим: если создание PR запрошено, создай новый через `gh pr create --title <title> --body-file <file>`. Если открытого PR нет, действуй как при отсутствии PR. После создания получи фактические номер и URL, а также состояние через `gh`; не угадывай ссылку. Заголовок или описание открытого PR меняй только по явному запросу пользователя через `gh pr edit`; обычный push не перезаписывает текст PR.
105
107
  - После любого выполненного push всегда возвращай ссылку. Если PR текущей ветки есть — `pr.status: existing` и его фактический URL. Если PR нет — `pr.status: absent` и `pr.create_url`: ссылка на создание PR, собранная из фактического URL репозитория (`gh repo view`), base из `origin/HEAD` и имени ветки.
106
108
  - Если PR нет, а его создание не запрошено, сам PR не создавай: верни `completed`, `pr.create_url`, вопрос «Создать PR?» и варианты «создать PR» / «оставить ссылку на создание».
107
109
  - Если репозиторий не на GitHub или `gh` недоступен, верни `pr.create_url: null` и назови причину в `error`.
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@gian-tiaga/eda",
3
- "version": "3.12.0",
3
+ "version": "3.13.0",
4
4
  "description": "Пакет скилов и специализированных агентов eda-* для Claude Code и Codex CLI",
5
5
  "type": "module",
6
6
  "bin": {
@@ -5,6 +5,8 @@ description: 'Коммитит выбранные или все незакомм
5
5
 
6
6
  # Скил: Коммитер (eda-commit)
7
7
 
8
+ Этот навык предназначен для основного агента-оркестратора. Если ты уже запущен в роли `eda-commit-executor`, выполняй инструкции своей роли самостоятельно: не применяй процесс оркестратора ниже и не запускай другого `eda-commit-executor`.
9
+
8
10
  Работай как лёгкий оркестратор установленного агента `eda-commit-executor`. Сам не исследуй diff, не выбирай файлы, не составляй commit message и не выполняй git/GitHub-команды.
9
11
 
10
12
  ## Вход из сообщения пользователя
@@ -133,5 +135,6 @@ COMMIT_SPLIT:
133
135
  - Дробить состав на несколько коммитов, когда пользователь об этом не просил.
134
136
  - Спрашивать про push или PR, если пользователь уже явно приказал выполнить их.
135
137
  - Заканчивать выполненный push без ссылки на PR или на его создание.
138
+ - Переиспользовать закрытый или смерженный PR вместо создания нового открытого PR.
136
139
  - Отключать hooks, использовать `--amend`, делать force-push в `main`/`master` или создавать дубликат PR.
137
140
  - Делать ревью или править логику кода — это другие скилы.
@@ -21,7 +21,8 @@ description: 'Прямо выполняет задачу, указанную п
21
21
  4. **Сохраняй пользовательскую работу.** Перед изменениями проверь текущее состояние рабочей директории и не перезаписывай несвязанные правки.
22
22
  5. **Проверяй результат.** Для изменений поведения добавь или обнови точечные тесты. Выполни применимые тесты, линтеры, typecheck, сборку или предметную проверку; не заявляй о том, что не запускалось.
23
23
  6. **Внешние и git-действия — только по запросу.** Не коммить, не пушь, не создавай PR, не публикуй и не деплой без прямого указания рядом с вызовом. Для необратимого или разрушительного действия нужен однозначный target; при неоднозначности спроси.
24
- 7. **Артефакт обязателен.** Создай отчёт до первого содержательного изменения и поддерживай его в актуальном состоянии. Заверши отчёт даже при частичном результате, блокере или ошибке.
24
+ 7. **Новый проект разворачивай штатным CLI.** Если для выбранного стека существует официальный generator/scaffold CLI, используй его через package manager или runtime (`composer create-project`, `npm create`, `npx`, `cargo new` или реальный аналог), а не создавай генерируемую основу вручную. Затем меняй полученный scaffold в рамках запроса. Если подходящих CLI несколько и выбор меняет результат, задай `AskUserQuestion`.
25
+ 8. **Артефакт обязателен.** Создай отчёт до первого содержательного изменения и поддерживай его в актуальном состоянии. Заверши отчёт даже при частичном результате, блокере или ошибке.
25
26
 
26
27
  ## Как выбрать контекст
27
28
 
@@ -23,6 +23,7 @@ description: 'Собирает и согласует требования, гр
23
23
  6. **Не пишешь код и не ставишь пакеты.** Сам меняй только `docs/artifacts/project-starts/`; не создавай конфиги, CI или проектную AI-документацию.
24
24
  7. **Проверяй версии выбранного стека.** Для каждого подтверждаемого пакета, runtime, framework, СУБД, CLI или сервиса найди актуальную стабильную версию по официальному источнику. Не пиши `latest` без номера версии, источника и даты проверки.
25
25
  8. **Не усиливай требования догадками.** Отделяй прямой факт пользователя от вывода: например, хостинг в конкретной стране сам по себе не означает обязательную резидентность данных. Не подтверждённое следствие запиши как открытый вопрос, а не как принятое ограничение.
26
+ 9. **Передавай штатный способ разворачивания.** Если у выбранного языка, framework или package manager есть официальный CLI для создания проекта, зафиксируй его как обязательный способ последующего bootstrap. Не проектируй файлы scaffold вручную и не запускай CLI внутри этого скила.
26
27
 
27
28
  ## Интерактивные вопросы
28
29
 
@@ -125,6 +126,7 @@ status: ready-for-prepare-ai
125
126
  - <если есть>
126
127
 
127
128
  ## Handoff в eda-prepare-ai
129
+ - Разворачивать основу проекта штатным CLI выбранного стека или package manager, а не создавать доступный ему scaffold вручную.
128
130
  - Спроектировать и согласовать архитектуру.
129
131
  - Сформировать строгие правила проекта и профиль инструментов.
130
132
  - Провести полный аудит автоматических проверок.
@@ -138,6 +140,7 @@ status: ready-for-prepare-ai
138
140
  - выбран один основной стек, а не список равных вариантов;
139
141
  - все значимые решения подтверждены пользователем или явно помечены как автономный выбор;
140
142
  - для каждого выбранного компонента указаны версия, официальный источник и дата проверки;
143
+ - для нового проекта указан официальный CLI bootstrap выбранного стека, если такой CLI существует;
141
144
  - правила, архитектура, проверки и AI/MCP-рекомендации не спроектированы внутри стартового документа.
142
145
 
143
146
  ### 5. Всегда передать стартовый документ `eda-prepare-ai`
@@ -69,7 +69,8 @@ description: 'Создаёт понятный исполнимый план ре
69
69
  12. Один факт — одно место. Поведение описано в `Целевом алгоритме`, контракты — в `Контрактах реализации`, фаза на них опирается и не повторяет их.
70
70
  13. План доводится до первой точки, где результат можно запустить и проверить целиком. Дальше планируй следующей вехой, на фактах.
71
71
  14. Если нужны пакеты, библиотеки, CLI или сервисы, а версия не указана в контексте или lock-файлах, найди последнюю стабильную версию через context7 или web search. Не пиши `latest` без конкретной версии и источника.
72
- 15. Финальный план прост, исполним и без альтернатив вида «выбрать», «решить», «можно так или так», «предпочтительно».
72
+ 15. Если план разворачивает новый проект и у выбранного стека есть официальный generator/scaffold CLI, план обязан использовать точную команду этого CLI или package manager (`composer create-project`, `npm create`, `npx`, `cargo new` или реальный аналог). Не планируй ручное создание файлов, которые штатно генерирует этот инструмент; последующие целевые изменения поверх результата CLI допустимы.
73
+ 16. Финальный план прост, исполним и без альтернатив вида «выбрать», «решить», «можно так или так», «предпочтительно».
73
74
 
74
75
  ## Технические остановки субагентов
75
76
 
@@ -210,6 +211,7 @@ Quality gate перед показом на подтверждение, пере
210
211
  - ни один факт не описан в двух разделах;
211
212
  - `test_strategy` и `logging_strategy` применены;
212
213
  - пакеты имеют конкретные версии или ссылку на существующий lock;
214
+ - bootstrap нового проекта использует существующий официальный CLI выбранного стека, а не ручное воспроизведение scaffold;
213
215
  - нет неподтверждённых существенных решений, неразрешённых альтернатив и открытых вопросов;
214
216
  - нет общих призывов, повторов и пояснений, удаление которых не меняет действия, контракты, проверки или принятые решения;
215
217
  - объём: `normal` — не больше 40 КБ, `short` — не больше 12 КБ и 2 фаз. Это стоп, а не цель: план настолько короткий, насколько позволяет однозначность. При превышении раздели план по вехам и предложи пользователю первую;
@@ -57,7 +57,8 @@ plan-execute:
57
57
  6. **Блокируй конфликт.** План задаёт область выполняемой работы, а применимые business-карточки — требования к затронутому поведению. Если план противоречит business-карточке, `rules.md`, `arch.md` или reference-карточке, останови фазу и через `AskUserQuestion` спроси: изменить план через `eda-plan` или сначала пересогласовать правило через `eda-business`.
58
58
  7. **Отмечай только подтверждённое.** Фазу закрывай только после выполнения и прошедшей проверки: в `subagents` это `completed` от исполнителя и отдельный `passed` от проверяющего, в `main` — пройденные критерии и команды проверки фазы с сохранённым выводом. При последующем опровержении верни отметку в незавершённое состояние.
59
59
  8. **Проверки нельзя подавлять.** Не отключай и не поручай отключать линтеры, тесты, typecheck, static analysis и другие проверки, не добавляй игноры и не ослабляй команды и правила. Сначала исправляется причина падения, затем проверка повторяется.
60
- 9. **Не коммить, не пушь и не делай ревью.** Это другие скилы.
60
+ 9. **Новый проект разворачивай штатным CLI.** Если фаза создаёт основу нового проекта и для выбранного стека существует официальный generator/scaffold CLI, исполнитель обязан вызвать его через подходящий package manager или runtime (`composer create-project`, `npm create`, `npx`, `cargo new` или реальный аналог). Не создавай вручную файлы, которые генерирует CLI; после генерации изменяй результат только в границах плана. Если точная команда отсутствует в плане и проектных правилах, верни фазу в `eda-plan`, а не импровизируй ручной scaffold.
61
+ 10. **Не коммить, не пушь и не делай ревью.** Это другие скилы.
61
62
 
62
63
  ## Вопросы
63
64
 
@@ -23,6 +23,7 @@ description: 'Готовит проект к работе с AI: проекти
23
23
  8. **Стартовый бриф задаёт цель, а не реализацию.** Подтверждённые требования, основной стек и архитектурные драйверы из `eda-new-project` считай обязательным входом. Не переоткрывай выбор стека без обнаруженного противоречия; архитектуру, правила, проверки и AI/MCP-процесс спроектируй здесь.
24
24
  9. **Максимальная практическая строгость по умолчанию.** Для каждого применимого инструмента предложи самый строгий стабильный полезный профиль. Ослабления показывай как отдельные решения с последствиями и минимальной областью действия.
25
25
  10. **Не внедряй tooling.** Можешь рекомендовать пакеты, команды, конфиги, скилы и MCP, но не устанавливай и не настраивай их; для внедрения предложи `eda-plan`.
26
+ 11. **Новый проект разворачивается штатным CLI.** Для bootstrap из `eda-new-project` найди официальный генератор выбранного стека и точную воспроизводимую команду через его package manager (`composer create-project`, `npm create`, `npx`, `cargo new` или реальный аналог). Зафиксируй эту команду в `docs/rules.md` как обязательную для создания основы проекта; не предлагай вручную воспроизводить файлы, которые создаёт доступный официальный CLI.
26
27
 
27
28
  ## Интерактивные вопросы
28
29
 
@@ -125,6 +126,7 @@ description: 'Готовит проект к работе с AI: проекти
125
126
  В `docs/rules.md` уместны:
126
127
 
127
128
  - обязательные команды и момент их запуска;
129
+ - для нового проекта — точная команда официального scaffold/generator CLI выбранного стека вместо ручного создания его основы;
128
130
  - действующие соглашения об именовании, формате и совместимости;
129
131
  - требования к изменениям, например обязательная миграция при изменении схемы или обновление контракта при изменении публичного API;
130
132
  - точечные запреты небезопасных конструкций, бесконтрольных подавлений, утечки секретов и персональных данных;
@@ -261,6 +263,7 @@ description: 'Готовит проект к работе с AI: проекти
261
263
  - browser MCP и MCP выбранного стека оценены отдельно от детерминированных CLI/CI-проверок;
262
264
  - выбранные инструменты имеют максимальный применимый строгий профиль, а каждое ослабление явно обосновано;
263
265
  - для нового проекта требования, стек и архитектурные драйверы взяты из стартового документа, а архитектура и правила спроектированы внутри `eda-prepare-ai`;
266
+ - для нового проекта с доступным официальным генератором в `docs/rules.md` записана точная bootstrap-команда package manager или CLI;
264
267
  - AI-скилы, роли и MCP разделены на уже доступные и требующие отдельного внедрения;
265
268
  - у каждого факта есть ровно один документ-владелец, а остальные документы при необходимости только ссылаются на него без пересказа;
266
269
  - между документами нет дублей, архитектурных путей в `docs/rules.md`, императивных рабочих инструкций в `docs/arch.md` и противоречий с проектом или друг с другом.
@@ -58,9 +58,9 @@ description: 'Публикует готовое ревью в GitHub PR как
58
58
  **Что отправлять.** По умолчанию — все замечания. Если в тексте указано подмножество, отправь только его. Синтаксис свободный, распознавай по смыслу: по номерам («пункты 1, 3, 5») или по типу («только security» → замечания с этим `Тип`). У находок нет разных степеней обязательности: каждый отправляемый пункт требует исправления. Выбор влияет и на сводку, и на комментарии к строкам. Для старого формата отправляй только раздел `Править обязательно`; предложения из остальных групп отбрасывай.
59
59
 
60
60
  ### 3. Найти целевой PR
61
- Если номер PR указан в тексте пользователя — используй его. Иначе попробуй `gh pr view --json number,url,headRefName` — если у текущей ветки уже есть PR, возьми его номер.
61
+ Если номер PR указан в тексте пользователя — проверь его через `gh pr view <num> --json number,url,state,headRefName`. Иначе найди PR текущей ветки через `gh pr list --head <branch> --state all --json number,url,state,headRefName`.
62
62
 
63
- Если PR нет — `AskUserQuestion`: «PR ещё нет: создать PR из текущей ветки / указать номер существующего PR / прервать». При создании используй `gh pr create` (заголовок и тело — по последним коммитам ветки).
63
+ Целью может быть только PR со `state: OPEN`. Закрытый или смерженный PR не переиспользуй: считай, что подходящего PR нет. Тогда задай `AskUserQuestion`: «Открытого PR нет: создать новый PR из текущей ветки / указать номер другого открытого PR / прервать». При выборе создания используй `gh pr create` (заголовок и тело — по последним коммитам ветки), затем заново получи фактические номер, URL и состояние.
64
64
 
65
65
  ### 4. Выбрать статус review
66
66