opencodekit 0.20.1 → 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.
Files changed (52) hide show
  1. package/dist/index.js +1 -1
  2. package/dist/template/.opencode/agent/build.md +4 -0
  3. package/dist/template/.opencode/agent/explore.md +4 -0
  4. package/dist/template/.opencode/agent/general.md +4 -0
  5. package/dist/template/.opencode/agent/plan.md +4 -0
  6. package/dist/template/.opencode/agent/review.md +4 -0
  7. package/dist/template/.opencode/agent/scout.md +4 -0
  8. package/dist/template/.opencode/command/create.md +119 -25
  9. package/dist/template/.opencode/command/design.md +1 -2
  10. package/dist/template/.opencode/command/health.md +234 -0
  11. package/dist/template/.opencode/command/init-user.md +15 -0
  12. package/dist/template/.opencode/command/plan.md +3 -4
  13. package/dist/template/.opencode/command/pr.md +13 -0
  14. package/dist/template/.opencode/command/research.md +15 -3
  15. package/dist/template/.opencode/command/review-codebase.md +11 -1
  16. package/dist/template/.opencode/command/ship.md +72 -8
  17. package/dist/template/.opencode/command/status.md +1 -1
  18. package/dist/template/.opencode/command/ui-review.md +0 -1
  19. package/dist/template/.opencode/command/ui-slop-check.md +1 -1
  20. package/dist/template/.opencode/command/verify.md +11 -1
  21. package/dist/template/.opencode/dcp.jsonc +31 -24
  22. package/dist/template/.opencode/memory.db +0 -0
  23. package/dist/template/.opencode/memory.db-shm +0 -0
  24. package/dist/template/.opencode/memory.db-wal +0 -0
  25. package/dist/template/.opencode/opencode.json +1678 -1677
  26. package/dist/template/.opencode/package.json +1 -1
  27. package/dist/template/.opencode/plugin/lib/compile.ts +253 -0
  28. package/dist/template/.opencode/plugin/lib/index-generator.ts +170 -0
  29. package/dist/template/.opencode/plugin/lib/lint.ts +359 -0
  30. package/dist/template/.opencode/plugin/lib/memory-admin-tools.ts +42 -1
  31. package/dist/template/.opencode/plugin/lib/memory-db.ts +7 -0
  32. package/dist/template/.opencode/plugin/lib/memory-helpers.ts +30 -0
  33. package/dist/template/.opencode/plugin/lib/memory-hooks.ts +10 -0
  34. package/dist/template/.opencode/plugin/lib/memory-tools.ts +30 -1
  35. package/dist/template/.opencode/plugin/lib/operation-log.ts +109 -0
  36. package/dist/template/.opencode/plugin/lib/validate.ts +243 -0
  37. package/dist/template/.opencode/skill/design-taste-frontend/SKILL.md +13 -1
  38. package/dist/template/.opencode/skill/figma-go/SKILL.md +1 -1
  39. package/dist/template/.opencode/skill/full-output-enforcement/SKILL.md +13 -0
  40. package/dist/template/.opencode/skill/high-end-visual-design/SKILL.md +13 -0
  41. package/dist/template/.opencode/skill/industrial-brutalist-ui/SKILL.md +13 -0
  42. package/dist/template/.opencode/skill/memory-system/SKILL.md +65 -1
  43. package/dist/template/.opencode/skill/minimalist-ui/SKILL.md +13 -0
  44. package/dist/template/.opencode/skill/redesign-existing-projects/SKILL.md +13 -0
  45. package/dist/template/.opencode/skill/requesting-code-review/SKILL.md +48 -2
  46. package/dist/template/.opencode/skill/requesting-code-review/references/specialist-profiles.md +108 -0
  47. package/dist/template/.opencode/skill/skill-creator/SKILL.md +25 -0
  48. package/dist/template/.opencode/skill/stitch-design-taste/SKILL.md +13 -0
  49. package/dist/template/.opencode/skill/verification-before-completion/SKILL.md +46 -0
  50. package/package.json +1 -1
  51. package/dist/template/.opencode/agent/runner.md +0 -79
  52. 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,6 +1,6 @@
1
1
  {
2
2
  "name": "opencodekit",
3
- "version": "0.20.1",
3
+ "version": "0.20.3",
4
4
  "description": "CLI tool for bootstrapping and managing OpenCodeKit projects",
5
5
  "keywords": [
6
6
  "agents",
@@ -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>` |