- ローダーがユーザーファイル優先、なければdist/resources/からbuiltinを読む方式に変更 - /ejectコマンドを追加(builtinを~/.takt/にコピーしてカスタマイズ可能に) - /refresh-builtinを簡素化(ejectへの移行案内) - config.yamlにdisabled_builtinsフィールドを追加 - ワークフローYAMLをrules形式に統一
321 lines
9.3 KiB
YAML
321 lines
9.3 KiB
YAML
# Simple TAKT Workflow
|
||
# Plan -> Implement -> AI Review -> Architect Review -> Supervisor Approval
|
||
# (defaultの簡略版 - improve, fix, ai_fix, security_review, security_fix を削除)
|
||
#
|
||
# Template Variables (auto-injected):
|
||
# {iteration} - Workflow-wide turn count (total steps executed across all agents)
|
||
# {max_iterations} - Maximum iterations allowed for the workflow
|
||
# {step_iteration} - Per-step iteration count (how many times THIS step has been executed)
|
||
# {task} - Original user request (auto-injected)
|
||
# {previous_response} - Output from the previous step (auto-injected)
|
||
# {user_inputs} - Accumulated user inputs during workflow (auto-injected)
|
||
# {report_dir} - Report directory name (e.g., "20250126-143052-task-summary")
|
||
|
||
name: simple
|
||
description: Simplified development workflow (plan -> implement -> ai_review -> review -> supervise)
|
||
|
||
max_iterations: 20
|
||
|
||
initial_step: plan
|
||
|
||
steps:
|
||
- name: plan
|
||
edit: false
|
||
agent: ../agents/default/planner.md
|
||
report:
|
||
name: 00-plan.md
|
||
format: |
|
||
```markdown
|
||
# タスク計画
|
||
|
||
## 元の要求
|
||
{ユーザーの要求をそのまま記載}
|
||
|
||
## 分析結果
|
||
|
||
### 目的
|
||
{達成すべきこと}
|
||
|
||
### スコープ
|
||
{影響範囲}
|
||
|
||
### 実装アプローチ
|
||
{どう進めるか}
|
||
|
||
## 確認事項(あれば)
|
||
- {不明点や確認が必要な点}
|
||
```
|
||
allowed_tools:
|
||
- Read
|
||
- Glob
|
||
- Grep
|
||
- Write
|
||
- Bash
|
||
- WebSearch
|
||
- WebFetch
|
||
instruction_template: |
|
||
## Previous Response (implementからの差し戻し時)
|
||
{previous_response}
|
||
|
||
タスクを分析し、実装方針を立ててください。
|
||
|
||
**注意:** Previous Responseがある場合は差し戻しのため、
|
||
その内容を踏まえて計画を見直してください(replan)。
|
||
|
||
**やること(実装タスクの場合):**
|
||
1. タスクの要件を理解する
|
||
2. 影響範囲を特定する
|
||
3. 実装アプローチを決める
|
||
pass_previous_response: true
|
||
rules:
|
||
- condition: "要件が明確で実装可能"
|
||
next: implement
|
||
- condition: "ユーザーが質問をしている(実装タスクではない)"
|
||
next: COMPLETE
|
||
- condition: "要件が不明確、情報不足"
|
||
next: ABORT
|
||
appendix: |
|
||
確認事項:
|
||
- {質問1}
|
||
- {質問2}
|
||
|
||
- name: implement
|
||
edit: true
|
||
agent: ../agents/default/coder.md
|
||
report:
|
||
- Scope: 01-coder-scope.md
|
||
- Decisions: 02-coder-decisions.md
|
||
allowed_tools:
|
||
- Read
|
||
- Glob
|
||
- Grep
|
||
- Edit
|
||
- Write
|
||
- Bash
|
||
- WebSearch
|
||
- WebFetch
|
||
permission_mode: acceptEdits
|
||
instruction_template: |
|
||
planステップで立てた計画に従って実装してください。
|
||
計画レポート(00-plan.md)を参照し、実装を進めてください。
|
||
|
||
**Scopeレポートフォーマット(実装開始時に作成):**
|
||
```markdown
|
||
# 変更スコープ宣言
|
||
|
||
## タスク
|
||
{タスクの1行要約}
|
||
|
||
## 変更予定
|
||
| 種別 | ファイル |
|
||
|------|---------|
|
||
| 作成 | `src/example.ts` |
|
||
| 変更 | `src/routes.ts` |
|
||
|
||
## 推定規模
|
||
Small / Medium / Large
|
||
|
||
## 影響範囲
|
||
- {影響するモジュールや機能}
|
||
```
|
||
|
||
**Decisionsレポートフォーマット(実装完了時、決定がある場合のみ):**
|
||
```markdown
|
||
# 決定ログ
|
||
|
||
## 1. {決定内容}
|
||
- **背景**: {なぜ決定が必要だったか}
|
||
- **検討した選択肢**: {選択肢リスト}
|
||
- **理由**: {選んだ理由}
|
||
```
|
||
rules:
|
||
- condition: "実装完了"
|
||
next: ai_review
|
||
- condition: "判断できない、情報不足"
|
||
next: plan
|
||
|
||
- name: ai_review
|
||
edit: false
|
||
agent: ../agents/default/ai-antipattern-reviewer.md
|
||
report:
|
||
name: 03-ai-review.md
|
||
format: |
|
||
```markdown
|
||
# AI生成コードレビュー
|
||
|
||
## 結果: APPROVE / REJECT
|
||
|
||
## サマリー
|
||
{1文で結果を要約}
|
||
|
||
## 検証した項目
|
||
| 観点 | 結果 | 備考 |
|
||
|------|------|------|
|
||
| 仮定の妥当性 | ✅ | - |
|
||
| API/ライブラリの実在 | ✅ | - |
|
||
| コンテキスト適合 | ✅ | - |
|
||
| スコープ | ✅ | - |
|
||
|
||
## 問題点(REJECTの場合)
|
||
| # | カテゴリ | 場所 | 問題 |
|
||
|---|---------|------|------|
|
||
| 1 | 幻覚API | `src/file.ts:23` | 存在しないメソッド |
|
||
```
|
||
|
||
**認知負荷軽減ルール:**
|
||
- 問題なし → サマリー1文 + チェック表のみ(10行以内)
|
||
- 問題あり → + 問題を表形式で(25行以内)
|
||
allowed_tools:
|
||
- Read
|
||
- Glob
|
||
- Grep
|
||
- Write
|
||
- WebSearch
|
||
- WebFetch
|
||
instruction_template: |
|
||
AI特有の問題についてコードをレビューしてください:
|
||
- 仮定の検証
|
||
- もっともらしいが間違っているパターン
|
||
- 既存コードベースとの適合性
|
||
- スコープクリープの検出
|
||
rules:
|
||
- condition: "AI特有の問題なし"
|
||
next: review
|
||
- condition: "AI特有の問題あり"
|
||
next: plan
|
||
|
||
- name: review
|
||
edit: false
|
||
agent: ../agents/default/architecture-reviewer.md
|
||
report:
|
||
name: 04-architect-review.md
|
||
format: |
|
||
```markdown
|
||
# アーキテクチャレビュー
|
||
|
||
## 結果: APPROVE / REJECT
|
||
|
||
## サマリー
|
||
{1-2文で結果を要約}
|
||
|
||
## 確認した観点
|
||
- [x] 構造・設計
|
||
- [x] コード品質
|
||
- [x] 変更スコープ
|
||
|
||
## 問題点(REJECTの場合)
|
||
| # | 場所 | 問題 | 修正案 |
|
||
|---|------|------|--------|
|
||
| 1 | `src/file.ts:42` | 問題の説明 | 修正方法 |
|
||
|
||
## 改善提案(任意・ブロッキングではない)
|
||
- {将来的な改善提案}
|
||
```
|
||
|
||
**認知負荷軽減ルール:**
|
||
- APPROVE + 問題なし → サマリーのみ(5行以内)
|
||
- APPROVE + 軽微な提案 → サマリー + 改善提案(15行以内)
|
||
- REJECT → 問題点を表形式で(30行以内)
|
||
allowed_tools:
|
||
- Read
|
||
- Glob
|
||
- Grep
|
||
- Write
|
||
- WebSearch
|
||
- WebFetch
|
||
instruction_template: |
|
||
**アーキテクチャと設計**のレビューに集中してください。AI特有の問題はレビューしないでください(前のステップで完了済み)。
|
||
|
||
変更をレビューしてフィードバックを提供してください。
|
||
|
||
**注意:** simpleワークフローではIMPROVE判定は使用しません。
|
||
軽微な改善提案がある場合は APPROVE + コメントとしてください。
|
||
rules:
|
||
- condition: "問題なし"
|
||
next: supervise
|
||
- condition: "構造的な修正必要"
|
||
next: plan
|
||
|
||
- name: supervise
|
||
edit: false
|
||
agent: ../agents/default/supervisor.md
|
||
report:
|
||
- Validation: 05-supervisor-validation.md
|
||
- Summary: summary.md
|
||
allowed_tools:
|
||
- Read
|
||
- Glob
|
||
- Grep
|
||
- Write
|
||
- Bash
|
||
- WebSearch
|
||
- WebFetch
|
||
instruction_template: |
|
||
テスト実行、ビルド確認、最終承認を行ってください。
|
||
|
||
**ワークフロー全体の確認:**
|
||
1. 計画(00-plan.md)と実装結果が一致しているか
|
||
2. 各レビューステップの指摘が対応されているか
|
||
3. 元のタスク目的が達成されているか
|
||
|
||
**レポートの確認:** Report Directory内の全レポートを読み、
|
||
未対応の改善提案がないか確認してください。
|
||
|
||
**Validationレポートフォーマット:**
|
||
```markdown
|
||
# 最終検証結果
|
||
|
||
## 結果: APPROVE / REJECT
|
||
|
||
## 検証サマリー
|
||
| 項目 | 状態 | 確認方法 |
|
||
|------|------|---------|
|
||
| 要求充足 | ✅ | 要求リストと照合 |
|
||
| テスト | ✅ | `npm test` (N passed) |
|
||
| ビルド | ✅ | `npm run build` 成功 |
|
||
| 動作確認 | ✅ | 主要フロー確認 |
|
||
|
||
## 成果物
|
||
- 作成: {作成したファイル}
|
||
- 変更: {変更したファイル}
|
||
|
||
## 未完了項目(REJECTの場合)
|
||
| # | 項目 | 理由 |
|
||
|---|------|------|
|
||
| 1 | {項目} | {理由} |
|
||
```
|
||
|
||
**Summaryレポートフォーマット(APPROVEの場合のみ):**
|
||
```markdown
|
||
# タスク完了サマリー
|
||
|
||
## タスク
|
||
{元の要求を1-2文で}
|
||
|
||
## 結果
|
||
✅ 完了
|
||
|
||
## 変更内容
|
||
| 種別 | ファイル | 概要 |
|
||
|------|---------|------|
|
||
| 作成 | `src/file.ts` | 概要説明 |
|
||
|
||
## レビュー結果
|
||
| レビュー | 結果 |
|
||
|---------|------|
|
||
| AI Review | ✅ APPROVE |
|
||
| Architect | ✅ APPROVE |
|
||
| Supervisor | ✅ APPROVE |
|
||
|
||
## 確認コマンド
|
||
```bash
|
||
npm test
|
||
npm run build
|
||
```
|
||
```
|
||
rules:
|
||
- condition: "すべて問題なし"
|
||
next: COMPLETE
|
||
- condition: "要求未達成、テスト失敗、ビルドエラー"
|
||
next: plan
|