opencodekit 0.20.2 → 0.20.3
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/build.md +4 -0
- package/dist/template/.opencode/agent/explore.md +4 -0
- package/dist/template/.opencode/agent/general.md +4 -0
- package/dist/template/.opencode/agent/plan.md +4 -0
- package/dist/template/.opencode/agent/review.md +4 -0
- package/dist/template/.opencode/agent/scout.md +4 -0
- package/dist/template/.opencode/command/create.md +119 -25
- package/dist/template/.opencode/command/design.md +1 -2
- package/dist/template/.opencode/command/health.md +234 -0
- package/dist/template/.opencode/command/init-user.md +15 -0
- package/dist/template/.opencode/command/plan.md +3 -4
- package/dist/template/.opencode/command/pr.md +13 -0
- package/dist/template/.opencode/command/research.md +15 -3
- package/dist/template/.opencode/command/review-codebase.md +11 -1
- package/dist/template/.opencode/command/ship.md +72 -8
- package/dist/template/.opencode/command/status.md +1 -1
- package/dist/template/.opencode/command/ui-review.md +0 -1
- package/dist/template/.opencode/command/ui-slop-check.md +1 -1
- package/dist/template/.opencode/command/verify.md +11 -1
- 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 +1678 -1677
- package/dist/template/.opencode/plugin/lib/compile.ts +253 -0
- package/dist/template/.opencode/plugin/lib/index-generator.ts +170 -0
- package/dist/template/.opencode/plugin/lib/lint.ts +359 -0
- package/dist/template/.opencode/plugin/lib/memory-admin-tools.ts +42 -1
- package/dist/template/.opencode/plugin/lib/memory-db.ts +7 -0
- package/dist/template/.opencode/plugin/lib/memory-helpers.ts +30 -0
- package/dist/template/.opencode/plugin/lib/memory-hooks.ts +10 -0
- package/dist/template/.opencode/plugin/lib/memory-tools.ts +30 -1
- package/dist/template/.opencode/plugin/lib/operation-log.ts +109 -0
- package/dist/template/.opencode/plugin/lib/validate.ts +243 -0
- package/dist/template/.opencode/skill/design-taste-frontend/SKILL.md +13 -1
- package/dist/template/.opencode/skill/figma-go/SKILL.md +1 -1
- package/dist/template/.opencode/skill/full-output-enforcement/SKILL.md +13 -0
- package/dist/template/.opencode/skill/high-end-visual-design/SKILL.md +13 -0
- package/dist/template/.opencode/skill/industrial-brutalist-ui/SKILL.md +13 -0
- package/dist/template/.opencode/skill/memory-system/SKILL.md +65 -1
- package/dist/template/.opencode/skill/minimalist-ui/SKILL.md +13 -0
- package/dist/template/.opencode/skill/redesign-existing-projects/SKILL.md +13 -0
- package/dist/template/.opencode/skill/requesting-code-review/SKILL.md +48 -2
- package/dist/template/.opencode/skill/requesting-code-review/references/specialist-profiles.md +108 -0
- package/dist/template/.opencode/skill/skill-creator/SKILL.md +25 -0
- package/dist/template/.opencode/skill/stitch-design-taste/SKILL.md +13 -0
- package/dist/template/.opencode/skill/verification-before-completion/SKILL.md +46 -0
- package/package.json +1 -1
- package/dist/template/.opencode/agent/runner.md +0 -79
- package/dist/template/.opencode/command/start.md +0 -156
|
@@ -95,6 +95,52 @@ Skip any step = lying, not verifying
|
|
|
95
95
|
| "Partial check is enough" | Partial proves nothing |
|
|
96
96
|
| "Different words so rule doesn't apply" | Spirit over letter |
|
|
97
97
|
|
|
98
|
+
## Diagnostic Failure Phrases
|
|
99
|
+
|
|
100
|
+
These phrases are **automatic re-verification triggers**. If you catch yourself writing any of these (or semantic equivalents), STOP and run the actual verification command before continuing.
|
|
101
|
+
|
|
102
|
+
### Completion Claims Without Evidence
|
|
103
|
+
|
|
104
|
+
- "This should fix it"
|
|
105
|
+
- "That should resolve the issue"
|
|
106
|
+
- "The problem should be gone now"
|
|
107
|
+
- "This will work"
|
|
108
|
+
- "It's fixed"
|
|
109
|
+
- "Everything looks good"
|
|
110
|
+
- "We're all set"
|
|
111
|
+
|
|
112
|
+
### Confidence Substitution
|
|
113
|
+
|
|
114
|
+
- "I'm fairly certain this is correct"
|
|
115
|
+
- "Based on my understanding, this works"
|
|
116
|
+
- "This is straightforward enough"
|
|
117
|
+
- "The logic is sound"
|
|
118
|
+
- "This follows the pattern so it should be fine"
|
|
119
|
+
|
|
120
|
+
### Deflection / Minimization
|
|
121
|
+
|
|
122
|
+
- "It's just a minor change"
|
|
123
|
+
- "Nothing else should be affected"
|
|
124
|
+
- "The rest of the code is unchanged"
|
|
125
|
+
- "This is a safe change"
|
|
126
|
+
- "No side effects expected"
|
|
127
|
+
|
|
128
|
+
### Post-Hoc Rationalization
|
|
129
|
+
|
|
130
|
+
- "The error was probably just [X]"
|
|
131
|
+
- "That failure was likely a fluke"
|
|
132
|
+
- "It probably works in production"
|
|
133
|
+
- "The test environment might be the issue"
|
|
134
|
+
|
|
135
|
+
### False Completion
|
|
136
|
+
|
|
137
|
+
- "All done!" / "Done!" / "Complete!"
|
|
138
|
+
- "That takes care of everything"
|
|
139
|
+
- "Ready for review" (without verification output)
|
|
140
|
+
- "Committing now" (without verification output)
|
|
141
|
+
|
|
142
|
+
**Rule:** If any of these phrases appear in your draft response, delete them and replace with actual verification command output. The phrase IS the signal that you're about to lie.
|
|
143
|
+
|
|
98
144
|
## Key Patterns
|
|
99
145
|
|
|
100
146
|
**Tests:**
|
package/package.json
CHANGED
|
@@ -1,79 +0,0 @@
|
|
|
1
|
-
---
|
|
2
|
-
description: Lightweight runner for trivial shell, git, and filesystem operations
|
|
3
|
-
mode: subagent
|
|
4
|
-
temperature: 0.0
|
|
5
|
-
permission:
|
|
6
|
-
bash:
|
|
7
|
-
"*": allow
|
|
8
|
-
"git push*": ask
|
|
9
|
-
"git commit*": ask
|
|
10
|
-
"git merge*": ask
|
|
11
|
-
"git reset*": ask
|
|
12
|
-
"rm*": ask
|
|
13
|
-
"sudo*": deny
|
|
14
|
-
write:
|
|
15
|
-
"*": deny
|
|
16
|
-
edit:
|
|
17
|
-
"*": deny
|
|
18
|
-
---
|
|
19
|
-
|
|
20
|
-
You are OpenCode, the best coding agent on the planet.
|
|
21
|
-
|
|
22
|
-
# Runner Agent
|
|
23
|
-
|
|
24
|
-
**Purpose**: Execute trivial operations — scripts, git commands, file system ops. No code reasoning.
|
|
25
|
-
|
|
26
|
-
## Identity
|
|
27
|
-
|
|
28
|
-
You are the runner agent. You execute simple, well-defined operations quickly and reliably. You don't write code or make architectural decisions.
|
|
29
|
-
|
|
30
|
-
## Model Guidance
|
|
31
|
-
|
|
32
|
-
- Use the cheapest/fastest available model for execution tasks
|
|
33
|
-
- Temperature: 0.0 (deterministic execution)
|
|
34
|
-
|
|
35
|
-
## Capabilities
|
|
36
|
-
|
|
37
|
-
- Run shell commands and scripts
|
|
38
|
-
- Git operations (commit, push, pull, tag, branch, merge)
|
|
39
|
-
- File system operations (move, copy, delete — with confirmation for destructive ops)
|
|
40
|
-
- Run build/test/lint commands
|
|
41
|
-
- Read command output and report results
|
|
42
|
-
|
|
43
|
-
## Restrictions
|
|
44
|
-
|
|
45
|
-
- **Never edit source code files** — delegate to general or build agent
|
|
46
|
-
- **Never make architectural decisions** — escalate to plan agent
|
|
47
|
-
- **No complex reasoning** — if a task requires understanding code logic, escalate
|
|
48
|
-
- **No implementation work** — do not fix bugs or build features
|
|
49
|
-
|
|
50
|
-
## When to Use
|
|
51
|
-
|
|
52
|
-
- Simple shell commands
|
|
53
|
-
- Git operations (commit, push, tag, merge)
|
|
54
|
-
- Running build/test/lint scripts
|
|
55
|
-
- File system operations (move, copy, delete with confirmation)
|
|
56
|
-
|
|
57
|
-
## When NOT to Use
|
|
58
|
-
|
|
59
|
-
- Code changes or refactors
|
|
60
|
-
- Bug fixes or feature implementation
|
|
61
|
-
- Tasks requiring code logic analysis
|
|
62
|
-
- Architecture or design decisions
|
|
63
|
-
|
|
64
|
-
## Rules
|
|
65
|
-
|
|
66
|
-
1. Execute exactly what is requested — no improvisation
|
|
67
|
-
2. Report command output faithfully — never fabricate
|
|
68
|
-
3. Ask before destructive operations (delete, force push, reset)
|
|
69
|
-
4. If a command fails, report the error — don't attempt creative fixes
|
|
70
|
-
5. Stage specific files only — never `git add .`
|
|
71
|
-
|
|
72
|
-
## Output Format
|
|
73
|
-
|
|
74
|
-
For every operation:
|
|
75
|
-
1. Show the command being run
|
|
76
|
-
2. Show the output
|
|
77
|
-
3. Confirm success or report failure
|
|
78
|
-
|
|
79
|
-
Keep output minimal. No explanations unless something fails.
|
|
@@ -1,156 +0,0 @@
|
|
|
1
|
-
---
|
|
2
|
-
description: Start working on a bead - claim it and prepare workspace
|
|
3
|
-
argument-hint: "<bead-id> [--worktree]"
|
|
4
|
-
agent: build
|
|
5
|
-
---
|
|
6
|
-
|
|
7
|
-
# Start: $ARGUMENTS
|
|
8
|
-
|
|
9
|
-
Claim a task and prepare workspace. Bridge between specification (`/create`) and implementation (`/ship`).
|
|
10
|
-
|
|
11
|
-
> **Workflow:** `/create` → **`/start <id>`** → `/ship <id>`
|
|
12
|
-
>
|
|
13
|
-
> ⛔ Bead MUST have `prd.md` (created via `/create`).
|
|
14
|
-
|
|
15
|
-
## Load Skills
|
|
16
|
-
|
|
17
|
-
```typescript
|
|
18
|
-
skill({ name: "beads" });
|
|
19
|
-
skill({ name: "prd-task" }); // PRD → executable tasks
|
|
20
|
-
```
|
|
21
|
-
|
|
22
|
-
## Parse Arguments
|
|
23
|
-
|
|
24
|
-
| Argument | Default | Description |
|
|
25
|
-
| ------------ | -------- | ---------------------------- |
|
|
26
|
-
| `<bead-id>` | required | The bead to start |
|
|
27
|
-
| `--worktree` | false | Create isolated git worktree |
|
|
28
|
-
|
|
29
|
-
## Determine Input Type
|
|
30
|
-
|
|
31
|
-
| Input Type | Detection | Action |
|
|
32
|
-
| ---------- | --------------------------- | ----------------------- |
|
|
33
|
-
| Bead ID | Matches `br-xxx` or numeric | Start that bead |
|
|
34
|
-
| Path | File/directory path | Not supported for start |
|
|
35
|
-
|
|
36
|
-
## Before You Start
|
|
37
|
-
|
|
38
|
-
- **Be certain**: Only start beads with valid PRD (check Phase 2)
|
|
39
|
-
- **Check workspace**: Don't start if uncommitted changes exist (Phase 1)
|
|
40
|
-
- **One task at a time**: Warn if other tasks in progress
|
|
41
|
-
- **Validate spec**: Verify prd.md exists and has real content
|
|
42
|
-
- **Ask about workspace**: Let user choose branch/worktree strategy
|
|
43
|
-
|
|
44
|
-
## Phase 1: Pre-flight
|
|
45
|
-
|
|
46
|
-
```bash
|
|
47
|
-
git status --porcelain
|
|
48
|
-
git branch --show-current
|
|
49
|
-
br list --status=in_progress
|
|
50
|
-
```
|
|
51
|
-
|
|
52
|
-
- If uncommitted changes: ask user to stash, commit, or continue
|
|
53
|
-
- If other tasks in progress: warn before claiming another
|
|
54
|
-
|
|
55
|
-
## Phase 2: Validate Specification
|
|
56
|
-
|
|
57
|
-
```bash
|
|
58
|
-
br show $ARGUMENTS
|
|
59
|
-
```
|
|
60
|
-
|
|
61
|
-
Read `.beads/artifacts/$ARGUMENTS/` to check what artifacts exist.
|
|
62
|
-
|
|
63
|
-
Verify `prd.md` exists and has real content (not just placeholders). If missing or incomplete, tell user to run `/create` first.
|
|
64
|
-
|
|
65
|
-
## Phase 3: Claim
|
|
66
|
-
|
|
67
|
-
```bash
|
|
68
|
-
br update $ARGUMENTS --status in_progress
|
|
69
|
-
```
|
|
70
|
-
|
|
71
|
-
## Phase 4: Prepare Workspace
|
|
72
|
-
|
|
73
|
-
Ask user how to handle workspace:
|
|
74
|
-
|
|
75
|
-
```typescript
|
|
76
|
-
question({
|
|
77
|
-
questions: [
|
|
78
|
-
{
|
|
79
|
-
header: "Workspace",
|
|
80
|
-
question: "How do you want to set up the workspace?",
|
|
81
|
-
options: [
|
|
82
|
-
{
|
|
83
|
-
label: "Create feature branch (Recommended)",
|
|
84
|
-
description: "git checkout -b feat/<bead-id>-<title>",
|
|
85
|
-
},
|
|
86
|
-
{
|
|
87
|
-
label: "Use current branch",
|
|
88
|
-
description: "Work on current branch",
|
|
89
|
-
},
|
|
90
|
-
{
|
|
91
|
-
label: "Create worktree",
|
|
92
|
-
description: "Isolated git worktree for this bead",
|
|
93
|
-
},
|
|
94
|
-
],
|
|
95
|
-
},
|
|
96
|
-
],
|
|
97
|
-
});
|
|
98
|
-
```
|
|
99
|
-
|
|
100
|
-
**If feature branch selected:**
|
|
101
|
-
|
|
102
|
-
Map bead type to branch prefix:
|
|
103
|
-
|
|
104
|
-
| Bead Type | Branch Prefix |
|
|
105
|
-
| --------- | ------------- |
|
|
106
|
-
| feature | feat |
|
|
107
|
-
| bug | fix |
|
|
108
|
-
| task | task |
|
|
109
|
-
| epic | epic |
|
|
110
|
-
|
|
111
|
-
Create the branch:
|
|
112
|
-
|
|
113
|
-
```bash
|
|
114
|
-
# Example: feat/br-42-add-auth
|
|
115
|
-
git checkout -b $PREFIX/$BEAD_ID-$TITLE_SLUG
|
|
116
|
-
```
|
|
117
|
-
|
|
118
|
-
Slugify the title (lowercase, spaces to hyphens) and use the bead type to determine the prefix.
|
|
119
|
-
|
|
120
|
-
**If worktree selected:**
|
|
121
|
-
|
|
122
|
-
```typescript
|
|
123
|
-
skill({ name: "using-git-worktrees" });
|
|
124
|
-
```
|
|
125
|
-
|
|
126
|
-
**If current branch:** Continue without branch creation.
|
|
127
|
-
|
|
128
|
-
## Phase 5: Convert PRD to Tasks
|
|
129
|
-
|
|
130
|
-
If `prd.json` doesn't exist yet, use `prd-task` skill to convert PRD markdown → executable JSON.
|
|
131
|
-
|
|
132
|
-
If `prd.json` already exists, show progress (completed/total tasks).
|
|
133
|
-
|
|
134
|
-
## Phase 6: Report and Route
|
|
135
|
-
|
|
136
|
-
Output:
|
|
137
|
-
|
|
138
|
-
1. Bead type and status
|
|
139
|
-
2. Branch name
|
|
140
|
-
3. Workspace (main or worktree)
|
|
141
|
-
4. Artifact status (prd.md validated, prd.json exists/created)
|
|
142
|
-
5. Next step recommendation
|
|
143
|
-
|
|
144
|
-
| State | Next Command |
|
|
145
|
-
| ------------------ | ------------------------ |
|
|
146
|
-
| Has prd.json | `/ship $ARGUMENTS` |
|
|
147
|
-
| Epic with subtasks | `/start <first-subtask>` |
|
|
148
|
-
| Complex task | `/plan $ARGUMENTS` |
|
|
149
|
-
|
|
150
|
-
## Related Commands
|
|
151
|
-
|
|
152
|
-
| Need | Command |
|
|
153
|
-
| ------------------- | ------------ |
|
|
154
|
-
| Create spec first | `/create` |
|
|
155
|
-
| Plan implementation | `/plan <id>` |
|
|
156
|
-
| Implement and ship | `/ship <id>` |
|