@gian-tiaga/eda 0.6.1 → 0.6.2

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
@@ -29,8 +29,8 @@ eda init
29
29
  |---|---|---|
30
30
  | `eda-roadmap` | Создаёт roadmap-файл: список будущих задач с короткими, понятными и недвусмысленными описаниями без деталей реализации, файлов, библиотек, API и пошагового плана | `docs/roadmaps/` |
31
31
  | `eda-explore` | Исследует тему до конкретного результата: описание проблемы, релевантная архитектура, закрытые развилки, риски внутри решений и короткий выбранный вариант решения без плана. В дефолтном режиме ведёт исследование как диалог: факты собирает сам, а значимые развилки выносит тебе с рекомендацией. Если нужны пакеты или ПО — проверяет актуальные стабильные версии через context7 или web search | `docs/researches/` |
32
- | `eda-plan` | Пишет план реализации через стандартный Plan Mode хост-агента. Подтягивает контекст из `docs/rules.md`, `docs/arch.md`, при желании релевантное исследование. В плане явно фиксирует контракты БД/API, если задача их затрагивает. Затем три параллельных субагента/модели (слабая, средняя, мощная) проверяют план на реалистичность, пропущенные шаги и нарушения правил — главный планировщик сам решает, что применить | `docs/plans/` |
33
- | `eda-execute` | Выполняет план. Спрашивает, где работать (текущая ветка, новая ветка, отдельный worktree). Тесты пишет внутри каждого шага. В конце — полный прогон тестов и линтеров | `docs/executions/` |
32
+ | `eda-plan` | Пишет план реализации через стандартный Plan Mode хост-агента. `docs/rules.md` и `docs/arch.md` использует как обязательную рамку, а не справочный контекст: план должен строго следовать правилам и архитектуре. В плане явно фиксирует контракты БД/API, если задача их затрагивает. Затем три параллельных субагента/модели (слабая, средняя, мощная) проверяют план на реалистичность, пропущенные шаги и нарушения правил — главный планировщик сам решает, что применить | `docs/plans/` |
33
+ | `eda-execute` | Выполняет план. Спрашивает, где работать (текущая ветка, новая ветка, отдельный worktree). Перед правками читает план, `docs/rules.md` и `docs/arch.md`; правила и архитектура обязательны к исполнению. Если шаг плана им противоречит, останавливается и спрашивает. Тесты пишет внутри каждого шага. В конце — полный прогон тестов и линтеров | `docs/executions/` |
34
34
  | `eda-fix` | Делает обычные фиксы по короткому контексту, баг-репорту или файлу плана. Перед правками читает правила и архитектуру, добавляет нужные тесты, прогоняет проверки и сохраняет историю правок | `docs/fixes/` |
35
35
  | `eda-review` | Делает код-ревью с оценкой 0–100 и сверкой с планом работ, но в файл пишет только проблемы: ошибки, недоделки, неточности, нарушения правил/архитектуры, риски и недостающие тесты. Не перечисляет выполненную работу. Затем параллельные специализированные агенты проверяют выполнение плана, архитектуру, правила и при включённой настройке качество кода. В строгом режиме — ещё и кросс-ревью между Claude и Codex | `docs/reviews/` |
36
36
  | `eda-fix-by-review` | Применяет замечания из ревью. Обязательные — сразу. Спорные — спрашивает. В конце ссылается на отчёт прямо в файле ревью | `docs/review-fixes/` |
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@gian-tiaga/eda",
3
- "version": "0.6.1",
3
+ "version": "0.6.2",
4
4
  "description": "Набор скилов eda-* для Claude Code и Codex CLI: roadmap, explore, plan, execute, fix, review, fix-by-review, send-review, commit, worktree, merge-worktree, docs, automate",
5
5
  "type": "module",
6
6
  "bin": {
@@ -1,6 +1,6 @@
1
1
  ---
2
2
  name: eda-execute
3
- description: 'Исполняет план из docs/plans/ по пути или описанию рядом с вызовом. Перед правками читает `docs/rules.md` и `docs/arch.md` и строго следует им, правит код, в конце прогоняет полный сьют тестов и линтеры. Прогресс — чекбоксы в файле плана + журнал в `docs/executions/`; в конец плана дописывается ссылка на журнал. Не коммитит (это `eda-commit`), не делает ревью (это `eda-review`). Вопросы задаёт только когда без ответа нельзя безопасно продолжать.'
3
+ description: 'Исполняет план из docs/plans/ по пути или описанию рядом с вызовом. Перед правками читает план, `docs/rules.md` и `docs/arch.md`; правила и архитектура обязательны к исполнению. Если шаг плана им противоречит, останавливается и спрашивает пользователя. Правит код, в конце прогоняет полный сьют тестов и линтеры. Прогресс — чекбоксы в файле плана + журнал в `docs/executions/`; в конец плана дописывается ссылка на журнал. Не коммитит (это `eda-commit`), не делает ревью (это `eda-review`).'
4
4
  ---
5
5
 
6
6
  # Скил: Исполнитель (eda-execute)
@@ -15,11 +15,11 @@ description: 'Исполняет план из docs/plans/ по пути или
15
15
 
16
16
  ## Главные правила
17
17
 
18
- 1. **Перед правкой кода** прочитай `docs/rules.md` и `docs/arch.md`, если есть, и строго следуй им. Это рамка проекта. Файлов нет продолжай молча. Один раз в начале, не перечитывать на каждом шаге.
18
+ 1. **`docs/rules.md` и `docs/arch.md` обязательны к исполнению.** Перед правками прочитай план, `docs/rules.md` и `docs/arch.md`, если они есть. Выполняй план только в той форме, которая строго следует правилам и архитектуре проекта. Если шаг плана противоречит `docs/rules.md` или `docs/arch.md`, не исполняй его молча и не выбирай обходной путь сам. Остановись и задай `AskUserQuestion`: адаптировать выполнение под правила/архитектуру, вернуться к `eda-plan` для исправления плана или изменить правила/архитектуру отдельной задачей.
19
19
  2. **Интерактивные вопросы** — по разделу ниже.
20
20
  3. **Не переформулируй план.** Шаг непонятен — спроси, не «доразрабатывай» молча.
21
21
  4. **Не коммитить, не пушить, не делать ревью.** Это другие скилы.
22
- 5. **Идти целиком**, не делать паузы «для подтверждения». Останавливайся только если: тест упал, шаг противоречив, есть риск потерять данные, рискованная операция вне плана.
22
+ 5. **Идти целиком**, не делать паузы «для подтверждения». Останавливайся только если: тест упал, шаг противоречив, есть риск потерять данные, рискованная операция вне плана, шаг плана противоречит `docs/rules.md` или `docs/arch.md`.
23
23
  6. **Проверки нельзя подавлять.** Не отключай линтеры, тесты, typecheck, static analysis и другие проверки; не добавляй игноры, исключения из проверок, ослабление правил или изменение команд так, чтобы проверка перестала запускаться. Пиши и правь код так, чтобы проверки проходили по сути.
24
24
  7. **Простой язык** в сообщениях пользователю и вопросах. Термины — только если без них нельзя, и сразу с пояснением.
25
25
  8. **Таблицы для структурируемых данных** в журнале. Диаграммы — только если действительно есть что показать.
@@ -31,7 +31,7 @@ description: 'Исполняет план из docs/plans/ по пути или
31
31
  - Codex interactive: если доступен `request_user_input`, используй его. Если tool недоступен, задай один короткий вопрос в чат, дай варианты 1–3, напиши «Ответь номером или своим вариантом. Я продолжу только после ответа.» и остановись.
32
32
  - Codex exec / неинтерактивный запуск: не задавай вопросы и не пытайся читать stdin. Если без ответа нельзя безопасно продолжать, заверши работу со статусом `blocked: нужен ответ пользователя`, перечисли вопросы и варианты, не выполняй рискованные действия.
33
33
  - Не запускай команды, которые ждут интерактивного ввода в терминале; перед такими командами спроси в хост-интерфейсе или остановись с `blocked`.
34
- - Для выполнения кода это правило важнее требования идти целиком: не додумывай план, не делай рискованные операции и не правь чужие/несвязанные поломки вместо ответа пользователя.
34
+ - Для выполнения кода это правило важнее требования идти целиком: не додумывай план, не исполняй шаги вопреки `docs/rules.md` или `docs/arch.md`, не делай рискованные операции и не правь чужие/несвязанные поломки вместо ответа пользователя.
35
35
 
36
36
  ## Этапы
37
37
 
@@ -73,7 +73,9 @@ cd ../<repo-name>-<slug>
73
73
  И **выйди из скила** — текущая сессия в эту папку не переедет, поэтому продолжать здесь нельзя. Сообщи пользователю, что ждёшь его в новой сессии.
74
74
 
75
75
  ### 3. Прочитать контекст
76
- План + `docs/rules.md` и `docs/arch.md` (если есть). Правилам и архитектуре строго следуй при каждой правке. Тест-фреймворк проекта определи сам по конфигам/существующим тестам.
76
+ План + `docs/rules.md` и `docs/arch.md` (если есть). `docs/rules.md` и `docs/arch.md` обязательны к исполнению, а не просто к прочтению. Выполняй план только в той форме, которая строго следует правилам и архитектуре проекта. Тест-фреймворк проекта определи сам по конфигам/существующим тестам.
77
+
78
+ Перед выполнением проверь, нет ли в плане шагов, зависимостей, API, миграций, границ модулей, команд проверки или решений, которые противоречат `docs/rules.md` или `docs/arch.md`. Если конфликт есть — остановись и задай `AskUserQuestion`: адаптировать выполнение под правила/архитектуру, вернуться к `eda-plan` для исправления плана или изменить правила/архитектуру отдельной задачей.
77
79
 
78
80
  ### 4. Инициализировать прогресс
79
81
  - Создай журнал `docs/executions/{YYYY-MM-DD}_{HH-MM}_{slug}.md` (slug — тот же, что у плана, или близкий).
@@ -106,11 +108,14 @@ cd ../<repo-name>-<slug>
106
108
 
107
109
  ### 5. Выполнить план
108
110
  Идёшь по шагам. На каждом:
109
- 1. Сделай правки.
110
- 2. Выполни проверки, если они прямо указаны в шаге.
111
- 3. Поставь `[x]` в файле плана и допиши строку в таблицу журнала.
111
+ 1. Перед правкой сверяешь действие с `docs/rules.md` и `docs/arch.md`.
112
+ 2. Если правила или архитектура задают способ реализации, границы модулей, команды проверки, требования к тестам, миграциям, API, безопасности или документации — следуй им даже тогда, когда план описан менее строго.
113
+ 3. Если есть конфликт с правилами или архитектурой не правь код, задай `AskUserQuestion`.
114
+ 4. Сделай правки.
115
+ 5. Выполни проверки, если они прямо указаны в шаге.
116
+ 6. Поставь `[x]` в файле плана и допиши строку в таблицу журнала.
112
117
 
113
- Останавливайся и спрашивай через `AskUserQuestion`, если: тесты к шагу упали и не правятся быстро / шаг противоречит коду / задевает рискованное вне плана. Архитектурное решение по ходу — записывай в «Изменения в docs», не блокируй.
118
+ Останавливайся и спрашивай через `AskUserQuestion`, если: тесты к шагу упали и не правятся быстро / шаг противоречит коду / шаг противоречит `docs/rules.md` или `docs/arch.md` / задевает рискованное вне плана. Архитектурное решение по ходу — записывай в «Изменения в docs», но не меняй зафиксированную архитектуру молча.
114
119
 
115
120
  После последнего шага — `finished` и `status: done` в шапке журнала.
116
121
 
@@ -131,3 +136,6 @@ cd ../<repo-name>-<slug>
131
136
  - Пропускать обновление чекбоксов и журнала — иначе теряется состояние.
132
137
  - Делать рискованное (удаление файлов, миграции, секреты) без подтверждения, даже если упомянуто в плане.
133
138
  - Подавлять ошибки линтеров, тестов, typecheck или других проверок вместо исправления кода.
139
+ - Считать `docs/rules.md` и `docs/arch.md` просто контекстом для ознакомления.
140
+ - Исполнять план, который противоречит правилам или архитектуре проекта.
141
+ - Обходить правило или архитектурное ограничение без явного решения пользователя.
@@ -1,6 +1,6 @@
1
1
  ---
2
2
  name: eda-plan
3
- description: 'Пишет план реализации по тексту рядом с вызовом или указанному research-файлу через стандартный Plan Mode (Claude Code / Codex). Перед планированием читает docs/rules.md, docs/arch.md и строго следует им; research подтягивает без вопроса, если он указан или явно нужен. Поддерживает `short` для небольших фич: 1–2 фазы и компактный ревьюируемый объём. В начале фиксирует режим принятия решений, стратегию тестов и логирования из docs/settings.yaml или уточняет их у пользователя. Существенные решения подтверждает по `defaults.decision_mode`. Нормализует результат в исполнимый план с алгоритмом, фазами, проверками и без неразрешённых альтернатив; сохраняет его в docs/plans/. Всегда проверяет план тремя субагентами/моделями на реалистичность, пропущенные шаги, нарушения правил и риски. Кросс-CLI включается флагом `strict` или настройкой `defaults.strict: true`. Вопросы задаёт только когда без ответа нельзя безопасно продолжать, настройки требуют спрашивать или существенное решение требует подтверждения.'
3
+ description: 'Пишет план реализации по тексту рядом с вызовом или указанному research-файлу через стандартный Plan Mode (Claude Code / Codex). Перед планированием читает docs/rules.md и docs/arch.md как обязательную рамку: выделяет применимые правила и архитектурные ограничения, передаёт их в Plan Mode и не финализирует план при конфликте без ответа пользователя. Research подтягивает без вопроса, если он указан или явно нужен. Поддерживает `short` для небольших фич: 1–2 фазы и компактный ревьюируемый объём. Фиксирует режим принятия решений, стратегию тестов и логирования из docs/settings.yaml или уточняет их у пользователя. Нормализует результат в исполнимый план с алгоритмом, фазами, проверками и без неразрешённых альтернатив; сохраняет его в docs/plans/. Всегда проверяет план тремя субагентами/моделями. Кросс-CLI включается флагом `strict` или настройкой `defaults.strict: true`.'
4
4
  ---
5
5
 
6
6
  # Скил: Планировщик (eda-plan)
@@ -107,15 +107,17 @@ description: 'Пишет план реализации по тексту ряд
107
107
 
108
108
  1. **Никаких правок кода.** Запись только в `docs/plans/`.
109
109
  2. **Интерактивные вопросы** — по разделу ниже.
110
- 3. **Plan Mode главный инструмент.** Он даёт содержательный черновик, но финальный файл обязан быть нормализован в формат этого скилла.
111
- 4. **Не переформулируй запрос пользователя** перед Plan Mode. Уйдёт оригинал + ответы на уточнения. Своя цель/критерии разводят смысл.
112
- 5. **План сохраняется в файл до любой верификации** иначе ревьюеру нечего читать.
113
- 6. **Максимально простой язык.** Пиши план так, чтобы его понял человек без глубокого погружения в код. Избегай жаргона, сокращений и внутренних названий без необходимости. Термины используй только когда без них нельзя точно донести смысл, и сразу объясняй их простыми словами.
114
- 7. **Диаграммы желательно, не любой ценой.** Линейный план диаграмма не нужна.
115
- 8. **Таблицы > сплошной текст** для структурируемых данных.
116
- 9. **Финальный план — не исследование.** Исследовательские факты идут в контекст, выбранные подходы в решения, исполнимые шаги — в фазы.
117
- 10. **Не оставляй неоднозначности.** Если в плане остаётся «выбрать», «решить», «можно так или так», «предпочтительно» — задай вопрос до финализации или зафиксируй одно принятое решение. Существенные решения фиксируй только по правилам `decision_mode`.
118
- 11. **Версии пакетов и ПО проверяй до планирования.** Если для задачи нужно устанавливать пакет, библиотеку, сервис, CLI или другое ПО, а версия не указана в контексте, используй `context7`, если он доступен, или веб-поиск, чтобы найти актуальную последнюю стабильную версию. Зафиксируй найденную версию и источник в контексте/решениях плана. Не оставляй в плане «установить latest» без конкретной версии.
110
+ 3. **`docs/rules.md` и `docs/arch.md` — обязательная рамка планирования, а не справочный контекст.** Перед Plan Mode прочитай оба файла, если они есть, выдели применимые к задаче правила и архитектурные ограничения и передай их в Plan Mode как обязательные требования. Финальный план должен строго следовать этим правилам и архитектуре.
111
+ 4. **Конфликт с рамкой проекта блокирует финализацию.** Если запрос пользователя, research, черновик Plan Mode или отдельное решение противоречит `docs/rules.md` или `docs/arch.md`, не скрывай конфликт и не сохраняй план как готовый. Остановись и задай `AskUserQuestion`: изменить подход под правила/архитектуру, изменить сами правила/архитектуру отдельной задачей или прервать планирование.
112
+ 5. **Plan Mode главный инструмент.** Он даёт содержательный черновик, но финальный файл обязан быть нормализован в формат этого скилла.
113
+ 6. **Не переформулируй запрос пользователя** перед Plan Mode. Уйдёт оригинал + ответы на уточнения. Своя цель/критерии разводят смысл.
114
+ 7. **План сохраняется в файл до любой верификации** иначе ревьюеру нечего читать.
115
+ 8. **Максимально простой язык.** Пиши план так, чтобы его понял человек без глубокого погружения в код. Избегай жаргона, сокращений и внутренних названий без необходимости. Термины используй только когда без них нельзя точно донести смысл, и сразу объясняй их простыми словами.
116
+ 9. **Диаграммыжелательно, не любой ценой.** Линейный пландиаграмма не нужна.
117
+ 10. **Таблицы > сплошной текст** для структурируемых данных.
118
+ 11. **Финальный план не исследование.** Исследовательские факты идут в контекст, выбранные подходы в решения, исполнимые шаги в фазы.
119
+ 12. **Не оставляй неоднозначности.** Если в плане остаётся «выбрать», «решить», «можно так или так», «предпочтительно» — задай вопрос до финализации или зафиксируй одно принятое решение. Существенные решения фиксируй только по правилам `decision_mode`.
120
+ 13. **Версии пакетов и ПО проверяй до планирования.** Если для задачи нужно устанавливать пакет, библиотеку, сервис, CLI или другое ПО, а версия не указана в контексте, используй `context7`, если он доступен, или веб-поиск, чтобы найти актуальную последнюю стабильную версию. Зафиксируй найденную версию и источник в контексте/решениях плана. Не оставляй в плане «установить latest» без конкретной версии.
119
121
 
120
122
  ## Размер плана
121
123
 
@@ -163,7 +165,9 @@ description: 'Пишет план реализации по тексту ряд
163
165
  - иначе возьми `defaults.decision_mode` из `docs/settings.yaml`;
164
166
  - если значение отсутствует или неизвестно — `recommend_and_ask`.
165
167
 
166
- Прочитай `docs/rules.md`, `docs/arch.md` (если есть) и строго следуй им при планировании.
168
+ Прочитай `docs/rules.md`, `docs/arch.md` (если есть) и строго следуй им при планировании. Выдели применимые правила и архитектурные ограничения: команды проверки, требования к тестам, границы модулей, зависимости, API, миграции, безопасность, документацию и локальные запреты. Передай эту рамку в Plan Mode как обязательные требования, а не как справочный контекст.
169
+
170
+ Если задача, research или очевидный подход конфликтует с `docs/rules.md` или `docs/arch.md`, остановись до Plan Mode и задай `AskUserQuestion`: изменить подход под правила/архитектуру, изменить сами правила/архитектуру отдельной задачей или прервать планирование.
167
171
 
168
172
  Research подтягивай так:
169
173
  - если в сообщении указан путь к `docs/researches/...` или другой research-файл — прочитай его без вопроса;
@@ -234,11 +238,13 @@ Research подтягивай так:
234
238
  5. Найденные версии пакетов/ПО и источники, если задача требует установки.
235
239
  6. Пары «вопрос → ответ» из этапа 3 и подтверждения существенных решений из research.
236
240
  7. Ссылки на `docs/rules.md`, `docs/arch.md`, исследование (без пересказа — Plan Mode прочитает сам) и явное требование строго следовать правилам и архитектуре.
237
- 8. Инструкция: «все вопросы пользователю только по разделу "Интерактивные вопросы", никаких догадок и продолжения без ответа».
238
- 9. Инструкция: «финальный план должен быть нормализован в обязательную структуру из этапа 5 и не должен смешивать исследование с планом исполнения».
239
- 10. Инструкция: «зафиксированные стратегии тестов и логирования должны быть применены в плане, а не просто записаны в YAML».
240
- 11. Инструкция: «если `plan_size: short`, соблюдай ограничения короткого плана из раздела "Размер плана"».
241
- 12. Инструкция: «не добавляй неподтверждённые существенные решения в финальный план; если они возникли внутри Plan Mode, остановись и спроси пользователя».
241
+ 8. Выписку применимых правил и архитектурных ограничений из `docs/rules.md` и `docs/arch.md` как обязательную рамку планирования.
242
+ 9. Инструкция: «если запрос, research, решение или шаг плана противоречит `docs/rules.md` или `docs/arch.md`, не финализируй план; остановись и спроси пользователя».
243
+ 10. Инструкция: «все вопросы пользователю только по разделу "Интерактивные вопросы", никаких догадок и продолжения без ответа».
244
+ 11. Инструкция: «финальный план должен быть нормализован в обязательную структуру из этапа 5 и не должен смешивать исследование с планом исполнения».
245
+ 12. Инструкция: «зафиксированные стратегии тестов и логирования должны быть применены в плане, а не просто записаны в YAML».
246
+ 13. Инструкция: «если `plan_size: short`, соблюдай ограничения короткого плана из раздела "Размер плана"».
247
+ 14. Инструкция: «не добавляй неподтверждённые существенные решения в финальный план; если они возникли внутри Plan Mode, остановись и спроси пользователя».
242
248
 
243
249
  Не выходи, пока пользователь не подтвердил план.
244
250
 
@@ -341,6 +347,10 @@ sources:
341
347
  Перед сохранением проверь quality gate:
342
348
  - есть `Целевой алгоритм`;
343
349
  - есть `Контракты реализации` с подразделами `Данные и БД` и `API и внешние контракты`;
350
+ - план строго следует `docs/rules.md` и `docs/arch.md`;
351
+ - применимые правила и архитектурные ограничения учтены в решениях, фазах, тестах и проверках;
352
+ - нет шагов, зависимостей, API, миграций, границ модулей или команд, которые противоречат `docs/rules.md` или `docs/arch.md`;
353
+ - если найден конфликт с правилами или архитектурой, план не финализирован до ответа пользователя;
344
354
  - если задача затрагивает БД, схема данных не пропущена и не заменена общими словами;
345
355
  - если задача затрагивает API или внешний контракт, маршруты/контракты не пропущены и не заменены общими словами;
346
356
  - фазы идут в реалистичном порядке реализации;
@@ -429,6 +439,9 @@ claude -p "Прочитай $PLAN_FILE, docs/rules.md, docs/arch.md, связа
429
439
 
430
440
  ## Чего НЕ делать
431
441
  - Править код, запускать миграции.
442
+ - Считать `docs/rules.md` и `docs/arch.md` просто контекстом для ознакомления.
443
+ - Исполнять или сохранять план, который противоречит правилам или архитектуре проекта.
444
+ - Обходить правило или архитектурное ограничение без явного решения пользователя.
432
445
  - Задавать вопросы без блокировки и продолжать работу до ответа.
433
446
  - Переформулировать запрос пользователя своими словами перед Plan Mode.
434
447
  - Пропускать сохранение файла плана.