taskplane 0.1.17 → 0.2.0
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/dashboard/public/app.js +155 -1
- package/dashboard/public/index.html +3 -0
- package/dashboard/public/style.css +63 -0
- package/dashboard/server.cjs +5 -0
- package/extensions/taskplane/abort.ts +24 -3
- package/extensions/taskplane/discovery.ts +24 -0
- package/extensions/taskplane/engine.ts +57 -61
- package/extensions/taskplane/execution.ts +4 -2
- package/extensions/taskplane/extension.ts +11 -0
- package/extensions/taskplane/index.ts +1 -0
- package/extensions/taskplane/merge.ts +250 -6
- package/extensions/taskplane/messages.ts +207 -3
- package/extensions/taskplane/naming.ts +117 -0
- package/extensions/taskplane/persistence.ts +174 -24
- package/extensions/taskplane/resume.ts +329 -76
- package/extensions/taskplane/types.ts +153 -6
- package/extensions/taskplane/waves.ts +386 -94
- package/extensions/taskplane/workspace.ts +17 -0
- package/extensions/taskplane/worktree.ts +57 -31
- package/package.json +1 -1
- package/skills/create-taskplane-task/SKILL.md +363 -326
- package/skills/create-taskplane-task/references/prompt-template.md +245 -246
- package/templates/agents/task-reviewer.md +109 -81
- package/templates/agents/task-worker.md +159 -140
- package/templates/config/task-orchestrator.yaml +7 -2
|
@@ -1,246 +1,245 @@
|
|
|
1
|
-
# PROMPT.md Template
|
|
2
|
-
|
|
3
|
-
Copy this template when creating a new task. Replace all `[bracketed]` fields.
|
|
4
|
-
|
|
5
|
-
---
|
|
6
|
-
|
|
7
|
-
````markdown
|
|
8
|
-
# Task: [PREFIX-###] - [Name]
|
|
9
|
-
|
|
10
|
-
**Created:** [YYYY-MM-DD]
|
|
11
|
-
**Size:** [S | M | L]
|
|
12
|
-
|
|
13
|
-
## Review Level: [0-3] ([None | Plan Only | Plan and Code | Full])
|
|
14
|
-
|
|
15
|
-
**Assessment:** [1-2 sentences explaining the score]
|
|
16
|
-
**Score:** [N]/8 — Blast radius: [N], Pattern novelty: [N], Security: [N], Reversibility: [N]
|
|
17
|
-
|
|
18
|
-
## Canonical Task Folder
|
|
19
|
-
|
|
20
|
-
```
|
|
21
|
-
[FULL_PATH_TO_TASK_FOLDER]/
|
|
22
|
-
├── PROMPT.md ← This file (immutable above --- divider)
|
|
23
|
-
├── STATUS.md ← Execution state (worker updates this)
|
|
24
|
-
├── .reviews/ ← Reviewer output (task-runner creates this)
|
|
25
|
-
└── .DONE ← Created when complete
|
|
26
|
-
```
|
|
27
|
-
|
|
28
|
-
## Mission
|
|
29
|
-
|
|
30
|
-
[One paragraph: what you're building and why it matters]
|
|
31
|
-
|
|
32
|
-
## Dependencies
|
|
33
|
-
|
|
34
|
-
[Choose one:]
|
|
35
|
-
|
|
36
|
-
- **None**
|
|
37
|
-
|
|
38
|
-
[OR:]
|
|
39
|
-
|
|
40
|
-
- **Task:** [PREFIX-###] ([what must be complete])
|
|
41
|
-
- **Task:** [area-name/PREFIX-###] ([use area-qualified form if cross-area ID may be ambiguous])
|
|
42
|
-
- **External:** [what must be true]
|
|
43
|
-
|
|
44
|
-
## Context to Read First
|
|
45
|
-
|
|
46
|
-
> Only list docs the worker actually needs. Less is better.
|
|
47
|
-
|
|
48
|
-
**Tier 2 (area context):**
|
|
49
|
-
- `[path/to/CONTEXT.md]`
|
|
50
|
-
|
|
51
|
-
**Tier 3 (load only if needed):**
|
|
52
|
-
- `[path/to/specific-doc.md]` — [why needed]
|
|
53
|
-
|
|
54
|
-
## Environment
|
|
55
|
-
|
|
56
|
-
- **Workspace:** [primary folder/service being modified]
|
|
57
|
-
- **Services required:** [list, or "None"]
|
|
58
|
-
|
|
59
|
-
## File Scope
|
|
60
|
-
|
|
61
|
-
> The orchestrator uses this to avoid merge conflicts: tasks with overlapping
|
|
62
|
-
> file scope run on the same lane (serial), not in parallel. List the files and
|
|
63
|
-
> directories this task will create or modify. Use wildcards for directories.
|
|
64
|
-
|
|
65
|
-
- `[path/to/file.ext]`
|
|
66
|
-
- `[path/to/directory/*]`
|
|
67
|
-
|
|
68
|
-
## Steps
|
|
69
|
-
|
|
70
|
-
> **Hydration:** STATUS.md
|
|
71
|
-
>
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
- [ ]
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
- [ ] [Specific, verifiable task]
|
|
82
|
-
- [ ] [Specific, verifiable task]
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
- [ ] Run
|
|
93
|
-
- [ ]
|
|
94
|
-
- [ ]
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
- [ ] "
|
|
100
|
-
- [ ]
|
|
101
|
-
- [ ]
|
|
102
|
-
- [ ]
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
- [ ] All
|
|
116
|
-
- [ ]
|
|
117
|
-
- [ ]
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
- **
|
|
125
|
-
- **
|
|
126
|
-
- **
|
|
127
|
-
|
|
128
|
-
|
|
129
|
-
|
|
130
|
-
|
|
131
|
-
-
|
|
132
|
-
-
|
|
133
|
-
-
|
|
134
|
-
-
|
|
135
|
-
|
|
136
|
-
|
|
137
|
-
|
|
138
|
-
|
|
139
|
-
|
|
140
|
-
|
|
141
|
-
|
|
142
|
-
|
|
143
|
-
|
|
144
|
-
**
|
|
145
|
-
|
|
146
|
-
|
|
147
|
-
|
|
148
|
-
|
|
149
|
-
|
|
150
|
-
|
|
151
|
-
|
|
152
|
-
|
|
153
|
-
|
|
154
|
-
|
|
155
|
-
|
|
156
|
-
|
|
157
|
-
|
|
158
|
-
**
|
|
159
|
-
**
|
|
160
|
-
**
|
|
161
|
-
**Review
|
|
162
|
-
**
|
|
163
|
-
**
|
|
164
|
-
|
|
165
|
-
|
|
166
|
-
>
|
|
167
|
-
>
|
|
168
|
-
|
|
169
|
-
|
|
170
|
-
|
|
171
|
-
|
|
172
|
-
|
|
173
|
-
|
|
174
|
-
|
|
175
|
-
- [ ]
|
|
176
|
-
|
|
177
|
-
|
|
178
|
-
|
|
179
|
-
|
|
180
|
-
|
|
181
|
-
|
|
182
|
-
|
|
183
|
-
[
|
|
184
|
-
- [ ] [Specific item from PROMPT.md]
|
|
185
|
-
|
|
186
|
-
|
|
187
|
-
|
|
188
|
-
|
|
189
|
-
|
|
190
|
-
|
|
191
|
-
|
|
192
|
-
|
|
193
|
-
|
|
194
|
-
|
|
195
|
-
|
|
196
|
-
|
|
197
|
-
- [ ]
|
|
198
|
-
- [ ]
|
|
199
|
-
- [ ]
|
|
200
|
-
|
|
201
|
-
|
|
202
|
-
|
|
203
|
-
|
|
204
|
-
|
|
205
|
-
|
|
206
|
-
|
|
207
|
-
- [ ] "
|
|
208
|
-
- [ ]
|
|
209
|
-
- [ ]
|
|
210
|
-
- [ ]
|
|
211
|
-
|
|
212
|
-
|
|
213
|
-
|
|
214
|
-
|
|
215
|
-
|
|
216
|
-
|
|
217
|
-
|
|
218
|
-
|
|
219
|
-
|
|
220
|
-
|
|
221
|
-
|
|
222
|
-
|
|
223
|
-
|
|
224
|
-
|
|
225
|
-
|
|
226
|
-
|
|
227
|
-
|
|
228
|
-
|
|
229
|
-
|
|
230
|
-
|
|
231
|
-
|
|
232
|
-
|
|
233
|
-
|
|
234
|
-
|
|
235
|
-
|
|
236
|
-
|
|
237
|
-
|
|
238
|
-
|
|
239
|
-
|
|
240
|
-
|
|
241
|
-
|
|
242
|
-
|
|
243
|
-
|
|
244
|
-
|
|
245
|
-
|
|
246
|
-
````
|
|
1
|
+
# PROMPT.md Template
|
|
2
|
+
|
|
3
|
+
Copy this template when creating a new task. Replace all `[bracketed]` fields.
|
|
4
|
+
|
|
5
|
+
---
|
|
6
|
+
|
|
7
|
+
````markdown
|
|
8
|
+
# Task: [PREFIX-###] - [Name]
|
|
9
|
+
|
|
10
|
+
**Created:** [YYYY-MM-DD]
|
|
11
|
+
**Size:** [S | M | L]
|
|
12
|
+
|
|
13
|
+
## Review Level: [0-3] ([None | Plan Only | Plan and Code | Full])
|
|
14
|
+
|
|
15
|
+
**Assessment:** [1-2 sentences explaining the score]
|
|
16
|
+
**Score:** [N]/8 — Blast radius: [N], Pattern novelty: [N], Security: [N], Reversibility: [N]
|
|
17
|
+
|
|
18
|
+
## Canonical Task Folder
|
|
19
|
+
|
|
20
|
+
```
|
|
21
|
+
[FULL_PATH_TO_TASK_FOLDER]/
|
|
22
|
+
├── PROMPT.md ← This file (immutable above --- divider)
|
|
23
|
+
├── STATUS.md ← Execution state (worker updates this)
|
|
24
|
+
├── .reviews/ ← Reviewer output (task-runner creates this)
|
|
25
|
+
└── .DONE ← Created when complete
|
|
26
|
+
```
|
|
27
|
+
|
|
28
|
+
## Mission
|
|
29
|
+
|
|
30
|
+
[One paragraph: what you're building and why it matters]
|
|
31
|
+
|
|
32
|
+
## Dependencies
|
|
33
|
+
|
|
34
|
+
[Choose one:]
|
|
35
|
+
|
|
36
|
+
- **None**
|
|
37
|
+
|
|
38
|
+
[OR:]
|
|
39
|
+
|
|
40
|
+
- **Task:** [PREFIX-###] ([what must be complete])
|
|
41
|
+
- **Task:** [area-name/PREFIX-###] ([use area-qualified form if cross-area ID may be ambiguous])
|
|
42
|
+
- **External:** [what must be true]
|
|
43
|
+
|
|
44
|
+
## Context to Read First
|
|
45
|
+
|
|
46
|
+
> Only list docs the worker actually needs. Less is better.
|
|
47
|
+
|
|
48
|
+
**Tier 2 (area context):**
|
|
49
|
+
- `[path/to/CONTEXT.md]`
|
|
50
|
+
|
|
51
|
+
**Tier 3 (load only if needed):**
|
|
52
|
+
- `[path/to/specific-doc.md]` — [why needed]
|
|
53
|
+
|
|
54
|
+
## Environment
|
|
55
|
+
|
|
56
|
+
- **Workspace:** [primary folder/service being modified]
|
|
57
|
+
- **Services required:** [list, or "None"]
|
|
58
|
+
|
|
59
|
+
## File Scope
|
|
60
|
+
|
|
61
|
+
> The orchestrator uses this to avoid merge conflicts: tasks with overlapping
|
|
62
|
+
> file scope run on the same lane (serial), not in parallel. List the files and
|
|
63
|
+
> directories this task will create or modify. Use wildcards for directories.
|
|
64
|
+
|
|
65
|
+
- `[path/to/file.ext]`
|
|
66
|
+
- `[path/to/directory/*]`
|
|
67
|
+
|
|
68
|
+
## Steps
|
|
69
|
+
|
|
70
|
+
> **Hydration:** STATUS.md tracks outcomes, not individual code changes. Workers
|
|
71
|
+
> expand steps when runtime discoveries warrant it. See task-worker agent for rules.
|
|
72
|
+
|
|
73
|
+
### Step 0: Preflight
|
|
74
|
+
|
|
75
|
+
- [ ] Required files and paths exist
|
|
76
|
+
- [ ] Dependencies satisfied
|
|
77
|
+
|
|
78
|
+
### Step 1: [Name]
|
|
79
|
+
|
|
80
|
+
- [ ] [Specific, verifiable task]
|
|
81
|
+
- [ ] [Specific, verifiable task]
|
|
82
|
+
- [ ] [Specific, verifiable task]
|
|
83
|
+
|
|
84
|
+
**Artifacts:**
|
|
85
|
+
- `path/to/file` (new | modified)
|
|
86
|
+
|
|
87
|
+
### Step [N-1]: Testing & Verification
|
|
88
|
+
|
|
89
|
+
> ZERO test failures allowed.
|
|
90
|
+
|
|
91
|
+
- [ ] Run unit tests: `[test command from task-runner.yaml]`
|
|
92
|
+
- [ ] Run integration tests (if applicable)
|
|
93
|
+
- [ ] Fix all failures
|
|
94
|
+
- [ ] Build passes: `[build command]`
|
|
95
|
+
|
|
96
|
+
### Step [N]: Documentation & Delivery
|
|
97
|
+
|
|
98
|
+
- [ ] "Must Update" docs modified
|
|
99
|
+
- [ ] "Check If Affected" docs reviewed
|
|
100
|
+
- [ ] Discoveries logged in STATUS.md
|
|
101
|
+
- [ ] `.DONE` created in this folder
|
|
102
|
+
- [ ] Task archived (auto — handled by task-runner extension)
|
|
103
|
+
|
|
104
|
+
## Documentation Requirements
|
|
105
|
+
|
|
106
|
+
**Must Update:**
|
|
107
|
+
- `[path/to/doc.md]` — [what to add/change]
|
|
108
|
+
|
|
109
|
+
**Check If Affected:**
|
|
110
|
+
- `[path/to/doc.md]` — [update if relevant]
|
|
111
|
+
|
|
112
|
+
## Completion Criteria
|
|
113
|
+
|
|
114
|
+
- [ ] All steps complete
|
|
115
|
+
- [ ] All tests passing
|
|
116
|
+
- [ ] Documentation updated
|
|
117
|
+
- [ ] `.DONE` created
|
|
118
|
+
|
|
119
|
+
## Git Commit Convention
|
|
120
|
+
|
|
121
|
+
All commits for this task MUST include the task ID for traceability:
|
|
122
|
+
|
|
123
|
+
- **Implementation:** `feat([PREFIX-###]): description`
|
|
124
|
+
- **Bug fixes:** `fix([PREFIX-###]): description`
|
|
125
|
+
- **Tests:** `test([PREFIX-###]): description`
|
|
126
|
+
- **Checkpoints:** `checkpoint: [PREFIX-###] description`
|
|
127
|
+
|
|
128
|
+
## Do NOT
|
|
129
|
+
|
|
130
|
+
- Expand task scope — add tech debt to CONTEXT.md instead
|
|
131
|
+
- Skip tests
|
|
132
|
+
- Modify framework/standards docs without explicit user approval
|
|
133
|
+
- Load docs not listed in "Context to Read First"
|
|
134
|
+
- Commit without the task ID prefix in the commit message
|
|
135
|
+
|
|
136
|
+
---
|
|
137
|
+
|
|
138
|
+
## Amendments (Added During Execution)
|
|
139
|
+
|
|
140
|
+
<!-- Workers add amendments here if issues discovered during execution.
|
|
141
|
+
Format:
|
|
142
|
+
### Amendment N — YYYY-MM-DD HH:MM
|
|
143
|
+
**Issue:** [what was wrong]
|
|
144
|
+
**Resolution:** [what was changed] -->
|
|
145
|
+
````
|
|
146
|
+
|
|
147
|
+
---
|
|
148
|
+
|
|
149
|
+
# STATUS.md Template
|
|
150
|
+
|
|
151
|
+
Create alongside PROMPT.md. If omitted, the task-runner extension auto-generates
|
|
152
|
+
this from PROMPT.md.
|
|
153
|
+
|
|
154
|
+
````markdown
|
|
155
|
+
# [PREFIX-###]: [Name] — Status
|
|
156
|
+
|
|
157
|
+
**Current Step:** Not Started
|
|
158
|
+
**Status:** 🔵 Ready for Execution
|
|
159
|
+
**Last Updated:** [YYYY-MM-DD]
|
|
160
|
+
**Review Level:** [0-3]
|
|
161
|
+
**Review Counter:** 0
|
|
162
|
+
**Iteration:** 0
|
|
163
|
+
**Size:** [S | M | L]
|
|
164
|
+
|
|
165
|
+
> **Hydration:** Checkboxes represent meaningful outcomes, not individual code
|
|
166
|
+
> changes. Workers expand steps when runtime discoveries warrant it — aim for
|
|
167
|
+
> 2-5 outcome-level items per step, not exhaustive implementation scripts.
|
|
168
|
+
|
|
169
|
+
---
|
|
170
|
+
|
|
171
|
+
### Step 0: Preflight
|
|
172
|
+
**Status:** ⬜ Not Started
|
|
173
|
+
|
|
174
|
+
- [ ] Required files and paths exist
|
|
175
|
+
- [ ] Dependencies satisfied
|
|
176
|
+
|
|
177
|
+
---
|
|
178
|
+
|
|
179
|
+
### Step 1: [Name]
|
|
180
|
+
**Status:** ⬜ Not Started
|
|
181
|
+
|
|
182
|
+
[If items are known at creation time, list each one:]
|
|
183
|
+
- [ ] [Specific item from PROMPT.md]
|
|
184
|
+
- [ ] [Specific item from PROMPT.md]
|
|
185
|
+
|
|
186
|
+
[If items depend on runtime discovery:]
|
|
187
|
+
> ⚠️ Hydrate: Expand checkboxes when entering this step based on [what]
|
|
188
|
+
|
|
189
|
+
- [ ] [High-level placeholder — worker will expand]
|
|
190
|
+
|
|
191
|
+
---
|
|
192
|
+
|
|
193
|
+
### Step [N-1]: Testing & Verification
|
|
194
|
+
**Status:** ⬜ Not Started
|
|
195
|
+
|
|
196
|
+
- [ ] Unit tests passing
|
|
197
|
+
- [ ] Integration tests (if applicable)
|
|
198
|
+
- [ ] All failures fixed
|
|
199
|
+
- [ ] Build passes
|
|
200
|
+
|
|
201
|
+
---
|
|
202
|
+
|
|
203
|
+
### Step [N]: Documentation & Delivery
|
|
204
|
+
**Status:** ⬜ Not Started
|
|
205
|
+
|
|
206
|
+
- [ ] "Must Update" docs modified
|
|
207
|
+
- [ ] "Check If Affected" docs reviewed
|
|
208
|
+
- [ ] Discoveries logged
|
|
209
|
+
- [ ] `.DONE` created
|
|
210
|
+
- [ ] Archive and push
|
|
211
|
+
|
|
212
|
+
---
|
|
213
|
+
|
|
214
|
+
## Reviews
|
|
215
|
+
|
|
216
|
+
| # | Type | Step | Verdict | File |
|
|
217
|
+
|---|------|------|---------|------|
|
|
218
|
+
|
|
219
|
+
---
|
|
220
|
+
|
|
221
|
+
## Discoveries
|
|
222
|
+
|
|
223
|
+
| Discovery | Disposition | Location |
|
|
224
|
+
|-----------|-------------|----------|
|
|
225
|
+
|
|
226
|
+
---
|
|
227
|
+
|
|
228
|
+
## Execution Log
|
|
229
|
+
|
|
230
|
+
| Timestamp | Action | Outcome |
|
|
231
|
+
|-----------|--------|---------|
|
|
232
|
+
| [YYYY-MM-DD] | Task staged | PROMPT.md and STATUS.md created |
|
|
233
|
+
|
|
234
|
+
---
|
|
235
|
+
|
|
236
|
+
## Blockers
|
|
237
|
+
|
|
238
|
+
*None*
|
|
239
|
+
|
|
240
|
+
---
|
|
241
|
+
|
|
242
|
+
## Notes
|
|
243
|
+
|
|
244
|
+
*Reserved for execution notes*
|
|
245
|
+
````
|