opencodekit 0.15.21 → 0.16.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 +5 -7
- package/dist/template/.opencode/AGENTS.md +85 -23
- package/dist/template/.opencode/agent/build.md +88 -7
- package/dist/template/.opencode/agent/explore.md +1 -1
- package/dist/template/.opencode/agent/general.md +54 -4
- package/dist/template/.opencode/agent/looker.md +1 -1
- package/dist/template/.opencode/agent/painter.md +1 -1
- package/dist/template/.opencode/agent/plan.md +52 -0
- package/dist/template/.opencode/agent/review.md +1 -1
- package/dist/template/.opencode/agent/scout.md +3 -3
- package/dist/template/.opencode/agent/vision.md +1 -1
- package/dist/template/.opencode/command/create.md +231 -91
- package/dist/template/.opencode/command/design.md +40 -7
- package/dist/template/.opencode/command/handoff.md +22 -0
- package/dist/template/.opencode/command/init.md +49 -78
- package/dist/template/.opencode/command/plan.md +36 -16
- package/dist/template/.opencode/command/pr.md +15 -0
- package/dist/template/.opencode/command/research.md +3 -0
- package/dist/template/.opencode/command/resume.md +8 -18
- package/dist/template/.opencode/command/review-codebase.md +30 -0
- package/dist/template/.opencode/command/ship.md +199 -0
- package/dist/template/.opencode/command/start.md +316 -28
- package/dist/template/.opencode/command/status.md +24 -1
- package/dist/template/.opencode/command/ui-review.md +36 -7
- package/dist/template/.opencode/command/verify.md +307 -0
- package/dist/template/.opencode/memory/_templates/prd.md +29 -0
- package/dist/template/.opencode/memory/_templates/proposal.md +38 -0
- package/dist/template/.opencode/memory/_templates/spec.md +66 -0
- package/dist/template/.opencode/memory/_templates/tasks.md +198 -0
- package/dist/template/.opencode/memory/_templates/tech-stack.md +50 -0
- package/dist/template/.opencode/memory/project/tech-stack.md +53 -0
- package/dist/template/.opencode/memory/research/ccpm-analysis.md +334 -0
- package/dist/template/.opencode/memory/research/openspec-analysis.md +226 -0
- package/dist/template/.opencode/memory.db +0 -0
- package/dist/template/.opencode/memory.db-shm +0 -0
- package/dist/template/.opencode/memory.db-wal +0 -0
- package/dist/template/.opencode/opencode.json +18 -4
- package/dist/template/.opencode/package.json +1 -0
- package/dist/template/.opencode/plans/1770006237537-mighty-otter.md +418 -0
- package/dist/template/.opencode/plans/1770006913647-glowing-forest.md +170 -0
- package/dist/template/.opencode/plans/1770013678126-witty-planet.md +278 -0
- package/dist/template/.opencode/plugin/lib/memory-db.ts +828 -0
- package/dist/template/.opencode/plugin/memory.ts +38 -1
- package/dist/template/.opencode/skill/index-knowledge/SKILL.md +76 -31
- package/dist/template/.opencode/skill/memory-system/SKILL.md +110 -55
- package/dist/template/.opencode/skill/tool-priority/SKILL.md +2 -2
- package/dist/template/.opencode/tool/memory-get.ts +143 -0
- package/dist/template/.opencode/tool/memory-maintain.ts +167 -0
- package/dist/template/.opencode/tool/memory-migrate.ts +319 -0
- package/dist/template/.opencode/tool/memory-read.ts +17 -46
- package/dist/template/.opencode/tool/memory-search.ts +131 -28
- package/dist/template/.opencode/tool/memory-timeline.ts +105 -0
- package/dist/template/.opencode/tool/memory-update.ts +21 -26
- package/dist/template/.opencode/tool/observation.ts +112 -100
- package/dist/template/.opencode/tsconfig.json +19 -19
- package/package.json +1 -1
- package/dist/template/.opencode/command/accessibility-check.md +0 -331
- package/dist/template/.opencode/command/agent-browser.md +0 -21
- package/dist/template/.opencode/command/analyze-mockup.md +0 -423
- package/dist/template/.opencode/command/analyze-project.md +0 -295
- package/dist/template/.opencode/command/brainstorm.md +0 -373
- package/dist/template/.opencode/command/cloudflare.md +0 -70
- package/dist/template/.opencode/command/commit.md +0 -245
- package/dist/template/.opencode/command/complete-next-task.md +0 -77
- package/dist/template/.opencode/command/design-audit.md +0 -480
- package/dist/template/.opencode/command/edit-image.md +0 -242
- package/dist/template/.opencode/command/finish.md +0 -255
- package/dist/template/.opencode/command/fix-ci.md +0 -109
- package/dist/template/.opencode/command/fix-types.md +0 -104
- package/dist/template/.opencode/command/fix-ui.md +0 -117
- package/dist/template/.opencode/command/fix.md +0 -168
- package/dist/template/.opencode/command/frontend-design.md +0 -21
- package/dist/template/.opencode/command/generate-diagram.md +0 -349
- package/dist/template/.opencode/command/generate-icon.md +0 -283
- package/dist/template/.opencode/command/generate-image.md +0 -246
- package/dist/template/.opencode/command/generate-pattern.md +0 -247
- package/dist/template/.opencode/command/generate-storyboard.md +0 -250
- package/dist/template/.opencode/command/implement.md +0 -609
- package/dist/template/.opencode/command/import-plan.md +0 -406
- package/dist/template/.opencode/command/index-knowledge.md +0 -25
- package/dist/template/.opencode/command/integration-test.md +0 -424
- package/dist/template/.opencode/command/issue.md +0 -102
- package/dist/template/.opencode/command/new-feature.md +0 -651
- package/dist/template/.opencode/command/opensrc.md +0 -58
- package/dist/template/.opencode/command/quick-build.md +0 -238
- package/dist/template/.opencode/command/ralph.md +0 -41
- package/dist/template/.opencode/command/research-and-implement.md +0 -148
- package/dist/template/.opencode/command/research-ui.md +0 -466
- package/dist/template/.opencode/command/restore-image.md +0 -424
- package/dist/template/.opencode/command/revert-feature.md +0 -386
- package/dist/template/.opencode/command/skill-create.md +0 -517
- package/dist/template/.opencode/command/skill-optimize.md +0 -556
- package/dist/template/.opencode/command/summarize.md +0 -412
- package/dist/template/.opencode/command/triage.md +0 -398
- package/dist/template/.opencode/memory/_templates/README.md +0 -35
- package/dist/template/.opencode/memory/_templates/observation.md +0 -39
- package/dist/template/.opencode/memory/_templates/project/architecture.md +0 -60
- package/dist/template/.opencode/memory/_templates/project/commands.md +0 -72
- package/dist/template/.opencode/memory/_templates/project/conventions.md +0 -68
- package/dist/template/.opencode/memory/_templates/project/gotchas.md +0 -41
- package/dist/template/.opencode/memory/_templates/prompt-engineering.md +0 -333
- package/dist/template/.opencode/memory/observations/2026-01-22-decision-agents-md-prompt-engineering-improvement.md +0 -29
- package/dist/template/.opencode/memory/observations/2026-01-25-decision-agent-roles-build-orchestrates-general-e.md +0 -14
- package/dist/template/.opencode/memory/observations/2026-01-25-decision-simplified-swarm-helper-tool-to-fix-type.md +0 -20
- package/dist/template/.opencode/memory/observations/2026-01-25-decision-use-beads-as-swarm-board-source-of-truth.md +0 -14
- package/dist/template/.opencode/memory/observations/2026-01-25-learning-user-wants-real-swarm-coordination-guida.md +0 -15
- package/dist/template/.opencode/memory/observations/2026-01-28-decision-created-deep-research-skill-for-thorough.md +0 -29
- package/dist/template/.opencode/memory/observations/2026-01-28-decision-gh-grep-mcp-wrapper-vs-native-grep-searc.md +0 -21
- package/dist/template/.opencode/memory/observations/2026-01-28-decision-oracle-tool-optimal-usage-patterns.md +0 -32
- package/dist/template/.opencode/memory/observations/2026-01-28-learning-ampcode-deep-mode-research-integration-w.md +0 -42
- package/dist/template/.opencode/memory/observations/2026-01-28-pattern-research-delegation-pattern-explore-for-.md +0 -32
- package/dist/template/.opencode/memory/observations/2026-01-29-decision-copilot-auth-plugin-rate-limit-handling.md +0 -27
- package/dist/template/.opencode/memory/observations/2026-01-29-decision-spec-driven-approach-for-opencodekit.md +0 -21
- package/dist/template/.opencode/memory/observations/2026-01-29-learning-karpathy-llm-coding-insights-dec-2025.md +0 -44
- package/dist/template/.opencode/memory/observations/2026-01-30-decision-github-copilot-claude-routing-keep-disab.md +0 -32
- package/dist/template/.opencode/memory/observations/2026-01-30-discovery-context-management-research-critical-gap.md +0 -14
- package/dist/template/.opencode/memory/observations/2026-01-30-discovery-kimi-k2-5-agent-swarm-architecture-patte.md +0 -45
- package/dist/template/.opencode/memory/observations/2026-01-30-pattern-swarm-tools-architecture.md +0 -28
- package/dist/template/.opencode/memory/observations/2026-01-31-decision-copilot-auth-plugin-updated-with-baseurl.md +0 -63
- package/dist/template/.opencode/memory/observations/2026-01-31-decision-created-dedicated-worker-agent-for-swarm.md +0 -20
- package/dist/template/.opencode/memory/observations/2026-01-31-decision-rollback-to-v1-1-47-for-copilot-claude-r.md +0 -21
- package/dist/template/.opencode/memory/observations/2026-01-31-decision-simplified-swarm-to-task-tool-pattern.md +0 -44
- package/dist/template/.opencode/memory/observations/2026-01-31-decision-swarm-architecture-task-tool-over-tmux.md +0 -33
- package/dist/template/.opencode/memory/observations/2026-01-31-decision-worker-skills-defined-for-swarm-delegati.md +0 -30
- package/dist/template/.opencode/memory/observations/2026-01-31-learning-gpt-reasoning-config-for-github-copilot.md +0 -51
- package/dist/template/.opencode/memory/observations/2026-01-31-learning-opencode-copilot-auth-comparison-finding.md +0 -61
- package/dist/template/.opencode/memory/observations/2026-01-31-learning-opencode-copilot-reasoning-architecture-.md +0 -66
- package/dist/template/.opencode/memory/observations/2026-01-31-learning-opencode-custom-tools-api.md +0 -48
- package/dist/template/.opencode/memory/observations/2026-01-31-learning-opencode-v1-1-48-skills-as-slash-command.md +0 -21
- package/dist/template/.opencode/memory/observations/2026-01-31-learning-swarm-system-simplified-removed-mailbox-.md +0 -30
- package/dist/template/.opencode/memory/observations/2026-01-31-learning-v1-1-48-native-copilot-reasoning-via-pr-.md +0 -45
- package/dist/template/.opencode/memory/observations/2026-01-31-warning-cannot-add-custom-config-to-opencode-jso.md +0 -18
- package/dist/template/.opencode/memory/observations/2026-01-31-warning-copilot-claude-v1-endpoint-returns-404-c.md +0 -48
- package/dist/template/.opencode/memory/observations/2026-01-31-warning-opencode-v1-1-48-claude-thinking-block-s.md +0 -51
- package/dist/template/.opencode/memory/project/architecture.md +0 -60
- package/dist/template/.opencode/memory/project/commands.md +0 -72
- package/dist/template/.opencode/memory/project/conventions.md +0 -68
- package/dist/template/.opencode/memory/project/gotchas.md +0 -41
- package/dist/template/.opencode/skill/notebooklm/SKILL.md +0 -272
- package/dist/template/.opencode/skill/notebooklm/references/setup.md +0 -353
- package/dist/template/.opencode/tool/notebooklm.ts +0 -488
- package/dist/template/.opencode/tool/oracle.ts +0 -240
- /package/dist/template/.opencode/memory/{user.example.md → _templates/user.md} +0 -0
- /package/dist/template/.opencode/memory/{user.md → project/user.md} +0 -0
|
@@ -1,255 +0,0 @@
|
|
|
1
|
-
---
|
|
2
|
-
description: Finish a bead - verify, commit, close
|
|
3
|
-
argument-hint: "<bead-id>"
|
|
4
|
-
agent: build
|
|
5
|
-
---
|
|
6
|
-
|
|
7
|
-
# Finish: $ARGUMENTS
|
|
8
|
-
|
|
9
|
-
You're closing out a task. This is the quality gate. No shortcuts.
|
|
10
|
-
|
|
11
|
-
## Load Skills
|
|
12
|
-
|
|
13
|
-
```typescript
|
|
14
|
-
skill({ name: "beads" });
|
|
15
|
-
skill({ name: "verification-before-completion" });
|
|
16
|
-
skill({ name: "beads-bridge" }); // For todo sync
|
|
17
|
-
```
|
|
18
|
-
|
|
19
|
-
## Verify The Task Exists
|
|
20
|
-
|
|
21
|
-
```
|
|
22
|
-
!`bd show $ARGUMENTS`
|
|
23
|
-
```
|
|
24
|
-
|
|
25
|
-
If not found, stop. Check `bd list --status=all` for the correct ID.
|
|
26
|
-
|
|
27
|
-
## Run All Gates
|
|
28
|
-
|
|
29
|
-
Detect your project type and run everything:
|
|
30
|
-
|
|
31
|
-
```
|
|
32
|
-
!`ls package.json Cargo.toml pyproject.toml go.mod Makefile 2>/dev/null`
|
|
33
|
-
```
|
|
34
|
-
|
|
35
|
-
**Node/TypeScript:**
|
|
36
|
-
|
|
37
|
-
```bash
|
|
38
|
-
npm run build 2>/dev/null || true
|
|
39
|
-
npm test
|
|
40
|
-
npm run lint 2>/dev/null || true
|
|
41
|
-
npm run type-check 2>/dev/null || true
|
|
42
|
-
```
|
|
43
|
-
|
|
44
|
-
**Rust:**
|
|
45
|
-
|
|
46
|
-
```bash
|
|
47
|
-
cargo build
|
|
48
|
-
cargo test
|
|
49
|
-
cargo clippy -- -D warnings
|
|
50
|
-
```
|
|
51
|
-
|
|
52
|
-
**Python:**
|
|
53
|
-
|
|
54
|
-
```bash
|
|
55
|
-
pytest
|
|
56
|
-
ruff check .
|
|
57
|
-
mypy . 2>/dev/null || true
|
|
58
|
-
```
|
|
59
|
-
|
|
60
|
-
**Go:**
|
|
61
|
-
|
|
62
|
-
```bash
|
|
63
|
-
go build ./...
|
|
64
|
-
go test ./...
|
|
65
|
-
golangci-lint run
|
|
66
|
-
```
|
|
67
|
-
|
|
68
|
-
If ANY gate fails, stop. Fix it first. Don't close broken work.
|
|
69
|
-
|
|
70
|
-
## Verify Success Criteria
|
|
71
|
-
|
|
72
|
-
Read the spec and check each criterion:
|
|
73
|
-
|
|
74
|
-
```
|
|
75
|
-
!`cat .beads/artifacts/$ARGUMENTS/spec.md`
|
|
76
|
-
```
|
|
77
|
-
|
|
78
|
-
For each success criterion listed, run its verification. All must pass. If something's missing, go back and implement it.
|
|
79
|
-
|
|
80
|
-
## If PRD Tasks Exist
|
|
81
|
-
|
|
82
|
-
If `.beads/artifacts/$ARGUMENTS/prd.json` exists:
|
|
83
|
-
|
|
84
|
-
- Ensure every task has `passes: true`
|
|
85
|
-
- If tasks remain incomplete, do NOT close the bead yet
|
|
86
|
-
- Continue with: `/complete-next-task $ARGUMENTS`
|
|
87
|
-
|
|
88
|
-
## Review Changes (Ask Before Commit)
|
|
89
|
-
|
|
90
|
-
Show what would be committed:
|
|
91
|
-
|
|
92
|
-
```bash
|
|
93
|
-
git add -A
|
|
94
|
-
git status
|
|
95
|
-
git diff --cached --stat
|
|
96
|
-
```
|
|
97
|
-
|
|
98
|
-
**Present the changes to the user:**
|
|
99
|
-
|
|
100
|
-
```
|
|
101
|
-
Ready to Commit
|
|
102
|
-
━━━━━━━━━━━━━━
|
|
103
|
-
|
|
104
|
-
Files changed:
|
|
105
|
-
[list from git status]
|
|
106
|
-
|
|
107
|
-
Summary: $ARGUMENTS - [what was done]
|
|
108
|
-
|
|
109
|
-
Would you like me to:
|
|
110
|
-
1. Commit these changes
|
|
111
|
-
2. Show full diff first
|
|
112
|
-
3. Skip commit (I'll review manually)
|
|
113
|
-
```
|
|
114
|
-
|
|
115
|
-
**Wait for user confirmation before proceeding.**
|
|
116
|
-
|
|
117
|
-
If user confirms commit:
|
|
118
|
-
|
|
119
|
-
```bash
|
|
120
|
-
git commit -m "$ARGUMENTS: [what was done]
|
|
121
|
-
|
|
122
|
-
- [change 1]
|
|
123
|
-
- [change 2]
|
|
124
|
-
|
|
125
|
-
Closes: $ARGUMENTS"
|
|
126
|
-
```
|
|
127
|
-
|
|
128
|
-
## Close The Task (Use Question Tool)
|
|
129
|
-
|
|
130
|
-
```typescript
|
|
131
|
-
question({
|
|
132
|
-
questions: [
|
|
133
|
-
{
|
|
134
|
-
header: "Close",
|
|
135
|
-
question: "Should I close bead $ARGUMENTS?",
|
|
136
|
-
options: [
|
|
137
|
-
{
|
|
138
|
-
label: "Yes, close it (Recommended)",
|
|
139
|
-
description: "All gates passed, task complete",
|
|
140
|
-
},
|
|
141
|
-
{ label: "No, keep open", description: "Need more work or review" },
|
|
142
|
-
],
|
|
143
|
-
},
|
|
144
|
-
],
|
|
145
|
-
});
|
|
146
|
-
```
|
|
147
|
-
|
|
148
|
-
If user confirms close:
|
|
149
|
-
|
|
150
|
-
```bash
|
|
151
|
-
bd close $ARGUMENTS --reason "Completed: [1-line summary]"
|
|
152
|
-
```
|
|
153
|
-
|
|
154
|
-
## Cleanup Swarm State (If Any)
|
|
155
|
-
|
|
156
|
-
Clear any swarm data associated with this task:
|
|
157
|
-
|
|
158
|
-
```typescript
|
|
159
|
-
const teamName = "$ARGUMENTS-swarm";
|
|
160
|
-
|
|
161
|
-
// Clear swarm state
|
|
162
|
-
await swarm_monitor({
|
|
163
|
-
operation: "clear",
|
|
164
|
-
team_name: teamName,
|
|
165
|
-
});
|
|
166
|
-
|
|
167
|
-
// Sync completed todos back to beads
|
|
168
|
-
beads_sync({ operation: "pull" });
|
|
169
|
-
```
|
|
170
|
-
|
|
171
|
-
## Create Review (Optional But Recommended)
|
|
172
|
-
|
|
173
|
-
If this was non-trivial work, document what happened:
|
|
174
|
-
|
|
175
|
-
```bash
|
|
176
|
-
mkdir -p .beads/artifacts/$ARGUMENTS
|
|
177
|
-
```
|
|
178
|
-
|
|
179
|
-
Write `.beads/artifacts/$ARGUMENTS/review.md`:
|
|
180
|
-
|
|
181
|
-
```markdown
|
|
182
|
-
# Review: $ARGUMENTS
|
|
183
|
-
|
|
184
|
-
**Completed:** [date]
|
|
185
|
-
|
|
186
|
-
## What Changed
|
|
187
|
-
|
|
188
|
-
- [file]: [what and why]
|
|
189
|
-
|
|
190
|
-
## What Worked
|
|
191
|
-
|
|
192
|
-
- [thing that went smoothly]
|
|
193
|
-
|
|
194
|
-
## What Was Hard
|
|
195
|
-
|
|
196
|
-
- [challenge and how you solved it]
|
|
197
|
-
|
|
198
|
-
## Lessons
|
|
199
|
-
|
|
200
|
-
- [anything worth remembering]
|
|
201
|
-
```
|
|
202
|
-
|
|
203
|
-
## Record Learnings
|
|
204
|
-
|
|
205
|
-
If you discovered patterns, gotchas, or decisions worth remembering:
|
|
206
|
-
|
|
207
|
-
```typescript
|
|
208
|
-
observation({
|
|
209
|
-
type: "learning", // or "pattern", "bugfix", "decision", "warning"
|
|
210
|
-
title: "[concise, searchable title]",
|
|
211
|
-
content: "[what you learned - be specific and actionable]",
|
|
212
|
-
bead_id: "$ARGUMENTS",
|
|
213
|
-
files: "[affected files, comma-separated]",
|
|
214
|
-
concepts: "[keywords for semantic search]",
|
|
215
|
-
});
|
|
216
|
-
```
|
|
217
|
-
|
|
218
|
-
**This auto-embeds into the vector store** for future semantic search. Future `/start` and `/implement` commands will find this learning.
|
|
219
|
-
|
|
220
|
-
**When to create observations:**
|
|
221
|
-
|
|
222
|
-
- Discovered a non-obvious gotcha
|
|
223
|
-
- Made a significant architectural decision
|
|
224
|
-
- Found a pattern worth reusing
|
|
225
|
-
- Hit a bug that others might hit
|
|
226
|
-
|
|
227
|
-
**Skip observations for:**
|
|
228
|
-
|
|
229
|
-
- Routine implementations
|
|
230
|
-
- Well-documented patterns
|
|
231
|
-
- Trivial fixes
|
|
232
|
-
|
|
233
|
-
## Output
|
|
234
|
-
|
|
235
|
-
```
|
|
236
|
-
Closed: $ARGUMENTS
|
|
237
|
-
|
|
238
|
-
Gates: All passed
|
|
239
|
-
Commit: [hash]
|
|
240
|
-
Branch: [branch]
|
|
241
|
-
|
|
242
|
-
Next:
|
|
243
|
-
- /pr $ARGUMENTS # Create pull request
|
|
244
|
-
- Or merge directly: git checkout main && git merge $ARGUMENTS
|
|
245
|
-
```
|
|
246
|
-
|
|
247
|
-
## If Work Is Incomplete
|
|
248
|
-
|
|
249
|
-
Don't close incomplete work. Instead:
|
|
250
|
-
|
|
251
|
-
```
|
|
252
|
-
/handoff $ARGUMENTS "Stopped at [step]. Remaining: [what's left]"
|
|
253
|
-
```
|
|
254
|
-
|
|
255
|
-
Then start fresh session and `/resume $ARGUMENTS` later.
|
|
@@ -1,109 +0,0 @@
|
|
|
1
|
-
---
|
|
2
|
-
description: Fix CI failures
|
|
3
|
-
argument-hint: "<run-id or url>"
|
|
4
|
-
agent: build
|
|
5
|
-
---
|
|
6
|
-
|
|
7
|
-
# Fix CI: $ARGUMENTS
|
|
8
|
-
|
|
9
|
-
CI failures are P0 bugs. Fix fast.
|
|
10
|
-
|
|
11
|
-
## Get The Logs
|
|
12
|
-
|
|
13
|
-
!`gh run view $ARGUMENTS --log-failed`
|
|
14
|
-
|
|
15
|
-
List recent failures:
|
|
16
|
-
|
|
17
|
-
!`gh run list --status=failure --limit=5`
|
|
18
|
-
|
|
19
|
-
## Extract The Error
|
|
20
|
-
|
|
21
|
-
!`gh run view $ARGUMENTS --json jobs --jq '.jobs[] | select(.conclusion=="failure")'`
|
|
22
|
-
|
|
23
|
-
!`gh run view $ARGUMENTS --log > /tmp/ci-log.txt && grep -i "error\|failed" /tmp/ci-log.txt | head -30`
|
|
24
|
-
|
|
25
|
-
Identify:
|
|
26
|
-
|
|
27
|
-
- **Job** that failed
|
|
28
|
-
- **Step** in that job
|
|
29
|
-
- **Error message** exact text
|
|
30
|
-
|
|
31
|
-
## Common Patterns
|
|
32
|
-
|
|
33
|
-
| Pattern | Symptoms | Fix |
|
|
34
|
-
| -------------- | ----------------------- | ---------------------------------- |
|
|
35
|
-
| Dependency | "module not found" | `rm -rf node_modules && npm ci` |
|
|
36
|
-
| Environment | Works locally, fails CI | Check Node version, env vars |
|
|
37
|
-
| Type error | "tsc" failed | `npm run type-check` locally first |
|
|
38
|
-
| Lint error | ESLint failed | `npm run lint -- --fix` |
|
|
39
|
-
| Test flaky | Intermittent | Add retries, fix race condition |
|
|
40
|
-
| Secret missing | "secret not found" | Check repo settings |
|
|
41
|
-
|
|
42
|
-
## Reproduce Locally
|
|
43
|
-
|
|
44
|
-
```bash
|
|
45
|
-
npm ci
|
|
46
|
-
npm run build
|
|
47
|
-
npm test
|
|
48
|
-
npm run lint
|
|
49
|
-
```
|
|
50
|
-
|
|
51
|
-
If passes locally but fails in CI, check environment differences.
|
|
52
|
-
|
|
53
|
-
## Fix And Verify
|
|
54
|
-
|
|
55
|
-
Make the fix. Verify locally:
|
|
56
|
-
|
|
57
|
-
```bash
|
|
58
|
-
npm run build && npm test && npm run lint && npm run type-check
|
|
59
|
-
```
|
|
60
|
-
|
|
61
|
-
## Push And Watch
|
|
62
|
-
|
|
63
|
-
!`gh run watch`
|
|
64
|
-
|
|
65
|
-
## If Still Failing
|
|
66
|
-
|
|
67
|
-
Iterate:
|
|
68
|
-
|
|
69
|
-
1. Fetch new logs
|
|
70
|
-
2. Identify remaining error
|
|
71
|
-
3. Fix and push again
|
|
72
|
-
4. Max 3 iterations, then escalate
|
|
73
|
-
|
|
74
|
-
If fix makes things worse:
|
|
75
|
-
|
|
76
|
-
```bash
|
|
77
|
-
git revert HEAD
|
|
78
|
-
git push
|
|
79
|
-
```
|
|
80
|
-
|
|
81
|
-
## Document
|
|
82
|
-
|
|
83
|
-
If it's a recurring issue:
|
|
84
|
-
|
|
85
|
-
```typescript
|
|
86
|
-
observation({
|
|
87
|
-
type: "bugfix",
|
|
88
|
-
title: "CI: [issue]",
|
|
89
|
-
content: "Root cause: [what]\nFix: [how]\nPrevention: [future]",
|
|
90
|
-
});
|
|
91
|
-
```
|
|
92
|
-
|
|
93
|
-
## Sync
|
|
94
|
-
|
|
95
|
-
```bash
|
|
96
|
-
bd sync
|
|
97
|
-
```
|
|
98
|
-
|
|
99
|
-
## Output
|
|
100
|
-
|
|
101
|
-
```
|
|
102
|
-
CI Fixed: $ARGUMENTS
|
|
103
|
-
|
|
104
|
-
Root cause: [brief]
|
|
105
|
-
Changes: [files]
|
|
106
|
-
|
|
107
|
-
New run: [url]
|
|
108
|
-
Status: Passed ✓
|
|
109
|
-
```
|
|
@@ -1,104 +0,0 @@
|
|
|
1
|
-
---
|
|
2
|
-
description: Fix TypeScript type errors
|
|
3
|
-
argument-hint: "[bead-id] [--strict]"
|
|
4
|
-
agent: build
|
|
5
|
-
---
|
|
6
|
-
|
|
7
|
-
# Fix Type Errors
|
|
8
|
-
|
|
9
|
-
Resolve TypeScript errors without adding `any` everywhere.
|
|
10
|
-
|
|
11
|
-
## Get Current State
|
|
12
|
-
|
|
13
|
-
!`npx tsc --noEmit 2>&1 | head -50`
|
|
14
|
-
!`npx tsc --noEmit 2>&1 | grep -c "error TS"`
|
|
15
|
-
|
|
16
|
-
## Use LSP For Context
|
|
17
|
-
|
|
18
|
-
```typescript
|
|
19
|
-
lsp_lsp_diagnostics({ filePath: "<file>", severity: "error" });
|
|
20
|
-
lsp_lsp_hover({ filePath: "<file>", line: N, character: N });
|
|
21
|
-
```
|
|
22
|
-
|
|
23
|
-
## Common Fixes
|
|
24
|
-
|
|
25
|
-
**Missing type:**
|
|
26
|
-
|
|
27
|
-
```typescript
|
|
28
|
-
// Before
|
|
29
|
-
function process(data) { ... }
|
|
30
|
-
// After
|
|
31
|
-
function process(data: InputType): OutputType { ... }
|
|
32
|
-
```
|
|
33
|
-
|
|
34
|
-
**Null handling:**
|
|
35
|
-
|
|
36
|
-
```typescript
|
|
37
|
-
// Before
|
|
38
|
-
const name = user.name.toUpperCase();
|
|
39
|
-
// After
|
|
40
|
-
const name = user?.name?.toUpperCase() ?? "Unknown";
|
|
41
|
-
```
|
|
42
|
-
|
|
43
|
-
**Property doesn't exist:**
|
|
44
|
-
|
|
45
|
-
```typescript
|
|
46
|
-
// Add to interface
|
|
47
|
-
interface User {
|
|
48
|
-
name: string;
|
|
49
|
-
email?: string; // Add missing property
|
|
50
|
-
}
|
|
51
|
-
```
|
|
52
|
-
|
|
53
|
-
## Rules
|
|
54
|
-
|
|
55
|
-
- ❌ Never use `any` just to pass type check
|
|
56
|
-
- ❌ Never use `// @ts-ignore` without justification
|
|
57
|
-
- ❌ Never use `as unknown as T`
|
|
58
|
-
- ✅ Prefer proper typing over assertions
|
|
59
|
-
- ✅ Prefer narrowing with type guards
|
|
60
|
-
- ✅ Prefer `unknown` over `any` when truly unknown
|
|
61
|
-
|
|
62
|
-
## Iterate Until Clean
|
|
63
|
-
|
|
64
|
-
```bash
|
|
65
|
-
npx tsc --noEmit
|
|
66
|
-
```
|
|
67
|
-
|
|
68
|
-
Repeat until 0 errors. Max 5 passes.
|
|
69
|
-
|
|
70
|
-
## Verify
|
|
71
|
-
|
|
72
|
-
```bash
|
|
73
|
-
npx tsc --noEmit # Types
|
|
74
|
-
npm test # Tests still pass
|
|
75
|
-
npm run lint # Lint still passes
|
|
76
|
-
```
|
|
77
|
-
|
|
78
|
-
## Commit
|
|
79
|
-
|
|
80
|
-
```bash
|
|
81
|
-
git add <files>
|
|
82
|
-
git commit -m "fix(types): resolve type errors
|
|
83
|
-
|
|
84
|
-
- Fixed [N] errors
|
|
85
|
-
- No 'any' types added"
|
|
86
|
-
|
|
87
|
-
bd sync
|
|
88
|
-
```
|
|
89
|
-
|
|
90
|
-
## Output
|
|
91
|
-
|
|
92
|
-
```
|
|
93
|
-
Type Errors Fixed
|
|
94
|
-
|
|
95
|
-
Before: [N] errors
|
|
96
|
-
After: 0 errors
|
|
97
|
-
|
|
98
|
-
Verification:
|
|
99
|
-
- Types: ✓
|
|
100
|
-
- Tests: ✓
|
|
101
|
-
- Lint: ✓
|
|
102
|
-
|
|
103
|
-
'any' added: 0 ✓
|
|
104
|
-
```
|
|
@@ -1,117 +0,0 @@
|
|
|
1
|
-
---
|
|
2
|
-
description: Fix UI issues with visual verification
|
|
3
|
-
argument-hint: "<issue or bead-id> [--a11y]"
|
|
4
|
-
agent: build
|
|
5
|
-
---
|
|
6
|
-
|
|
7
|
-
# Fix UI: $ARGUMENTS
|
|
8
|
-
|
|
9
|
-
Fix visual issues. Capture before/after, verify responsiveness.
|
|
10
|
-
|
|
11
|
-
## Load Context
|
|
12
|
-
|
|
13
|
-
!`bd show $ARGUMENTS`
|
|
14
|
-
!`cat .beads/artifacts/$ARGUMENTS/spec.md 2>/dev/null`
|
|
15
|
-
|
|
16
|
-
## Capture Before State
|
|
17
|
-
|
|
18
|
-
Take screenshot before changes. Save to `.beads/artifacts/$ARGUMENTS/before.png`.
|
|
19
|
-
|
|
20
|
-
```typescript
|
|
21
|
-
skill({ name: "playwright" });
|
|
22
|
-
skill_mcp({
|
|
23
|
-
skill_name: "playwright",
|
|
24
|
-
tool_name: "browser_screenshot",
|
|
25
|
-
arguments: '{"name": "before-fix"}',
|
|
26
|
-
});
|
|
27
|
-
```
|
|
28
|
-
|
|
29
|
-
## Analyze
|
|
30
|
-
|
|
31
|
-
Delegate to @vision:
|
|
32
|
-
|
|
33
|
-
```typescript
|
|
34
|
-
task({
|
|
35
|
-
subagent_type: "vision",
|
|
36
|
-
description: "Analyze UI issue",
|
|
37
|
-
prompt:
|
|
38
|
-
"Analyze UI issue: $ARGUMENTS\n\nIdentify:\n- The visual problem\n- Affected components\n- Suggested fix approach",
|
|
39
|
-
});
|
|
40
|
-
```
|
|
41
|
-
|
|
42
|
-
## Check Design System
|
|
43
|
-
|
|
44
|
-
!`grep -r "var(--" src/styles/ | head -10`
|
|
45
|
-
!`grep -r "theme\." src/components/ | head -10`
|
|
46
|
-
|
|
47
|
-
Use existing tokens, not hardcoded values:
|
|
48
|
-
|
|
49
|
-
- ✅ Existing color tokens
|
|
50
|
-
- ✅ Existing spacing scale
|
|
51
|
-
- ✅ Existing typography scale
|
|
52
|
-
- ❌ Hardcoded colors/px values
|
|
53
|
-
|
|
54
|
-
## Avoid AI Slop
|
|
55
|
-
|
|
56
|
-
| Avoid | Use Instead |
|
|
57
|
-
| -------------------------- | ----------------------- |
|
|
58
|
-
| Inter/system-ui everywhere | Distinctive fonts |
|
|
59
|
-
| Purple/blue gradients | Project color palette |
|
|
60
|
-
| Flat backgrounds | Subtle depth/texture |
|
|
61
|
-
| Generic rounded corners | Consistent radius scale |
|
|
62
|
-
|
|
63
|
-
## Implement Fix
|
|
64
|
-
|
|
65
|
-
1. Identify affected files
|
|
66
|
-
2. Make minimal CSS/component changes
|
|
67
|
-
3. Use design tokens
|
|
68
|
-
4. Test in browser
|
|
69
|
-
|
|
70
|
-
## Capture After State
|
|
71
|
-
|
|
72
|
-
Save to `.beads/artifacts/$ARGUMENTS/after.png`.
|
|
73
|
-
|
|
74
|
-
## Verify
|
|
75
|
-
|
|
76
|
-
**Visual:** Compare before/after screenshots
|
|
77
|
-
|
|
78
|
-
**Responsive:** Test at 375px, 768px, 1280px
|
|
79
|
-
|
|
80
|
-
**A11y (if --a11y):**
|
|
81
|
-
|
|
82
|
-
- Color contrast (4.5:1 for text)
|
|
83
|
-
- Keyboard navigation
|
|
84
|
-
- Focus states visible
|
|
85
|
-
|
|
86
|
-
**Tests:**
|
|
87
|
-
|
|
88
|
-
```bash
|
|
89
|
-
npm test -- --grep "component-name"
|
|
90
|
-
```
|
|
91
|
-
|
|
92
|
-
## Commit
|
|
93
|
-
|
|
94
|
-
```bash
|
|
95
|
-
git add <files>
|
|
96
|
-
git commit -m "fix(ui): [description]"
|
|
97
|
-
|
|
98
|
-
bd sync
|
|
99
|
-
```
|
|
100
|
-
|
|
101
|
-
## Output
|
|
102
|
-
|
|
103
|
-
```
|
|
104
|
-
UI Fixed: $ARGUMENTS
|
|
105
|
-
|
|
106
|
-
Before: .beads/artifacts/$ARGUMENTS/before.png
|
|
107
|
-
After: .beads/artifacts/$ARGUMENTS/after.png
|
|
108
|
-
|
|
109
|
-
Verification:
|
|
110
|
-
- Visual: ✓
|
|
111
|
-
- Responsive: ✓
|
|
112
|
-
- A11y: [✓/⚠️]
|
|
113
|
-
- Tests: ✓
|
|
114
|
-
|
|
115
|
-
Design tokens: Used ✓
|
|
116
|
-
AI slop: None ✓
|
|
117
|
-
```
|