takt 0.2.2 → 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 (93) hide show
  1. package/README.md +67 -38
  2. package/dist/cli.d.ts +4 -3
  3. package/dist/cli.d.ts.map +1 -1
  4. package/dist/cli.js +22 -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/{reviewTasks.js → listTasks.js} +93 -73
  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 +21 -14
  21. package/dist/commands/taskExecution.js.map +1 -1
  22. package/dist/commands/workflowExecution.js +3 -3
  23. package/dist/commands/workflowExecution.js.map +1 -1
  24. package/dist/config/globalConfig.d.ts.map +1 -1
  25. package/dist/config/globalConfig.js +4 -0
  26. package/dist/config/globalConfig.js.map +1 -1
  27. package/dist/models/schemas.d.ts +1 -0
  28. package/dist/models/schemas.d.ts.map +1 -1
  29. package/dist/models/schemas.js +2 -0
  30. package/dist/models/schemas.js.map +1 -1
  31. package/dist/models/types.d.ts +2 -0
  32. package/dist/models/types.d.ts.map +1 -1
  33. package/dist/resources/index.d.ts.map +1 -1
  34. package/dist/resources/index.js +6 -3
  35. package/dist/resources/index.js.map +1 -1
  36. package/dist/task/autoCommit.d.ts +9 -6
  37. package/dist/task/autoCommit.d.ts.map +1 -1
  38. package/dist/task/autoCommit.js +21 -12
  39. package/dist/task/autoCommit.js.map +1 -1
  40. package/dist/task/branchList.d.ts +55 -0
  41. package/dist/task/branchList.d.ts.map +1 -0
  42. package/dist/task/branchList.js +131 -0
  43. package/dist/task/branchList.js.map +1 -0
  44. package/dist/task/clone.d.ts +53 -0
  45. package/dist/task/clone.d.ts.map +1 -0
  46. package/dist/task/clone.js +181 -0
  47. package/dist/task/clone.js.map +1 -0
  48. package/dist/task/index.d.ts +3 -2
  49. package/dist/task/index.d.ts.map +1 -1
  50. package/dist/task/index.js +3 -2
  51. package/dist/task/index.js.map +1 -1
  52. package/dist/task/schema.d.ts +4 -4
  53. package/dist/task/schema.js +4 -4
  54. package/dist/task/summarize.d.ts +7 -5
  55. package/dist/task/summarize.d.ts.map +1 -1
  56. package/dist/task/summarize.js +62 -29
  57. package/dist/task/summarize.js.map +1 -1
  58. package/dist/utils/updateNotifier.d.ts +6 -0
  59. package/dist/utils/updateNotifier.d.ts.map +1 -0
  60. package/dist/utils/updateNotifier.js +17 -0
  61. package/dist/utils/updateNotifier.js.map +1 -0
  62. package/dist/workflow/engine.d.ts +1 -1
  63. package/dist/workflow/engine.d.ts.map +1 -1
  64. package/dist/workflow/engine.js +10 -2
  65. package/dist/workflow/engine.js.map +1 -1
  66. package/dist/workflow/instruction-builder.d.ts +2 -2
  67. package/dist/workflow/instruction-builder.d.ts.map +1 -1
  68. package/dist/workflow/instruction-builder.js +4 -8
  69. package/dist/workflow/instruction-builder.js.map +1 -1
  70. package/package.json +4 -1
  71. package/resources/global/en/agents/default/{ai-reviewer.md → ai-antipattern-reviewer.md} +22 -1
  72. package/resources/global/en/agents/default/coder.md +3 -3
  73. package/resources/global/en/agents/default/planner.md +14 -1
  74. package/resources/global/en/workflows/default.yaml +6 -1
  75. package/resources/global/en/workflows/expert-cqrs.yaml +8 -1
  76. package/resources/global/en/workflows/expert.yaml +8 -1
  77. package/resources/global/en/workflows/simple.yaml +5 -1
  78. package/resources/global/ja/agents/default/{ai-reviewer.md → ai-antipattern-reviewer.md} +22 -1
  79. package/resources/global/ja/agents/default/coder.md +3 -3
  80. package/resources/global/ja/agents/default/planner.md +14 -1
  81. package/resources/global/ja/workflows/default.yaml +6 -1
  82. package/resources/global/ja/workflows/expert-cqrs.yaml +9 -1
  83. package/resources/global/ja/workflows/expert.yaml +8 -1
  84. package/resources/global/ja/workflows/simple.yaml +5 -1
  85. package/resources/project/dotgitignore +10 -0
  86. package/resources/project/tasks/TASK-FORMAT +37 -0
  87. package/dist/commands/reviewTasks.d.ts +0 -43
  88. package/dist/commands/reviewTasks.d.ts.map +0 -1
  89. package/dist/commands/reviewTasks.js.map +0 -1
  90. package/dist/task/worktree.d.ts +0 -70
  91. package/dist/task/worktree.d.ts.map +0 -1
  92. package/dist/task/worktree.js +0 -221
  93. package/dist/task/worktree.js.map +0 -1
@@ -1 +1 @@
1
- {"version":3,"file":"instruction-builder.js","sourceRoot":"","sources":["../../src/workflow/instruction-builder.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"instruction-builder.js","sourceRoot":"","sources":["../../src/workflow/instruction-builder.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "takt",
3
- "version": "0.2.2",
3
+ "version": "0.2.3",
4
4
  "description": "TAKT: Task Agent Koordination Tool - AI Agent Workflow Orchestration",
5
5
  "main": "dist/index.js",
6
6
  "types": "dist/index.d.ts",
@@ -54,12 +54,15 @@
54
54
  "@openai/codex-sdk": "^0.91.0",
55
55
  "chalk": "^5.3.0",
56
56
  "commander": "^12.1.0",
57
+ "update-notifier": "^7.3.1",
58
+ "wanakana": "^5.3.1",
57
59
  "yaml": "^2.4.5",
58
60
  "zod": "^4.3.6"
59
61
  },
60
62
  "devDependencies": {
61
63
  "@eslint/js": "^9.39.2",
62
64
  "@types/node": "^20.14.0",
65
+ "@types/wanakana": "^4.0.6",
63
66
  "@typescript-eslint/eslint-plugin": "^8.0.0",
64
67
  "@typescript-eslint/parser": "^8.0.0",
65
68
  "eslint": "^9.0.0",
@@ -96,7 +96,28 @@ AI-generated code has unique characteristics:
96
96
 
97
97
  **Principle:** The best code is the minimum code that solves the problem.
98
98
 
99
- ### 6. Decision Traceability Review
99
+ ### 6. Fallback Prohibition Review (REJECT criteria)
100
+
101
+ **AI overuses fallbacks to hide uncertainty. This is a REJECT by default.**
102
+
103
+ | Pattern | Example | Verdict |
104
+ |---------|---------|---------|
105
+ | Swallowing with defaults | `?? 'unknown'`, `\|\| 'default'`, `?? []` | REJECT |
106
+ | try-catch returning empty | `catch { return ''; }` `catch { return 0; }` | REJECT |
107
+ | Silent skip via conditionals | `if (!x) return;` skipping what should be an error | REJECT |
108
+ | Multi-level fallback chains | `a ?? b ?? c ?? d` | REJECT |
109
+
110
+ **Exceptions (do NOT reject):**
111
+ - Default values when validating external input (user input, API responses)
112
+ - Fallbacks with an explicit comment explaining the reason
113
+ - Defaults for optional values in configuration files
114
+
115
+ **Verification approach:**
116
+ 1. Grep the diff for `??`, `||`, `catch`
117
+ 2. Check whether each fallback has a legitimate reason
118
+ 3. REJECT if even one unjustified fallback exists
119
+
120
+ ### 7. Decision Traceability Review
100
121
 
101
122
  **Verify that Coder's decision log is reasonable.**
102
123
 
@@ -32,6 +32,7 @@ When receiving a task, first understand the requirements precisely.
32
32
  - What to build (functionality, behavior)
33
33
  - Where to build it (files, modules)
34
34
  - Relationship with existing code (dependencies, impact scope)
35
+ - When updating docs/config: verify source of truth for content you'll write (actual file names, config values, command names — don't guess, check actual code)
35
36
 
36
37
  **Report with `[BLOCKED]` if unclear.** Don't proceed with guesses.
37
38
 
@@ -90,6 +91,7 @@ Perform self-check after implementation.
90
91
  | Syntax errors | Build/compile |
91
92
  | Tests | Run tests |
92
93
  | Requirements met | Compare with original task requirements |
94
+ | Factual accuracy | Verify that names, values, and behaviors written in docs/config match the actual codebase |
93
95
 
94
96
  **Output `[DONE]` only after all checks pass.**
95
97
 
@@ -105,8 +107,6 @@ Perform self-check after implementation.
105
107
  | Boy Scout | Leave touched areas slightly improved |
106
108
  | Fail Fast | Detect errors early. Don't swallow them |
107
109
 
108
- **When in doubt**: Choose Simple.
109
-
110
110
  ## Abstraction Principles
111
111
 
112
112
  **Before adding conditional branches, consider:**
@@ -289,7 +289,7 @@ test('returns NotFound error when user does not exist', async () => {
289
289
 
290
290
  ## Prohibited
291
291
 
292
- - **Fallback value overuse** - Don't hide problems with `?? 'unknown'`, `|| 'default'`
292
+ - **Fallbacks are prohibited by default** - Don't write fallbacks with `?? 'unknown'`, `|| 'default'`, or `try-catch` that swallow errors. Propagate errors upward. If absolutely necessary, document the reason in a comment
293
293
  - **Explanatory comments** - Express intent through code
294
294
  - **Unused code** - Don't write "just in case" code
295
295
  - **any type** - Don't break type safety
@@ -33,7 +33,20 @@ Identify the scope of changes:
33
33
  - Dependencies
34
34
  - Impact on tests
35
35
 
36
- ### 3. Implementation Approach
36
+ ### 3. Fact-Checking (Source of Truth Verification)
37
+
38
+ Always verify information used in your analysis against the source of truth:
39
+
40
+ | Information Type | Source of Truth |
41
+ |-----------------|-----------------|
42
+ | Code behavior | Actual source code |
43
+ | Config values / names | Actual config files / definition files |
44
+ | APIs / commands | Actual implementation code |
45
+ | Documentation claims | Cross-check with actual codebase |
46
+
47
+ **Don't guess.** Always verify names, values, and behaviors against actual code.
48
+
49
+ ### 4. Implementation Approach
37
50
 
38
51
  Determine the implementation direction:
39
52
 
@@ -25,6 +25,7 @@ steps:
25
25
  - Read
26
26
  - Glob
27
27
  - Grep
28
+ - Write
28
29
  - Bash
29
30
  - WebSearch
30
31
  - WebFetch
@@ -236,6 +237,7 @@ steps:
236
237
  - Read
237
238
  - Glob
238
239
  - Grep
240
+ - Write
239
241
  - WebSearch
240
242
  - WebFetch
241
243
  status_rules_prompt: |
@@ -424,11 +426,12 @@ steps:
424
426
  next_step: plan
425
427
 
426
428
  - name: ai_review
427
- agent: ~/.takt/agents/default/ai-reviewer.md
429
+ agent: ~/.takt/agents/default/ai-antipattern-reviewer.md
428
430
  allowed_tools:
429
431
  - Read
430
432
  - Glob
431
433
  - Grep
434
+ - Write
432
435
  - WebSearch
433
436
  - WebFetch
434
437
  status_rules_prompt: |
@@ -602,6 +605,7 @@ steps:
602
605
  - Read
603
606
  - Glob
604
607
  - Grep
608
+ - Write
605
609
  - WebSearch
606
610
  - WebFetch
607
611
  status_rules_prompt: |
@@ -838,6 +842,7 @@ steps:
838
842
  - Read
839
843
  - Glob
840
844
  - Grep
845
+ - Write
841
846
  - Bash
842
847
  - WebSearch
843
848
  - WebFetch
@@ -37,6 +37,7 @@ steps:
37
37
  - Read
38
38
  - Glob
39
39
  - Grep
40
+ - Write
40
41
  - Bash
41
42
  - WebSearch
42
43
  - WebFetch
@@ -203,6 +204,7 @@ steps:
203
204
  - Read
204
205
  - Glob
205
206
  - Grep
207
+ - Write
206
208
  - WebSearch
207
209
  - WebFetch
208
210
  status_rules_prompt: |
@@ -344,6 +346,7 @@ steps:
344
346
  - Read
345
347
  - Glob
346
348
  - Grep
349
+ - Write
347
350
  - WebSearch
348
351
  - WebFetch
349
352
  status_rules_prompt: |
@@ -480,11 +483,12 @@ steps:
480
483
  # Phase 4: AI Review
481
484
  # ===========================================
482
485
  - name: ai_review
483
- agent: ~/.takt/agents/default/ai-reviewer.md
486
+ agent: ~/.takt/agents/default/ai-antipattern-reviewer.md
484
487
  allowed_tools:
485
488
  - Read
486
489
  - Glob
487
490
  - Grep
491
+ - Write
488
492
  - WebSearch
489
493
  - WebFetch
490
494
  status_rules_prompt: |
@@ -620,6 +624,7 @@ steps:
620
624
  - Read
621
625
  - Glob
622
626
  - Grep
627
+ - Write
623
628
  - WebSearch
624
629
  - WebFetch
625
630
  status_rules_prompt: |
@@ -768,6 +773,7 @@ steps:
768
773
  - Read
769
774
  - Glob
770
775
  - Grep
776
+ - Write
771
777
  - WebSearch
772
778
  - WebFetch
773
779
  status_rules_prompt: |
@@ -921,6 +927,7 @@ steps:
921
927
  - Read
922
928
  - Glob
923
929
  - Grep
930
+ - Write
924
931
  - WebSearch
925
932
  - WebFetch
926
933
  status_rules_prompt: |
@@ -37,6 +37,7 @@ steps:
37
37
  - Read
38
38
  - Glob
39
39
  - Grep
40
+ - Write
40
41
  - Bash
41
42
  - WebSearch
42
43
  - WebFetch
@@ -203,6 +204,7 @@ steps:
203
204
  - Read
204
205
  - Glob
205
206
  - Grep
207
+ - Write
206
208
  - WebSearch
207
209
  - WebFetch
208
210
  status_rules_prompt: |
@@ -354,6 +356,7 @@ steps:
354
356
  - Read
355
357
  - Glob
356
358
  - Grep
359
+ - Write
357
360
  - WebSearch
358
361
  - WebFetch
359
362
  status_rules_prompt: |
@@ -490,11 +493,12 @@ steps:
490
493
  # Phase 4: AI Review
491
494
  # ===========================================
492
495
  - name: ai_review
493
- agent: ~/.takt/agents/default/ai-reviewer.md
496
+ agent: ~/.takt/agents/default/ai-antipattern-reviewer.md
494
497
  allowed_tools:
495
498
  - Read
496
499
  - Glob
497
500
  - Grep
501
+ - Write
498
502
  - WebSearch
499
503
  - WebFetch
500
504
  status_rules_prompt: |
@@ -630,6 +634,7 @@ steps:
630
634
  - Read
631
635
  - Glob
632
636
  - Grep
637
+ - Write
633
638
  - WebSearch
634
639
  - WebFetch
635
640
  status_rules_prompt: |
@@ -778,6 +783,7 @@ steps:
778
783
  - Read
779
784
  - Glob
780
785
  - Grep
786
+ - Write
781
787
  - WebSearch
782
788
  - WebFetch
783
789
  status_rules_prompt: |
@@ -931,6 +937,7 @@ steps:
931
937
  - Read
932
938
  - Glob
933
939
  - Grep
940
+ - Write
934
941
  - WebSearch
935
942
  - WebFetch
936
943
  status_rules_prompt: |
@@ -26,6 +26,7 @@ steps:
26
26
  - Read
27
27
  - Glob
28
28
  - Grep
29
+ - Write
29
30
  - Bash
30
31
  - WebSearch
31
32
  - WebFetch
@@ -237,6 +238,7 @@ steps:
237
238
  - Read
238
239
  - Glob
239
240
  - Grep
241
+ - Write
240
242
  - WebSearch
241
243
  - WebFetch
242
244
  status_rules_prompt: |
@@ -342,11 +344,12 @@ steps:
342
344
  next_step: plan
343
345
 
344
346
  - name: ai_review
345
- agent: ~/.takt/agents/default/ai-reviewer.md
347
+ agent: ~/.takt/agents/default/ai-antipattern-reviewer.md
346
348
  allowed_tools:
347
349
  - Read
348
350
  - Glob
349
351
  - Grep
352
+ - Write
350
353
  - WebSearch
351
354
  - WebFetch
352
355
  status_rules_prompt: |
@@ -451,6 +454,7 @@ steps:
451
454
  - Read
452
455
  - Glob
453
456
  - Grep
457
+ - Write
454
458
  - Bash
455
459
  - WebSearch
456
460
  - WebFetch
@@ -119,7 +119,28 @@ AI生成コードには特有の特徴があります:
119
119
  2. 公開モジュール(index ファイル等)のエクスポート一覧と実体が一致しているか確認
120
120
  3. 新規追加されたコードに対応する古いコードが残っていないか確認
121
121
 
122
- ### 7. 決定トレーサビリティレビュー
122
+ ### 7. フォールバック禁止レビュー(REJECT基準)
123
+
124
+ **AIは不確実性を隠すためにフォールバックを多用する。これは原則REJECT。**
125
+
126
+ | パターン | 例 | 判定 |
127
+ |---------|-----|------|
128
+ | デフォルト値で握りつぶし | `?? 'unknown'`、`\|\| 'default'`、`?? []` | REJECT |
129
+ | try-catch で空値返却 | `catch { return ''; }` `catch { return 0; }` | REJECT |
130
+ | 条件分岐でサイレント無視 | `if (!x) return;` で本来エラーの状況をスキップ | REJECT |
131
+ | 多段フォールバック | `a ?? b ?? c ?? d` | REJECT |
132
+
133
+ **例外(REJECTしない):**
134
+ - 外部入力(ユーザー入力、API応答)のバリデーション時のデフォルト値
135
+ - 明示的にコメントで理由が記載されているフォールバック
136
+ - 設定ファイルのオプショナル値に対するデフォルト
137
+
138
+ **検証アプローチ:**
139
+ 1. 変更差分で `??`、`||`、`catch` を grep
140
+ 2. 各フォールバックに正当な理由があるか確認
141
+ 3. 理由なしのフォールバックが1つでもあれば REJECT
142
+
143
+ ### 8. 決定トレーサビリティレビュー
123
144
 
124
145
  **Coderの決定ログが妥当か検証する。**
125
146
 
@@ -32,6 +32,7 @@
32
32
  - 何を作るのか(機能・振る舞い)
33
33
  - どこに作るのか(ファイル・モジュール)
34
34
  - 既存コードとの関係(依存・影響範囲)
35
+ - ドキュメント・設定を更新する場合: 記述する内容のソース・オブ・トゥルース(実際のファイル名、設定値、コマンド名は推測せず実コードで確認)
35
36
 
36
37
  **不明点があれば `[BLOCKED]` で報告。** 推測で進めない。
37
38
 
@@ -91,6 +92,7 @@
91
92
  | テスト | テスト実行 |
92
93
  | 要求充足 | 元のタスク要求と照合 |
93
94
  | デッドコード | 変更・削除した機能を参照する未使用コードが残っていないか確認(未使用の関数、変数、インポート、エクスポート、型定義、到達不能コード) |
95
+ | 事実の正確性 | ドキュメントや設定に書いた名前・値・振る舞いが、実際のコードベースと一致しているか確認 |
94
96
 
95
97
  **すべて確認してから `[DONE]` を出力。**
96
98
 
@@ -106,8 +108,6 @@
106
108
  | ボーイスカウト | 触った箇所は少し改善して去る |
107
109
  | Fail Fast | エラーは早期に検出。握りつぶさない |
108
110
 
109
- **迷ったら**: Simple を選ぶ。
110
-
111
111
  ## 抽象化の原則
112
112
 
113
113
  **条件分岐を追加する前に考える:**
@@ -290,7 +290,7 @@ test('ユーザーが存在しない場合、NotFoundエラーを返す', async
290
290
 
291
291
  ## 禁止事項
292
292
 
293
- - **フォールバック値の乱用** - `?? 'unknown'`、`|| 'default'` で問題を隠さない
293
+ - **フォールバックは原則禁止** - `?? 'unknown'`、`|| 'default'`、`try-catch` で握りつぶすフォールバックを書かない。エラーは上位に伝播させる。どうしても必要な場合はコメントで理由を明記する
294
294
  - **説明コメント** - コードで意図を表現する
295
295
  - **未使用コード** - 「念のため」のコードは書かない
296
296
  - **any型** - 型安全を破壊しない
@@ -33,7 +33,20 @@
33
33
  - 依存関係
34
34
  - テストへの影響
35
35
 
36
- ### 3. 実装アプローチ
36
+ ### 3. 情報の裏取り(ファクトチェック)
37
+
38
+ 分析で使用する情報は必ずソース・オブ・トゥルースで裏取りする:
39
+
40
+ | 情報の種類 | ソース・オブ・トゥルース |
41
+ |-----------|----------------------|
42
+ | コードの振る舞い | 実際のソースコード |
43
+ | 設定値・名前 | 実際の設定ファイル・定義ファイル |
44
+ | API・コマンド | 実際の実装コード |
45
+ | ドキュメント記述 | 実際のコードベースと突合 |
46
+
47
+ **推測で書かない。** 名前・値・振る舞いは必ずコードで確認する。
48
+
49
+ ### 4. 実装アプローチ
37
50
 
38
51
  実装の方向性を決める:
39
52
 
@@ -25,6 +25,7 @@ steps:
25
25
  - Read
26
26
  - Glob
27
27
  - Grep
28
+ - Write
28
29
  - Bash
29
30
  - WebSearch
30
31
  - WebFetch
@@ -241,6 +242,7 @@ steps:
241
242
  - Read
242
243
  - Glob
243
244
  - Grep
245
+ - Write
244
246
  - WebSearch
245
247
  - WebFetch
246
248
  status_rules_prompt: |
@@ -439,11 +441,12 @@ steps:
439
441
  next_step: plan
440
442
 
441
443
  - name: ai_review
442
- agent: ~/.takt/agents/default/ai-reviewer.md
444
+ agent: ~/.takt/agents/default/ai-antipattern-reviewer.md
443
445
  allowed_tools:
444
446
  - Read
445
447
  - Glob
446
448
  - Grep
449
+ - Write
447
450
  - WebSearch
448
451
  - WebFetch
449
452
  status_rules_prompt: |
@@ -616,6 +619,7 @@ steps:
616
619
  - Read
617
620
  - Glob
618
621
  - Grep
622
+ - Write
619
623
  - WebSearch
620
624
  - WebFetch
621
625
  status_rules_prompt: |
@@ -850,6 +854,7 @@ steps:
850
854
  - Read
851
855
  - Glob
852
856
  - Grep
857
+ - Write
853
858
  - Bash
854
859
  - WebSearch
855
860
  - WebFetch
@@ -37,6 +37,7 @@ steps:
37
37
  - Read
38
38
  - Glob
39
39
  - Grep
40
+ - Write
40
41
  - Bash
41
42
  - WebSearch
42
43
  - WebFetch
@@ -203,6 +204,7 @@ steps:
203
204
  - Read
204
205
  - Glob
205
206
  - Grep
207
+ - Write
206
208
  - WebSearch
207
209
  - WebFetch
208
210
  status_rules_prompt: |
@@ -354,6 +356,7 @@ steps:
354
356
  - Read
355
357
  - Glob
356
358
  - Grep
359
+ - Write
357
360
  - WebSearch
358
361
  - WebFetch
359
362
  status_rules_prompt: |
@@ -495,6 +498,7 @@ steps:
495
498
  - Read
496
499
  - Glob
497
500
  - Grep
501
+ - Write
498
502
  - WebSearch
499
503
  - WebFetch
500
504
  status_rules_prompt: |
@@ -631,11 +635,12 @@ steps:
631
635
  # Phase 4: AI Review
632
636
  # ===========================================
633
637
  - name: ai_review
634
- agent: ~/.takt/agents/default/ai-reviewer.md
638
+ agent: ~/.takt/agents/default/ai-antipattern-reviewer.md
635
639
  allowed_tools:
636
640
  - Read
637
641
  - Glob
638
642
  - Grep
643
+ - Write
639
644
  - WebSearch
640
645
  - WebFetch
641
646
  status_rules_prompt: |
@@ -771,6 +776,7 @@ steps:
771
776
  - Read
772
777
  - Glob
773
778
  - Grep
779
+ - Write
774
780
  - WebSearch
775
781
  - WebFetch
776
782
  status_rules_prompt: |
@@ -919,6 +925,7 @@ steps:
919
925
  - Read
920
926
  - Glob
921
927
  - Grep
928
+ - Write
922
929
  - WebSearch
923
930
  - WebFetch
924
931
  status_rules_prompt: |
@@ -1072,6 +1079,7 @@ steps:
1072
1079
  - Read
1073
1080
  - Glob
1074
1081
  - Grep
1082
+ - Write
1075
1083
  - WebSearch
1076
1084
  - WebFetch
1077
1085
  status_rules_prompt: |
@@ -37,6 +37,7 @@ steps:
37
37
  - Read
38
38
  - Glob
39
39
  - Grep
40
+ - Write
40
41
  - Bash
41
42
  - WebSearch
42
43
  - WebFetch
@@ -203,6 +204,7 @@ steps:
203
204
  - Read
204
205
  - Glob
205
206
  - Grep
207
+ - Write
206
208
  - WebSearch
207
209
  - WebFetch
208
210
  status_rules_prompt: |
@@ -354,6 +356,7 @@ steps:
354
356
  - Read
355
357
  - Glob
356
358
  - Grep
359
+ - Write
357
360
  - WebSearch
358
361
  - WebFetch
359
362
  status_rules_prompt: |
@@ -490,11 +493,12 @@ steps:
490
493
  # Phase 4: AI Review
491
494
  # ===========================================
492
495
  - name: ai_review
493
- agent: ~/.takt/agents/default/ai-reviewer.md
496
+ agent: ~/.takt/agents/default/ai-antipattern-reviewer.md
494
497
  allowed_tools:
495
498
  - Read
496
499
  - Glob
497
500
  - Grep
501
+ - Write
498
502
  - WebSearch
499
503
  - WebFetch
500
504
  status_rules_prompt: |
@@ -630,6 +634,7 @@ steps:
630
634
  - Read
631
635
  - Glob
632
636
  - Grep
637
+ - Write
633
638
  - WebSearch
634
639
  - WebFetch
635
640
  status_rules_prompt: |
@@ -778,6 +783,7 @@ steps:
778
783
  - Read
779
784
  - Glob
780
785
  - Grep
786
+ - Write
781
787
  - WebSearch
782
788
  - WebFetch
783
789
  status_rules_prompt: |
@@ -931,6 +937,7 @@ steps:
931
937
  - Read
932
938
  - Glob
933
939
  - Grep
940
+ - Write
934
941
  - WebSearch
935
942
  - WebFetch
936
943
  status_rules_prompt: |
@@ -26,6 +26,7 @@ steps:
26
26
  - Read
27
27
  - Glob
28
28
  - Grep
29
+ - Write
29
30
  - Bash
30
31
  - WebSearch
31
32
  - WebFetch
@@ -237,6 +238,7 @@ steps:
237
238
  - Read
238
239
  - Glob
239
240
  - Grep
241
+ - Write
240
242
  - WebSearch
241
243
  - WebFetch
242
244
  status_rules_prompt: |
@@ -342,11 +344,12 @@ steps:
342
344
  next_step: plan
343
345
 
344
346
  - name: ai_review
345
- agent: ~/.takt/agents/default/ai-reviewer.md
347
+ agent: ~/.takt/agents/default/ai-antipattern-reviewer.md
346
348
  allowed_tools:
347
349
  - Read
348
350
  - Glob
349
351
  - Grep
352
+ - Write
350
353
  - WebSearch
351
354
  - WebFetch
352
355
  status_rules_prompt: |
@@ -451,6 +454,7 @@ steps:
451
454
  - Read
452
455
  - Glob
453
456
  - Grep
457
+ - Write
454
458
  - Bash
455
459
  - WebSearch
456
460
  - WebFetch
@@ -0,0 +1,10 @@
1
+ # Temporary files
2
+ logs/
3
+ reports/
4
+ completed/
5
+ tasks/
6
+ worktree-meta/
7
+ clone-meta/
8
+ worktree-sessions/
9
+ agent_sessions.json
10
+ input_history
@@ -0,0 +1,37 @@
1
+ TAKT Task File Format
2
+ =====================
3
+
4
+ Tasks placed in this directory (.takt/tasks/) will be processed by TAKT.
5
+
6
+ ## YAML Format (Recommended)
7
+
8
+ # .takt/tasks/my-task.yaml
9
+ task: "Task description"
10
+ worktree: true # (optional) true | "/path/to/dir"
11
+ branch: "feat/my-feature" # (optional) branch name
12
+ workflow: "default" # (optional) workflow name
13
+
14
+ Fields:
15
+ task (required) Task description (string)
16
+ worktree (optional) true: create shared clone, "/path": clone at path
17
+ branch (optional) Branch name (auto-generated if omitted: takt/{timestamp}-{slug})
18
+ workflow (optional) Workflow name (uses current workflow if omitted)
19
+
20
+ ## Markdown Format (Simple)
21
+
22
+ # .takt/tasks/my-task.md
23
+
24
+ Entire file content becomes the task description.
25
+ Supports multiline. No structured options available.
26
+
27
+ ## Supported Extensions
28
+
29
+ .yaml, .yml -> YAML format (parsed and validated)
30
+ .md -> Markdown format (plain text, backward compatible)
31
+
32
+ ## Commands
33
+
34
+ takt /add-task Add a task interactively
35
+ takt /run-tasks Run all pending tasks
36
+ takt /watch Watch and auto-run tasks
37
+ takt /list-tasks List task branches (merge/delete)