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.
- package/dist/index.js +1 -1
- package/dist/template/.opencode/agent/planner.md +3 -2
- package/dist/template/.opencode/command/accessibility-check.md +297 -30
- package/dist/template/.opencode/command/analyze-mockup.md +412 -20
- package/dist/template/.opencode/command/analyze-project.md +445 -30
- package/dist/template/.opencode/command/brainstorm.md +294 -5
- package/dist/template/.opencode/command/commit.md +231 -17
- package/dist/template/.opencode/command/create.md +415 -77
- package/dist/template/.opencode/command/design-audit.md +483 -29
- package/dist/template/.opencode/command/design.md +615 -6
- package/dist/template/.opencode/command/edit-image.md +223 -20
- package/dist/template/.opencode/command/finish.md +163 -71
- package/dist/template/.opencode/command/fix-ci.md +297 -24
- package/dist/template/.opencode/command/fix-types.md +351 -13
- package/dist/template/.opencode/command/fix-ui.md +299 -13
- package/dist/template/.opencode/command/fix.md +262 -9
- package/dist/template/.opencode/command/generate-diagram.md +327 -26
- package/dist/template/.opencode/command/generate-icon.md +266 -22
- package/dist/template/.opencode/command/generate-image.md +232 -12
- package/dist/template/.opencode/command/generate-pattern.md +234 -20
- package/dist/template/.opencode/command/generate-storyboard.md +231 -21
- package/dist/template/.opencode/command/handoff.md +208 -31
- package/dist/template/.opencode/command/implement.md +163 -50
- package/dist/template/.opencode/command/import-plan.md +253 -52
- package/dist/template/.opencode/command/init.md +154 -35
- package/dist/template/.opencode/command/integration-test.md +410 -24
- package/dist/template/.opencode/command/issue.md +177 -21
- package/dist/template/.opencode/command/new-feature.md +390 -54
- package/dist/template/.opencode/command/plan.md +394 -107
- package/dist/template/.opencode/command/pr.md +235 -29
- package/dist/template/.opencode/command/quick-build.md +234 -5
- package/dist/template/.opencode/command/research-and-implement.md +442 -12
- package/dist/template/.opencode/command/research-ui.md +444 -34
- package/dist/template/.opencode/command/research.md +179 -45
- package/dist/template/.opencode/command/restore-image.md +416 -22
- package/dist/template/.opencode/command/resume.md +447 -63
- package/dist/template/.opencode/command/revert-feature.md +347 -65
- package/dist/template/.opencode/command/review-codebase.md +199 -4
- package/dist/template/.opencode/command/skill-create.md +506 -14
- package/dist/template/.opencode/command/skill-optimize.md +487 -16
- package/dist/template/.opencode/command/status.md +326 -60
- package/dist/template/.opencode/command/summarize.md +374 -33
- package/dist/template/.opencode/command/triage.md +361 -0
- package/dist/template/.opencode/command/ui-review.md +296 -25
- package/dist/template/.opencode/skill/beads/SKILL.md +108 -3
- package/dist/template/.opencode/skill/playwriter/SKILL.md +148 -0
- 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
|
|
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
|
-
|
|
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
|
-
|
|
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
|
|
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
|
-
|
|
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: "
|
|
77
|
-
pri:
|
|
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
|
-
|
|
148
|
+
### Type Inference
|
|
84
149
|
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
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
|
-
|
|
158
|
+
### Priority Inference
|
|
91
159
|
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
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
|
-
|
|
168
|
+
### Estimation Inference
|
|
98
169
|
|
|
99
|
-
|
|
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
|
-
|
|
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
|
-
|
|
113
|
-
- "requires [Y]" → Y blocks this
|
|
114
|
-
- "before [Z]" → this blocks Z
|
|
115
|
-
- Numbered steps → sequential blocking
|
|
245
|
+
---
|
|
116
246
|
|
|
117
|
-
## Phase
|
|
247
|
+
## Phase 8: Review Pass
|
|
118
248
|
|
|
119
|
-
|
|
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
|
-
|
|
137
|
-
|
|
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
|
-
|
|
276
|
+
---
|
|
277
|
+
|
|
278
|
+
## Phase 9: Polish (Optional)
|
|
143
279
|
|
|
144
|
-
If user approves suggestions, update the
|
|
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
|
-
|
|
155
|
-
|
|
156
|
-
|
|
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
|
-
├──
|
|
160
|
-
│ ├──
|
|
161
|
-
│ └──
|
|
162
|
-
├──
|
|
163
|
-
│ └──
|
|
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
|
-
|
|
167
|
-
|
|
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()` |
|