@gian-tiaga/eda 0.2.6 → 0.2.7
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/docs/skills/eda-automate.md +21 -5
- package/package.json +1 -1
|
@@ -1,11 +1,18 @@
|
|
|
1
1
|
---
|
|
2
2
|
name: eda-automate
|
|
3
|
-
description: 'Анализирует историю `docs/reviews/` и `docs/review-fixes/`,
|
|
3
|
+
description: 'Анализирует историю `docs/reviews/` и `docs/review-fixes/`, а с аргументом `plans` ещё и `docs/plans/`. Ищет повторяющиеся замечания и проблемы планирования, предлагает автоматизации — кастомные правила линтеров, статанализаторов, pre-commit-проверок или checks для планов. Опирается на инструменты, которые уже работают в проекте; если ничего не подходит — предлагает новый, без дублей с уже установленными. Не внедряет автоматизации — выдаёт приоритезированный список с черновиками правил. Внедрение — отдельная задача через `eda-plan` + `eda-execute`. Все вопросы — через интерактивный вопрос.'
|
|
4
4
|
---
|
|
5
5
|
|
|
6
6
|
# Скил: Автоматизатор (eda-automate)
|
|
7
7
|
|
|
8
|
-
Читаешь историю ревью и фиксов, находишь повторяющиеся замечания, предлагаешь, какие из них можно поймать автоматически: кастомным правилом линтера, статанализатора, pre-commit-проверкой. Не внедряешь — только предлагаешь, с черновиком правила и оценкой стоимости.
|
|
8
|
+
Читаешь историю ревью и фиксов, находишь повторяющиеся замечания, предлагаешь, какие из них можно поймать автоматически: кастомным правилом линтера, статанализатора, pre-commit-проверкой. Если передан аргумент `plans`, дополнительно читаешь планы из `docs/plans/` и ищешь повторяющиеся проблемы планирования, которые можно ловить автоматической проверкой плана. Не внедряешь — только предлагаешь, с черновиком правила и оценкой стоимости.
|
|
9
|
+
|
|
10
|
+
## Режимы вызова
|
|
11
|
+
|
|
12
|
+
| Режим | Запуск | Что анализирует |
|
|
13
|
+
|---|---|---|
|
|
14
|
+
| Обычный | `eda-automate` | `docs/reviews/` + `docs/review-fixes/` |
|
|
15
|
+
| С планами | `eda-automate plans` | `docs/reviews/` + `docs/review-fixes/` + `docs/plans/` |
|
|
9
16
|
|
|
10
17
|
## Главные правила
|
|
11
18
|
|
|
@@ -15,6 +22,7 @@ description: 'Анализирует историю `docs/reviews/` и `docs/rev
|
|
|
15
22
|
4. **Предлагай только повторяющееся.** Минимум — паттерн встречается в 2+ разных ревью или в 3+ местах одного. Единичные замечания не автоматизируем.
|
|
16
23
|
5. **Каждое предложение — с черновиком правила.** Не «надо бы что-то сделать», а конкретный фрагмент: имя инструмента, имя правила, псевдокод/skeleton.
|
|
17
24
|
6. **Простой язык. Таблицы** для приоритезации.
|
|
25
|
+
7. **Планы анализируй только с аргументом `plans`.** Без него не читай `docs/plans/`, если пользователь не указал конкретные файлы планов.
|
|
18
26
|
|
|
19
27
|
## Интерактивные вопросы
|
|
20
28
|
|
|
@@ -27,16 +35,20 @@ description: 'Анализирует историю `docs/reviews/` и `docs/rev
|
|
|
27
35
|
## Этапы
|
|
28
36
|
|
|
29
37
|
### 1. Выбрать диапазон
|
|
38
|
+
Определи режим по аргументам вызова. Если передан `plans`, включи планы в источники без отдельного вопроса.
|
|
39
|
+
|
|
30
40
|
`AskUserQuestion`: какую историю анализировать.
|
|
31
41
|
- Все ревью + фиксы (по умолчанию)
|
|
42
|
+
- Все ревью + фиксы + планы (если передан `plans`)
|
|
32
43
|
- Последние N (5/10/20)
|
|
33
44
|
- За период (последние N дней)
|
|
34
45
|
- Конкретные файлы
|
|
35
46
|
|
|
36
|
-
Получи список файлов из `docs/reviews/` и `docs/review-fixes/`.
|
|
47
|
+
Получи список файлов из `docs/reviews/` и `docs/review-fixes/`. В режиме `plans` дополнительно получи список файлов из `docs/plans/`.
|
|
37
48
|
|
|
38
49
|
### 2. Прочитать контекст
|
|
39
50
|
- Все выбранные ревью и отчёты о фиксах.
|
|
51
|
+
- В режиме `plans`: все выбранные планы из `docs/plans/`.
|
|
40
52
|
- `docs/rules.md`, `docs/arch.md` (если есть).
|
|
41
53
|
- Какие языки и фреймворки в проекте — определи сам.
|
|
42
54
|
- Какие инструменты статанализа уже установлены и работают — определи по конфигам и зависимостям проекта.
|
|
@@ -47,6 +59,7 @@ description: 'Анализирует историю `docs/reviews/` и `docs/rev
|
|
|
47
59
|
- Нарушения архитектурных границ (импорты не из API соседнего модуля).
|
|
48
60
|
- Забытое: error handling, validation, очистка ресурсов.
|
|
49
61
|
- Стиль: имена, форматирование, порядок.
|
|
62
|
+
- Для планов: пропущенные тесты, отсутствующая проверка после шага, слишком крупные шаги, шаги без файлов/модулей, противоречие `docs/rules.md` или `docs/arch.md`, нет критерия готовности, рискованные действия без rollback/backup.
|
|
50
63
|
|
|
51
64
|
Для каждого паттерна собери: где встречался (ссылки на ревью), сколько раз, в каких файлах.
|
|
52
65
|
|
|
@@ -56,10 +69,11 @@ description: 'Анализирует историю `docs/reviews/` и `docs/rev
|
|
|
56
69
|
1. Если в проекте **уже работает** инструмент, который умеет ловить этот класс паттернов — предлагай правило в нём.
|
|
57
70
|
2. Если такого инструмента в проекте нет, но он стандартный для языка/фреймворка — предлагай его, явно отметив, что инструмент **новый** для проекта.
|
|
58
71
|
3. **Не предлагай альтернативу уже установленному инструменту того же класса.** Если в проекте уже есть один статанализатор — не предлагай второй для тех же задач, даже если он мощнее.
|
|
72
|
+
4. Для паттернов из планов предлагай проверку плана: скрипт, markdownlint-правило, pre-commit/check, CI-check или custom validator для `docs/plans/*.md`. Не притворяйся, что runtime-линтер кода поймает проблему, которая живёт только в тексте плана.
|
|
59
73
|
|
|
60
74
|
Каждое предложение содержит:
|
|
61
75
|
- Что ловит (одна-две фразы простым языком).
|
|
62
|
-
- Где встречалось (ссылки на 2–3
|
|
76
|
+
- Где встречалось (ссылки на 2–3 источника: ревью, фиксы или планы).
|
|
63
77
|
- Инструмент и тип правила. Если инструмент **новый** для проекта — пометка «требует установки».
|
|
64
78
|
- **Черновик правила** — псевдокод или фрагмент конфигурации.
|
|
65
79
|
- Польза: `low` / `medium` / `high` (по частоте паттерна и вреду от пропуска).
|
|
@@ -71,13 +85,14 @@ description: 'Анализирует историю `docs/reviews/` и `docs/rev
|
|
|
71
85
|
---
|
|
72
86
|
date: <YYYY-MM-DD HH:MM>
|
|
73
87
|
sources: [docs/reviews/..., docs/review-fixes/...]
|
|
88
|
+
mode: <normal | plans>
|
|
74
89
|
status: draft
|
|
75
90
|
---
|
|
76
91
|
|
|
77
92
|
# Предложения по автоматизации
|
|
78
93
|
|
|
79
94
|
## Контекст
|
|
80
|
-
- Проанализировано: N ревью + M фиксов
|
|
95
|
+
- Проанализировано: N ревью + M фиксов + K планов
|
|
81
96
|
- Стек проекта: <по конфигам>
|
|
82
97
|
- Уже работающие инструменты: <список>
|
|
83
98
|
|
|
@@ -114,3 +129,4 @@ status: draft
|
|
|
114
129
|
- Предлагать второй инструмент того же класса в дополнение к уже установленному.
|
|
115
130
|
- Сохранять отчёт куда-либо кроме `docs/automations/`.
|
|
116
131
|
- Дублировать в предложениях правила, которые уже зафиксированы в `docs/rules.md` как автоматизированные.
|
|
132
|
+
- В обычном режиме без `plans` смешивать проблемы планирования с ревью и фиксами.
|
package/package.json
CHANGED