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.
- package/README.md +67 -38
- package/dist/cli.d.ts +4 -2
- package/dist/cli.d.ts.map +1 -1
- package/dist/cli.js +27 -17
- package/dist/cli.js.map +1 -1
- package/dist/commands/addTask.d.ts.map +1 -1
- package/dist/commands/addTask.js +6 -5
- package/dist/commands/addTask.js.map +1 -1
- package/dist/commands/help.js +3 -3
- package/dist/commands/index.d.ts +1 -1
- package/dist/commands/index.d.ts.map +1 -1
- package/dist/commands/index.js +1 -1
- package/dist/commands/index.js.map +1 -1
- package/dist/commands/listTasks.d.ts +45 -0
- package/dist/commands/listTasks.d.ts.map +1 -0
- package/dist/commands/listTasks.js +353 -0
- package/dist/commands/listTasks.js.map +1 -0
- package/dist/commands/taskExecution.d.ts +7 -5
- package/dist/commands/taskExecution.d.ts.map +1 -1
- package/dist/commands/taskExecution.js +26 -17
- package/dist/commands/taskExecution.js.map +1 -1
- package/dist/commands/workflowExecution.d.ts.map +1 -1
- package/dist/commands/workflowExecution.js +11 -10
- package/dist/commands/workflowExecution.js.map +1 -1
- package/dist/config/globalConfig.d.ts.map +1 -1
- package/dist/config/globalConfig.js +4 -0
- package/dist/config/globalConfig.js.map +1 -1
- package/dist/config/paths.d.ts +1 -1
- package/dist/config/paths.d.ts.map +1 -1
- package/dist/config/paths.js +3 -1
- package/dist/config/paths.js.map +1 -1
- package/dist/config/sessionStore.d.ts +10 -0
- package/dist/config/sessionStore.d.ts.map +1 -1
- package/dist/config/sessionStore.js +54 -0
- package/dist/config/sessionStore.js.map +1 -1
- package/dist/models/schemas.d.ts +1 -0
- package/dist/models/schemas.d.ts.map +1 -1
- package/dist/models/schemas.js +2 -0
- package/dist/models/schemas.js.map +1 -1
- package/dist/models/types.d.ts +2 -0
- package/dist/models/types.d.ts.map +1 -1
- package/dist/resources/index.d.ts.map +1 -1
- package/dist/resources/index.js +6 -3
- package/dist/resources/index.js.map +1 -1
- package/dist/task/autoCommit.d.ts +9 -6
- package/dist/task/autoCommit.d.ts.map +1 -1
- package/dist/task/autoCommit.js +21 -12
- package/dist/task/autoCommit.js.map +1 -1
- package/dist/task/branchList.d.ts +55 -0
- package/dist/task/branchList.d.ts.map +1 -0
- package/dist/task/branchList.js +131 -0
- package/dist/task/branchList.js.map +1 -0
- package/dist/task/clone.d.ts +53 -0
- package/dist/task/clone.d.ts.map +1 -0
- package/dist/task/clone.js +181 -0
- package/dist/task/clone.js.map +1 -0
- package/dist/task/index.d.ts +3 -2
- package/dist/task/index.d.ts.map +1 -1
- package/dist/task/index.js +3 -2
- package/dist/task/index.js.map +1 -1
- package/dist/task/runner.d.ts +14 -0
- package/dist/task/runner.d.ts.map +1 -1
- package/dist/task/runner.js +30 -7
- package/dist/task/runner.js.map +1 -1
- package/dist/task/schema.d.ts +4 -4
- package/dist/task/schema.js +4 -4
- package/dist/task/summarize.d.ts +22 -0
- package/dist/task/summarize.d.ts.map +1 -0
- package/dist/task/summarize.js +83 -0
- package/dist/task/summarize.js.map +1 -0
- package/dist/utils/updateNotifier.d.ts +6 -0
- package/dist/utils/updateNotifier.d.ts.map +1 -0
- package/dist/utils/updateNotifier.js +17 -0
- package/dist/utils/updateNotifier.js.map +1 -0
- package/dist/workflow/engine.d.ts +1 -1
- package/dist/workflow/engine.d.ts.map +1 -1
- package/dist/workflow/engine.js +10 -2
- package/dist/workflow/engine.js.map +1 -1
- package/dist/workflow/instruction-builder.d.ts +8 -7
- package/dist/workflow/instruction-builder.d.ts.map +1 -1
- package/dist/workflow/instruction-builder.js +39 -24
- package/dist/workflow/instruction-builder.js.map +1 -1
- package/package.json +4 -1
- package/resources/global/en/agents/default/{ai-reviewer.md → ai-antipattern-reviewer.md} +22 -1
- package/resources/global/en/agents/default/coder.md +3 -3
- package/resources/global/en/agents/default/planner.md +14 -1
- package/resources/global/en/workflows/default.yaml +6 -51
- package/resources/global/en/workflows/{expert-review.yaml → expert-cqrs.yaml} +14 -49
- package/resources/global/en/workflows/expert.yaml +1106 -0
- package/resources/global/en/workflows/magi.yaml +0 -9
- package/resources/global/en/workflows/research.yaml +0 -9
- package/resources/global/en/workflows/simple.yaml +5 -26
- package/resources/global/ja/agents/default/{ai-reviewer.md → ai-antipattern-reviewer.md} +22 -1
- package/resources/global/ja/agents/default/coder.md +3 -3
- package/resources/global/ja/agents/default/planner.md +14 -1
- package/resources/global/ja/workflows/default.yaml +6 -51
- package/resources/global/ja/workflows/{expert-review.yaml → expert-cqrs.yaml} +15 -55
- package/resources/global/ja/workflows/expert.yaml +1106 -0
- package/resources/global/ja/workflows/magi.yaml +0 -9
- package/resources/global/ja/workflows/research.yaml +0 -9
- package/resources/global/ja/workflows/simple.yaml +5 -26
- package/resources/project/dotgitignore +10 -0
- package/resources/project/tasks/TASK-FORMAT +37 -0
- package/dist/commands/reviewTasks.d.ts +0 -32
- package/dist/commands/reviewTasks.d.ts.map +0 -1
- package/dist/commands/reviewTasks.js +0 -198
- package/dist/commands/reviewTasks.js.map +0 -1
- package/dist/task/worktree.d.ts +0 -70
- package/dist/task/worktree.d.ts.map +0 -1
- package/dist/task/worktree.js +0 -221
- package/dist/task/worktree.js.map +0 -1
- /package/resources/global/en/agents/{expert-review → expert}/frontend-reviewer.md +0 -0
- /package/resources/global/en/agents/{expert-review → expert}/qa-reviewer.md +0 -0
- /package/resources/global/en/agents/{expert-review → expert}/security-reviewer.md +0 -0
- /package/resources/global/en/agents/{expert-review → expert}/supervisor.md +0 -0
- /package/resources/global/en/agents/{expert-review → expert-cqrs}/cqrs-es-reviewer.md +0 -0
- /package/resources/global/ja/agents/{expert-review → expert}/frontend-reviewer.md +0 -0
- /package/resources/global/ja/agents/{expert-review → expert}/qa-reviewer.md +0 -0
- /package/resources/global/ja/agents/{expert-review → expert}/security-reviewer.md +0 -0
- /package/resources/global/ja/agents/{expert-review → expert}/supervisor.md +0 -0
- /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
|