opencodekit 0.15.3 → 0.15.4

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 CHANGED
@@ -750,7 +750,7 @@ var cac = (name = "") => new CAC(name);
750
750
  // package.json
751
751
  var package_default = {
752
752
  name: "opencodekit",
753
- version: "0.15.3",
753
+ version: "0.15.4",
754
754
  description: "CLI tool for bootstrapping and managing OpenCodeKit projects",
755
755
  keywords: ["agents", "cli", "mcp", "opencode", "opencodekit", "template"],
756
756
  license: "MIT",
@@ -10,47 +10,55 @@ Complexity is the enemy. Every rule here fights complexity.
10
10
 
11
11
  Everything else is guidelines, not laws.
12
12
 
13
+ ---
14
+
13
15
  ## Delegation
14
16
 
15
- **Rule**: Before any complex tool call, ask: "Can a specialist agent do this better?"
17
+ **DO NOT execute complex tasks directly. Delegate if the work spans more than three files, requires digging into external documentation or APIs, needs a design review or debugging help for tricky failures, or ventures into territory you don't know well.**
18
+
19
+ Before any complex tool call, pause and ask yourself: "Can a specialist agent do this better?" If the answer is yes, delegate. If no, proceed directly.
20
+
21
+ When delegation makes sense, match the task to the right specialist. For small, well-defined tasks that touch only a few files, @general handles the job efficiently. When you need to search the codebase for patterns or understand how something works across multiple files, @explore is your tool. For external documentation, library APIs, or research into how frameworks work, @scout pulls the information you need. When you're reviewing code, auditing for bugs, or debugging complex failures, @review provides thorough analysis. Planning phases, architectural decisions, or design work benefit from @plan or @vision. And when you encounter images, PDFs, or diagrams that need content extracted through OCR or parsing, @looker handles the extraction cheaply and fast.
16
22
 
17
- - **Fast Tasks** @general (small, well-defined, ≤3 files)
18
- - **Search/Docs** → @explore / @scout
19
- - **Review/Debug** → @review
20
- - **Plan/Design** → @plan / @vision
21
- - **Media Extraction** → @looker (images, PDFs, diagrams needing OCR/parsing)
23
+ ### When to use @looker versus @vision
22
24
 
23
- If yes Delegate. If no Execute directly.
25
+ When you encounter media files, stop and ask yourself a simple question: "Do I need to extract content from this, or do I need judgment on how it looks?" The answer determines which specialist to call.
24
26
 
25
- ### @vision vs @looker
27
+ @looker handles pure extraction. It pulls content out of images, parses PDF documents, describes what diagram components contain, extracts table data, or transcribes handwritten notes. It's cheap using Gemini Flash, fast, and strictly read-only. Use it when you need to know what is inside the file. @vision handles design judgment. It evaluates how something looks, provides accessibility audits, reviews UI and UX choices, checks design system consistency, gives feedback on mockups, or detects anti-slop patterns. It's expensive using Gemini Pro, thorough, and opinionated. Use it when you need to know if something is good.
26
28
 
27
- When you encounter media files (images, PDFs, diagrams), ask: **"Do I need extraction or judgment?"**
29
+ ### Atomic Version
28
30
 
29
- **@looker** handles pure extraction—getting content OUT of media. Use it when you need to read what's inside: OCR text from images, parse PDF documents, describe diagram components, extract table data, or transcribe handwritten notes. Looker is cheap (Gemini Flash), fast, and read-only. It tells you WHAT is there.
31
+ ```
32
+ DO NOT execute complex tasks directly.
33
+ ASK: "Can a specialist agent do this better?"
34
+ If yes → delegate. If no → execute directly.
35
+ ```
30
36
 
31
- **@vision** handles design judgment—evaluating HOW something looks. Use it when you need critique: accessibility audits, UI/UX reviews, design system consistency checks, mockup feedback, or anti-slop detection. Vision is expensive (Gemini Pro), thorough, and opinionated. It tells you if something is GOOD.
37
+ ---
32
38
 
33
39
  ## Question Tool
34
40
 
35
- **Rule**: Use `question` tool to gather user input when interpretation matters.
41
+ **DO NOT proceed with implementation when interpretation matters.** When a request could reasonably be interpreted in multiple ways that lead to different implementations, ask for clarification before building something that doesn't match what the user wanted.
36
42
 
37
- ### When to Use
43
+ ### When to use the question tool
38
44
 
39
- Use the question tool when ambiguous requests could lead to significantly different implementations—if "add auth" could mean OAuth, JWT, or session-based, ask before building the wrong thing. Use it when multiple valid approaches exist and user preference matters, like choosing between frameworks or patterns. Always ask before destructive operations like deleting branches, resetting hard, or force pushing. When user preferences affect the outcome—naming conventions, file structure, coding stylelet them choose. For gathering multiple selections at once, use `multiple: true` to let users pick several options.
45
+ Reach for the question tool when the request is ambiguous and could lead to significantly different outcomes. For example, if the user asks to "add auth" and that could mean OAuth, JWT, session-based authentication, or something else entirely, ask before building the wrong thing. Use it when multiple valid approaches exist and user preference matters deeply, such as choosing between frameworks, architectural patterns, or coding styles. Always ask before destructive operations like deleting branches, resetting hard, or force pushing to remote. When user preferences will affect naming conventions, file structure, or coding style, let them choose rather than assuming.
40
46
 
41
- ### When NOT to Use
47
+ ### When NOT to use the question tool
42
48
 
43
- Skip the question tool for trivial decisions where any reasonable choice works. If you already have enough context from the conversation, just proceed. When you can make a sensible default, mention what you're doing and continue—don't stop for permission on every small choice. Subagents like explore, scout, and review should never ask questions; they report findings back to the leader agent who decides what to do.
49
+ Skip the question tool for trivial decisions where any reasonable choice works equally well. If you already have enough context from the conversation to make a sensible call, make it and mention what you're doing rather than stopping for permission on every small choice. Subagents like explore, scout, and review should never ask questions during their work; they report findings back to the leader agent who then decides what action to take.
44
50
 
45
51
  ### Question Design
46
52
 
53
+ When you do need to ask, structure the questions thoughtfully. Keep headers under twelve characters so they display cleanly. Limit the options to three or five at most, because more than that overwhelms users and makes decision-making harder. Write short, clear descriptions that explain the trade-off of each option rather than just describing what it is. Analyze each option against the user's context, project constraints, and industry best practices before recommending anything. Only add "(Recommended)" to the option that genuinely fits best based on your analysis. Place the recommended option first so users can quickly identify the optimal choice without reading everything. Don't try to cover every edge case in your options; the "Other" option exists for situations you didn't anticipate.
54
+
47
55
  ```typescript
48
56
  question({
49
57
  questions: [
50
58
  {
51
59
  header: "Auth Type", // Max 12 chars
52
60
  question: "Which authentication approach?",
53
- multiple: false, // true for multi-select
61
+ multiple: false,
54
62
  options: [
55
63
  { label: "JWT (Recommended)", description: "Stateless, scalable" },
56
64
  { label: "Session-based", description: "Traditional, server-side" },
@@ -61,103 +69,227 @@ question({
61
69
  });
62
70
  ```
63
71
 
64
- **Design Rules:**
72
+ ### Atomic Version
73
+
74
+ ```
75
+ DO NOT implement when interpretation is ambiguous.
76
+ ASK the user to clarify.
77
+ Limit options to 3-5. Recommend best option first.
78
+ ```
79
+
80
+ ---
81
+
82
+ ## Anti-Hallucination
65
83
 
66
- 1. **Analyze before recommending**: Evaluate each option against the user's context, project constraints, and industry best practices. Only add "(Recommended)" to the option that genuinely fits best—don't default to the first option blindly.
84
+ **DO NOT proceed without verification checkpoints.** Before you start any significant work, before you use any external link, and before you claim completion, verify what you need to verify.
85
+
86
+ ### The Three Blockers
87
+
88
+ These are hard gates that must be passed before proceeding. First, DO NOT start major work without running `bd show <id>` to understand the task context. Understanding the task context enables everything that follows, so skipping this blocks your ability to work effectively. Second, DO NOT generate ANY URL yourself. If you need an external link, either the user provides it or you use @scout to fetch verified information. Guessing URLs leads to hallucinated documentation and broken references. Third, DO NOT claim completion without running `bd close <id>` to mark the task as done. Claiming work is finished without closing the task breaks the tracking system and loses context.
89
+
90
+ ### Verification chain
91
+
92
+ Think of these checkpoints as a chain where each step enables the next. Running `bd show <id>` gives you task context, which enables you to proceed with confidence. Verifying links through fetch before using them enables you to trust your sources. Running `bd close <id>` marks you as complete and finalizes the state.
93
+
94
+ ### No guessing protocol
95
+
96
+ Never generate URLs on your own. If the user provides a URL, fetch it to verify it exists and contains what they expect. If you need external information you don't have, use @scout or web search to find it rather than inventing something. If you cannot verify a link or piece of information, say explicitly "I cannot verify this" rather than guessing and potentially providing incorrect information to the user.
97
+
98
+ ### Atomic Version
99
+
100
+ ```
101
+ DO NOT skip task context check.
102
+ DO NOT guess URLs. Fetch first.
103
+ DO NOT claim done without closing task.
104
+ ```
67
105
 
68
- 2. **Put recommended first**: Place the analyzed best-practice option first with "(Recommended)" in the label so users can quickly identify the optimal choice.
106
+ ---
69
107
 
70
- 3. **Keep it focused**: Limit to 3-5 options—more overwhelms users. Write short, clear descriptions that explain the tradeoff of each option.
108
+ ## Coding Philosophy
71
109
 
72
- 4. **Don't over-specify**: Users can always select "Other" to provide custom input, so you don't need to cover every edge case.
110
+ **DO NOT write code that violates these principles.** These constraints protect you and the user from common failure modes.
73
111
 
74
- ## Anti-Hallucination (The Truth)
112
+ ### The Four Constraints
75
113
 
76
- - **Check First**: Run `bd show <id>` before starting major work.
77
- - **No Guessing**: Never generate URLs. Use only verified links.
78
- - **Land the Plane**: Close tasks when done (`bd close <id>`).
114
+ First, DO NOT lie about understanding. If you don't understand what the user is asking for or how the code works, ask for clarification. Saying "I don't know" is far better than providing code or explanations that are wrong. The user would rather answer a question than deal with bugs caused by guessed assumptions.
79
115
 
80
- ## Coding Philosophy (Grug Style)
116
+ Second, DO NOT abstract prematurely. Wait until you've seen the same pattern at least three times before extracting it into an abstraction. Resist the urge to invent abstractions before the pattern exists. You'll save yourself from creating abstractions that don't quite fit and that become technical debt.
81
117
 
82
- 1. **Say No**: If you don't understand, ask. "I don't know" is better than a lie.
83
- 2. **No Premature Abstraction**: Don't abstract until you see the pattern 3 times.
84
- 3. **Break It Down**: Complex `if` conditions are bugs waiting to happen. Use named variables.
85
- - _Bad_: `if (x && !y && (z || w))`
86
- - _Good_: `const isValid = x && !y; const hasPermission = z || w; if (isValid && hasPermission)`
87
- 4. **Logs**: Log before and after state changes. Silent failures are the devil.
118
+ Third, DO NOT write complex conditionals. If you find yourself writing conditions like `if (x && !y && (z || w))`, stop and refactor. Extract each condition into a named variable so the intent is clear. The bad example becomes good when you write: `const isValid = x && !y; const hasPermission = z || w; if (isValid && hasPermission)`. Named conditions are self-documenting and make bugs easier to find.
119
+
120
+ Fourth, DO NOT skip logging. Log before state changes so you can trace the flow, and log after state changes so you can confirm what happened. Silent failures are the devil because they leave you with no information when things go wrong. The absence of logs makes debugging nearly impossible.
121
+
122
+ ### Atomic Version
123
+
124
+ ```
125
+ DO NOT lie about understanding.
126
+ DO NOT abstract until pattern appears 3x.
127
+ DO NOT write complex conditionals without names.
128
+ DO NOT skip logs around state changes.
129
+ ```
130
+
131
+ ---
88
132
 
89
133
  ## Tool Priority
90
134
 
91
- **Rule**: Always `read` before `edit`. Always `LSP` before `edit`.
135
+ **DO NOT edit before completing the verification chain.** Editing without understanding the code leads to broken changes. Follow the chain from search to understanding, then edit.
136
+
137
+ ### The Chain
138
+
139
+ The verification chain is: grep to find relevant text, read to see the file content, run all nine LSP operations to understand the code structure, search memory for relevant context, build understanding of what you're changing, and only then edit. Skipping any step in this chain is a violation.
140
+
141
+ ### LSP Operations (all nine are mandatory)
142
+
143
+ Before you edit anything, you must run all nine LSP operations to understand what you're changing. Run `documentSymbol` to see the file structure and identify all functions, classes, and variables. Run `goToDefinition` to jump to where the symbol you're modifying is defined, so you understand its original implementation. Run `findReferences` to discover every usage of that symbol across the codebase, so you know what else might be affected. Run `hover` to get type information and documentation for the symbol. Run `goToImplementation` to find implementations of interfaces or abstract classes. Run `workspaceSymbol` to search for symbols across the entire workspace. Run `prepareCallHierarchy` to get the call hierarchy for the function you're working on. Run `incomingCalls` to discover what functions call this function. Run `outgoingCalls` to see what this function calls. Each operation reveals different information about your target, and skipping any of them means you're working with incomplete understanding.
92
144
 
93
- 1. **LSP (Best)**: Use ALL 9 operations. **MANDATORY before ANY edit.**
94
- - `documentSymbol` - File structure (functions, classes, variables)
95
- - `goToDefinition` - Jump to where symbol is defined
96
- - `findReferences` - Find all usages of a symbol
97
- - `hover` - Get type info and documentation
98
- - `goToImplementation` - Find implementations of interface/abstract
99
- - `workspaceSymbol` - Search symbols across entire workspace
100
- - `prepareCallHierarchy` - Get call hierarchy item at position
101
- - `incomingCalls` - Find what calls this function
102
- - `outgoingCalls` - Find what this function calls
103
- 2. **Memory**: `memory-search` (Check past learnings)
104
- 3. **Structure**: `lsp` (Find symbols, definitions, references)
105
- 4. **Search**: `grep` (Find text/TODOs)
106
- 5. **Files**: `glob` (Find files)
145
+ ### Checkpoint protocol
107
146
 
108
- **LSP-First Workflow (HARD RULE):**
147
+ After running LSP operations, verify you can answer these questions before editing. What symbol am I modifying and where is it defined? What else uses this symbol and could be affected by my changes? What functions call this function and what functions does this function call? What is the overall file structure and how does my target fit into it? Are there implementations of interfaces or abstract classes that I need to consider? If you cannot answer any of these questions, run more LSP operations until you can.
148
+
149
+ ### Memory checkpoint
150
+
151
+ Before editing, also check memory for relevant context. Use `memory-search` to find past decisions, patterns, and gotchas related to your work. Use `memory-read` to review active project files that might affect what you're changing. Apply past learnings from memory before proceeding rather than repeating mistakes or ignoring existing patterns.
152
+
153
+ ### Tool priority order
154
+
155
+ LSP operations are mandatory before any edit. Memory check comes next. Then structure understanding through symbols, definitions, and references. Search with grep for text patterns and TODOs. Finally, glob for file patterns when you need to find files by name.
156
+
157
+ ### Atomic Version
109
158
 
110
159
  ```
111
- grep/read LSP understand THEN edit
160
+ DO NOT edit before LSP (all 9 operations).
161
+ DO NOT edit before memory search.
162
+ DO NOT edit before you can explain what you're changing.
163
+
164
+ Chain: grep → read → LSP(9) → memory → understand → edit
112
165
  ```
113
166
 
114
- Violations: `read → edit` or `grep → edit` without LSP = WRONG.
167
+ ---
168
+
169
+ ## Active Memory
170
+
171
+ **DO NOT proceed without checking memory proactively.** Memory is your external brain. Use it before you start work, not just when someone asks you to.
172
+
173
+ ### The Three Actions
174
+
175
+ First, DO NOT start any significant work without checking memory. Run `memory-search` to find relevant context about the project, the user's preferences, and past decisions. Run `memory-read` for active files that contain information you need to remember. Checking memory before starting prevents you from forgetting important context that affects your work.
115
176
 
116
- ## Active Memory (The Brain)
177
+ Second, DO NOT skip saving your own learnings. When you make decisions, discover patterns, or encounter gotchas, use the `observation` tool to save them immediately. Capture the insight before you forget it. What you don't write down, you will lose.
117
178
 
118
- **Rule**: Use memory proactively, not just when asked.
179
+ Third, DO NOT ignore LSP nudges. If the system suggests running an LSP operation and you see that nudge, execute it immediately. Don't defer it and don't skip it. Nudges exist because something needs attention.
119
180
 
120
- - **Start**: `memory-search` to find relevant context and code.
121
- - **Learn**: `observation` to save decisions, patterns, and gotchas.
122
- - **Act**: If you see an LSP Nudge, execute it. Don't wait.
181
+ ### Memory-start protocol
182
+
183
+ At the start of any significant task, complete these three steps in order. First, run `memory-search` with relevant keywords to find context. Second, run `memory-read` on project files that might be relevant. Third, run `memory-read` on user preference files to remember what the user wants. Only after completing these steps should you proceed with the actual work.
184
+
185
+ ### Atomic Version
186
+
187
+ ```
188
+ DO NOT start without memory-search.
189
+ DO NOT skip observation on decisions.
190
+ DO NOT ignore LSP Nudges.
191
+ ```
192
+
193
+ ---
123
194
 
124
195
  ## Beads (Task Tracking)
125
196
 
126
- **Leader Only**: `build` and `plan` agents own the DB. Subagents read-only.
197
+ **DO NOT work without task context. DO NOT claim completion without closing.** Task tracking keeps you honest about what you're working on and what you've finished.
198
+
199
+ ### Leader protocol for build and plan agents
200
+
201
+ Only build and plan agents own the beads database. Subagents work read-only and report findings back to their leader. The leader follows this chain: run `bd ready` to find unblocked work, run `bd update <id> --status in_progress` to claim the task, do the editing work, run `bd close <id> --reason "..."` to mark it complete, run `bd sync` to push changes to git, and then restart the session. Skipping any step breaks the tracking flow.
202
+
203
+ ### Subagent protocol
204
+
205
+ Subagents must not modify beads state. When a subagent needs task information, read it with `bd show <id>`. Report findings back to the leader agent rather than making decisions yourself. Let the leader agent update task status. This keeps the tracking system clean and ensures only one agent controls each task's state.
206
+
207
+ ### Checkpoints before claiming done
127
208
 
128
- - **Start**: `bd ready` `bd update <id> --status in_progress`
129
- - **Work**: `bd update <id> --status in_progress` → Edit
130
- - **Finish**: `bd close <id> --reason "..."` → `bd sync` → **RESTART SESSION**
209
+ Before you claim work is complete, verify these things have happened. You ran `bd update <id> --status in_progress` when you started. You completed the actual editing work. You ran `bd close <id> --reason "..."` with a meaningful reason explaining what you did. You ran `bd sync` to push the changes. If any of these are missing, the work is not done.
210
+
211
+ ### Atomic Version
212
+
213
+ ```
214
+ DO NOT work without claiming task first.
215
+ DO NOT claim done without closing task.
216
+ DO NOT end session without syncing.
217
+ ```
218
+
219
+ ---
131
220
 
132
221
  ## Parallel Execution
133
222
 
134
- **Rule**: Fire research subagents in parallel, continue working, collect when needed.
223
+ **DO NOT wait for sequential research when parallel is possible.** When you have multiple independent questions or unknowns, launch subagents in parallel and continue your own work while they run.
135
224
 
136
- For complex tasks with multiple unknowns, don't wait for sequential research. Launch parallel tasks using the built-in `task` tool:
225
+ ### When to use parallel execution
226
+
227
+ Use parallel execution when you have multiple independent research questions that don't depend on each other's answers. Use it when a complex task touches unfamiliar code and you need both codebase patterns and external documentation to understand what you're dealing with. Use it when you have three or more unknowns that don't depend on each other. In all these cases, don't wait for one research task to finish before starting the next.
228
+
229
+ ### The pattern
230
+
231
+ Launch parallel subagents using the task tool and continue working immediately. Results come back in the same message when both complete.
137
232
 
138
233
  ```typescript
139
- // Parallel Task tool calls (recommended)
140
- task({ subagent_type: "explore", prompt: "Find auth patterns..." }); // → runs in parallel
141
- task({ subagent_type: "scout", prompt: "Find JWT docs..." }); // → runs in parallel
234
+ task({ subagent_type: "explore", prompt: "Find auth patterns..." }); // → parallel
235
+ task({ subagent_type: "scout", prompt: "Find JWT docs..." }); // → parallel
142
236
 
143
237
  // Continue with implementation work immediately...
144
- // Results come back in same message (no manual collection needed)
238
+ // Results come back in the same message
145
239
  ```
146
240
 
147
- **When to use parallel execution:**
241
+ ### When NOT to use parallel execution
148
242
 
149
- - Multiple independent research questions
150
- - Complex tasks touching unfamiliar code
151
- - Need both codebase patterns AND external docs
243
+ Don't use parallel execution for simple, well-understood changes where one path is clear. Don't use it when tasks have sequential dependencies, where task B needs task A's output before it can start. Don't use it for quick fixes with a known approach where research isn't needed. Don't use it when you have only a single research question.
152
244
 
153
- **When NOT to use:**
245
+ ### Atomic Version
154
246
 
155
- - Simple, well-understood changes
156
- - Sequential dependencies (B needs A's output)
157
- - Quick fixes with known approach
247
+ ```
248
+ DO NOT wait for sequential research.
249
+ LAUNCH parallel subagents for independent questions.
250
+ CONTINUE working while they run.
251
+ ```
252
+
253
+ ---
158
254
 
159
255
  ## Core Constraints
160
256
 
161
- - No sudo.
162
- - POSIX compatible (macOS/Linux).
163
- - Use absolute paths.
257
+ These are hard limits that must never be violated. DO NOT run commands with sudo. DO NOT write code that only works on non-POSIX systems like Windows; keep everything compatible with macOS and Linux. DO NOT use relative paths; always use absolute paths for file operations.
258
+
259
+ ---
260
+
261
+ ## Complete Atomic Reference
262
+
263
+ Use these summaries as quick reminders before starting different types of work.
264
+
265
+ ### Before any edit
266
+
267
+ Before you edit anything, complete these steps: run all nine LSP operations, search memory for context, load task context, and build understanding of what you're changing. Only then edit.
268
+
269
+ ### Before any complex task
270
+
271
+ Before you execute a complex task directly, check if you should delegate instead. Consider whether the task touches more than three files, requires external research, needs design review, or involves unfamiliar territory. If any of these are true, delegate to a specialist agent.
272
+
273
+ ### Before any implementation
274
+
275
+ Before you start implementing, verify the requirements are clear. If interpretation is ambiguous or requirements are unclear, ask questions first rather than building the wrong thing.
276
+
277
+ ### Before claiming done
278
+
279
+ Before you claim completion, verify these things: you ran `bd close <id>`, you ran `bd sync`, there are no pending LSP nudges, and you saved observations for any important decisions or patterns.
280
+
281
+ ---
282
+
283
+ ## Pattern: Constraint Chains
284
+
285
+ Each rule enables the next one in a chain. Memory search enables LSP operations, which enable understanding, which enables editing. Understanding enables verification, which enables claiming done. Removing any constraint from the chain reduces effectiveness. All rules are synergistic and work together.
286
+
287
+ ---
288
+
289
+ ## Violation Protocol
290
+
291
+ When you notice you've violated these rules, follow a simple protocol. Detect the deviation from the chain. Correct by returning to the last valid checkpoint. Log the violation using the `observation` tool so you remember what went wrong. Adjust your behavior for the next iteration to prevent the same violation.
292
+
293
+ ---
294
+
295
+ _Rules derived from context-field research: inhibition beats instruction. "Do NOT X" creates blockers that must be resolved. "Do X" creates preferences that are ignored._
@@ -6,9 +6,13 @@ permission:
6
6
  write:
7
7
  "*": deny
8
8
  ".beads/artifacts/*/*.md": allow
9
+ ".opencode/memory/plans/*.md": allow
10
+ ".opencode/memory/project/*.md": allow
9
11
  edit:
10
12
  "*": deny
11
13
  ".beads/artifacts/*/*.md": allow
14
+ ".opencode/memory/plans/*.md": allow
15
+ ".opencode/memory/project/*.md": allow
12
16
  bash:
13
17
  "*": allow
14
18
  "rm*": deny
@@ -11,7 +11,7 @@
11
11
  "type-check": "tsc --noEmit"
12
12
  },
13
13
  "dependencies": {
14
- "@opencode-ai/plugin": "1.1.19"
14
+ "@opencode-ai/plugin": "1.1.23"
15
15
  },
16
16
  "devDependencies": {
17
17
  "@types/node": "^25.0.3",
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "opencodekit",
3
- "version": "0.15.3",
3
+ "version": "0.15.4",
4
4
  "description": "CLI tool for bootstrapping and managing OpenCodeKit projects",
5
5
  "keywords": ["agents", "cli", "mcp", "opencode", "opencodekit", "template"],
6
6
  "license": "MIT",