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.
- package/README.md +67 -38
- package/dist/cli.d.ts +4 -3
- package/dist/cli.d.ts.map +1 -1
- package/dist/cli.js +22 -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/{reviewTasks.js → listTasks.js} +93 -73
- 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 +21 -14
- package/dist/commands/taskExecution.js.map +1 -1
- package/dist/commands/workflowExecution.js +3 -3
- 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/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/schema.d.ts +4 -4
- package/dist/task/schema.js +4 -4
- package/dist/task/summarize.d.ts +7 -5
- package/dist/task/summarize.d.ts.map +1 -1
- package/dist/task/summarize.js +62 -29
- package/dist/task/summarize.js.map +1 -1
- 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 +2 -2
- package/dist/workflow/instruction-builder.d.ts.map +1 -1
- package/dist/workflow/instruction-builder.js +4 -8
- 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 -1
- package/resources/global/en/workflows/expert-cqrs.yaml +8 -1
- package/resources/global/en/workflows/expert.yaml +8 -1
- package/resources/global/en/workflows/simple.yaml +5 -1
- 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 -1
- package/resources/global/ja/workflows/expert-cqrs.yaml +9 -1
- package/resources/global/ja/workflows/expert.yaml +8 -1
- package/resources/global/ja/workflows/simple.yaml +5 -1
- package/resources/project/dotgitignore +10 -0
- package/resources/project/tasks/TASK-FORMAT +37 -0
- package/dist/commands/reviewTasks.d.ts +0 -43
- package/dist/commands/reviewTasks.d.ts.map +0 -1
- 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
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"instruction-builder.js","sourceRoot":"","sources":["../../src/workflow/instruction-builder.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;
|
|
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.
|
|
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.
|
|
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
|
-
- **
|
|
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.
|
|
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
|
-
-
|
|
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,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)
|