opencodekit 0.22.0 → 0.23.0
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/README.md +1 -1
- package/dist/index.js +4 -25
- package/dist/template/.opencode/.template-manifest.json +115 -188
- package/dist/template/.opencode/AGENTS.md +18 -4
- package/dist/template/.opencode/README.md +1 -1
- package/dist/template/.opencode/agent/build.md +155 -13
- package/dist/template/.opencode/agent/plan.md +7 -16
- package/dist/template/.opencode/agent/scout.md +2 -2
- package/dist/template/.opencode/artifacts/.active +1 -0
- package/dist/template/.opencode/artifacts/example/plan.md +12 -0
- package/dist/template/.opencode/artifacts/example/progress.md +4 -0
- package/dist/template/.opencode/artifacts/example/research.md +4 -0
- package/dist/template/.opencode/artifacts/example/spec.md +16 -0
- package/dist/template/.opencode/artifacts/todo.md +5 -0
- package/dist/template/.opencode/artifacts/verify.log +4 -0
- package/dist/template/.opencode/command/clarify.md +6 -8
- package/dist/template/.opencode/command/create.md +29 -71
- package/dist/template/.opencode/command/design.md +1 -2
- package/dist/template/.opencode/command/explore.md +3 -4
- package/dist/template/.opencode/command/fix.md +0 -1
- package/dist/template/.opencode/command/init.md +1 -4
- package/dist/template/.opencode/command/plan.md +30 -60
- package/dist/template/.opencode/command/pr.md +10 -28
- package/dist/template/.opencode/command/refactor.md +0 -1
- package/dist/template/.opencode/command/research.md +7 -29
- package/dist/template/.opencode/command/review-codebase.md +6 -13
- package/dist/template/.opencode/command/ship.md +136 -78
- package/dist/template/.opencode/command/ui-review.md +2 -4
- package/dist/template/.opencode/command/verify.md +15 -23
- package/dist/template/.opencode/dcp.jsonc +96 -96
- package/dist/template/.opencode/memory/README.md +1 -1
- package/dist/template/.opencode/memory/_templates/prd.md +1 -1
- package/dist/template/.opencode/memory/_templates/roadmap.md +1 -1
- package/dist/template/.opencode/memory/_templates/state.md +1 -1
- package/dist/template/.opencode/memory/project/gotchas.md +3 -3
- package/dist/template/.opencode/memory/project/project.md +2 -2
- package/dist/template/.opencode/memory/project/roadmap.md +1 -1
- package/dist/template/.opencode/memory/project/state.md +2 -2
- package/dist/template/.opencode/memory/project/tech-stack.md +2 -2
- package/dist/template/.opencode/opencode.json +14 -152
- package/dist/template/.opencode/plugin/README.md +1 -1
- package/dist/template/.opencode/skill/brainstorming/SKILL.md +1 -1
- package/dist/template/.opencode/skill/context-engineering/SKILL.md +1 -1
- package/dist/template/.opencode/skill/development-lifecycle/SKILL.md +26 -45
- package/dist/template/.opencode/skill/gemini-large-context/SKILL.md +4 -4
- package/dist/template/.opencode/skill/opensrc/references/example-workflow.md +1 -1
- package/dist/template/.opencode/skill/subagent-driven-development/SKILL.md +1 -1
- package/dist/template/.opencode/skill/using-git-worktrees/SKILL.md +6 -6
- package/dist/template/.opencode/skill/verification-before-completion/SKILL.md +6 -6
- package/dist/template/.opencode/skill/verification-before-completion/references/VERIFICATION_PROTOCOL.md +5 -5
- package/package.json +76 -76
- package/dist/template/.opencode/plans/1768385996691-silent-wizard.md +0 -247
- package/dist/template/.opencode/plans/1770006237537-mighty-otter.md +0 -418
- package/dist/template/.opencode/plans/1770006913647-glowing-forest.md +0 -170
- package/dist/template/.opencode/plans/1770013678126-witty-planet.md +0 -278
- package/dist/template/.opencode/plans/1770112267595-shiny-rocket.md +0 -258
- package/dist/template/.opencode/plans/swarm-protocol.md +0 -123
- package/dist/template/.opencode/skill/beads/SKILL.md +0 -182
- package/dist/template/.opencode/skill/beads/references/BEST_PRACTICES.md +0 -27
- package/dist/template/.opencode/skill/beads/references/BOUNDARIES.md +0 -219
- package/dist/template/.opencode/skill/beads/references/DEPENDENCIES.md +0 -124
- package/dist/template/.opencode/skill/beads/references/EXAMPLES.md +0 -45
- package/dist/template/.opencode/skill/beads/references/FILE_CLAIMING.md +0 -101
- package/dist/template/.opencode/skill/beads/references/GIT_SYNC.md +0 -25
- package/dist/template/.opencode/skill/beads/references/HIERARCHY.md +0 -71
- package/dist/template/.opencode/skill/beads/references/MULTI_AGENT.md +0 -40
- package/dist/template/.opencode/skill/beads/references/RESUMABILITY.md +0 -177
- package/dist/template/.opencode/skill/beads/references/SESSION_PROTOCOL.md +0 -61
- package/dist/template/.opencode/skill/beads/references/TASK_CREATION.md +0 -38
- package/dist/template/.opencode/skill/beads/references/TROUBLESHOOTING.md +0 -38
- package/dist/template/.opencode/skill/beads/references/WORKFLOWS.md +0 -226
|
@@ -57,7 +57,7 @@ This skill orchestrates the complete feature development workflow, guiding you t
|
|
|
57
57
|
└─────────────┘
|
|
58
58
|
```
|
|
59
59
|
|
|
60
|
-
**Note:** Research (`/research <
|
|
60
|
+
**Note:** Research (`/research <plan-id>`) can happen at any phase when you need external information or deeper codebase understanding. It's not a sequential step but a parallel activity.
|
|
61
61
|
|
|
62
62
|
## Phase 1: Ideation (brainstorming)
|
|
63
63
|
|
|
@@ -65,7 +65,7 @@ This skill orchestrates the complete feature development workflow, guiding you t
|
|
|
65
65
|
|
|
66
66
|
- [ ] Load `brainstorming`
|
|
67
67
|
- [ ] Validate design with user
|
|
68
|
-
- [ ] Write `.
|
|
68
|
+
- [ ] Write `.opencode/artifacts/<slug>/design.md`
|
|
69
69
|
|
|
70
70
|
**When:** You have a rough idea but need to explore and refine it.
|
|
71
71
|
|
|
@@ -81,7 +81,7 @@ This skill orchestrates the complete feature development workflow, guiding you t
|
|
|
81
81
|
**Exit criteria:**
|
|
82
82
|
|
|
83
83
|
- Design validated by user
|
|
84
|
-
- Output: `.
|
|
84
|
+
- Output: `.opencode/artifacts/<slug>/design.md`
|
|
85
85
|
|
|
86
86
|
**Template:** `.opencode/memory/_templates/design.md`
|
|
87
87
|
|
|
@@ -91,9 +91,9 @@ This skill orchestrates the complete feature development workflow, guiding you t
|
|
|
91
91
|
|
|
92
92
|
### Phase 2 Checklist
|
|
93
93
|
|
|
94
|
-
- [ ] Confirm or create
|
|
94
|
+
- [ ] Confirm or create plan context
|
|
95
95
|
- [ ] Ask clarifying questions
|
|
96
|
-
- [ ] Write `.
|
|
96
|
+
- [ ] Write `.opencode/artifacts/<slug>/spec.md`
|
|
97
97
|
|
|
98
98
|
**When:** Design is validated, need formal requirements and task breakdown.
|
|
99
99
|
|
|
@@ -101,7 +101,7 @@ This skill orchestrates the complete feature development workflow, guiding you t
|
|
|
101
101
|
|
|
102
102
|
**Process:**
|
|
103
103
|
|
|
104
|
-
1. Confirm
|
|
104
|
+
1. Confirm or create plan context
|
|
105
105
|
2. Ask clarifying questions (5-7 max)
|
|
106
106
|
3. Explore codebase patterns and constraints
|
|
107
107
|
4. Write PRD with machine-convertible Tasks section
|
|
@@ -109,7 +109,7 @@ This skill orchestrates the complete feature development workflow, guiding you t
|
|
|
109
109
|
**Exit criteria:**
|
|
110
110
|
|
|
111
111
|
- PRD with all sections completed
|
|
112
|
-
- Output: `.
|
|
112
|
+
- Output: `.opencode/artifacts/<slug>/spec.md`
|
|
113
113
|
|
|
114
114
|
**Template:** `.opencode/memory/_templates/prd.md`
|
|
115
115
|
|
|
@@ -119,25 +119,25 @@ This skill orchestrates the complete feature development workflow, guiding you t
|
|
|
119
119
|
|
|
120
120
|
### Phase 3 Checklist
|
|
121
121
|
|
|
122
|
-
- [ ] Read PRD from `.
|
|
123
|
-
- [ ] Generate `.
|
|
124
|
-
- [ ] Ensure
|
|
122
|
+
- [ ] Read PRD from `.opencode/artifacts/<slug>/spec.md`
|
|
123
|
+
- [ ] Generate `.opencode/artifacts/tasks.json`
|
|
124
|
+
- [ ] Ensure `.opencode/artifacts/progress.txt` exists
|
|
125
125
|
|
|
126
126
|
**When:** PRD is complete, need executable task list.
|
|
127
127
|
|
|
128
|
-
**Entry criteria:** PRD exists at `.
|
|
128
|
+
**Entry criteria:** PRD exists at `.opencode/artifacts/<slug>/spec.md`.
|
|
129
129
|
|
|
130
130
|
**Process:**
|
|
131
131
|
|
|
132
132
|
1. Read PRD and extract ## Tasks section
|
|
133
133
|
2. Convert to JSON format with dependencies
|
|
134
|
-
3. Create progress.txt for cross-iteration memory
|
|
134
|
+
3. Create `.opencode/artifacts/progress.txt` for cross-iteration memory
|
|
135
135
|
|
|
136
136
|
**Exit criteria:**
|
|
137
137
|
|
|
138
138
|
- JSON task file created
|
|
139
139
|
- Progress file initialized
|
|
140
|
-
- Output: `.
|
|
140
|
+
- Output: `.opencode/artifacts/tasks.json`, `.opencode/artifacts/progress.txt`
|
|
141
141
|
|
|
142
142
|
---
|
|
143
143
|
|
|
@@ -147,11 +147,11 @@ This skill orchestrates the complete feature development workflow, guiding you t
|
|
|
147
147
|
|
|
148
148
|
- [ ] Create bite-sized tasks with exact file paths
|
|
149
149
|
- [ ] Include TDD steps and verification commands
|
|
150
|
-
- [ ] Write `.
|
|
150
|
+
- [ ] Write `.opencode/artifacts/<slug>/plan.md`
|
|
151
151
|
|
|
152
152
|
**When:** Tasks defined, need detailed implementation instructions.
|
|
153
153
|
|
|
154
|
-
**Entry criteria:** Task list exists (
|
|
154
|
+
**Entry criteria:** Task list exists (tasks.json or tasks.md).
|
|
155
155
|
|
|
156
156
|
**Process:**
|
|
157
157
|
|
|
@@ -163,7 +163,7 @@ This skill orchestrates the complete feature development workflow, guiding you t
|
|
|
163
163
|
**Exit criteria:**
|
|
164
164
|
|
|
165
165
|
- Detailed plan ready for execution
|
|
166
|
-
- Output: `.
|
|
166
|
+
- Output: `.opencode/artifacts/<slug>/plan.md`
|
|
167
167
|
|
|
168
168
|
**Template:** `.opencode/memory/_templates/tasks.md` (for task structure reference)
|
|
169
169
|
|
|
@@ -179,7 +179,7 @@ This skill orchestrates the complete feature development workflow, guiding you t
|
|
|
179
179
|
|
|
180
180
|
**When:** Plan is ready, time to build.
|
|
181
181
|
|
|
182
|
-
**Entry criteria:** Plan exists at `.
|
|
182
|
+
**Entry criteria:** Plan exists at `.opencode/artifacts/<slug>/plan.md`.
|
|
183
183
|
|
|
184
184
|
**Process:**
|
|
185
185
|
|
|
@@ -202,7 +202,7 @@ This skill orchestrates the complete feature development workflow, guiding you t
|
|
|
202
202
|
|
|
203
203
|
- [ ] Identify verification commands
|
|
204
204
|
- [ ] Run full verification suite
|
|
205
|
-
- [ ] Only then claim completion
|
|
205
|
+
- [ ] Only then claim completion
|
|
206
206
|
|
|
207
207
|
**When:** Implementation complete, before claiming done.
|
|
208
208
|
|
|
@@ -219,7 +219,7 @@ This skill orchestrates the complete feature development workflow, guiding you t
|
|
|
219
219
|
**Exit criteria:**
|
|
220
220
|
|
|
221
221
|
- All verification commands pass with evidence
|
|
222
|
-
-
|
|
222
|
+
- All tasks verified complete
|
|
223
223
|
|
|
224
224
|
---
|
|
225
225
|
|
|
@@ -246,28 +246,9 @@ For small changes, you can skip early phases:
|
|
|
246
246
|
|
|
247
247
|
---
|
|
248
248
|
|
|
249
|
-
|
|
250
|
-
|
|
251
|
-
Every phase should operate within a bead context:
|
|
252
|
-
|
|
253
|
-
```bash
|
|
254
|
-
# Create bead for new feature
|
|
255
|
-
br create "Feature Name"
|
|
256
|
-
|
|
257
|
-
# Check current bead status
|
|
258
|
-
br show <bead-id>
|
|
259
|
-
|
|
260
|
-
# Update status as you progress
|
|
261
|
-
br update <bead-id> --status in_progress
|
|
262
|
-
|
|
263
|
-
# Close when complete
|
|
264
|
-
br close <bead-id> --reason "All verification passed"
|
|
249
|
+
---
|
|
265
250
|
|
|
266
|
-
# Sync changes
|
|
267
|
-
br sync --flush-only
|
|
268
|
-
```
|
|
269
251
|
|
|
270
|
-
---
|
|
271
252
|
|
|
272
253
|
## Example Full Workflow
|
|
273
254
|
|
|
@@ -278,23 +259,23 @@ User: "I want to add a dark mode toggle"
|
|
|
278
259
|
→ skill({ name: "brainstorming" })
|
|
279
260
|
→ Questions about scope, triggers, persistence
|
|
280
261
|
→ Design decisions documented
|
|
281
|
-
→ Output: .
|
|
262
|
+
→ Output: .opencode/artifacts/<slug>/design.md
|
|
282
263
|
|
|
283
264
|
2. SPECIFICATION
|
|
284
265
|
→ skill({ name: "prd" })
|
|
285
266
|
→ Full PRD with requirements
|
|
286
267
|
→ Tasks section for conversion
|
|
287
|
-
→ Output: .
|
|
268
|
+
→ Output: .opencode/artifacts/<slug>/spec.md
|
|
288
269
|
|
|
289
270
|
3. TASK CONVERSION
|
|
290
271
|
→ skill({ name: "prd-task" })
|
|
291
272
|
→ JSON task list with dependencies
|
|
292
|
-
→ Output: .
|
|
273
|
+
→ Output: .opencode/artifacts/tasks.json
|
|
293
274
|
|
|
294
275
|
4. PLANNING
|
|
295
276
|
→ skill({ name: "writing-plans" })
|
|
296
277
|
→ Bite-sized implementation steps
|
|
297
|
-
→ Output: .
|
|
278
|
+
→ Output: .opencode/artifacts/<slug>/plan.md
|
|
298
279
|
|
|
299
280
|
5. IMPLEMENTATION
|
|
300
281
|
→ skill({ name: "executing-plans" })
|
|
@@ -306,7 +287,7 @@ User: "I want to add a dark mode toggle"
|
|
|
306
287
|
→ Tests pass: ✓
|
|
307
288
|
→ Lint clean: ✓
|
|
308
289
|
→ Build succeeds: ✓
|
|
309
|
-
|
|
290
|
+
→ All gates pass: ✓
|
|
310
291
|
```
|
|
311
292
|
|
|
312
293
|
---
|
|
@@ -316,5 +297,5 @@ User: "I want to add a dark mode toggle"
|
|
|
316
297
|
1. **Phase-appropriate skills:** Load the right skill for each phase
|
|
317
298
|
2. **Evidence at every gate:** No phase transition without verification
|
|
318
299
|
3. **Templates guide structure:** Use templates for consistent output
|
|
319
|
-
4. **
|
|
300
|
+
4. **Plans track progress:** Every feature gets a plan
|
|
320
301
|
5. **Skip only when appropriate:** Small changes can skip early phases
|
|
@@ -130,12 +130,12 @@ Assess test coverage:
|
|
|
130
130
|
When researching within task boundaries:
|
|
131
131
|
|
|
132
132
|
```bash
|
|
133
|
-
# 1. Include
|
|
134
|
-
gemini -p "@src/ @.
|
|
133
|
+
# 1. Include plan spec in context
|
|
134
|
+
gemini -p "@src/ @.opencode/artifacts/$(cat .opencode/artifacts/.active)/spec.md
|
|
135
135
|
Research implementations matching spec constraints"
|
|
136
136
|
|
|
137
|
-
# 2. Save findings to
|
|
138
|
-
# Write to .
|
|
137
|
+
# 2. Save findings to plan files
|
|
138
|
+
# Write to .opencode/artifacts/$(cat .opencode/artifacts/.active)/research.md
|
|
139
139
|
```
|
|
140
140
|
|
|
141
141
|
### Delegating Large Research to Gemini
|
|
@@ -39,7 +39,7 @@ read({
|
|
|
39
39
|
|
|
40
40
|
// 6. Document findings
|
|
41
41
|
write({
|
|
42
|
-
filePath: ".
|
|
42
|
+
filePath: ".opencode/artifacts/<slug>/research.md",
|
|
43
43
|
content: `# Zod Async Refinements
|
|
44
44
|
|
|
45
45
|
**Finding:** Async refinements use \`parseAsync()\` not \`parse()\`
|
|
@@ -35,7 +35,7 @@ dependencies: [executing-plans]
|
|
|
35
35
|
|
|
36
36
|
Read plan file, create TodoWrite with all tasks.
|
|
37
37
|
|
|
38
|
-
**Context file pattern:** If the plan exceeds ~500 tokens, write it to `.
|
|
38
|
+
**Context file pattern:** If the plan exceeds ~500 tokens, write it to `.opencode/artifacts/plan-context.md` and reference by path in subagent prompts instead of inlining. This saves tokens when dispatching multiple subagents from the same plan.
|
|
39
39
|
|
|
40
40
|
### 2. Execute Task with Subagent
|
|
41
41
|
|
|
@@ -116,16 +116,16 @@ After creating a worktree, persist its absolute path for session resume:
|
|
|
116
116
|
|
|
117
117
|
```bash
|
|
118
118
|
# After creating worktree
|
|
119
|
-
mkdir -p .
|
|
120
|
-
echo "/absolute/path/to/worktree" > .
|
|
119
|
+
mkdir -p .opencode/artifacts/
|
|
120
|
+
echo "/absolute/path/to/worktree" > .opencode/artifacts/worktree.txt
|
|
121
121
|
```
|
|
122
122
|
|
|
123
123
|
On session resume, restore the active worktree if tracking exists:
|
|
124
124
|
|
|
125
125
|
```bash
|
|
126
|
-
# Check if worktree exists for active
|
|
127
|
-
if [ -f .
|
|
128
|
-
WORKTREE_PATH=$(cat .
|
|
126
|
+
# Check if worktree exists for active plan
|
|
127
|
+
if [ -f .opencode/artifacts/worktree.txt ]; then
|
|
128
|
+
WORKTREE_PATH=$(cat .opencode/artifacts/worktree.txt)
|
|
129
129
|
cd "$WORKTREE_PATH"
|
|
130
130
|
fi
|
|
131
131
|
```
|
|
@@ -133,7 +133,7 @@ fi
|
|
|
133
133
|
On worktree cleanup (after merge), remove the tracking file:
|
|
134
134
|
|
|
135
135
|
```bash
|
|
136
|
-
rm -f .
|
|
136
|
+
rm -f .opencode/artifacts/worktree.txt
|
|
137
137
|
```
|
|
138
138
|
|
|
139
139
|
### 3. Run Project Setup
|
|
@@ -207,12 +207,12 @@ Total time = max(typecheck, lint) + test, not typecheck + lint + test.
|
|
|
207
207
|
|
|
208
208
|
If you just verified and nothing changed, don't re-verify:
|
|
209
209
|
|
|
210
|
-
1. After gates pass, record a stamp in `.
|
|
210
|
+
1. After gates pass, record a stamp in `.opencode/artifacts/verify.log`
|
|
211
211
|
2. Before running gates, compare current state to last stamp
|
|
212
212
|
3. If match → report cached PASS, skip redundant work
|
|
213
213
|
4. Cache is always bypassed for `--full` and ship/release
|
|
214
214
|
|
|
215
|
-
This matters when other commands need verification (e.g., closing
|
|
215
|
+
This matters when other commands need verification (e.g., closing tasks, `/ship`). If you verified 30 seconds ago and made no changes, the cache lets you skip.
|
|
216
216
|
|
|
217
217
|
## Enforcement Gates
|
|
218
218
|
|
|
@@ -220,9 +220,9 @@ Prompt-level rules get ignored under pressure. These gates are **hard blocks**
|
|
|
220
220
|
|
|
221
221
|
### Gate 1: Completion Claims Require verify.log
|
|
222
222
|
|
|
223
|
-
Before ANY completion claim (
|
|
223
|
+
Before ANY completion claim (close plan, PR creation, `/ship`, task completion):
|
|
224
224
|
|
|
225
|
-
1. Check `.
|
|
225
|
+
1. Check `.opencode/artifacts/verify.log` exists and contains a recent `PASS` stamp
|
|
226
226
|
2. If verify.log is missing or stale (older than last file change) → **BLOCK** — run verification first
|
|
227
227
|
3. If verify.log shows `FAIL` → **BLOCK** — do not proceed
|
|
228
228
|
|
|
@@ -252,12 +252,12 @@ Tasks can "pass" verification while containing stub implementations. This gate c
|
|
|
252
252
|
### When to Run
|
|
253
253
|
|
|
254
254
|
- After all PRD tasks are marked complete (during `/ship` Phase 4-5)
|
|
255
|
-
- Before closing any
|
|
255
|
+
- Before closing any task
|
|
256
256
|
- When `--full` verification is requested
|
|
257
257
|
|
|
258
258
|
### Stub Patterns to Detect
|
|
259
259
|
|
|
260
|
-
Scan all files modified in the current task
|
|
260
|
+
Scan all files modified in the current task for these phantom indicators:
|
|
261
261
|
|
|
262
262
|
```bash
|
|
263
263
|
# Run against modified code files only (exclude .md, .json, .yml to avoid false positives)
|
|
@@ -17,7 +17,7 @@ CHANGED=$({
|
|
|
17
17
|
git ls-files --others --exclude-standard -- '*.ts' '*.tsx' '*.js' '*.jsx'
|
|
18
18
|
} | sort -u)
|
|
19
19
|
|
|
20
|
-
# If in a
|
|
20
|
+
# If in a plan worktree, diff against the branch point:
|
|
21
21
|
# CHANGED=$({
|
|
22
22
|
# git diff --name-only --diff-filter=d main...HEAD -- '*.ts' '*.tsx' '*.js' '*.jsx'
|
|
23
23
|
# git ls-files --others --exclude-standard -- '*.ts' '*.tsx' '*.js' '*.jsx'
|
|
@@ -108,14 +108,14 @@ STAMP=$(printf '%s\n%s\n%s' \
|
|
|
108
108
|
"$(git ls-files --others --exclude-standard -- '*.ts' '*.tsx' '*.js' '*.jsx' | xargs cat 2>/dev/null)" \
|
|
109
109
|
| shasum -a 256 | cut -d' ' -f1)
|
|
110
110
|
|
|
111
|
-
echo "$STAMP $(date -u +%Y-%m-%dT%H:%M:%SZ) PASS" >> .
|
|
111
|
+
echo "$STAMP $(date -u +%Y-%m-%dT%H:%M:%SZ) PASS" >> .opencode/artifacts/verify.log
|
|
112
112
|
```
|
|
113
113
|
|
|
114
114
|
### Skip Check (before running gates)
|
|
115
115
|
|
|
116
116
|
```bash
|
|
117
117
|
# Read last verification stamp
|
|
118
|
-
LAST_STAMP=$(tail -1 .
|
|
118
|
+
LAST_STAMP=$(tail -1 .opencode/artifacts/verify.log 2>/dev/null | awk '{print $1}')
|
|
119
119
|
|
|
120
120
|
# Recompute current fingerprint (same formula as recording)
|
|
121
121
|
CURRENT_STAMP=$(printf '%s\n%s\n%s' \
|
|
@@ -137,11 +137,11 @@ fi
|
|
|
137
137
|
- Any file edited, staged, or committed since last verification
|
|
138
138
|
- `--full` flag always bypasses cache
|
|
139
139
|
- Manual `--no-cache` flag bypasses cache
|
|
140
|
-
- Different
|
|
140
|
+
- Different plan context (plan ID changed)
|
|
141
141
|
|
|
142
142
|
### Agent Behavior
|
|
143
143
|
|
|
144
|
-
When another command needs verification (e.g., closing a
|
|
144
|
+
When another command needs verification (e.g., closing a plan, `/ship`):
|
|
145
145
|
|
|
146
146
|
1. **Check cache first** — if clean, report `"Verification: cached PASS (no changes since <timestamp>)"`
|
|
147
147
|
2. **If cache miss** — run incremental gates normally
|
package/package.json
CHANGED
|
@@ -1,78 +1,78 @@
|
|
|
1
1
|
{
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
2
|
+
"name": "opencodekit",
|
|
3
|
+
"version": "0.23.0",
|
|
4
|
+
"description": "CLI tool for bootstrapping and managing OpenCodeKit projects",
|
|
5
|
+
"keywords": [
|
|
6
|
+
"agents",
|
|
7
|
+
"cli",
|
|
8
|
+
"mcp",
|
|
9
|
+
"opencode",
|
|
10
|
+
"opencodekit",
|
|
11
|
+
"template"
|
|
12
|
+
],
|
|
13
|
+
"homepage": "https://github.com/opencodekit-template/opencodekit-template#readme",
|
|
14
|
+
"bugs": {
|
|
15
|
+
"url": "https://github.com/opencodekit-template/opencodekit-template/issues"
|
|
16
|
+
},
|
|
17
|
+
"license": "MIT",
|
|
18
|
+
"author": "heyhuynhgiabuu <buub1309120@gmail.com>",
|
|
19
|
+
"repository": {
|
|
20
|
+
"type": "git",
|
|
21
|
+
"url": "git+https://github.com/opencodekit-template/opencodekit-template.git"
|
|
22
|
+
},
|
|
23
|
+
"bin": {
|
|
24
|
+
"ock": "dist/index.js"
|
|
25
|
+
},
|
|
26
|
+
"files": [
|
|
27
|
+
"dist",
|
|
28
|
+
"README.md"
|
|
29
|
+
],
|
|
30
|
+
"type": "module",
|
|
31
|
+
"publishConfig": {
|
|
32
|
+
"access": "public",
|
|
33
|
+
"registry": "https://registry.npmjs.org"
|
|
34
|
+
},
|
|
35
|
+
"scripts": {
|
|
36
|
+
"dev": "tsx src/index.ts",
|
|
37
|
+
"build": "tsdown && mkdir -p dist/template && rsync -av --exclude=node_modules --exclude=dist --exclude=.git --exclude=coverage --exclude=.next --exclude=.turbo --exclude=logs --exclude=package-lock.json --exclude='plugin/*.bak' --exclude=memory.db --exclude=memory.db-shm --exclude=memory.db-wal --exclude='memory.db.corrupt.*' --exclude=memory-recovery.log .opencode/ dist/template/.opencode/",
|
|
38
|
+
"typecheck": "tsgo --noEmit",
|
|
39
|
+
"test": "vitest run",
|
|
40
|
+
"test:watch": "vitest",
|
|
41
|
+
"validate:command-doc": "tsx src/validation/command-doc.ts --check",
|
|
42
|
+
"validate:docs-drift": "tsx src/validation/docs-drift.ts --check",
|
|
43
|
+
"validate:skill-lint": "tsx src/validation/skill-lint.ts --check",
|
|
44
|
+
"validate:governance": "npm run validate:command-doc && npm run validate:docs-drift && npm run validate:skill-lint",
|
|
45
|
+
"lint": "oxlint .",
|
|
46
|
+
"lint:fix": "oxlint --fix .",
|
|
47
|
+
"format": "oxfmt",
|
|
48
|
+
"format:check": "oxfmt --check"
|
|
49
|
+
},
|
|
50
|
+
"dependencies": {
|
|
51
|
+
"@ai-sdk/provider": "^3.0.8",
|
|
52
|
+
"@ai-sdk/provider-utils": "^4.0.15",
|
|
53
|
+
"@clack/prompts": "^0.7.0",
|
|
54
|
+
"@opencode-ai/plugin": "^1.2.6",
|
|
55
|
+
"cac": "^6.7.14",
|
|
56
|
+
"cli-table3": "^0.6.5",
|
|
57
|
+
"diff": "^8.0.3",
|
|
58
|
+
"env-paths": "^4.0.0",
|
|
59
|
+
"node-machine-id": "^1.1.12",
|
|
60
|
+
"ora": "^9.3.0",
|
|
61
|
+
"picocolors": "^1.1.1",
|
|
62
|
+
"zod": "^3.25.76"
|
|
63
|
+
},
|
|
64
|
+
"devDependencies": {
|
|
65
|
+
"@types/diff": "^8.0.0",
|
|
66
|
+
"@types/node": "^22.19.11",
|
|
67
|
+
"@typescript/native-preview": "latest",
|
|
68
|
+
"oxfmt": "^0.23.0",
|
|
69
|
+
"oxlint": "^1.48.0",
|
|
70
|
+
"tsdown": "latest",
|
|
71
|
+
"tsx": "latest",
|
|
72
|
+
"typescript": "^5.9.3",
|
|
73
|
+
"vitest": "latest"
|
|
74
|
+
},
|
|
75
|
+
"engines": {
|
|
76
|
+
"node": ">=20.19.0"
|
|
77
|
+
}
|
|
78
78
|
}
|