@k0t0vich/meta-agents-template 0.1.2 → 0.1.4
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/CHANGELOG.md +41 -0
- package/README.md +54 -10
- package/agents.md +69 -13
- package/package.json +2 -1
- package/template/.github/workflows/gitflow-lite-verify.yml +63 -0
- package/template/.meta-agents/config/project-context.yaml +7 -0
- package/template/.meta-agents/config/roles.yaml +5 -1
- package/template/.meta-agents/config/system.yaml +127 -3
- package/template/.meta-agents/config/trackers.yaml +1 -0
- package/template/.meta-agents/prompts/agile-manager.md +19 -1
- package/template/.meta-agents/prompts/clarifier.md +2 -0
- package/template/.meta-agents/prompts/mr-review-agent.md +26 -0
- package/template/.meta-agents/prompts/publishing-agent.md +2 -1
- package/template/.meta-agents/prompts/reviewer-judge.md +3 -1
- package/template/.meta-agents/prompts/status-agent.md +27 -0
- package/template/.meta-agents/scripts/run-mr-review-gate.mjs +488 -0
- package/template/.meta-agents/scripts/run-review-gate.mjs +54 -1
- package/template/.meta-agents/scripts/sync-status.mjs +620 -1
- package/template/.meta-agents/scripts/task-branch-router.mjs +530 -0
- package/template/.meta-agents/scripts/tracker/provider-lock.mjs +104 -0
- package/template/.meta-agents/scripts/tracker-gateway.mjs +199 -0
- package/template/.meta-agents/scripts/verify-branch-strategy.mjs +103 -0
- package/template/.meta-agents/scripts/verify-commit-link.mjs +27 -13
- package/template/.meta-agents/scripts/verify-governance.mjs +37 -12
- package/template/.meta-agents/templates/agent-work-contract.md +8 -1
- package/template/.meta-agents/templates/task-template.md +7 -1
- package/template/README.md +43 -5
- package/template/agents.md +68 -15
- package/template/package.json +6 -1
- package/template/tracker-command-template.md +123 -28
- package/tracker-command-template.md +142 -14
|
@@ -33,20 +33,41 @@ result PASS
|
|
|
33
33
|
|
|
34
34
|
Если `result != PASS`, команда не выполняется.
|
|
35
35
|
|
|
36
|
+
## 0.2) Зафиксированный tracker provider проекта
|
|
37
|
+
- Текущий provider: `github`.
|
|
38
|
+
- Source of truth:
|
|
39
|
+
- `.meta-agents/config/project-context.yaml -> project_context.tracker_provider.selected`
|
|
40
|
+
- `.meta-agents/config/trackers.yaml -> tracker_gateway.default`
|
|
41
|
+
- Если пользователь явно не запросил смену provider и конфиг не обновлён, команды выполняются только через `github`.
|
|
42
|
+
- CLI enforcement: `npm run meta:ops -- --command <COMMAND> [--tracker ...]` блокирует выполнение при mismatch provider.
|
|
43
|
+
|
|
36
44
|
## 1) Ключевое правило подтверждения пользователя
|
|
37
45
|
Только по явному подтверждению пользователя в текущем диалоге разрешены:
|
|
38
46
|
- `COMMIT_BY_NAME`;
|
|
47
|
+
- merge после `RUN_MR_REVIEW_GATE`;
|
|
39
48
|
- перевод задачи в `DONE`.
|
|
40
49
|
|
|
41
50
|
Без подтверждения пользователя можно переводить задачу максимум в `REVIEW`.
|
|
42
51
|
`SET_STATUS -> READY` разрешён только после `RUN_REVIEW_GATE: PASS_CONFIRMED`.
|
|
43
52
|
|
|
44
53
|
Дополнительно для коммита:
|
|
45
|
-
- для
|
|
54
|
+
- для `git_flow_lite` используется цикл `TODO -> IN_PROGRESS -> REVIEW -> READY -> DONE` (для релизных задач дополнительно `-> PUBLISH`);
|
|
55
|
+
- рабочие ветки: `feature/*`, `release/*`, `hotfix/*`; долгоживущие ветки: `develop`, `main`;
|
|
56
|
+
- для агентных веток допускаются `codex/feature/*`, `codex/release/*`, `codex/hotfix/*`;
|
|
57
|
+
- правила merge: `feature/* -> develop`, `release/* -> main` + back-merge в `develop`, `hotfix/* -> main` + back-merge в `develop`;
|
|
46
58
|
- `RUN_REVIEW_GATE` работает в два этапа:
|
|
47
59
|
- сначала отчёт и рекомендация (`PASS_CANDIDATE`/`FAIL`);
|
|
48
60
|
- после явного подтверждения пользователя (`Review Approved: yes`) — финальный `PASS_CONFIRMED`;
|
|
61
|
+
- `RUN_MR_REVIEW_GATE` работает в два этапа:
|
|
62
|
+
- сначала сводный MR-отчёт и рекомендация (`PASS_CANDIDATE`/`FAIL`);
|
|
63
|
+
- после явного подтверждения пользователя (`MR Review Approved: yes`) — финальный `PASS_CONFIRMED`;
|
|
49
64
|
- `COMMIT_BY_NAME` разрешён только после `RUN_REVIEW_GATE: PASS_CONFIRMED`;
|
|
65
|
+
- merge разрешён только после `RUN_MR_REVIEW_GATE: PASS_CONFIRMED`;
|
|
66
|
+
- для задач реализации по умолчанию используется отдельная ветка `feature/*`; прямой поток на `develop`/`main` запрещён;
|
|
67
|
+
- перед началом реализации обязателен `PREPARE_TASK_BRANCH` (веточный preflight и user dialogue);
|
|
68
|
+
- если задача атомарная и относится к текущей feature-ветке, допускается выполнение в текущей ветке после явного подтверждения пользователя;
|
|
69
|
+
- если задача не относится к текущей ветке, требуется: проверить dirty/ahead, согласовать действие с пользователем, перейти на `develop` (или `main` для hotfix), обновить и создать новую ветку;
|
|
70
|
+
- перед `--apply` обязателен контекстный check: сравнить `agents.md` текущей и базовой ветки, при diff запросить явное подтверждение пользователя;
|
|
50
71
|
- сообщение коммита обязательно содержит `TASK-ID` и/или `#issue-number`.
|
|
51
72
|
|
|
52
73
|
Для GitHub трекера статус issue задаётся label-ом (одновременно только один статус из набора):
|
|
@@ -59,8 +80,8 @@ result PASS
|
|
|
59
80
|
- `PUBLISH`
|
|
60
81
|
|
|
61
82
|
Семантика статусов:
|
|
62
|
-
- `READY`: коммит сделан и отправлен (`push`)
|
|
63
|
-
- `DONE`: изменения интегрированы в `main
|
|
83
|
+
- `READY`: коммит сделан и отправлен (`push`) в `feature/*|release/*|hotfix/*` (или `codex/*` эквиваленты); открыт PR в `develop` или `main` согласно правилам ветвления.
|
|
84
|
+
- `DONE`: изменения интегрированы в `main`; для `release/*` и `hotfix/*` подтверждён back-merge в `develop`.
|
|
64
85
|
- `PUBLISH`: релиз опубликован и доступен в последней версии пакета.
|
|
65
86
|
|
|
66
87
|
Правило больших фич (GitHub tracker):
|
|
@@ -68,7 +89,7 @@ result PASS
|
|
|
68
89
|
- epic в GitHub оформляется как issue с label `type:epic`;
|
|
69
90
|
- feature оформляется как issue с label `type:feature` и ссылкой на epic.
|
|
70
91
|
|
|
71
|
-
## 2) Канонические команды (через Agile Manager Agent)
|
|
92
|
+
## 2) Канонические команды (через Agile Manager Agent / Reviewer/Judge Agent / MR Review Agent / Publishing Agent / Status Agent)
|
|
72
93
|
### VERIFY_GOVERNANCE_GATE
|
|
73
94
|
```text
|
|
74
95
|
[Agent Auto-Select]
|
|
@@ -152,6 +173,23 @@ status IN_PROGRESS,
|
|
|
152
173
|
reason "начата реализация"
|
|
153
174
|
```
|
|
154
175
|
|
|
176
|
+
### PREPARE_TASK_BRANCH (обязателен перед реализацией)
|
|
177
|
+
```text
|
|
178
|
+
[Agent Auto-Select]
|
|
179
|
+
Selected: Agile Manager Agent
|
|
180
|
+
Reason: Нужно проверить соответствие задачи текущей ветке и выбрать корректный Git Flow маршрут.
|
|
181
|
+
|
|
182
|
+
[Task Agent]
|
|
183
|
+
Name: Agile Manager Agent
|
|
184
|
+
|
|
185
|
+
Agile Manager Agent: prepare task branch,
|
|
186
|
+
tracker github,
|
|
187
|
+
task "#12",
|
|
188
|
+
task kind "atomic",
|
|
189
|
+
command "npm run meta:task-start -- --task 12 --slug api-redirect",
|
|
190
|
+
user dialogue "confirm branch context + dirty/ahead handling + agents.md context warning + switch decision"
|
|
191
|
+
```
|
|
192
|
+
|
|
155
193
|
### SET_STATUS -> REVIEW (обязателен перед review gate)
|
|
156
194
|
```text
|
|
157
195
|
[Agent Auto-Select]
|
|
@@ -227,6 +265,40 @@ target status READY,
|
|
|
227
265
|
what done "добавлен endpoint, тесты, обработка ошибок"
|
|
228
266
|
```
|
|
229
267
|
|
|
268
|
+
### RUN_MR_REVIEW_GATE (обязателен перед merge)
|
|
269
|
+
```text
|
|
270
|
+
[Agent Auto-Select]
|
|
271
|
+
Selected: MR Review Agent
|
|
272
|
+
Reason: Нужен обязательный pre-merge review по MR/PR с проверкой task linkage и PRD evidence.
|
|
273
|
+
|
|
274
|
+
[Task Agent]
|
|
275
|
+
Name: MR Review Agent
|
|
276
|
+
|
|
277
|
+
MR Review Agent: run MR review gate,
|
|
278
|
+
task DEV-12,
|
|
279
|
+
pr 34,
|
|
280
|
+
checklist "mr_context, task_linkage, prd_evidence, critical_findings, potential_risks",
|
|
281
|
+
result PASS_CANDIDATE
|
|
282
|
+
```
|
|
283
|
+
|
|
284
|
+
```text
|
|
285
|
+
[User Confirmation]
|
|
286
|
+
MR Review Approved: yes
|
|
287
|
+
|
|
288
|
+
[Agent Auto-Select]
|
|
289
|
+
Selected: MR Review Agent
|
|
290
|
+
Reason: Подтверждение MR review пользователем получено, фиксируем финальный результат.
|
|
291
|
+
|
|
292
|
+
[Task Agent]
|
|
293
|
+
Name: MR Review Agent
|
|
294
|
+
|
|
295
|
+
MR Review Agent: run MR review gate,
|
|
296
|
+
task DEV-12,
|
|
297
|
+
pr 34,
|
|
298
|
+
approve yes,
|
|
299
|
+
result PASS_CONFIRMED
|
|
300
|
+
```
|
|
301
|
+
|
|
230
302
|
### SET_STATUS -> PUBLISH (после фактической публикации)
|
|
231
303
|
```text
|
|
232
304
|
[Agent Auto-Select]
|
|
@@ -277,6 +349,55 @@ task DEV-12,
|
|
|
277
349
|
sprint SPRINT-3
|
|
278
350
|
```
|
|
279
351
|
|
|
352
|
+
### STATUS_SNAPSHOT
|
|
353
|
+
```text
|
|
354
|
+
[Agent Auto-Select]
|
|
355
|
+
Selected: Status Agent
|
|
356
|
+
Reason: Пользователь запросил текущий статус проекта/процесса.
|
|
357
|
+
|
|
358
|
+
[Task Agent]
|
|
359
|
+
Name: Status Agent
|
|
360
|
+
|
|
361
|
+
Status Agent: status snapshot,
|
|
362
|
+
tracker github,
|
|
363
|
+
source policy "github/mcp/custom -> external tracker first, local -> tasks first",
|
|
364
|
+
include "trackers_used,current_sprint,current_task,current_branch_context,git_uncommitted,summary",
|
|
365
|
+
command "node .meta-agents/scripts/sync-status.mjs"
|
|
366
|
+
```
|
|
367
|
+
|
|
368
|
+
### PREPARE_RELEASE_NOTE
|
|
369
|
+
```text
|
|
370
|
+
[Agent Auto-Select]
|
|
371
|
+
Selected: Publishing Agent
|
|
372
|
+
Reason: Нужно зафиксировать состав релиза и задачи, вошедшие в поставку.
|
|
373
|
+
|
|
374
|
+
[Task Agent]
|
|
375
|
+
Name: Publishing Agent
|
|
376
|
+
|
|
377
|
+
Publishing Agent: prepare release note,
|
|
378
|
+
tracker github,
|
|
379
|
+
version v0.1.2,
|
|
380
|
+
included tasks "#2,#3,#4,#5,#6,#7,#8",
|
|
381
|
+
changelog "CHANGELOG.md updated for v0.1.2",
|
|
382
|
+
output "docs/internal/release-notes/v0.1.2.md"
|
|
383
|
+
```
|
|
384
|
+
|
|
385
|
+
### MARK_TASKS_PUBLISH
|
|
386
|
+
```text
|
|
387
|
+
[Agent Auto-Select]
|
|
388
|
+
Selected: Publishing Agent
|
|
389
|
+
Reason: После релиза нужно перевести вошедшие задачи в статус PUBLISH.
|
|
390
|
+
|
|
391
|
+
[Task Agent]
|
|
392
|
+
Name: Publishing Agent
|
|
393
|
+
|
|
394
|
+
Publishing Agent: mark tasks publish,
|
|
395
|
+
tracker github,
|
|
396
|
+
tasks "#2,#3,#4,#5,#6,#7,#8",
|
|
397
|
+
status PUBLISH,
|
|
398
|
+
reason "вошло в релиз v0.1.2"
|
|
399
|
+
```
|
|
400
|
+
|
|
280
401
|
## 3) PRD-блок для каждого шага (обязателен)
|
|
281
402
|
```markdown
|
|
282
403
|
## PRD Step: <stage-name>
|
|
@@ -299,13 +420,20 @@ sprint SPRINT-3
|
|
|
299
420
|
## 4) Минимальный операционный цикл
|
|
300
421
|
1. `VERIFY_GOVERNANCE_GATE`.
|
|
301
422
|
2. `CREATE_TASK`.
|
|
302
|
-
3. `
|
|
303
|
-
4.
|
|
304
|
-
5.
|
|
305
|
-
6. `
|
|
306
|
-
7.
|
|
307
|
-
8. `
|
|
308
|
-
9. `
|
|
309
|
-
10. `
|
|
310
|
-
11.
|
|
311
|
-
12.
|
|
423
|
+
3. `PREPARE_TASK_BRANCH`.
|
|
424
|
+
4. `SET_STATUS -> IN_PROGRESS`.
|
|
425
|
+
5. Реализация + evidence.
|
|
426
|
+
6. `SET_STATUS -> REVIEW`.
|
|
427
|
+
7. `RUN_REVIEW_GATE` (получить report + `PASS_CANDIDATE`/`FAIL`).
|
|
428
|
+
8. Пользователь подтверждает review (`Review Approved: yes`).
|
|
429
|
+
9. `RUN_REVIEW_GATE` -> `PASS_CONFIRMED`.
|
|
430
|
+
10. `COMMIT_BY_NAME` только после review PASS_CONFIRMED и отдельного подтверждения пользователя на коммит.
|
|
431
|
+
11. Push + open PR в целевую ветку по Git Flow Lite.
|
|
432
|
+
12. `RUN_MR_REVIEW_GATE` (получить report + `PASS_CANDIDATE`/`FAIL`).
|
|
433
|
+
13. Пользователь подтверждает MR review (`MR Review Approved: yes`).
|
|
434
|
+
14. `RUN_MR_REVIEW_GATE` -> `PASS_CONFIRMED`.
|
|
435
|
+
15. Merge PR по Git Flow Lite.
|
|
436
|
+
16. `SET_STATUS -> READY`.
|
|
437
|
+
17. `SET_STATUS -> DONE` только после подтверждения пользователя.
|
|
438
|
+
18. `PREPARE_RELEASE_NOTE` (какие задачи вошли в релиз).
|
|
439
|
+
19. Для релизных задач после публикации: `MARK_TASKS_PUBLISH` (`SET_STATUS -> PUBLISH` для всех вошедших задач).
|