opencodekit 0.12.4 → 0.12.5
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 +2 -2
- package/dist/template/.opencode/command/accessibility-check.md +7 -10
- package/dist/template/.opencode/command/analyze-mockup.md +3 -16
- package/dist/template/.opencode/command/analyze-project.md +57 -69
- package/dist/template/.opencode/command/brainstorm.md +3 -11
- package/dist/template/.opencode/command/commit.md +10 -18
- package/dist/template/.opencode/command/create.md +4 -8
- package/dist/template/.opencode/command/design-audit.md +24 -51
- package/dist/template/.opencode/command/design.md +10 -17
- package/dist/template/.opencode/command/finish.md +9 -9
- package/dist/template/.opencode/command/fix-ci.md +7 -28
- package/dist/template/.opencode/command/fix-types.md +3 -7
- package/dist/template/.opencode/command/fix-ui.md +5 -11
- package/dist/template/.opencode/command/fix.md +4 -10
- package/dist/template/.opencode/command/handoff.md +8 -14
- package/dist/template/.opencode/command/implement.md +13 -16
- package/dist/template/.opencode/command/import-plan.md +20 -38
- package/dist/template/.opencode/command/init.md +9 -13
- package/dist/template/.opencode/command/integration-test.md +11 -13
- package/dist/template/.opencode/command/issue.md +4 -8
- package/dist/template/.opencode/command/new-feature.md +20 -40
- package/dist/template/.opencode/command/plan.md +8 -12
- package/dist/template/.opencode/command/pr.md +29 -38
- package/dist/template/.opencode/command/quick-build.md +3 -7
- package/dist/template/.opencode/command/research-and-implement.md +4 -6
- package/dist/template/.opencode/command/research.md +10 -7
- package/dist/template/.opencode/command/resume.md +12 -24
- package/dist/template/.opencode/command/revert-feature.md +21 -56
- package/dist/template/.opencode/command/review-codebase.md +21 -23
- package/dist/template/.opencode/command/skill-create.md +1 -5
- package/dist/template/.opencode/command/skill-optimize.md +3 -10
- package/dist/template/.opencode/command/status.md +28 -25
- package/dist/template/.opencode/command/triage.md +19 -31
- package/dist/template/.opencode/command/ui-review.md +6 -13
- package/dist/template/.opencode/command.backup/analyze-project.md +465 -0
- package/dist/template/.opencode/command.backup/finish.md +167 -0
- package/dist/template/.opencode/command.backup/implement.md +143 -0
- package/dist/template/.opencode/command.backup/pr.md +252 -0
- package/dist/template/.opencode/command.backup/status.md +376 -0
- package/dist/template/.opencode/memory/project/SHELL_OUTPUT_MIGRATION_PLAN.md +551 -0
- package/dist/template/.opencode/memory/project/gotchas.md +33 -28
- package/dist/template/.opencode/opencode.json +14 -28
- package/dist/template/.opencode/package.json +1 -3
- package/dist/template/.opencode/plugin/compaction.ts +51 -129
- package/dist/template/.opencode/plugin/handoff.ts +18 -163
- package/dist/template/.opencode/plugin/notification.ts +1 -1
- package/dist/template/.opencode/plugin/package.json +7 -0
- package/dist/template/.opencode/plugin/sessions.ts +185 -651
- package/dist/template/.opencode/plugin/skill-mcp.ts +2 -1
- package/dist/template/.opencode/plugin/truncator.ts +19 -41
- package/dist/template/.opencode/plugin/tsconfig.json +14 -13
- package/dist/template/.opencode/tool/bd-inbox.ts +109 -0
- package/dist/template/.opencode/tool/bd-msg.ts +62 -0
- package/dist/template/.opencode/tool/bd-release.ts +71 -0
- package/dist/template/.opencode/tool/bd-reserve.ts +120 -0
- package/package.json +2 -2
- package/dist/template/.opencode/plugin/beads.ts +0 -1419
- package/dist/template/.opencode/plugin/compactor.ts +0 -107
- package/dist/template/.opencode/plugin/enforcer.ts +0 -190
- package/dist/template/.opencode/plugin/injector.ts +0 -150
|
@@ -10,28 +10,17 @@ CI failures are P0 bugs. Fix fast.
|
|
|
10
10
|
|
|
11
11
|
## Get The Logs
|
|
12
12
|
|
|
13
|
-
|
|
14
|
-
# From URL: extract run ID from https://github.com/owner/repo/actions/runs/12345
|
|
15
|
-
# From run ID: use directly
|
|
16
|
-
gh run view $ARGUMENTS --log-failed
|
|
17
|
-
```
|
|
13
|
+
!`gh run view $ARGUMENTS --log-failed`
|
|
18
14
|
|
|
19
15
|
List recent failures:
|
|
20
16
|
|
|
21
|
-
|
|
22
|
-
gh run list --status=failure --limit=5
|
|
23
|
-
```
|
|
17
|
+
!`gh run list --status=failure --limit=5`
|
|
24
18
|
|
|
25
19
|
## Extract The Error
|
|
26
20
|
|
|
27
|
-
|
|
28
|
-
# Find the failing step
|
|
29
|
-
gh run view $ARGUMENTS --json jobs --jq '.jobs[] | select(.conclusion=="failure")'
|
|
21
|
+
!`gh run view $ARGUMENTS --json jobs --jq '.jobs[] | select(.conclusion=="failure")'`
|
|
30
22
|
|
|
31
|
-
|
|
32
|
-
gh run view $ARGUMENTS --log > /tmp/ci-log.txt
|
|
33
|
-
grep -i "error\|failed" /tmp/ci-log.txt | head -30
|
|
34
|
-
```
|
|
23
|
+
!`gh run view $ARGUMENTS --log > /tmp/ci-log.txt && grep -i "error\|failed" /tmp/ci-log.txt | head -30`
|
|
35
24
|
|
|
36
25
|
Identify:
|
|
37
26
|
|
|
@@ -71,17 +60,7 @@ npm run build && npm test && npm run lint && npm run type-check
|
|
|
71
60
|
|
|
72
61
|
## Push And Watch
|
|
73
62
|
|
|
74
|
-
|
|
75
|
-
git add <files>
|
|
76
|
-
git commit -m "fix(ci): [description]
|
|
77
|
-
|
|
78
|
-
Root cause: [brief]"
|
|
79
|
-
|
|
80
|
-
git push
|
|
81
|
-
|
|
82
|
-
# Watch the new run
|
|
83
|
-
gh run watch
|
|
84
|
-
```
|
|
63
|
+
!`gh run watch`
|
|
85
64
|
|
|
86
65
|
## If Still Failing
|
|
87
66
|
|
|
@@ -113,8 +92,8 @@ observation({
|
|
|
113
92
|
|
|
114
93
|
## Sync
|
|
115
94
|
|
|
116
|
-
```
|
|
117
|
-
|
|
95
|
+
```bash
|
|
96
|
+
bd sync
|
|
118
97
|
```
|
|
119
98
|
|
|
120
99
|
## Output
|
|
@@ -10,10 +10,8 @@ Resolve TypeScript errors without adding `any` everywhere.
|
|
|
10
10
|
|
|
11
11
|
## Get Current State
|
|
12
12
|
|
|
13
|
-
|
|
14
|
-
npx tsc --noEmit 2>&1 |
|
|
15
|
-
npx tsc --noEmit 2>&1 | grep -c "error TS"
|
|
16
|
-
```
|
|
13
|
+
!`npx tsc --noEmit 2>&1 | head -50`
|
|
14
|
+
!`npx tsc --noEmit 2>&1 | grep -c "error TS"`
|
|
17
15
|
|
|
18
16
|
## Use LSP For Context
|
|
19
17
|
|
|
@@ -85,10 +83,8 @@ git commit -m "fix(types): resolve type errors
|
|
|
85
83
|
|
|
86
84
|
- Fixed [N] errors
|
|
87
85
|
- No 'any' types added"
|
|
88
|
-
```
|
|
89
86
|
|
|
90
|
-
|
|
91
|
-
bd_sync({ reason: "Sync type fixes" });
|
|
87
|
+
bd sync
|
|
92
88
|
```
|
|
93
89
|
|
|
94
90
|
## Output
|
|
@@ -10,10 +10,8 @@ Fix visual issues. Capture before/after, verify responsiveness.
|
|
|
10
10
|
|
|
11
11
|
## Load Context
|
|
12
12
|
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
cat .beads/artifacts/$ARGUMENTS/spec.md 2>/dev/null
|
|
16
|
-
```
|
|
13
|
+
!`bd show $ARGUMENTS`
|
|
14
|
+
!`cat .beads/artifacts/$ARGUMENTS/spec.md 2>/dev/null`
|
|
17
15
|
|
|
18
16
|
## Capture Before State
|
|
19
17
|
|
|
@@ -43,10 +41,8 @@ task({
|
|
|
43
41
|
|
|
44
42
|
## Check Design System
|
|
45
43
|
|
|
46
|
-
|
|
47
|
-
grep -r "
|
|
48
|
-
grep -r "theme\." src/components/ | head -10
|
|
49
|
-
```
|
|
44
|
+
!`grep -r "var(--" src/styles/ | head -10`
|
|
45
|
+
!`grep -r "theme\." src/components/ | head -10`
|
|
50
46
|
|
|
51
47
|
Use existing tokens, not hardcoded values:
|
|
52
48
|
|
|
@@ -98,10 +94,8 @@ npm test -- --grep "component-name"
|
|
|
98
94
|
```bash
|
|
99
95
|
git add <files>
|
|
100
96
|
git commit -m "fix(ui): [description]"
|
|
101
|
-
```
|
|
102
97
|
|
|
103
|
-
|
|
104
|
-
bd_sync({ reason: "Sync UI fix" });
|
|
98
|
+
bd sync
|
|
105
99
|
```
|
|
106
100
|
|
|
107
101
|
## Output
|
|
@@ -12,10 +12,8 @@ You're debugging and fixing an issue. Understand before you fix.
|
|
|
12
12
|
|
|
13
13
|
If `$ARGUMENTS` is a bead ID:
|
|
14
14
|
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
cat .beads/artifacts/$ARGUMENTS/spec.md 2>/dev/null
|
|
18
|
-
```
|
|
15
|
+
!`bd show $ARGUMENTS`
|
|
16
|
+
!`cat .beads/artifacts/$ARGUMENTS/spec.md 2>/dev/null`
|
|
19
17
|
|
|
20
18
|
## Parse The Error
|
|
21
19
|
|
|
@@ -55,9 +53,7 @@ skill({ name: "systematic-debugging" });
|
|
|
55
53
|
|
|
56
54
|
Read error location. Trace data flow backward. Check recent changes:
|
|
57
55
|
|
|
58
|
-
|
|
59
|
-
git log -p --since="1 week ago" -- <file>
|
|
60
|
-
```
|
|
56
|
+
!`git log -p --since="1 week ago" -- <file>`
|
|
61
57
|
|
|
62
58
|
Form a hypothesis. Write it down before fixing anything.
|
|
63
59
|
|
|
@@ -117,10 +113,8 @@ git commit -m "fix: [description]
|
|
|
117
113
|
|
|
118
114
|
Root cause: [brief]
|
|
119
115
|
$ARGUMENTS"
|
|
120
|
-
```
|
|
121
116
|
|
|
122
|
-
|
|
123
|
-
bd_sync({ reason: "Sync fix completion" });
|
|
117
|
+
bd sync
|
|
124
118
|
```
|
|
125
119
|
|
|
126
120
|
## Output
|
|
@@ -22,24 +22,18 @@ Don't grind past diminishing returns. A clean handoff beats degraded output.
|
|
|
22
22
|
|
|
23
23
|
Get current task status:
|
|
24
24
|
|
|
25
|
-
|
|
26
|
-
bd show $ARGUMENTS
|
|
27
|
-
```
|
|
25
|
+
!`bd show $ARGUMENTS`
|
|
28
26
|
|
|
29
27
|
Get git state:
|
|
30
28
|
|
|
31
|
-
|
|
32
|
-
git
|
|
33
|
-
git
|
|
34
|
-
git
|
|
35
|
-
git status --porcelain
|
|
36
|
-
```
|
|
29
|
+
!`git remote get-url origin 2>/dev/null || echo "No remote"`
|
|
30
|
+
!`git branch --show-current`
|
|
31
|
+
!`git rev-parse --short HEAD`
|
|
32
|
+
!`git status --porcelain`
|
|
37
33
|
|
|
38
34
|
Check what artifacts exist:
|
|
39
35
|
|
|
40
|
-
|
|
41
|
-
ls .beads/artifacts/$ARGUMENTS/ 2>/dev/null || echo "No artifacts yet"
|
|
42
|
-
```
|
|
36
|
+
!`ls .beads/artifacts/$ARGUMENTS/ 2>/dev/null || echo "No artifacts yet"`
|
|
43
37
|
|
|
44
38
|
## Commit Work In Progress
|
|
45
39
|
|
|
@@ -109,8 +103,8 @@ Start next session with: `/resume $ARGUMENTS`
|
|
|
109
103
|
|
|
110
104
|
## Sync State
|
|
111
105
|
|
|
112
|
-
```
|
|
113
|
-
|
|
106
|
+
```bash
|
|
107
|
+
bd sync
|
|
114
108
|
```
|
|
115
109
|
|
|
116
110
|
This commits the handoff and pushes to remote.
|
|
@@ -18,16 +18,16 @@ skill({ name: "verification-before-completion" });
|
|
|
18
18
|
|
|
19
19
|
Get the task details and check for messages:
|
|
20
20
|
|
|
21
|
-
```
|
|
22
|
-
bd show $ARGUMENTS
|
|
23
|
-
bd list --status=in_progress # See what else is active
|
|
21
|
+
```
|
|
22
|
+
!`bd show $ARGUMENTS`
|
|
23
|
+
!`bd list --status=in_progress` # See what else is active
|
|
24
24
|
```
|
|
25
25
|
|
|
26
26
|
Check git state. If dirty, ask whether to stash, commit, or continue:
|
|
27
27
|
|
|
28
|
-
```
|
|
29
|
-
git status --porcelain
|
|
30
|
-
git branch --show-current
|
|
28
|
+
```
|
|
29
|
+
!`git status --porcelain`
|
|
30
|
+
!`git branch --show-current`
|
|
31
31
|
```
|
|
32
32
|
|
|
33
33
|
Create a branch if not already on one for this task:
|
|
@@ -46,8 +46,8 @@ bd update $ARGUMENTS --status in_progress
|
|
|
46
46
|
|
|
47
47
|
Check what context exists:
|
|
48
48
|
|
|
49
|
-
```
|
|
50
|
-
ls .beads/artifacts/$ARGUMENTS/ 2>/dev/null || echo "No artifacts"
|
|
49
|
+
```
|
|
50
|
+
!`ls .beads/artifacts/$ARGUMENTS/ 2>/dev/null || echo "No artifacts"`
|
|
51
51
|
```
|
|
52
52
|
|
|
53
53
|
If `plan.md` exists, follow it step by step. If only `spec.md` exists, implement directly from requirements. If nothing exists, work from the bead description.
|
|
@@ -74,8 +74,8 @@ If you hit 80% of budget without finishing, create a handoff. Don't push past li
|
|
|
74
74
|
|
|
75
75
|
Detect project type and know your verification commands:
|
|
76
76
|
|
|
77
|
-
```
|
|
78
|
-
ls package.json Cargo.toml pyproject.toml go.mod Makefile 2>/dev/null
|
|
77
|
+
```
|
|
78
|
+
!`ls package.json Cargo.toml pyproject.toml go.mod Makefile 2>/dev/null`
|
|
79
79
|
```
|
|
80
80
|
|
|
81
81
|
Node/TypeScript: `npm test`, `npm run lint && npm run type-check`
|
|
@@ -97,8 +97,8 @@ Track your progress. Every 10 tool calls, check: Am I on track? Should I checkpo
|
|
|
97
97
|
|
|
98
98
|
Verify against success criteria in the spec:
|
|
99
99
|
|
|
100
|
-
```
|
|
101
|
-
cat .beads/artifacts/$ARGUMENTS/spec.md | grep -A 20 "Success Criteria"
|
|
100
|
+
```
|
|
101
|
+
!`cat .beads/artifacts/$ARGUMENTS/spec.md | grep -A 20 "Success Criteria"`
|
|
102
102
|
```
|
|
103
103
|
|
|
104
104
|
Run each verification command. All must pass. No exceptions.
|
|
@@ -117,10 +117,7 @@ If all gates pass:
|
|
|
117
117
|
```bash
|
|
118
118
|
git add -A
|
|
119
119
|
git commit -m "$ARGUMENTS: [summary]"
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
```typescript
|
|
123
|
-
bd_sync({ reason: "Sync implementation progress" });
|
|
120
|
+
bd sync
|
|
124
121
|
```
|
|
125
122
|
|
|
126
123
|
Report what was done and suggest next step:
|
|
@@ -30,8 +30,8 @@ Import a markdown plan into Beads epics and issues. Follows Steve Yegge's "plan
|
|
|
30
30
|
|
|
31
31
|
Read the plan file:
|
|
32
32
|
|
|
33
|
-
```
|
|
34
|
-
read $ARGUMENTS
|
|
33
|
+
```typescript
|
|
34
|
+
read({ filePath: "$ARGUMENTS" });
|
|
35
35
|
```
|
|
36
36
|
|
|
37
37
|
If file not found: "Plan file not found. Provide path to markdown plan."
|
|
@@ -42,9 +42,7 @@ If file not found: "Plan file not found. Provide path to markdown plan."
|
|
|
42
42
|
|
|
43
43
|
Before importing, check for existing beads with similar titles:
|
|
44
44
|
|
|
45
|
-
|
|
46
|
-
bd_ls({ status: "all", limit: 50, offset: 0 });
|
|
47
|
-
```
|
|
45
|
+
!`bd list --status all --limit 50`
|
|
48
46
|
|
|
49
47
|
Compare plan titles against existing beads:
|
|
50
48
|
|
|
@@ -108,14 +106,8 @@ Proceed with import? (yes/modify/cancel)
|
|
|
108
106
|
|
|
109
107
|
For each epic (top-level section):
|
|
110
108
|
|
|
111
|
-
```
|
|
112
|
-
|
|
113
|
-
title: "[prefix][Epic title]",
|
|
114
|
-
type: "epic",
|
|
115
|
-
pri: 2,
|
|
116
|
-
desc: "[description from plan]",
|
|
117
|
-
tags: ["imported", ...inferred_tags],
|
|
118
|
-
});
|
|
109
|
+
```bash
|
|
110
|
+
bd create "[prefix][Epic title]" -t epic -p 2
|
|
119
111
|
```
|
|
120
112
|
|
|
121
113
|
Store epic IDs for dependency linking.
|
|
@@ -134,15 +126,9 @@ Creating epics... [3/3] ██████████ Settings ✓
|
|
|
134
126
|
|
|
135
127
|
For each issue under an epic:
|
|
136
128
|
|
|
137
|
-
```
|
|
138
|
-
|
|
139
|
-
|
|
140
|
-
type: "<inferred-type>",
|
|
141
|
-
pri: <inferred-priority>,
|
|
142
|
-
desc: "[description]\n\nEstimate: [size]\nSource: [plan-file]",
|
|
143
|
-
parent: "<epic-id>",
|
|
144
|
-
tags: [...inferred_tags]
|
|
145
|
-
});
|
|
129
|
+
```bash
|
|
130
|
+
bd create "[Issue title]" -t <inferred-type> -p <inferred-priority>
|
|
131
|
+
# Then: bd dep add <issue-id> <epic-id>
|
|
146
132
|
```
|
|
147
133
|
|
|
148
134
|
### Type Inference
|
|
@@ -191,13 +177,9 @@ Detect from content and extract:
|
|
|
191
177
|
|
|
192
178
|
For issues with dependencies, use the `deps` parameter:
|
|
193
179
|
|
|
194
|
-
```
|
|
195
|
-
|
|
196
|
-
|
|
197
|
-
type: "task",
|
|
198
|
-
pri: 2,
|
|
199
|
-
deps: ["<blocking-issue-id>"],
|
|
200
|
-
});
|
|
180
|
+
```bash
|
|
181
|
+
bd create "[title]" -t task -p 2
|
|
182
|
+
bd dep add <issue-id> <blocking-issue-id>
|
|
201
183
|
```
|
|
202
184
|
|
|
203
185
|
### Dependency Patterns
|
|
@@ -236,10 +218,10 @@ Select option (1/2/3):
|
|
|
236
218
|
|
|
237
219
|
Rollback implementation:
|
|
238
220
|
|
|
239
|
-
```
|
|
240
|
-
|
|
241
|
-
|
|
242
|
-
|
|
221
|
+
```bash
|
|
222
|
+
# Delete in reverse order
|
|
223
|
+
bd update bd-def456 --status cancelled
|
|
224
|
+
bd update bd-abc123 --status cancelled
|
|
243
225
|
```
|
|
244
226
|
|
|
245
227
|
---
|
|
@@ -279,8 +261,8 @@ Apply suggestions? (yes/no/select)
|
|
|
279
261
|
|
|
280
262
|
If user approves suggestions, update the beads:
|
|
281
263
|
|
|
282
|
-
```
|
|
283
|
-
|
|
264
|
+
```bash
|
|
265
|
+
bd update bd-abc123 --title "Implement JWT Authentication"
|
|
284
266
|
```
|
|
285
267
|
|
|
286
268
|
Iterate up to 5 times if user requests more refinement.
|
|
@@ -309,9 +291,9 @@ Created:
|
|
|
309
291
|
└── ...
|
|
310
292
|
|
|
311
293
|
Next Steps:
|
|
312
|
-
├── View ready tasks:
|
|
294
|
+
├── View ready tasks: bd list --status ready
|
|
313
295
|
├── Start first task: /implement bd-task-001
|
|
314
|
-
└── View dependencies:
|
|
296
|
+
└── View dependencies: bd dep tree <id>
|
|
315
297
|
```
|
|
316
298
|
|
|
317
299
|
---
|
|
@@ -399,4 +381,4 @@ Priority: high
|
|
|
399
381
|
| Create plan from scratch | `/plan` |
|
|
400
382
|
| Execute imported plan | `/implement <bead-id>` |
|
|
401
383
|
| View plan status | `/status` |
|
|
402
|
-
| Create single bead | `
|
|
384
|
+
| Create single bead | `bd create` |
|
|
@@ -19,7 +19,7 @@ Default: Standard research (~20-50 tool calls).
|
|
|
19
19
|
|
|
20
20
|
Unless `--skip-questions`, ask in one message:
|
|
21
21
|
|
|
22
|
-
1. **Identity**: "Which git contributor are you?" (show top 5 from
|
|
22
|
+
1. **Identity**: "Which git contributor are you?" (show top 5 from !`git shortlog -sn --all | head -5`)
|
|
23
23
|
2. **Communication**: "Terse or detailed responses?"
|
|
24
24
|
3. **Workflow**: "Auto-commit or ask-first?"
|
|
25
25
|
4. **Rules**: "Any rules I should always follow?"
|
|
@@ -40,17 +40,15 @@ If skipped, infer identity from `git config user.name` and `git config user.emai
|
|
|
40
40
|
|
|
41
41
|
### Validate Commands
|
|
42
42
|
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
npm run build 2>&1 | head -5 # Check for errors
|
|
46
|
-
npm test -- --help 2>&1 | head -3 # Verify test syntax
|
|
47
|
-
```
|
|
43
|
+
!`npm run build 2>&1 | head -5` # Check for errors
|
|
44
|
+
!`npm test -- --help 2>&1 | head -3` # Verify test syntax
|
|
48
45
|
|
|
49
46
|
### With --deep
|
|
50
47
|
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
48
|
+
!`git shortlog -sn --all | head -10` # contributors
|
|
49
|
+
!`git log --format="%s" -50` # commit conventions
|
|
50
|
+
!`git branch -a` # branching strategy
|
|
51
|
+
|
|
54
52
|
- Source file analysis for patterns
|
|
55
53
|
- Identify subsystems needing nested AGENTS.md
|
|
56
54
|
|
|
@@ -122,10 +120,7 @@ Good pattern (from your codebase):
|
|
|
122
120
|
|
|
123
121
|
For projects with distinct subsystems, identify candidates for nested AGENTS.md:
|
|
124
122
|
|
|
125
|
-
|
|
126
|
-
# Find directories with significant code
|
|
127
|
-
find . -type d -name "src" -o -name "packages" -o -name "apps" | head -10
|
|
128
|
-
````
|
|
123
|
+
!`find . -type d \( -name "src" -o -name "packages" -o -name "apps" \) | head -10`
|
|
129
124
|
|
|
130
125
|
Suggest nested AGENTS.md for:
|
|
131
126
|
|
|
@@ -293,3 +288,4 @@ Suggested next steps:
|
|
|
293
288
|
- ❌ Every possible command (context bloat)
|
|
294
289
|
- ❌ Auto-generated content without review
|
|
295
290
|
- ❌ Code snippets that go stale (use pointers)
|
|
291
|
+
````
|
|
@@ -42,12 +42,11 @@ skill({ name: "testing-anti-patterns" }); // Avoid common mistakes
|
|
|
42
42
|
|
|
43
43
|
## Phase 1: Task Validation
|
|
44
44
|
|
|
45
|
-
|
|
46
|
-
// Check bead exists
|
|
47
|
-
bd_show({ id: "$ARGUMENTS" });
|
|
45
|
+
!`bd show $ARGUMENTS`
|
|
48
46
|
|
|
47
|
+
```typescript
|
|
49
48
|
// Read test constraints
|
|
50
|
-
read(".beads/artifacts/$ARGUMENTS/spec.md");
|
|
49
|
+
read({ filePath: ".beads/artifacts/$ARGUMENTS/spec.md" });
|
|
51
50
|
```
|
|
52
51
|
|
|
53
52
|
If bead missing: STOP. Create with `/create` first.
|
|
@@ -56,15 +55,14 @@ If bead missing: STOP. Create with `/create` first.
|
|
|
56
55
|
|
|
57
56
|
## Phase 2: Framework Detection
|
|
58
57
|
|
|
59
|
-
```
|
|
60
|
-
|
|
61
|
-
glob pattern
|
|
62
|
-
glob pattern
|
|
63
|
-
glob pattern
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
read package.json
|
|
58
|
+
```typescript
|
|
59
|
+
glob({ pattern: "**/jest.config.*" });
|
|
60
|
+
glob({ pattern: "**/vitest.config.*" });
|
|
61
|
+
glob({ pattern: "**/pytest.ini" });
|
|
62
|
+
glob({ pattern: "**/pyproject.toml" });
|
|
63
|
+
|
|
64
|
+
// Read package.json for test command
|
|
65
|
+
read({ filePath: "package.json" });
|
|
68
66
|
```
|
|
69
67
|
|
|
70
68
|
| Framework | File Pattern | Test Command |
|
|
@@ -10,17 +10,13 @@ You're importing a GitHub issue into beads for tracking.
|
|
|
10
10
|
|
|
11
11
|
## Check For Duplicates
|
|
12
12
|
|
|
13
|
-
|
|
14
|
-
bd list --status=all | grep -i "[keywords from issue]"
|
|
15
|
-
```
|
|
13
|
+
!`bd list --status=all | grep -i "[keywords from issue]"`
|
|
16
14
|
|
|
17
15
|
If similar bead exists, link to it instead of creating duplicate.
|
|
18
16
|
|
|
19
17
|
## Fetch The Issue
|
|
20
18
|
|
|
21
|
-
|
|
22
|
-
gh issue view $ARGUMENTS --json title,body,labels,state
|
|
23
|
-
```
|
|
19
|
+
!`gh issue view $ARGUMENTS --json title,body,labels,state`
|
|
24
20
|
|
|
25
21
|
Extract:
|
|
26
22
|
|
|
@@ -85,8 +81,8 @@ Next: [/implement or /research]"
|
|
|
85
81
|
|
|
86
82
|
## Sync
|
|
87
83
|
|
|
88
|
-
```
|
|
89
|
-
|
|
84
|
+
```bash
|
|
85
|
+
bd sync
|
|
90
86
|
```
|
|
91
87
|
|
|
92
88
|
## Output
|
|
@@ -31,19 +31,16 @@ This skill provides Epic → Task → Subtask hierarchy for complex features.
|
|
|
31
31
|
|
|
32
32
|
## Phase 1: Context Gathering
|
|
33
33
|
|
|
34
|
-
Before creating anything, understand
|
|
34
|
+
Before creating anything, understand of landscape:
|
|
35
35
|
|
|
36
|
-
|
|
37
|
-
# Check for related existing work
|
|
38
|
-
bd_ls({ status: "all", limit: 20, offset: 0 })
|
|
36
|
+
!`bd list --status all --limit 20`
|
|
39
37
|
|
|
40
38
|
# Analyze codebase structure
|
|
41
|
-
|
|
39
|
+
|
|
40
|
+
glob pattern="src/\*_/_.{ts,tsx,py}"
|
|
42
41
|
lsp_lsp_workspace_symbols({ query: "[relevant-terms]" })
|
|
43
42
|
|
|
44
|
-
|
|
45
|
-
git log --oneline -10 -- src/[relevant-path]/
|
|
46
|
-
```
|
|
43
|
+
!`git log --oneline -10 -- src/[relevant-path]/`
|
|
47
44
|
|
|
48
45
|
**Report:**
|
|
49
46
|
|
|
@@ -113,14 +110,8 @@ Proceed with spec? (yes/modify/explore-more)
|
|
|
113
110
|
|
|
114
111
|
## Phase 3: Create Epic Bead
|
|
115
112
|
|
|
116
|
-
```
|
|
117
|
-
|
|
118
|
-
title: "[Feature Name]",
|
|
119
|
-
type: "epic",
|
|
120
|
-
pri: [priority],
|
|
121
|
-
desc: "[Brief description from brainstorming]",
|
|
122
|
-
tags: ["feature", ...inferred_tags],
|
|
123
|
-
});
|
|
113
|
+
```bash
|
|
114
|
+
bd create "[Feature Name]" -t epic -p [priority]
|
|
124
115
|
```
|
|
125
116
|
|
|
126
117
|
Capture the bead ID for artifact creation.
|
|
@@ -363,28 +354,17 @@ If issues detected:
|
|
|
363
354
|
|
|
364
355
|
Break phases into individual trackable beads:
|
|
365
356
|
|
|
366
|
-
```
|
|
367
|
-
|
|
368
|
-
|
|
369
|
-
|
|
370
|
-
|
|
371
|
-
|
|
372
|
-
|
|
373
|
-
|
|
374
|
-
|
|
375
|
-
|
|
376
|
-
|
|
377
|
-
// Phase 2 tasks (with dependency)
|
|
378
|
-
bd_add({
|
|
379
|
-
title: "Implement [core feature]",
|
|
380
|
-
type: "task",
|
|
381
|
-
pri: 2,
|
|
382
|
-
parent: "<epic-id>",
|
|
383
|
-
deps: ["<phase-1-bead-id>"],
|
|
384
|
-
tags: ["backend"],
|
|
385
|
-
});
|
|
386
|
-
|
|
387
|
-
// Continue for all phases...
|
|
357
|
+
```bash
|
|
358
|
+
# Phase 1 tasks
|
|
359
|
+
bd create "Set up database schema for [feature]" -t task -p 2
|
|
360
|
+
bd dep add <task-id> <epic-id>
|
|
361
|
+
|
|
362
|
+
# Phase 2 tasks (with dependency)
|
|
363
|
+
bd create "Implement [core feature]" -t task -p 2
|
|
364
|
+
bd dep add <task-id> <epic-id>
|
|
365
|
+
bd dep add <task-id> <phase-1-bead-id>
|
|
366
|
+
|
|
367
|
+
# Continue for all phases...
|
|
388
368
|
```
|
|
389
369
|
|
|
390
370
|
---
|
|
@@ -424,9 +404,9 @@ Sub-tasks created:
|
|
|
424
404
|
Branch: feature/[feature-name] (if --branch)
|
|
425
405
|
|
|
426
406
|
Next Steps:
|
|
427
|
-
├── View feature:
|
|
407
|
+
├── View feature: bd show [bead-id]
|
|
428
408
|
├── Start first task: /implement [task-id-1]
|
|
429
|
-
└── View ready work:
|
|
409
|
+
└── View ready work: bd list --status ready
|
|
430
410
|
```
|
|
431
411
|
|
|
432
412
|
---
|
|
@@ -10,11 +10,9 @@ You're creating an implementation plan. Design first, then execute.
|
|
|
10
10
|
|
|
11
11
|
## Load Context
|
|
12
12
|
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
cat .beads/artifacts/$ARGUMENTS/
|
|
16
|
-
cat .beads/artifacts/$ARGUMENTS/research.md 2>/dev/null
|
|
17
|
-
```
|
|
13
|
+
!`bd show $ARGUMENTS`
|
|
14
|
+
!`cat .beads/artifacts/$ARGUMENTS/spec.md`
|
|
15
|
+
!`cat .beads/artifacts/$ARGUMENTS/research.md 2>/dev/null`
|
|
18
16
|
|
|
19
17
|
If spec.md missing: "Run `/create $ARGUMENTS` first."
|
|
20
18
|
If complexity > M and no research: "Consider `/research $ARGUMENTS` first."
|
|
@@ -118,7 +116,7 @@ Verify: `npm test -- bar.test.ts`
|
|
|
118
116
|
|
|
119
117
|
With `--create-beads` flag or user approval:
|
|
120
118
|
|
|
121
|
-
|
|
119
|
+
````bash
|
|
122
120
|
# Task 1 (no blockers)
|
|
123
121
|
bd create "[task 1 title]" -t task -p 2
|
|
124
122
|
|
|
@@ -126,17 +124,15 @@ bd create "[task 1 title]" -t task -p 2
|
|
|
126
124
|
bd create "[task 2 title]" -t task -p 2
|
|
127
125
|
bd dep add bd-[task2] bd-[task1] --type blocks
|
|
128
126
|
|
|
129
|
-
|
|
130
|
-
bd dep tree $ARGUMENTS
|
|
131
|
-
```
|
|
127
|
+
!`bd dep tree $ARGUMENTS`
|
|
132
128
|
|
|
133
129
|
Update plan.md with bead IDs.
|
|
134
130
|
|
|
135
131
|
## Sync
|
|
136
132
|
|
|
137
|
-
```
|
|
138
|
-
|
|
139
|
-
|
|
133
|
+
```bash
|
|
134
|
+
bd sync
|
|
135
|
+
````
|
|
140
136
|
|
|
141
137
|
## Output
|
|
142
138
|
|