opencodekit 0.10.0 → 0.11.1

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 (47) hide show
  1. package/dist/index.js +1 -1
  2. package/dist/template/.opencode/agent/planner.md +3 -2
  3. package/dist/template/.opencode/command/accessibility-check.md +297 -30
  4. package/dist/template/.opencode/command/analyze-mockup.md +412 -20
  5. package/dist/template/.opencode/command/analyze-project.md +445 -30
  6. package/dist/template/.opencode/command/brainstorm.md +294 -5
  7. package/dist/template/.opencode/command/commit.md +231 -17
  8. package/dist/template/.opencode/command/create.md +415 -77
  9. package/dist/template/.opencode/command/design-audit.md +483 -29
  10. package/dist/template/.opencode/command/design.md +615 -6
  11. package/dist/template/.opencode/command/edit-image.md +223 -20
  12. package/dist/template/.opencode/command/finish.md +163 -71
  13. package/dist/template/.opencode/command/fix-ci.md +297 -24
  14. package/dist/template/.opencode/command/fix-types.md +351 -13
  15. package/dist/template/.opencode/command/fix-ui.md +299 -13
  16. package/dist/template/.opencode/command/fix.md +262 -9
  17. package/dist/template/.opencode/command/generate-diagram.md +327 -26
  18. package/dist/template/.opencode/command/generate-icon.md +266 -22
  19. package/dist/template/.opencode/command/generate-image.md +232 -12
  20. package/dist/template/.opencode/command/generate-pattern.md +234 -20
  21. package/dist/template/.opencode/command/generate-storyboard.md +231 -21
  22. package/dist/template/.opencode/command/handoff.md +208 -31
  23. package/dist/template/.opencode/command/implement.md +163 -50
  24. package/dist/template/.opencode/command/import-plan.md +253 -52
  25. package/dist/template/.opencode/command/init.md +154 -35
  26. package/dist/template/.opencode/command/integration-test.md +410 -24
  27. package/dist/template/.opencode/command/issue.md +177 -21
  28. package/dist/template/.opencode/command/new-feature.md +390 -54
  29. package/dist/template/.opencode/command/plan.md +394 -107
  30. package/dist/template/.opencode/command/pr.md +235 -29
  31. package/dist/template/.opencode/command/quick-build.md +234 -5
  32. package/dist/template/.opencode/command/research-and-implement.md +442 -12
  33. package/dist/template/.opencode/command/research-ui.md +444 -34
  34. package/dist/template/.opencode/command/research.md +179 -45
  35. package/dist/template/.opencode/command/restore-image.md +416 -22
  36. package/dist/template/.opencode/command/resume.md +447 -63
  37. package/dist/template/.opencode/command/revert-feature.md +347 -65
  38. package/dist/template/.opencode/command/review-codebase.md +199 -4
  39. package/dist/template/.opencode/command/skill-create.md +506 -14
  40. package/dist/template/.opencode/command/skill-optimize.md +487 -16
  41. package/dist/template/.opencode/command/status.md +326 -60
  42. package/dist/template/.opencode/command/summarize.md +374 -33
  43. package/dist/template/.opencode/command/triage.md +361 -0
  44. package/dist/template/.opencode/command/ui-review.md +296 -25
  45. package/dist/template/.opencode/skill/beads/SKILL.md +108 -3
  46. package/dist/template/.opencode/skill/playwriter/SKILL.md +148 -0
  47. package/package.json +1 -1
@@ -1,32 +1,82 @@
1
1
  ---
2
2
  description: Import external plan into Beads - create epics and issues with dependencies
3
- argument-hint: "<plan-file.md> [epic-prefix]"
3
+ argument-hint: "<plan-file.md> [--prefix=<epic-prefix>] [--dry-run] [--force]"
4
4
  agent: build
5
5
  ---
6
6
 
7
7
  # Import Plan
8
8
 
9
- **Load skill:** `skill({ name: "executing-plans" })`
9
+ **Load skills:**
10
+
11
+ ```typescript
12
+ skill({ name: "beads" }); // For hierarchy and dependencies
13
+ skill({ name: "executing-plans" }); // For plan execution
14
+ ```
10
15
 
11
16
  Import a markdown plan into Beads epics and issues. Follows Steve Yegge's "plan outside, import inside" pattern.
12
17
 
18
+ ## Parse Arguments
19
+
20
+ | Argument | Default | Description |
21
+ | ----------- | -------- | ---------------------------------- |
22
+ | Plan file | required | Path to markdown plan |
23
+ | `--prefix` | none | Prefix for epic titles |
24
+ | `--dry-run` | false | Preview without creating beads |
25
+ | `--force` | false | Import even if duplicates detected |
26
+
27
+ ---
28
+
13
29
  ## Phase 1: Load Plan
14
30
 
15
31
  Read the plan file:
16
32
 
17
33
  ```bash
18
- cat $ARGUMENTS
34
+ read $ARGUMENTS
19
35
  ```
20
36
 
21
37
  If file not found: "Plan file not found. Provide path to markdown plan."
22
38
 
23
- ## Phase 2: Analyze Structure
39
+ ---
40
+
41
+ ## Phase 2: Duplicate Detection
42
+
43
+ Before importing, check for existing beads with similar titles:
44
+
45
+ ```typescript
46
+ bd_ls({ status: "all", limit: 50, offset: 0 });
47
+ ```
48
+
49
+ Compare plan titles against existing beads:
50
+
51
+ ```
52
+ Duplicate Check:
53
+ ━━━━━━━━━━━━━━━━
54
+
55
+ ⚠ Potential duplicates found:
56
+ - "User Authentication" similar to existing bd-abc123: "Auth System"
57
+ - "Create login form" similar to existing bd-def456: "Login Form Component"
58
+
59
+ Options:
60
+ 1. Skip duplicates (import only new items)
61
+ 2. Force import (create duplicates)
62
+ 3. Cancel import
63
+
64
+ Select option (1/2/3):
65
+ ```
66
+
67
+ If `--force` flag set, skip this check and import everything.
68
+
69
+ ---
70
+
71
+ ## Phase 3: Analyze Structure
24
72
 
25
73
  Parse the plan for:
26
74
 
27
75
  - **Epics**: Top-level sections (## headers)
28
76
  - **Issues**: Sub-sections or task lists (### headers, - [ ] items)
29
77
  - **Dependencies**: References between sections, "after X", "requires Y"
78
+ - **Estimates**: Size markers (S, M, L, XL, or time estimates)
79
+ - **Tags**: Hashtags or category markers (#frontend, #backend, etc.)
30
80
 
31
81
  Report:
32
82
 
@@ -37,66 +87,109 @@ Plan Analysis: [filename]
37
87
  Epics found: [count]
38
88
  Issues found: [count]
39
89
  Dependencies: [count]
90
+ Estimated effort: [total hours/points]
40
91
 
41
92
  Structure:
42
- ├── [Epic 1 title] ([issue count] issues)
43
- │ ├── [Issue 1]
44
- │ └── [Issue 2]
45
- ├── [Epic 2 title] ([issue count] issues)
46
- │ └── [Issue 1] → depends on [Epic 1/Issue 2]
93
+ ├── [Epic 1 title] ([issue count] issues, [estimate])
94
+ │ ├── [Issue 1] [S] #frontend
95
+ │ └── [Issue 2] [M] #backend → depends on Issue 1
96
+ ├── [Epic 2 title] ([issue count] issues, [estimate])
97
+ │ └── [Issue 1] [L] → depends on [Epic 1/Issue 2]
47
98
  └── ...
48
99
 
49
100
  Proceed with import? (yes/modify/cancel)
50
101
  ```
51
102
 
52
- **STOP and wait for approval.**
103
+ **STOP and wait for approval** (unless `--dry-run`, then just show preview).
104
+
105
+ ---
53
106
 
54
- ## Phase 3: Create Epics
107
+ ## Phase 4: Create Epics
55
108
 
56
109
  For each epic (top-level section):
57
110
 
58
111
  ```typescript
59
112
  bd_add({
60
- title: "[Epic title]",
113
+ title: "[prefix][Epic title]",
61
114
  type: "epic",
62
115
  pri: 2,
63
116
  desc: "[description from plan]",
117
+ tags: ["imported", ...inferred_tags],
64
118
  });
65
119
  ```
66
120
 
67
121
  Store epic IDs for dependency linking.
68
122
 
69
- ## Phase 4: Create Issues
123
+ **Progress feedback:**
124
+
125
+ ```
126
+ Creating epics... [1/3] ████░░░░░░ User Authentication
127
+ Creating epics... [2/3] ██████░░░░ Dashboard
128
+ Creating epics... [3/3] ██████████ Settings ✓
129
+ ```
130
+
131
+ ---
132
+
133
+ ## Phase 5: Create Issues
70
134
 
71
135
  For each issue under an epic:
72
136
 
73
137
  ```typescript
74
138
  bd_add({
75
139
  title: "[Issue title]",
76
- type: "task",
77
- pri: 2,
78
- desc: "[description]",
140
+ type: "<inferred-type>",
141
+ pri: <inferred-priority>,
142
+ desc: "[description]\n\nEstimate: [size]\nSource: [plan-file]",
79
143
  parent: "<epic-id>",
144
+ tags: [...inferred_tags]
80
145
  });
81
146
  ```
82
147
 
83
- **Infer type from content:**
148
+ ### Type Inference
84
149
 
85
- - Contains "fix", "bug", "error" → `-t bug`
86
- - Contains "test", "spec" → `-t task`
87
- - Contains "refactor", "cleanup" `-t chore`
88
- - Default `-t feature`
150
+ | Content Pattern | Type |
151
+ | --------------------------------- | ------- |
152
+ | "fix", "bug", "error", "broken" | bug |
153
+ | "test", "spec", "coverage" | task |
154
+ | "refactor", "cleanup", "optimize" | task |
155
+ | "docs", "document", "readme" | docs |
156
+ | Default | feature |
89
157
 
90
- **Infer priority from markers:**
158
+ ### Priority Inference
91
159
 
92
- - "critical", "urgent", "blocker" → `-p 0`
93
- - "important", "high" `-p 1`
94
- - Default `-p 2`
95
- - "low", "nice to have" → `-p 3`
160
+ | Marker | Priority |
161
+ | ------------------------------------- | -------- |
162
+ | "critical", "urgent", "blocker", "P0" | 0 |
163
+ | "important", "high", "P1" | 1 |
164
+ | Default | 2 |
165
+ | "low", "nice to have", "P3" | 3 |
166
+ | "backlog", "someday", "P4" | 4 |
96
167
 
97
- ## Phase 5: Link Dependencies
168
+ ### Estimation Inference
98
169
 
99
- For issues with dependencies, use the `deps` parameter when creating:
170
+ | Marker | Meaning | Suggested Hours |
171
+ | ------------------- | -------------- | --------------- |
172
+ | XS, "trivial" | Extra small | 1-2 hours |
173
+ | S, "small" | Small | 2-4 hours |
174
+ | M, "medium" | Medium | 4-8 hours |
175
+ | L, "large" | Large | 1-2 days |
176
+ | XL, "extra large" | Extra large | 3-5 days |
177
+ | "[N]h", "[N] hours" | Explicit hours | N hours |
178
+ | "[N]d", "[N] days" | Explicit days | N \* 8 hours |
179
+
180
+ ### Tag Inference
181
+
182
+ Detect from content and extract:
183
+
184
+ - `#frontend`, `#backend`, `#devops`, `#design`
185
+ - `@assignee` patterns
186
+ - `[component-name]` references
187
+
188
+ ---
189
+
190
+ ## Phase 6: Link Dependencies
191
+
192
+ For issues with dependencies, use the `deps` parameter:
100
193
 
101
194
  ```typescript
102
195
  bd_add({
@@ -107,16 +200,53 @@ bd_add({
107
200
  });
108
201
  ```
109
202
 
110
- Common patterns to detect:
203
+ ### Dependency Patterns
204
+
205
+ | Pattern | Interpretation |
206
+ | --------------------------- | ---------------------- |
207
+ | "after [X]" | X blocks this |
208
+ | "requires [Y]" | Y blocks this |
209
+ | "depends on [Z]" | Z blocks this |
210
+ | "before [W]" | This blocks W |
211
+ | "blocked by [V]" | V blocks this |
212
+ | Numbered steps (1, 2, 3...) | Sequential blocking |
213
+ | Indented sub-items | Parent blocks children |
214
+
215
+ ---
216
+
217
+ ## Phase 7: Rollback on Failure
218
+
219
+ If any creation fails, offer rollback:
220
+
221
+ ```
222
+ ❌ Error creating issue "Setup database"
223
+ Reason: [error message]
224
+
225
+ Created so far:
226
+ - bd-abc123: Epic: User Auth
227
+ - bd-def456: Issue: Login form
228
+
229
+ Options:
230
+ 1. Rollback (delete created beads)
231
+ 2. Continue (skip failed, proceed with rest)
232
+ 3. Abort (keep created, stop here)
233
+
234
+ Select option (1/2/3):
235
+ ```
236
+
237
+ Rollback implementation:
238
+
239
+ ```typescript
240
+ // Delete in reverse order
241
+ bd_update({ id: "bd-def456", status: "cancelled" });
242
+ bd_update({ id: "bd-abc123", status: "cancelled" });
243
+ ```
111
244
 
112
- - "after [X]" → X blocks this
113
- - "requires [Y]" → Y blocks this
114
- - "before [Z]" → this blocks Z
115
- - Numbered steps → sequential blocking
245
+ ---
116
246
 
117
- ## Phase 6: Review Pass
247
+ ## Phase 8: Review Pass
118
248
 
119
- Ask agent to review the imported beads:
249
+ After import, review for quality:
120
250
 
121
251
  ```
122
252
  Import complete. Running review pass...
@@ -128,45 +258,94 @@ For each epic, verify:
128
258
  - Description captures intent
129
259
  - Issues are properly scoped
130
260
  - Dependencies make sense
261
+ - Estimates are reasonable
131
262
 
132
263
  Suggest improvements:
133
264
 
134
265
  ```
135
266
  Review Suggestions:
136
- - <bead-id>: [suggestion]
137
- - <bead-id>: [suggestion]
267
+ ━━━━━━━━━━━━━━━━━━
268
+
269
+ - bd-abc123: Title vague → "Implement Auth" → "Implement JWT Authentication"
270
+ - bd-def456: Missing estimate → Suggest: M (4-8 hours)
271
+ - bd-ghi789: Circular dependency detected with bd-jkl012
138
272
 
139
273
  Apply suggestions? (yes/no/select)
140
274
  ```
141
275
 
142
- ## Phase 7: Polish (Optional)
276
+ ---
277
+
278
+ ## Phase 9: Polish (Optional)
143
279
 
144
- If user approves suggestions, update the spec files in `.beads/artifacts/<bead-id>/` directly.
280
+ If user approves suggestions, update the beads:
281
+
282
+ ```typescript
283
+ bd_update({ id: "bd-abc123", title: "Implement JWT Authentication" });
284
+ ```
145
285
 
146
286
  Iterate up to 5 times if user requests more refinement.
147
287
 
288
+ ---
289
+
148
290
  ## Output
149
291
 
150
292
  ```
151
293
  Plan Imported: [filename]
152
294
  ━━━━━━━━━━━━━━━━━━━━━━━
153
295
 
154
- Epics: [count]
155
- Issues: [count]
156
- Dependencies: [count]
296
+ Summary:
297
+ ├── Epics: [count]
298
+ ├── Issues: [count]
299
+ ├── Dependencies: [count]
300
+ ├── Estimated effort: [total]
301
+ └── Duplicates skipped: [count]
157
302
 
158
303
  Created:
159
- ├── <epic-1-id>: [title]
160
- │ ├── <issue-1-id>: [title]
161
- │ └── <issue-2-id>: [title] → blocked by <issue-1-id>
162
- ├── <epic-2-id>: [title]
163
- │ └── <issue-3-id>: [title]
304
+ ├── bd-epic-001: User Authentication
305
+ │ ├── bd-task-001: Create login form [S] #frontend
306
+ │ └── bd-task-002: Implement JWT tokens [M] #backend → blocked by bd-task-001
307
+ ├── bd-epic-002: Dashboard
308
+ │ └── bd-task-003: Dashboard layout [M] #frontend
164
309
  └── ...
165
310
 
166
- Start work: `bd_ls({ status: "ready", limit: 10, offset: 0 })`
167
- First task: /implement <first-unblocked-id>
311
+ Next Steps:
312
+ ├── View ready tasks: bd_ls({ status: "ready" })
313
+ ├── Start first task: /implement bd-task-001
314
+ └── View dependencies: bd_insights()
168
315
  ```
169
316
 
317
+ ---
318
+
319
+ ## Dry Run Mode
320
+
321
+ With `--dry-run`, show what WOULD be created without creating anything:
322
+
323
+ ```bash
324
+ /import-plan docs/feature-plan.md --dry-run
325
+ ```
326
+
327
+ Output:
328
+
329
+ ```
330
+ DRY RUN - No beads will be created
331
+ ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
332
+
333
+ Would create:
334
+ ├── [EPIC] User Authentication (pri: 2)
335
+ │ ├── [feature] Create login form (pri: 2, est: S) #frontend
336
+ │ └── [feature] Implement JWT tokens (pri: 2, est: M) #backend
337
+ │ └── depends on: Create login form
338
+ ├── [EPIC] Dashboard (pri: 2)
339
+ │ └── [feature] Dashboard layout (pri: 2, est: M) #frontend
340
+ └── ...
341
+
342
+ Total: 2 epics, 3 issues, 1 dependency
343
+
344
+ Run without --dry-run to create beads.
345
+ ```
346
+
347
+ ---
348
+
170
349
  ## Example Plan Format
171
350
 
172
351
  The command accepts plans in this format:
@@ -178,15 +357,16 @@ The command accepts plans in this format:
178
357
 
179
358
  Implement secure user authentication system.
180
359
 
181
- ### Issue: Create login form
360
+ ### Issue: Create login form [S] #frontend
182
361
 
183
362
  - Build login form component
184
363
  - Add validation
185
364
  - Connect to auth API
186
365
 
187
- ### Issue: Implement JWT tokens
366
+ ### Issue: Implement JWT tokens [M] #backend
188
367
 
189
368
  After: Create login form
369
+ Priority: high
190
370
 
191
371
  - Generate tokens on login
192
372
  - Validate tokens on requests
@@ -194,8 +374,29 @@ After: Create login form
194
374
 
195
375
  ## Epic: Dashboard
196
376
 
197
- ### Issue: Dashboard layout
377
+ ### Issue: Dashboard layout [M] #frontend
198
378
 
199
379
  - Create responsive grid
200
380
  - Add navigation sidebar
201
381
  ```
382
+
383
+ ---
384
+
385
+ ## Supported Plan Formats
386
+
387
+ | Format | Detection | Notes |
388
+ | ------------------- | --------------- | ----------------------- |
389
+ | Markdown (## / ###) | `.md` extension | Primary format |
390
+ | Task lists (- [ ]) | Checkbox syntax | Converted to issues |
391
+ | Numbered lists | 1. 2. 3. | Sequential dependencies |
392
+
393
+ ---
394
+
395
+ ## Related Commands
396
+
397
+ | Need | Command |
398
+ | ------------------------ | ---------------------- |
399
+ | Create plan from scratch | `/plan` |
400
+ | Execute imported plan | `/implement <bead-id>` |
401
+ | View plan status | `/status` |
402
+ | Create single bead | `bd_add()` |