takt 0.1.1 → 0.1.3

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.
Files changed (111) hide show
  1. package/README.md +78 -4
  2. package/dist/agents/runner.d.ts +3 -0
  3. package/dist/agents/runner.d.ts.map +1 -1
  4. package/dist/agents/runner.js +69 -14
  5. package/dist/agents/runner.js.map +1 -1
  6. package/dist/claude/client.d.ts +1 -1
  7. package/dist/claude/client.d.ts.map +1 -1
  8. package/dist/claude/client.js +4 -3
  9. package/dist/claude/client.js.map +1 -1
  10. package/dist/claude/index.d.ts +1 -1
  11. package/dist/claude/index.d.ts.map +1 -1
  12. package/dist/claude/index.js.map +1 -1
  13. package/dist/claude/process.d.ts +1 -1
  14. package/dist/claude/process.d.ts.map +1 -1
  15. package/dist/claude/process.js.map +1 -1
  16. package/dist/claude/types.d.ts +7 -0
  17. package/dist/claude/types.d.ts.map +1 -1
  18. package/dist/cli.js +3 -1
  19. package/dist/cli.js.map +1 -1
  20. package/dist/codex/client.d.ts +26 -0
  21. package/dist/codex/client.d.ts.map +1 -0
  22. package/dist/codex/client.js +418 -0
  23. package/dist/codex/client.js.map +1 -0
  24. package/dist/codex/index.d.ts +5 -0
  25. package/dist/codex/index.d.ts.map +1 -0
  26. package/dist/codex/index.js +5 -0
  27. package/dist/codex/index.js.map +1 -0
  28. package/dist/commands/workflowExecution.d.ts.map +1 -1
  29. package/dist/commands/workflowExecution.js +38 -2
  30. package/dist/commands/workflowExecution.js.map +1 -1
  31. package/dist/config/globalConfig.d.ts +2 -0
  32. package/dist/config/globalConfig.d.ts.map +1 -1
  33. package/dist/config/globalConfig.js +12 -0
  34. package/dist/config/globalConfig.js.map +1 -1
  35. package/dist/config/initialization.d.ts +10 -0
  36. package/dist/config/initialization.d.ts.map +1 -1
  37. package/dist/config/initialization.js +25 -3
  38. package/dist/config/initialization.js.map +1 -1
  39. package/dist/config/projectConfig.d.ts +2 -0
  40. package/dist/config/projectConfig.d.ts.map +1 -1
  41. package/dist/config/projectConfig.js +3 -0
  42. package/dist/config/projectConfig.js.map +1 -1
  43. package/dist/config/workflowLoader.d.ts.map +1 -1
  44. package/dist/config/workflowLoader.js +3 -0
  45. package/dist/config/workflowLoader.js.map +1 -1
  46. package/dist/index.d.ts +1 -0
  47. package/dist/index.d.ts.map +1 -1
  48. package/dist/index.js +2 -0
  49. package/dist/index.js.map +1 -1
  50. package/dist/models/schemas.d.ts +54 -3
  51. package/dist/models/schemas.d.ts.map +1 -1
  52. package/dist/models/schemas.js +34 -46
  53. package/dist/models/schemas.js.map +1 -1
  54. package/dist/models/types.d.ts +12 -2
  55. package/dist/models/types.d.ts.map +1 -1
  56. package/dist/resources/index.d.ts +9 -0
  57. package/dist/resources/index.d.ts.map +1 -1
  58. package/dist/resources/index.js +21 -2
  59. package/dist/resources/index.js.map +1 -1
  60. package/dist/utils/session.d.ts +5 -0
  61. package/dist/utils/session.d.ts.map +1 -1
  62. package/dist/utils/session.js +19 -0
  63. package/dist/utils/session.js.map +1 -1
  64. package/dist/utils/ui.d.ts +7 -0
  65. package/dist/utils/ui.d.ts.map +1 -1
  66. package/dist/utils/ui.js +51 -0
  67. package/dist/utils/ui.js.map +1 -1
  68. package/dist/workflow/engine.d.ts +10 -0
  69. package/dist/workflow/engine.d.ts.map +1 -1
  70. package/dist/workflow/engine.js +31 -0
  71. package/dist/workflow/engine.js.map +1 -1
  72. package/dist/workflow/instruction-builder.d.ts +3 -0
  73. package/dist/workflow/instruction-builder.d.ts.map +1 -1
  74. package/dist/workflow/instruction-builder.js +5 -0
  75. package/dist/workflow/instruction-builder.js.map +1 -1
  76. package/dist/workflow/transitions.d.ts.map +1 -1
  77. package/dist/workflow/transitions.js +1 -0
  78. package/dist/workflow/transitions.js.map +1 -1
  79. package/package.json +3 -1
  80. package/resources/global/en/agents/default/ai-reviewer.md +136 -0
  81. package/resources/global/en/agents/default/architect.md +81 -30
  82. package/resources/global/en/agents/default/coder.md +60 -44
  83. package/resources/global/en/agents/default/planner.md +78 -0
  84. package/resources/global/en/agents/default/security.md +67 -75
  85. package/resources/global/en/agents/default/supervisor.md +94 -86
  86. package/resources/global/en/agents/expert-review/cqrs-es-reviewer.md +199 -0
  87. package/resources/global/en/agents/expert-review/frontend-reviewer.md +260 -0
  88. package/resources/global/en/agents/expert-review/qa-reviewer.md +260 -0
  89. package/resources/global/en/agents/expert-review/security-reviewer.md +222 -0
  90. package/resources/global/en/agents/expert-review/supervisor.md +186 -0
  91. package/resources/global/en/config.yaml +8 -0
  92. package/resources/global/en/workflows/default.yaml +474 -21
  93. package/resources/global/en/workflows/expert-review.yaml +936 -0
  94. package/resources/global/en/workflows/magi.yaml +18 -0
  95. package/resources/global/en/workflows/research.yaml +18 -0
  96. package/resources/global/ja/agents/default/ai-reviewer.md +136 -0
  97. package/resources/global/ja/agents/default/architect.md +81 -30
  98. package/resources/global/ja/agents/default/coder.md +21 -6
  99. package/resources/global/ja/agents/default/planner.md +78 -0
  100. package/resources/global/ja/agents/default/security.md +20 -28
  101. package/resources/global/ja/agents/default/supervisor.md +54 -46
  102. package/resources/global/ja/agents/expert-review/cqrs-es-reviewer.md +199 -0
  103. package/resources/global/ja/agents/expert-review/frontend-reviewer.md +260 -0
  104. package/resources/global/ja/agents/expert-review/qa-reviewer.md +260 -0
  105. package/resources/global/ja/agents/expert-review/security-reviewer.md +222 -0
  106. package/resources/global/ja/agents/expert-review/supervisor.md +186 -0
  107. package/resources/global/ja/config.yaml +8 -0
  108. package/resources/global/ja/workflows/default.yaml +485 -32
  109. package/resources/global/ja/workflows/expert-review.yaml +936 -0
  110. package/resources/global/ja/workflows/magi.yaml +18 -0
  111. package/resources/global/ja/workflows/research.yaml +18 -0
@@ -0,0 +1,936 @@
1
+ # Expert Review Workflow
2
+ # CQRS+ES、フロントエンド、セキュリティ、QAの専門家によるレビューワークフロー
3
+ #
4
+ # フロー:
5
+ # plan -> implement -> cqrs_es_review -> frontend_review -> ai_review -> security_review -> qa_review -> supervise -> COMPLETE
6
+ # ↓ ↓ ↓ ↓ ↓ ↓
7
+ # fix_cqrs_es fix_frontend ai_fix fix_security fix_qa fix_supervisor
8
+ #
9
+ # 修正時の戻り先はCoderが判断:
10
+ # - fix_security: MINOR→security_review, MAJOR→cqrs_es_review
11
+ # - fix_qa: MINOR→qa_review, SECURITY→security_review, MAJOR→cqrs_es_review
12
+
13
+ name: expert-review
14
+ description: CQRS+ES・フロントエンド・セキュリティ・QA専門家レビュー
15
+
16
+ max_iterations: 20
17
+
18
+ initial_step: plan
19
+
20
+ steps:
21
+ # ===========================================
22
+ # Phase 0: Planning
23
+ # ===========================================
24
+ - name: plan
25
+ agent: ~/.takt/agents/default/planner.md
26
+ allowed_tools:
27
+ - Read
28
+ - Glob
29
+ - Grep
30
+ - Bash
31
+ - WebSearch
32
+ - WebFetch
33
+ instruction_template: |
34
+ ## Workflow Context
35
+ - Iteration: {iteration}/{max_iterations}
36
+ - Step: plan (タスク分析)
37
+ - Report Directory: .takt/reports/{report_dir}/
38
+ - Report File: .takt/reports/{report_dir}/00-plan.md
39
+
40
+ ## User Request
41
+ {task}
42
+
43
+ ## Previous Response (implementからの差し戻し時)
44
+ {previous_response}
45
+
46
+ ## Instructions
47
+ タスクを分析し、実装方針を立ててください。
48
+
49
+ **注意:** Previous Responseがある場合は差し戻しのため、
50
+ その内容を踏まえて計画を見直してください(replan)。
51
+
52
+ **やること:**
53
+ 1. タスクの要件を理解する
54
+ 2. 影響範囲を特定する
55
+ 3. 実装アプローチを決める
56
+
57
+ **レポート出力:** 上記の `Report File` に出力してください。
58
+ - ファイルが存在しない場合: 新規作成
59
+ - ファイルが存在する場合: `## Iteration {iteration}` セクションを追記
60
+
61
+ **レポートフォーマット:**
62
+ ```markdown
63
+ # タスク計画
64
+
65
+ ## 元の要求
66
+ {ユーザーの要求をそのまま記載}
67
+
68
+ ## 分析結果
69
+
70
+ ### 目的
71
+ {達成すべきこと}
72
+
73
+ ### スコープ
74
+ {影響範囲}
75
+
76
+ ### 実装アプローチ
77
+ {どう進めるか}
78
+
79
+ ## 確認事項(あれば)
80
+ - {不明点や確認が必要な点}
81
+ ```
82
+
83
+ 完了したら [PLANNER:DONE] を出力。
84
+ 要件が不明確な場合は [PLANNER:BLOCKED] を出力。
85
+ pass_previous_response: true
86
+ transitions:
87
+ - condition: done
88
+ next_step: implement
89
+ - condition: blocked
90
+ next_step: ABORT
91
+
92
+ # ===========================================
93
+ # Phase 1: Implementation
94
+ # ===========================================
95
+ - name: implement
96
+ agent: ~/.takt/agents/default/coder.md
97
+ allowed_tools:
98
+ - Read
99
+ - Glob
100
+ - Grep
101
+ - Edit
102
+ - Write
103
+ - Bash
104
+ - WebSearch
105
+ - WebFetch
106
+ instruction_template: |
107
+ ## Workflow Context
108
+ - Iteration: {iteration}/{max_iterations}
109
+ - Step: implement
110
+ - Report Directory: .takt/reports/{report_dir}/
111
+ - Report Files:
112
+ - Scope: .takt/reports/{report_dir}/01-coder-scope.md
113
+ - Decisions: .takt/reports/{report_dir}/02-coder-decisions.md
114
+
115
+ ## User Request
116
+ {task}
117
+
118
+ ## Additional User Inputs
119
+ {user_inputs}
120
+
121
+ ## Instructions
122
+ planステップで立てた計画に従って実装してください。
123
+ 計画レポート(00-plan.md)を参照し、実装を進めてください。
124
+
125
+ **レポート出力:** 上記の `Report Files` に出力してください。
126
+ - ファイルが存在しない場合: 新規作成
127
+ - ファイルが存在する場合: `## Iteration {iteration}` セクションを追記
128
+
129
+ **Scopeレポートフォーマット(実装開始時に作成):**
130
+ ```markdown
131
+ # 変更スコープ宣言
132
+
133
+ ## タスク
134
+ {タスクの1行要約}
135
+
136
+ ## 変更予定
137
+ | 種別 | ファイル |
138
+ |------|---------|
139
+ | 作成 | `src/example.ts` |
140
+ | 変更 | `src/routes.ts` |
141
+
142
+ ## 推定規模
143
+ Small / Medium / Large
144
+
145
+ ## 影響範囲
146
+ - {影響するモジュールや機能}
147
+ ```
148
+
149
+ **Decisionsレポートフォーマット(実装完了時、決定がある場合のみ):**
150
+ ```markdown
151
+ # 決定ログ
152
+
153
+ ## 1. {決定内容}
154
+ - **背景**: {なぜ決定が必要だったか}
155
+ - **検討した選択肢**: {選択肢リスト}
156
+ - **理由**: {選んだ理由}
157
+ ```
158
+
159
+ 完了時は [CODER:DONE] を含めてください。
160
+ 進行できない場合は [CODER:BLOCKED] を出力し、planに戻ります。
161
+ transitions:
162
+ - condition: done
163
+ next_step: cqrs_es_review
164
+ - condition: blocked
165
+ next_step: plan
166
+
167
+ # ===========================================
168
+ # Phase 2: CQRS+ES Review
169
+ # ===========================================
170
+ - name: cqrs_es_review
171
+ agent: ~/.takt/agents/expert-review/cqrs-es-reviewer.md
172
+ allowed_tools:
173
+ - Read
174
+ - Glob
175
+ - Grep
176
+ - WebSearch
177
+ - WebFetch
178
+ instruction_template: |
179
+ ## Workflow Context
180
+ - Iteration: {iteration}/{max_iterations}
181
+ - Step: cqrs_es_review (CQRS+ES専門レビュー)
182
+ - Report Directory: .takt/reports/{report_dir}/
183
+ - Report File: .takt/reports/{report_dir}/03-cqrs-es-review.md
184
+
185
+ ## Original User Request
186
+ {task}
187
+
188
+ ## Git Diff
189
+ ```diff
190
+ {git_diff}
191
+ ```
192
+
193
+ ## Instructions
194
+ CQRS(コマンドクエリ責務分離)とEvent Sourcing(イベントソーシング)の観点から
195
+ 上記の変更をレビューしてください。
196
+
197
+ **レビュー観点:**
198
+ - Aggregate設計の妥当性
199
+ - イベント設計(粒度、命名、スキーマ)
200
+ - Command/Queryの分離
201
+ - プロジェクション設計
202
+ - 結果整合性の考慮
203
+
204
+ **注意**: このプロジェクトがCQRS+ESパターンを使用していない場合は、
205
+ 一般的なドメイン設計の観点からレビューしてください。
206
+
207
+ **レポート出力:** 上記の `Report File` に出力してください。
208
+ - ファイルが存在しない場合: 新規作成
209
+ - ファイルが存在する場合: `## Iteration {iteration}` セクションを追記
210
+
211
+ **レポートフォーマット:**
212
+ ```markdown
213
+ # CQRS+ESレビュー
214
+
215
+ ## 結果: APPROVE / REJECT
216
+
217
+ ## サマリー
218
+ {1-2文で結果を要約}
219
+
220
+ ## 確認した観点
221
+ | 観点 | 結果 | 備考 |
222
+ |------|------|------|
223
+ | Aggregate設計 | ✅ | - |
224
+ | イベント設計 | ✅ | - |
225
+ | Command/Query分離 | ✅ | - |
226
+ | プロジェクション | ✅ | - |
227
+ | 結果整合性 | ✅ | - |
228
+
229
+ ## 問題点(REJECTの場合)
230
+ | # | 場所 | 問題 | 修正案 |
231
+ |---|------|------|--------|
232
+ | 1 | `src/file.ts:42` | 問題の説明 | 修正方法 |
233
+ ```
234
+
235
+ Include:
236
+ - [CQRS-ES:APPROVE] if CQRS+ES design is sound
237
+ - [CQRS-ES:REJECT] if design issues found (list specific issues)
238
+ transitions:
239
+ - condition: approved
240
+ next_step: frontend_review
241
+ - condition: rejected
242
+ next_step: fix_cqrs_es
243
+
244
+ - name: fix_cqrs_es
245
+ agent: ~/.takt/agents/default/coder.md
246
+ allowed_tools:
247
+ - Read
248
+ - Glob
249
+ - Grep
250
+ - Edit
251
+ - Write
252
+ - Bash
253
+ - WebSearch
254
+ - WebFetch
255
+ instruction_template: |
256
+ ## Workflow Context
257
+ - Iteration: {iteration}/{max_iterations}
258
+ - Step: fix_cqrs_es
259
+
260
+ ## CQRS+ES Review Feedback (これが最新の指示です - 優先して対応してください)
261
+ {previous_response}
262
+
263
+ ## Original User Request (ワークフロー開始時の元の要求 - 参考情報)
264
+ {task}
265
+
266
+ ## Additional User Inputs
267
+ {user_inputs}
268
+
269
+ ## Instructions
270
+ **重要**: CQRS+ES専門家からの指摘を修正してください。
271
+
272
+ 指摘されたポイント:
273
+ - Aggregate設計
274
+ - イベント設計
275
+ - Command/Query分離
276
+ - プロジェクション
277
+ - 結果整合性
278
+
279
+ 完了時は [CODER:DONE] を含めてください。
280
+ 進行できない場合は [CODER:BLOCKED] を含めてください。
281
+ pass_previous_response: true
282
+ transitions:
283
+ - condition: done
284
+ next_step: cqrs_es_review
285
+ - condition: blocked
286
+ next_step: plan
287
+
288
+ # ===========================================
289
+ # Phase 3: Frontend Review
290
+ # ===========================================
291
+ - name: frontend_review
292
+ agent: ~/.takt/agents/expert-review/frontend-reviewer.md
293
+ allowed_tools:
294
+ - Read
295
+ - Glob
296
+ - Grep
297
+ - WebSearch
298
+ - WebFetch
299
+ instruction_template: |
300
+ ## Workflow Context
301
+ - Iteration: {iteration}/{max_iterations}
302
+ - Step: frontend_review (フロントエンド専門レビュー)
303
+ - Report Directory: .takt/reports/{report_dir}/
304
+ - Report File: .takt/reports/{report_dir}/04-frontend-review.md
305
+
306
+ ## Original User Request
307
+ {task}
308
+
309
+ ## Git Diff
310
+ ```diff
311
+ {git_diff}
312
+ ```
313
+
314
+ ## Instructions
315
+ フロントエンド開発の観点から上記の変更をレビューしてください。
316
+
317
+ **レビュー観点:**
318
+ - コンポーネント設計(責務分離、粒度)
319
+ - 状態管理(ローカル/グローバルの判断)
320
+ - パフォーマンス(再レンダリング、メモ化)
321
+ - アクセシビリティ(キーボード操作、ARIA)
322
+ - データフェッチパターン
323
+ - TypeScript型安全性
324
+
325
+ **注意**: このプロジェクトがフロントエンドを含まない場合は、
326
+ [FRONTEND:APPROVE] として次に進んでください。
327
+
328
+ **レポート出力:** 上記の `Report File` に出力してください。
329
+ - ファイルが存在しない場合: 新規作成
330
+ - ファイルが存在する場合: `## Iteration {iteration}` セクションを追記
331
+
332
+ **レポートフォーマット:**
333
+ ```markdown
334
+ # フロントエンドレビュー
335
+
336
+ ## 結果: APPROVE / REJECT
337
+
338
+ ## サマリー
339
+ {1-2文で結果を要約}
340
+
341
+ ## 確認した観点
342
+ | 観点 | 結果 | 備考 |
343
+ |------|------|------|
344
+ | コンポーネント設計 | ✅ | - |
345
+ | 状態管理 | ✅ | - |
346
+ | パフォーマンス | ✅ | - |
347
+ | アクセシビリティ | ✅ | - |
348
+ | 型安全性 | ✅ | - |
349
+
350
+ ## 問題点(REJECTの場合)
351
+ | # | 場所 | 問題 | 修正案 |
352
+ |---|------|------|--------|
353
+ | 1 | `src/file.tsx:42` | 問題の説明 | 修正方法 |
354
+ ```
355
+
356
+ Include:
357
+ - [FRONTEND:APPROVE] if frontend design is sound
358
+ - [FRONTEND:REJECT] if design issues found (list specific issues)
359
+ transitions:
360
+ - condition: approved
361
+ next_step: ai_review
362
+ - condition: rejected
363
+ next_step: fix_frontend
364
+
365
+ - name: fix_frontend
366
+ agent: ~/.takt/agents/default/coder.md
367
+ allowed_tools:
368
+ - Read
369
+ - Glob
370
+ - Grep
371
+ - Edit
372
+ - Write
373
+ - Bash
374
+ - WebSearch
375
+ - WebFetch
376
+ instruction_template: |
377
+ ## Workflow Context
378
+ - Iteration: {iteration}/{max_iterations}
379
+ - Step: fix_frontend
380
+
381
+ ## Frontend Review Feedback (これが最新の指示です - 優先して対応してください)
382
+ {previous_response}
383
+
384
+ ## Original User Request (ワークフロー開始時の元の要求 - 参考情報)
385
+ {task}
386
+
387
+ ## Additional User Inputs
388
+ {user_inputs}
389
+
390
+ ## Instructions
391
+ **重要**: フロントエンド専門家からの指摘を修正してください。
392
+
393
+ 指摘されたポイント:
394
+ - コンポーネント設計
395
+ - 状態管理
396
+ - パフォーマンス
397
+ - アクセシビリティ
398
+ - 型安全性
399
+
400
+ 完了時は [CODER:DONE] を含めてください。
401
+ 進行できない場合は [CODER:BLOCKED] を含めてください。
402
+ pass_previous_response: true
403
+ transitions:
404
+ - condition: done
405
+ next_step: frontend_review
406
+ - condition: blocked
407
+ next_step: plan
408
+
409
+ # ===========================================
410
+ # Phase 4: AI Review
411
+ # ===========================================
412
+ - name: ai_review
413
+ agent: ~/.takt/agents/default/ai-reviewer.md
414
+ allowed_tools:
415
+ - Read
416
+ - Glob
417
+ - Grep
418
+ - WebSearch
419
+ - WebFetch
420
+ instruction_template: |
421
+ ## Workflow Context
422
+ - Iteration: {iteration}/{max_iterations}
423
+ - Step: ai_review (AI生成コードレビュー)
424
+ - Report Directory: .takt/reports/{report_dir}/
425
+ - Report File: .takt/reports/{report_dir}/05-ai-review.md
426
+
427
+ ## Original User Request (ワークフロー開始時の元の要求)
428
+ {task}
429
+
430
+ ## Git Diff
431
+ ```diff
432
+ {git_diff}
433
+ ```
434
+
435
+ ## Instructions
436
+ AI特有の問題についてコードをレビューしてください:
437
+ - 仮定の検証
438
+ - もっともらしいが間違っているパターン
439
+ - 既存コードベースとの適合性
440
+ - スコープクリープの検出
441
+
442
+ **レポート出力:** 上記の `Report File` に出力してください。
443
+ - ファイルが存在しない場合: 新規作成
444
+ - ファイルが存在する場合: `## Iteration {iteration}` セクションを追記
445
+
446
+ **レポートフォーマット:**
447
+ ```markdown
448
+ # AI生成コードレビュー
449
+
450
+ ## 結果: APPROVE / REJECT
451
+
452
+ ## サマリー
453
+ {1文で結果を要約}
454
+
455
+ ## 検証した項目
456
+ | 観点 | 結果 | 備考 |
457
+ |------|------|------|
458
+ | 仮定の妥当性 | ✅ | - |
459
+ | API/ライブラリの実在 | ✅ | - |
460
+ | コンテキスト適合 | ✅ | - |
461
+ | スコープ | ✅ | - |
462
+
463
+ ## 問題点(REJECTの場合)
464
+ | # | カテゴリ | 場所 | 問題 |
465
+ |---|---------|------|------|
466
+ | 1 | 幻覚API | `src/file.ts:23` | 存在しないメソッド |
467
+ ```
468
+
469
+ **認知負荷軽減ルール:**
470
+ - 問題なし → サマリー1文 + チェック表のみ(10行以内)
471
+ - 問題あり → + 問題を表形式で(25行以内)
472
+
473
+ 以下を含めてください:
474
+ - [AI_REVIEW:APPROVE] AI特有の問題が見つからない場合
475
+ - [AI_REVIEW:REJECT] 問題が検出された場合(具体的な問題をリスト)
476
+ transitions:
477
+ - condition: approved
478
+ next_step: security_review
479
+ - condition: rejected
480
+ next_step: ai_fix
481
+
482
+ - name: ai_fix
483
+ agent: ~/.takt/agents/default/coder.md
484
+ allowed_tools:
485
+ - Read
486
+ - Glob
487
+ - Grep
488
+ - Edit
489
+ - Write
490
+ - Bash
491
+ - WebSearch
492
+ - WebFetch
493
+ instruction_template: |
494
+ ## Workflow Context
495
+ - Iteration: {iteration}/{max_iterations}
496
+ - Step: ai_fix
497
+
498
+ ## AI Review Feedback (これが最新の指示です - 優先して対応してください)
499
+ {previous_response}
500
+
501
+ ## Original User Request (ワークフロー開始時の元の要求 - 参考情報)
502
+ {task}
503
+
504
+ ## Additional User Inputs
505
+ {user_inputs}
506
+
507
+ ## Instructions
508
+ **重要**: AI Reviewerのフィードバックに対応してください。
509
+ 以下に集中してください:
510
+ - 間違った仮定の修正
511
+ - もっともらしいが間違っている実装の修正
512
+ - 既存コードベースのパターンとの整合
513
+ - スコープクリープの除去
514
+
515
+ 完了時は [CODER:DONE] を含めてください。
516
+ 進行できない場合は [CODER:BLOCKED] を含めてください。
517
+ pass_previous_response: true
518
+ transitions:
519
+ - condition: done
520
+ next_step: cqrs_es_review
521
+ - condition: blocked
522
+ next_step: plan
523
+
524
+ # ===========================================
525
+ # Phase 5: Security Review
526
+ # ===========================================
527
+ - name: security_review
528
+ agent: ~/.takt/agents/expert-review/security-reviewer.md
529
+ allowed_tools:
530
+ - Read
531
+ - Glob
532
+ - Grep
533
+ - WebSearch
534
+ - WebFetch
535
+ instruction_template: |
536
+ ## Workflow Context
537
+ - Iteration: {iteration}/{max_iterations}
538
+ - Step: security_review (セキュリティ専門レビュー)
539
+ - Report Directory: .takt/reports/{report_dir}/
540
+ - Report File: .takt/reports/{report_dir}/06-security-review.md
541
+
542
+ ## Original User Request
543
+ {task}
544
+
545
+ ## Git Diff
546
+ ```diff
547
+ {git_diff}
548
+ ```
549
+
550
+ ## Instructions
551
+ セキュリティの観点から上記の変更をレビューしてください。
552
+
553
+ **レビュー観点:**
554
+ - インジェクション攻撃(SQL, コマンド, XSS)
555
+ - 認証・認可の不備
556
+ - 機密情報の取り扱い
557
+ - 暗号化の適切性
558
+ - OWASP Top 10
559
+
560
+ **レポート出力:** 上記の `Report File` に出力してください。
561
+ - ファイルが存在しない場合: 新規作成
562
+ - ファイルが存在する場合: `## Iteration {iteration}` セクションを追記
563
+
564
+ **レポートフォーマット:**
565
+ ```markdown
566
+ # セキュリティレビュー
567
+
568
+ ## 結果: APPROVE / REJECT
569
+
570
+ ## 重大度: None / Low / Medium / High / Critical
571
+
572
+ ## チェック結果
573
+ | カテゴリ | 結果 | 備考 |
574
+ |---------|------|------|
575
+ | インジェクション | ✅ | - |
576
+ | 認証・認可 | ✅ | - |
577
+ | データ保護 | ✅ | - |
578
+ | 依存関係 | ✅ | - |
579
+
580
+ ## 脆弱性(REJECTの場合)
581
+ | # | 重大度 | 種類 | 場所 | 修正案 |
582
+ |---|--------|------|------|--------|
583
+ | 1 | High | SQLi | `src/db.ts:42` | パラメータ化クエリを使用 |
584
+
585
+ ## 警告(ブロッキングではない)
586
+ - {セキュリティに関する推奨事項}
587
+ ```
588
+
589
+ Include:
590
+ - [SECURITY:APPROVE] if no security issues found
591
+ - [SECURITY:REJECT] if vulnerabilities found (list specific issues with severity)
592
+ transitions:
593
+ - condition: approved
594
+ next_step: qa_review
595
+ - condition: rejected
596
+ next_step: fix_security
597
+
598
+ - name: fix_security
599
+ agent: ~/.takt/agents/default/coder.md
600
+ allowed_tools:
601
+ - Read
602
+ - Glob
603
+ - Grep
604
+ - Edit
605
+ - Write
606
+ - Bash
607
+ - WebSearch
608
+ - WebFetch
609
+ instruction_template: |
610
+ ## Workflow Context
611
+ - Iteration: {iteration}/{max_iterations}
612
+ - Step: fix_security
613
+
614
+ ## Security Review Feedback (これが最新の指示です - 優先して対応してください)
615
+ {previous_response}
616
+
617
+ ## Original User Request (ワークフロー開始時の元の要求 - 参考情報)
618
+ {task}
619
+
620
+ ## Additional User Inputs
621
+ {user_inputs}
622
+
623
+ ## Instructions
624
+ **重要**: セキュリティ専門家からの指摘を修正してください。
625
+ セキュリティ問題は最優先で対応してください。
626
+
627
+ 指摘されたポイント:
628
+ - インジェクション脆弱性
629
+ - 認証・認可の不備
630
+ - 機密情報の露出
631
+ - 暗号化の問題
632
+
633
+ ## 修正完了時の判断
634
+ 修正が完了したら、**変更の影響範囲**を判断して適切なタグを出力してください:
635
+
636
+ - `[CODER:DONE]` - 軽微な修正(セキュリティレビューのみ再実施)
637
+ - 例: バリデーション追加、エスケープ処理追加、設定変更
638
+ - `[CODER:REJECT]` - 大きな修正(CQRS+ESレビューからやり直し)
639
+ - 例: データフロー変更、API設計変更、認証方式変更、ドメインモデル変更
640
+
641
+ 進行できない場合は [CODER:BLOCKED] を含めてください。
642
+ pass_previous_response: true
643
+ transitions:
644
+ - condition: done
645
+ next_step: security_review
646
+ - condition: rejected
647
+ next_step: cqrs_es_review
648
+ - condition: blocked
649
+ next_step: plan
650
+
651
+ # ===========================================
652
+ # Phase 6: QA Review
653
+ # ===========================================
654
+ - name: qa_review
655
+ agent: ~/.takt/agents/expert-review/qa-reviewer.md
656
+ allowed_tools:
657
+ - Read
658
+ - Glob
659
+ - Grep
660
+ - WebSearch
661
+ - WebFetch
662
+ instruction_template: |
663
+ ## Workflow Context
664
+ - Iteration: {iteration}/{max_iterations}
665
+ - Step: qa_review (QA専門レビュー)
666
+ - Report Directory: .takt/reports/{report_dir}/
667
+ - Report File: .takt/reports/{report_dir}/07-qa-review.md
668
+
669
+ ## Original User Request
670
+ {task}
671
+
672
+ ## Git Diff
673
+ ```diff
674
+ {git_diff}
675
+ ```
676
+
677
+ ## Instructions
678
+ 品質保証の観点から上記の変更をレビューしてください。
679
+
680
+ **レビュー観点:**
681
+ - テストカバレッジと品質
682
+ - テスト戦略(単体/統合/E2E)
683
+ - ドキュメント(コード内・外部)
684
+ - エラーハンドリング
685
+ - ログとモニタリング
686
+ - 保守性
687
+
688
+ **レポート出力:** 上記の `Report File` に出力してください。
689
+ - ファイルが存在しない場合: 新規作成
690
+ - ファイルが存在する場合: `## Iteration {iteration}` セクションを追記
691
+
692
+ **レポートフォーマット:**
693
+ ```markdown
694
+ # QAレビュー
695
+
696
+ ## 結果: APPROVE / REJECT
697
+
698
+ ## サマリー
699
+ {1-2文で結果を要約}
700
+
701
+ ## 確認した観点
702
+ | 観点 | 結果 | 備考 |
703
+ |------|------|------|
704
+ | テストカバレッジ | ✅ | - |
705
+ | テスト品質 | ✅ | - |
706
+ | エラーハンドリング | ✅ | - |
707
+ | ドキュメント | ✅ | - |
708
+ | 保守性 | ✅ | - |
709
+
710
+ ## 問題点(REJECTの場合)
711
+ | # | カテゴリ | 問題 | 修正案 |
712
+ |---|---------|------|--------|
713
+ | 1 | テスト | 問題の説明 | 修正方法 |
714
+ ```
715
+
716
+ Include:
717
+ - [QA:APPROVE] if quality standards are met
718
+ - [QA:REJECT] if quality issues found (list specific issues)
719
+ transitions:
720
+ - condition: approved
721
+ next_step: supervise
722
+ - condition: rejected
723
+ next_step: fix_qa
724
+
725
+ - name: fix_qa
726
+ agent: ~/.takt/agents/default/coder.md
727
+ allowed_tools:
728
+ - Read
729
+ - Glob
730
+ - Grep
731
+ - Edit
732
+ - Write
733
+ - Bash
734
+ - WebSearch
735
+ - WebFetch
736
+ instruction_template: |
737
+ ## Workflow Context
738
+ - Iteration: {iteration}/{max_iterations}
739
+ - Step: fix_qa
740
+
741
+ ## QA Review Feedback (これが最新の指示です - 優先して対応してください)
742
+ {previous_response}
743
+
744
+ ## Original User Request (ワークフロー開始時の元の要求 - 参考情報)
745
+ {task}
746
+
747
+ ## Additional User Inputs
748
+ {user_inputs}
749
+
750
+ ## Instructions
751
+ **重要**: QA専門家からの指摘を修正してください。
752
+
753
+ 指摘されたポイント:
754
+ - テストの追加・改善
755
+ - ドキュメントの追加・修正
756
+ - エラーハンドリング
757
+ - ログ出力
758
+ - コード品質
759
+
760
+ ## 修正完了時の判断
761
+ 修正が完了したら、**変更の影響範囲**を判断して適切なタグを出力してください:
762
+
763
+ - `[CODER:DONE]` - 軽微な修正(QAレビューのみ再実施)
764
+ - 例: テスト追加、ドキュメント追加、ログ追加、コメント追加
765
+ - `[CODER:IMPROVE]` - セキュリティに影響する修正(セキュリティレビューからやり直し)
766
+ - 例: エラーハンドリング変更(エラーメッセージの内容変更)、入力検証の変更
767
+ - `[CODER:REJECT]` - 大きな修正(CQRS+ESレビューからやり直し)
768
+ - 例: ビジネスロジック変更、データモデル変更、API変更
769
+
770
+ 進行できない場合は [CODER:BLOCKED] を含めてください。
771
+ pass_previous_response: true
772
+ transitions:
773
+ - condition: done
774
+ next_step: qa_review
775
+ - condition: improve
776
+ next_step: security_review
777
+ - condition: rejected
778
+ next_step: cqrs_es_review
779
+ - condition: blocked
780
+ next_step: plan
781
+
782
+ # ===========================================
783
+ # Phase 7: Supervision
784
+ # ===========================================
785
+ - name: supervise
786
+ agent: ~/.takt/agents/expert-review/supervisor.md
787
+ allowed_tools:
788
+ - Read
789
+ - Glob
790
+ - Grep
791
+ - WebSearch
792
+ - WebFetch
793
+ instruction_template: |
794
+ ## Workflow Context
795
+ - Iteration: {iteration}/{max_iterations}
796
+ - Step: supervise (最終確認)
797
+ - Report Directory: .takt/reports/{report_dir}/
798
+ - Report Files:
799
+ - Validation: .takt/reports/{report_dir}/08-supervisor-validation.md
800
+ - Summary: .takt/reports/{report_dir}/summary.md
801
+
802
+ ## Original User Request
803
+ {task}
804
+
805
+ ## Git Diff
806
+ ```diff
807
+ {git_diff}
808
+ ```
809
+
810
+ ## Previous Reviews Summary
811
+ このステップに到達したということは、以下のレビューがすべてAPPROVEされています:
812
+ - CQRS+ES Review: APPROVED
813
+ - Frontend Review: APPROVED
814
+ - AI Review: APPROVED
815
+ - Security Review: APPROVED
816
+ - QA Review: APPROVED
817
+
818
+ ## Instructions
819
+ テスト実行、ビルド確認、最終承認を行ってください。
820
+
821
+ **ワークフロー全体の確認:**
822
+ 1. 計画(00-plan.md)と実装結果が一致しているか
823
+ 2. 各レビューステップの指摘が対応されているか
824
+ 3. 元のタスク目的が達成されているか
825
+
826
+ **レポートの確認:** Report Directory内の全レポートを読み、
827
+ 未対応の改善提案がないか確認してください。
828
+
829
+ **レポート出力:** 上記の `Report Files` に出力してください。
830
+ - ファイルが存在しない場合: 新規作成
831
+ - ファイルが存在する場合: `## Iteration {iteration}` セクションを追記
832
+
833
+ **Validationレポートフォーマット:**
834
+ ```markdown
835
+ # 最終検証結果
836
+
837
+ ## 結果: APPROVE / REJECT
838
+
839
+ ## 検証サマリー
840
+ | 項目 | 状態 | 確認方法 |
841
+ |------|------|---------|
842
+ | 要求充足 | ✅ | 要求リストと照合 |
843
+ | テスト | ✅ | `npm test` (N passed) |
844
+ | ビルド | ✅ | `npm run build` 成功 |
845
+ | 動作確認 | ✅ | 主要フロー確認 |
846
+
847
+ ## 成果物
848
+ - 作成: {作成したファイル}
849
+ - 変更: {変更したファイル}
850
+
851
+ ## 未完了項目(REJECTの場合)
852
+ | # | 項目 | 理由 |
853
+ |---|------|------|
854
+ | 1 | {項目} | {理由} |
855
+ ```
856
+
857
+ **Summaryレポートフォーマット(APPROVEの場合のみ):**
858
+ ```markdown
859
+ # タスク完了サマリー
860
+
861
+ ## タスク
862
+ {元の要求を1-2文で}
863
+
864
+ ## 結果
865
+ ✅ 完了
866
+
867
+ ## 変更内容
868
+ | 種別 | ファイル | 概要 |
869
+ |------|---------|------|
870
+ | 作成 | `src/file.ts` | 概要説明 |
871
+
872
+ ## レビュー結果
873
+ | レビュー | 結果 |
874
+ |---------|------|
875
+ | CQRS+ES | ✅ APPROVE |
876
+ | Frontend | ✅ APPROVE |
877
+ | AI Review | ✅ APPROVE |
878
+ | Security | ✅ APPROVE |
879
+ | QA | ✅ APPROVE |
880
+ | Supervisor | ✅ APPROVE |
881
+
882
+ ## 確認コマンド
883
+ ```bash
884
+ npm test
885
+ npm run build
886
+ ```
887
+ ```
888
+
889
+ 出力:
890
+ - [SUPERVISOR:APPROVE] すべて完了、マージ可能
891
+ - [SUPERVISOR:REJECT] 問題あり(具体的な問題を記載)
892
+ transitions:
893
+ - condition: approved
894
+ next_step: COMPLETE
895
+ - condition: rejected
896
+ next_step: fix_supervisor
897
+
898
+ - name: fix_supervisor
899
+ agent: ~/.takt/agents/default/coder.md
900
+ allowed_tools:
901
+ - Read
902
+ - Glob
903
+ - Grep
904
+ - Edit
905
+ - Write
906
+ - Bash
907
+ - WebSearch
908
+ - WebFetch
909
+ instruction_template: |
910
+ ## Workflow Context
911
+ - Iteration: {iteration}/{max_iterations}
912
+ - Step: fix_supervisor
913
+
914
+ ## Supervisor Feedback (これが最新の指示です - 優先して対応してください)
915
+ {previous_response}
916
+
917
+ ## Original User Request (ワークフロー開始時の元の要求 - 参考情報)
918
+ {task}
919
+
920
+ ## Additional User Inputs
921
+ {user_inputs}
922
+
923
+ ## Instructions
924
+ **重要**: 監督者からの指摘を修正してください。
925
+
926
+ 監督者は全体を俯瞰した視点から問題を指摘しています。
927
+ 優先度の高い項目から順に対応してください。
928
+
929
+ 完了時は [CODER:DONE] を含めてください。
930
+ 進行できない場合は [CODER:BLOCKED] を含めてください。
931
+ pass_previous_response: true
932
+ transitions:
933
+ - condition: done
934
+ next_step: supervise
935
+ - condition: blocked
936
+ next_step: plan