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