opencodekit 0.2.2 → 0.2.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/README.md CHANGED
@@ -247,6 +247,7 @@ You've successfully set up OpenCodeKit when:
247
247
  - **Custom Commands**: `.opencode/command/` - All 45+ workflow commands
248
248
  - **Skills System**: `.opencode/skills/` - 24 skills (8 core, 7 stack, 9 specialized)
249
249
  - **Memory System**: `.opencode/memory/` - Persistent cross-session knowledge
250
+ - **Templates**: `.opencode/memory/_templates/` - PRD and task templates for `/create` and `/issue` commands
250
251
 
251
252
  ---
252
253
 
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.2.1",
753
+ version: "0.2.3",
754
754
  description: "CLI tool for bootstrapping and managing OpenCodeKit projects",
755
755
  type: "module",
756
756
  repository: {
@@ -5,7 +5,7 @@
5
5
  # ============================================================================
6
6
 
7
7
  # Configure bash command timeout (default: 120000ms = 2 minutes)
8
- OPENCODE_EXPERIMENTAL_BASH_DEFAULT_TIMEOUT_MS=300000
8
+ export OPENCODE_EXPERIMENTAL_BASH_DEFAULT_TIMEOUT_MS=300000
9
9
  export OPENCODE_DISABLE_AUTOCOMPACT=0 # Disable broken compaction
10
10
  export OPENCODE_DISABLE_PRUNE=0 # Disable potentially buggy pruning
11
11
  export OPENCODE_EXPERIMENTAL_TURN_SUMMARY=1
@@ -56,40 +56,64 @@ bd create "[title]" -t [type] -p [priority] -d "[description]" --json
56
56
  mkdir -p .beads/artifacts/<bead-id>
57
57
  ```
58
58
 
59
+ Use the PRD template from `.opencode/memory/_templates/task-prd.md` as the base structure.
60
+
59
61
  Write `.beads/artifacts/<bead-id>/spec.md`:
60
62
 
61
63
  ```markdown
62
64
  # [Title]
63
65
 
64
66
  **Bead:** <bead-id>
65
- **Mode:** [Quick/Deep]
67
+ **Created:** [date]
68
+ **Status:** To Do
69
+
70
+ ## Goal
71
+
72
+ [1-2 sentences: What exactly are we building and why?]
73
+
74
+ ## Scope
66
75
 
67
- ## Problem
76
+ ### In-Scope:
68
77
 
69
- [1-2 sentences]
78
+ - [What we ARE doing]
70
79
 
71
- ## Requirements
80
+ ### Out-of-Scope:
72
81
 
73
- - [Requirement 1]
74
- - [Requirement 2]
82
+ - [What we are NOT doing]
83
+
84
+ ## User Flow
85
+
86
+ 1. [Step 1: What user sees/does]
87
+ 2. [Step 2]
88
+ 3. [Step 3]
75
89
 
76
90
  ## Success Criteria
77
91
 
78
- - [ ] [Criterion 1]
79
- - [ ] [Criterion 2]
92
+ - [ ] [Specific, measurable criterion 1]
93
+ - [ ] [Specific, measurable criterion 2]
94
+ - [ ] [Specific, measurable criterion 3]
95
+
96
+ ## Dependencies
97
+
98
+ - [List any prerequisites or blocking tasks]
99
+
100
+ ## Notes
101
+
102
+ [Additional context or constraints]
80
103
  ```
81
104
 
105
+ For **Quick** mode, simplify: Goal, Success Criteria, Notes only.
106
+
82
107
  For **Deep** mode, add:
83
108
 
84
109
  ```markdown
85
- ## Scope
86
-
87
- **In:** [What we ARE doing]
88
- **Out:** [What we are NOT doing]
89
-
90
110
  ## Open Questions
91
111
 
92
112
  - [Question for research phase]
113
+
114
+ ## Technical Approach
115
+
116
+ [To be filled during /research phase]
93
117
  ```
94
118
 
95
119
  ## Phase 5: Report
@@ -33,26 +33,55 @@ Save the bead ID for subsequent commands. Add the GitHub issue reference:
33
33
  bd edit <bead-id> --note "GitHub issue: #$ARGUMENTS"
34
34
  ```
35
35
 
36
- ## Implementation Plan
36
+ ## Create Spec from PRD Template
37
+
38
+ Use `.opencode/memory/_templates/task-prd.md` as the base structure.
37
39
 
38
40
  Save to `.beads/artifacts/<bead-id>/spec.md`:
39
41
 
40
- 1. **Files to change:** Identify affected code
41
- 2. **Testing strategy:** How to verify fix
42
- 3. **Risks/edge cases:** What could go wrong
42
+ ```markdown
43
+ # [Issue Title]
44
+
45
+ **Bead:** <bead-id>
46
+ **Created:** [date]
47
+ **Status:** To Do
48
+ **GitHub Issue:** #$ARGUMENTS
49
+
50
+ ## Goal
51
+
52
+ [What exactly are we fixing/building and why?]
53
+
54
+ ## Scope
55
+
56
+ ### In-Scope:
57
+
58
+ - [Files to change]
59
+ - [Specific functionality to fix/add]
43
60
 
44
- ## Action Plan
61
+ ### Out-of-Scope:
45
62
 
46
- 1. Create branch: `git checkout -b issue-$ARGUMENTS`
47
- 2. Implementation steps (ordered)
48
- 3. Testing approach
49
- 4. Documentation updates
63
+ - [What we are NOT touching]
50
64
 
51
- ## Acceptance Criteria
65
+ ## User Flow
52
66
 
53
- - [ ] Concrete deliverables
54
- - [ ] Test cases to verify
55
- - [ ] Performance considerations
67
+ 1. [How user encounters the issue]
68
+ 2. [Expected behavior after fix]
69
+
70
+ ## Success Criteria
71
+
72
+ - [ ] [Specific fix verified]
73
+ - [ ] [Test cases pass]
74
+ - [ ] [No regression]
75
+
76
+ ## Dependencies
77
+
78
+ - [List any prerequisites or blocking tasks]
79
+
80
+ ## Notes
81
+
82
+ - **Risks/edge cases:** [What could go wrong]
83
+ - **Testing strategy:** [How to verify fix]
84
+ ```
56
85
 
57
86
  ## Discovered Work
58
87
 
@@ -1,542 +1,432 @@
1
1
  {
2
- "$schema": "https://opencode.ai/config.json",
3
- "agent": {
4
- "build": {
5
- "description": "Primary development agent with full codebase access",
6
- "model": "proxypal/gemini-claude-opus-4-5-thinking"
7
- },
8
- "designer": {
9
- "description": "UI/UX design specialist for mockup analysis and aesthetic guidance",
10
- "model": "proxypal/gemini-3-pro-preview"
11
- },
12
- "explore": {
13
- "description": "Fast codebase search specialist"
14
- },
15
- "general": {
16
- "disable": true
17
- },
18
- "plan": {
19
- "disable": true
20
- },
21
- "planner": {
22
- "description": "Strategic planning agent for architecture and design",
23
- "model": "proxypal/gpt-5.2"
24
- },
25
- "review": {
26
- "description": "Code review, debugging, and security audit specialist",
27
- "model": "proxypal/gemini-2.5-flash-lite"
28
- },
29
- "rush": {
30
- "description": "Fast primary agent for small, well-defined tasks",
31
- "model": "zai-coding-plan/glm-4.6"
32
- },
33
- "scout": {
34
- "description": "External research specialist for library docs and patterns",
35
- "model": "proxypal/gemini-claude-sonnet-4-5"
36
- }
37
- },
38
- "autoupdate": false,
39
- "experimental": {
40
- "batch_tool": true,
41
- "chatMaxRetries": 2,
42
- "primary_tools": ["edit", "write", "bash", "prune"]
43
- },
44
- "formatter": {
45
- "biome": {
46
- "command": ["npx", "@biomejs/biome", "check", "--write", "$FILE"],
47
- "extensions": [".js", ".jsx", ".ts", ".tsx", ".json", ".jsonc"]
48
- },
49
- "java-formatter": {
50
- "command": ["google-java-format", "--replace", "$FILE"],
51
- "environment": {
52
- "JAVA_HOME": "{env:JAVA_HOME}"
53
- },
54
- "extensions": [".java"]
55
- },
56
- "prettier": {
57
- "command": ["npx", "prettier", "--write", "$FILE"],
58
- "extensions": [".html", ".css", ".scss", ".sass", ".md", ".yaml", ".yml"]
59
- }
60
- },
61
- "keybinds": {
62
- "command_list": ";",
63
- "leader": "`",
64
- "session_child_cycle": "ctrl+alt+right",
65
- "session_child_cycle_reverse": "ctrl+alt+left"
66
- },
67
- "mcp": {
68
- "Framelink MCP for Figma": {
69
- "command": [
70
- "npx",
71
- "-y",
72
- "figma-developer-mcp",
73
- "--figma-api-key={env:FIGMA_API_KEY}",
74
- "--stdio"
75
- ],
76
- "enabled": false,
77
- "type": "local"
78
- },
79
- "augment-context-engine": {
80
- "command": ["auggie", "--mcp"],
81
- "enabled": false,
82
- "type": "local"
83
- },
84
- "context7": {
85
- "enabled": true,
86
- "headers": {
87
- "CONTEXT7_API_KEY": "{env:CONTEXT7_API_KEY}"
88
- },
89
- "timeout": 10000,
90
- "type": "remote",
91
- "url": "https://mcp.context7.com/mcp"
92
- },
93
- "gh_grep": {
94
- "enabled": true,
95
- "type": "remote",
96
- "url": "https://mcp.grep.app"
97
- },
98
- "gkg": {
99
- "enabled": true,
100
- "type": "remote",
101
- "url": "http://localhost:27495/mcp"
102
- },
103
- "playwright": {
104
- "command": ["npx", "@playwright/mcp@latest"],
105
- "enabled": false,
106
- "type": "local"
107
- }
108
- },
109
- "model": "proxypal/gemini-claude-opus-4-5-thinking",
110
- "permission": {
111
- "bash": {
112
- "git commit *": "ask",
113
- "git push *": "ask",
114
- "rm *": "ask",
115
- "rm -rf *": "ask"
116
- },
117
- "doom_loop": "ask",
118
- "edit": "allow",
119
- "external_directory": "allow"
120
- },
121
- "plugin": [
122
- "opencode-gemini-auth",
123
- "./plugin/superpowers.ts",
124
- "./plugin/notification.ts",
125
- "@tarquinen/opencode-dcp@latest",
126
- "@howaboua/pickle-thinker@0.1.3"
127
- ],
128
- "provider": {
129
- "github-copilot": {
130
- "models": {
131
- "claude-haiku-4.5": {
132
- "attachment": true,
133
- "options": {
134
- "thinking": {
135
- "budgetTokens": 16000,
136
- "type": "enabled"
137
- }
138
- },
139
- "reasoning": true,
140
- "temperature": true,
141
- "tool_call": true
142
- },
143
- "claude-opus-4.5": {
144
- "attachment": true,
145
- "options": {
146
- "thinking": {
147
- "budgetTokens": 32000,
148
- "type": "enabled"
149
- }
150
- },
151
- "reasoning": true,
152
- "temperature": true,
153
- "tool_call": true
154
- },
155
- "claude-sonnet-4.5": {
156
- "attachment": true,
157
- "options": {
158
- "thinking": {
159
- "budgetTokens": 16000,
160
- "type": "enabled"
161
- }
162
- },
163
- "reasoning": true,
164
- "temperature": true,
165
- "tool_call": true
166
- },
167
- "gpt-5.1": {
168
- "attachment": true,
169
- "options": {
170
- "reasoning": {
171
- "effort": "high"
172
- }
173
- },
174
- "reasoning": true,
175
- "temperature": true,
176
- "tool_call": true
177
- },
178
- "gpt-5.1-codex": {
179
- "attachment": true,
180
- "options": {
181
- "reasoning": {
182
- "effort": "high"
183
- }
184
- },
185
- "reasoning": true,
186
- "temperature": true,
187
- "tool_call": true
188
- }
189
- },
190
- "npm": "@ai-sdk/anthropic"
191
- },
192
- "proxypal": {
193
- "models": {
194
- "claude-haiku-4.5": {
195
- "limit": {
196
- "context": 200000,
197
- "output": 64000
198
- },
199
- "name": "Copilot Claude Haiku 4 5"
200
- },
201
- "claude-opus-4-5-20251101": {
202
- "limit": {
203
- "context": 200000,
204
- "output": 64000
205
- },
206
- "name": "Claude Opus 4 5 20251101"
207
- },
208
- "claude-opus-4.1": {
209
- "limit": {
210
- "context": 200000,
211
- "output": 64000
212
- },
213
- "name": "Copilot Claude Opus 4 1"
214
- },
215
- "claude-opus-4.5": {
216
- "limit": {
217
- "context": 200000,
218
- "output": 64000
219
- },
220
- "name": "Copilot Claude Opus 4 5"
221
- },
222
- "claude-sonnet-4": {
223
- "limit": {
224
- "context": 200000,
225
- "output": 64000
226
- },
227
- "name": "Copilot Claude Sonnet 4"
228
- },
229
- "claude-sonnet-4.5": {
230
- "limit": {
231
- "context": 200000,
232
- "output": 64000
233
- },
234
- "name": "Copilot Claude Sonnet 4 5"
235
- },
236
- "gemini-2.5-computer-use-preview-10-2025": {
237
- "limit": {
238
- "context": 1048576,
239
- "output": 65536
240
- },
241
- "name": "Gemini 2 5 Computer Use Preview 10 2025"
242
- },
243
- "gemini-2.5-flash": {
244
- "limit": {
245
- "context": 1048576,
246
- "output": 65536
247
- },
248
- "name": "Gemini 2 5 Flash"
249
- },
250
- "gemini-2.5-flash-lite": {
251
- "limit": {
252
- "context": 1048576,
253
- "output": 65536
254
- },
255
- "name": "Gemini 2 5 Flash Lite"
256
- },
257
- "gemini-2.5-pro": {
258
- "limit": {
259
- "context": 1048576,
260
- "output": 65536
261
- },
262
- "name": "Copilot Gemini 2 5 Pro"
263
- },
264
- "gemini-3-pro-image-preview": {
265
- "limit": {
266
- "context": 1048576,
267
- "output": 65536
268
- },
269
- "name": "Gemini 3 Pro Image Preview"
270
- },
271
- "gemini-3-pro-preview": {
272
- "limit": {
273
- "context": 1048576,
274
- "output": 65536
275
- },
276
- "name": "Gemini 3 Pro Preview"
277
- },
278
- "gemini-claude-opus-4-5-thinking": {
279
- "limit": {
280
- "context": 200000,
281
- "output": 64000
282
- },
283
- "name": "Gemini Claude Opus 4 5 Thinking",
284
- "options": {
285
- "thinking": {
286
- "budgetTokens": 32768,
287
- "type": "enabled"
288
- }
289
- },
290
- "reasoning": true
291
- },
292
- "gemini-claude-sonnet-4-5": {
293
- "limit": {
294
- "context": 200000,
295
- "output": 64000
296
- },
297
- "name": "Gemini Claude Sonnet 4 5"
298
- },
299
- "gemini-claude-sonnet-4-5-thinking": {
300
- "limit": {
301
- "context": 200000,
302
- "output": 64000
303
- },
304
- "name": "Gemini Claude Sonnet 4 5 Thinking",
305
- "options": {
306
- "thinking": {
307
- "budgetTokens": 32768,
308
- "type": "enabled"
309
- }
310
- },
311
- "reasoning": true
312
- },
313
- "gpt-4": {
314
- "limit": {
315
- "context": 128000,
316
- "output": 16384
317
- },
318
- "name": "Copilot Gpt 4"
319
- },
320
- "gpt-4-turbo": {
321
- "limit": {
322
- "context": 128000,
323
- "output": 16384
324
- },
325
- "name": "Copilot Gpt 4 Turbo"
326
- },
327
- "gpt-4.1": {
328
- "limit": {
329
- "context": 128000,
330
- "output": 16384
331
- },
332
- "name": "Copilot Gpt 4 1"
333
- },
334
- "gpt-4o": {
335
- "limit": {
336
- "context": 128000,
337
- "output": 16384
338
- },
339
- "name": "Copilot Gpt 4o"
340
- },
341
- "gpt-5": {
342
- "limit": {
343
- "context": 128000,
344
- "output": 16384
345
- },
346
- "name": "Gpt 5",
347
- "options": {
348
- "reasoning": {
349
- "effort": "medium"
350
- }
351
- },
352
- "reasoning": true
353
- },
354
- "gpt-5-codex": {
355
- "limit": {
356
- "context": 128000,
357
- "output": 16384
358
- },
359
- "name": "Gpt 5 Codex",
360
- "options": {
361
- "reasoning": {
362
- "effort": "medium"
363
- }
364
- },
365
- "reasoning": true
366
- },
367
- "gpt-5-codex-mini": {
368
- "limit": {
369
- "context": 128000,
370
- "output": 16384
371
- },
372
- "name": "Gpt 5 Codex Mini",
373
- "options": {
374
- "reasoning": {
375
- "effort": "medium"
376
- }
377
- },
378
- "reasoning": true
379
- },
380
- "gpt-5-mini": {
381
- "limit": {
382
- "context": 128000,
383
- "output": 16384
384
- },
385
- "name": "Copilot Gpt 5 Mini",
386
- "options": {
387
- "reasoning": {
388
- "effort": "medium"
389
- }
390
- },
391
- "reasoning": true
392
- },
393
- "gpt-5.1": {
394
- "limit": {
395
- "context": 128000,
396
- "output": 16384
397
- },
398
- "name": "Gpt 5 1",
399
- "options": {
400
- "reasoning": {
401
- "effort": "medium"
402
- }
403
- },
404
- "reasoning": true
405
- },
406
- "gpt-5.1-codex": {
407
- "limit": {
408
- "context": 128000,
409
- "output": 16384
410
- },
411
- "name": "Gpt 5 1 Codex",
412
- "options": {
413
- "reasoning": {
414
- "effort": "medium"
415
- }
416
- },
417
- "reasoning": true
418
- },
419
- "gpt-5.1-codex-max": {
420
- "limit": {
421
- "context": 128000,
422
- "output": 16384
423
- },
424
- "name": "Gpt 5 1 Codex Max",
425
- "options": {
426
- "reasoning": {
427
- "effort": "medium"
428
- }
429
- },
430
- "reasoning": true
431
- },
432
- "gpt-5.1-codex-mini": {
433
- "limit": {
434
- "context": 128000,
435
- "output": 16384
436
- },
437
- "name": "Gpt 5 1 Codex Mini",
438
- "options": {
439
- "reasoning": {
440
- "effort": "medium"
441
- }
442
- },
443
- "reasoning": true
444
- },
445
- "gpt-5.2": {
446
- "limit": {
447
- "context": 128000,
448
- "output": 16384
449
- },
450
- "name": "Gpt 5 2",
451
- "options": {
452
- "reasoning": {
453
- "effort": "medium"
454
- }
455
- },
456
- "reasoning": true
457
- },
458
- "gpt-oss-120b-medium": {
459
- "limit": {
460
- "context": 128000,
461
- "output": 16384
462
- },
463
- "name": "Gpt Oss 120b Medium"
464
- },
465
- "grok-code-fast-1": {
466
- "limit": {
467
- "context": 128000,
468
- "output": 16384
469
- },
470
- "name": "Copilot Grok Code Fast 1"
471
- },
472
- "o1": {
473
- "limit": {
474
- "context": 200000,
475
- "output": 100000
476
- },
477
- "name": "Copilot O1"
478
- },
479
- "o1-mini": {
480
- "limit": {
481
- "context": 200000,
482
- "output": 100000
483
- },
484
- "name": "Copilot O1 Mini"
485
- },
486
- "raptor-mini": {
487
- "limit": {
488
- "context": 128000,
489
- "output": 16384
490
- },
491
- "name": "Copilot Raptor Mini"
492
- }
493
- },
494
- "name": "ProxyPal",
495
- "npm": "@ai-sdk/anthropic",
496
- "options": {
497
- "apiKey": "proxypal-local",
498
- "baseURL": "http://127.0.0.1:8317/v1"
499
- }
500
- },
501
- "zai-coding-plan": {
502
- "models": {
503
- "glm-4.6": {
504
- "attachment": true,
505
- "options": {
506
- "thinking": {
507
- "type": "enabled"
508
- }
509
- },
510
- "reasoning": true,
511
- "temperature": true,
512
- "tool_call": true
513
- }
514
- }
515
- }
516
- },
517
- "share": "manual",
518
- "small_model": "opencode/gpt-5-nano",
519
- "theme": "system",
520
- "tools": {
521
- "context7*": true,
522
- "gh_grep*": true,
523
- "gkg*": true
524
- },
525
- "tui": {
526
- "diff_style": "auto",
527
- "scroll_acceleration": {
528
- "enabled": true
529
- },
530
- "scroll_speed": 3
531
- },
532
- "watcher": {
533
- "ignore": [
534
- "node_modules/**",
535
- ".git/**",
536
- "dist/**",
537
- "build/**",
538
- "*.log",
539
- ".DS_Store"
540
- ]
541
- }
2
+ "$schema": "https://opencode.ai/config.json",
3
+ "agent": {
4
+ "build": {
5
+ "description": "Primary development agent with full codebase access",
6
+ "model": "proxypal/gemini-claude-opus-4-5-thinking"
7
+ },
8
+ "designer": {
9
+ "description": "UI/UX design specialist for mockup analysis and aesthetic guidance",
10
+ "model": "proxypal/gemini-3-pro-preview"
11
+ },
12
+ "explore": {
13
+ "description": "Fast codebase search specialist"
14
+ },
15
+ "general": {
16
+ "disable": true
17
+ },
18
+ "plan": {
19
+ "disable": true
20
+ },
21
+ "planner": {
22
+ "description": "Strategic planning agent for architecture and design",
23
+ "model": "proxypal/gpt-5.2"
24
+ },
25
+ "review": {
26
+ "description": "Code review, debugging, and security audit specialist",
27
+ "model": "proxypal/gemini-2.5-flash-lite"
28
+ },
29
+ "rush": {
30
+ "description": "Fast primary agent for small, well-defined tasks",
31
+ "model": "zai-coding-plan/glm-4.6"
32
+ },
33
+ "scout": {
34
+ "description": "External research specialist for library docs and patterns",
35
+ "model": "proxypal/gemini-claude-sonnet-4-5"
36
+ }
37
+ },
38
+ "autoupdate": false,
39
+ "experimental": {
40
+ "batch_tool": true,
41
+ "chatMaxRetries": 2,
42
+ "primary_tools": ["edit", "write", "bash", "prune"]
43
+ },
44
+ "formatter": {
45
+ "biome": {
46
+ "command": ["npx", "@biomejs/biome", "check", "--write", "$FILE"],
47
+ "extensions": [".js", ".jsx", ".ts", ".tsx", ".json", ".jsonc"]
48
+ },
49
+ "java-formatter": {
50
+ "command": ["google-java-format", "--replace", "$FILE"],
51
+ "environment": {
52
+ "JAVA_HOME": "{env:JAVA_HOME}"
53
+ },
54
+ "extensions": [".java"]
55
+ },
56
+ "prettier": {
57
+ "command": ["npx", "prettier", "--write", "$FILE"],
58
+ "extensions": [".html", ".css", ".scss", ".sass", ".md", ".yaml", ".yml"]
59
+ }
60
+ },
61
+ "keybinds": {
62
+ "command_list": ";",
63
+ "leader": "`",
64
+ "session_child_cycle": "ctrl+alt+right",
65
+ "session_child_cycle_reverse": "ctrl+alt+left"
66
+ },
67
+ "mcp": {
68
+ "Framelink MCP for Figma": {
69
+ "command": [
70
+ "npx",
71
+ "-y",
72
+ "figma-developer-mcp",
73
+ "--figma-api-key={env:FIGMA_API_KEY}",
74
+ "--stdio"
75
+ ],
76
+ "enabled": false,
77
+ "type": "local"
78
+ },
79
+ "augment-context-engine": {
80
+ "command": ["auggie", "--mcp"],
81
+ "enabled": false,
82
+ "type": "local"
83
+ },
84
+ "context7": {
85
+ "enabled": true,
86
+ "headers": {
87
+ "CONTEXT7_API_KEY": "{env:CONTEXT7_API_KEY}"
88
+ },
89
+ "timeout": 10000,
90
+ "type": "remote",
91
+ "url": "https://mcp.context7.com/mcp"
92
+ },
93
+ "gh_grep": {
94
+ "enabled": true,
95
+ "type": "remote",
96
+ "url": "https://mcp.grep.app"
97
+ },
98
+ "gkg": {
99
+ "enabled": true,
100
+ "type": "remote",
101
+ "url": "http://localhost:27495/mcp"
102
+ },
103
+ "playwright": {
104
+ "command": ["npx", "@playwright/mcp@latest"],
105
+ "enabled": false,
106
+ "type": "local"
107
+ }
108
+ },
109
+ "model": "proxypal/gemini-claude-opus-4-5-thinking",
110
+ "permission": {
111
+ "bash": {
112
+ "git commit *": "ask",
113
+ "git push *": "ask",
114
+ "rm *": "ask",
115
+ "rm -rf *": "ask"
116
+ },
117
+ "doom_loop": "ask",
118
+ "edit": "allow",
119
+ "external_directory": "allow"
120
+ },
121
+ "plugin": [
122
+ "opencode-gemini-auth",
123
+ "./plugin/superpowers.ts",
124
+ "./plugin/notification.ts",
125
+ "@tarquinen/opencode-dcp@latest",
126
+ "@howaboua/pickle-thinker@0.1.3"
127
+ ],
128
+ "provider": {
129
+ "github-copilot": {
130
+ "models": {
131
+ "claude-haiku-4.5": {
132
+ "attachment": true,
133
+ "options": {
134
+ "thinking": {
135
+ "budgetTokens": 16000,
136
+ "type": "enabled"
137
+ }
138
+ },
139
+ "reasoning": true,
140
+ "temperature": true,
141
+ "tool_call": true
142
+ },
143
+ "claude-opus-4.5": {
144
+ "attachment": true,
145
+ "options": {
146
+ "thinking": {
147
+ "budgetTokens": 32000,
148
+ "type": "enabled"
149
+ }
150
+ },
151
+ "reasoning": true,
152
+ "temperature": true,
153
+ "tool_call": true
154
+ },
155
+ "claude-sonnet-4.5": {
156
+ "attachment": true,
157
+ "options": {
158
+ "thinking": {
159
+ "budgetTokens": 16000,
160
+ "type": "enabled"
161
+ }
162
+ },
163
+ "reasoning": true,
164
+ "temperature": true,
165
+ "tool_call": true
166
+ },
167
+ "gpt-5.1": {
168
+ "attachment": true,
169
+ "options": {
170
+ "reasoning": {
171
+ "effort": "high"
172
+ }
173
+ },
174
+ "reasoning": true,
175
+ "temperature": true,
176
+ "tool_call": true
177
+ },
178
+ "gpt-5.1-codex": {
179
+ "attachment": true,
180
+ "options": {
181
+ "reasoning": {
182
+ "effort": "high"
183
+ }
184
+ },
185
+ "reasoning": true,
186
+ "temperature": true,
187
+ "tool_call": true
188
+ }
189
+ },
190
+ "npm": "@ai-sdk/anthropic"
191
+ },
192
+ "proxypal": {
193
+ "models": {
194
+ "claude-opus-4-5-20251101": {
195
+ "limit": {
196
+ "context": 200000,
197
+ "output": 64000
198
+ },
199
+ "name": "Claude Opus 4 5 20251101"
200
+ },
201
+ "gemini-2.5-computer-use-preview-10-2025": {
202
+ "limit": {
203
+ "context": 1048576,
204
+ "output": 65536
205
+ },
206
+ "name": "Gemini 2 5 Computer Use Preview 10 2025"
207
+ },
208
+ "gemini-2.5-flash": {
209
+ "limit": {
210
+ "context": 1048576,
211
+ "output": 65536
212
+ },
213
+ "name": "Gemini 2 5 Flash"
214
+ },
215
+ "gemini-2.5-flash-lite": {
216
+ "limit": {
217
+ "context": 1048576,
218
+ "output": 65536
219
+ },
220
+ "name": "Gemini 2 5 Flash Lite"
221
+ },
222
+ "gemini-3-pro-image-preview": {
223
+ "limit": {
224
+ "context": 1048576,
225
+ "output": 65536
226
+ },
227
+ "name": "Gemini 3 Pro Image Preview"
228
+ },
229
+ "gemini-3-pro-preview": {
230
+ "limit": {
231
+ "context": 1048576,
232
+ "output": 65536
233
+ },
234
+ "name": "Gemini 3 Pro Preview"
235
+ },
236
+ "gemini-claude-opus-4-5-thinking": {
237
+ "limit": {
238
+ "context": 200000,
239
+ "output": 64000
240
+ },
241
+ "name": "Gemini Claude Opus 4 5 Thinking",
242
+ "options": {
243
+ "thinking": {
244
+ "budgetTokens": 32768,
245
+ "type": "enabled"
246
+ }
247
+ },
248
+ "reasoning": true
249
+ },
250
+ "gemini-claude-sonnet-4-5": {
251
+ "limit": {
252
+ "context": 200000,
253
+ "output": 64000
254
+ },
255
+ "name": "Gemini Claude Sonnet 4 5"
256
+ },
257
+ "gemini-claude-sonnet-4-5-thinking": {
258
+ "limit": {
259
+ "context": 200000,
260
+ "output": 64000
261
+ },
262
+ "name": "Gemini Claude Sonnet 4 5 Thinking",
263
+ "options": {
264
+ "thinking": {
265
+ "budgetTokens": 32768,
266
+ "type": "enabled"
267
+ }
268
+ },
269
+ "reasoning": true
270
+ },
271
+ "gpt-5": {
272
+ "limit": {
273
+ "context": 128000,
274
+ "output": 16384
275
+ },
276
+ "name": "Gpt 5",
277
+ "options": {
278
+ "reasoning": {
279
+ "effort": "medium"
280
+ }
281
+ },
282
+ "reasoning": true
283
+ },
284
+ "gpt-5-codex": {
285
+ "limit": {
286
+ "context": 128000,
287
+ "output": 16384
288
+ },
289
+ "name": "Gpt 5 Codex",
290
+ "options": {
291
+ "reasoning": {
292
+ "effort": "medium"
293
+ }
294
+ },
295
+ "reasoning": true
296
+ },
297
+ "gpt-5-codex-mini": {
298
+ "limit": {
299
+ "context": 128000,
300
+ "output": 16384
301
+ },
302
+ "name": "Gpt 5 Codex Mini",
303
+ "options": {
304
+ "reasoning": {
305
+ "effort": "medium"
306
+ }
307
+ },
308
+ "reasoning": true
309
+ },
310
+ "gpt-5.1": {
311
+ "limit": {
312
+ "context": 128000,
313
+ "output": 16384
314
+ },
315
+ "name": "Gpt 5 1",
316
+ "options": {
317
+ "reasoning": {
318
+ "effort": "medium"
319
+ }
320
+ },
321
+ "reasoning": true
322
+ },
323
+ "gpt-5.1-codex": {
324
+ "limit": {
325
+ "context": 128000,
326
+ "output": 16384
327
+ },
328
+ "name": "Gpt 5 1 Codex",
329
+ "options": {
330
+ "reasoning": {
331
+ "effort": "medium"
332
+ }
333
+ },
334
+ "reasoning": true
335
+ },
336
+ "gpt-5.1-codex-max": {
337
+ "limit": {
338
+ "context": 128000,
339
+ "output": 16384
340
+ },
341
+ "name": "Gpt 5 1 Codex Max",
342
+ "options": {
343
+ "reasoning": {
344
+ "effort": "medium"
345
+ }
346
+ },
347
+ "reasoning": true
348
+ },
349
+ "gpt-5.1-codex-mini": {
350
+ "limit": {
351
+ "context": 128000,
352
+ "output": 16384
353
+ },
354
+ "name": "Gpt 5 1 Codex Mini",
355
+ "options": {
356
+ "reasoning": {
357
+ "effort": "medium"
358
+ }
359
+ },
360
+ "reasoning": true
361
+ },
362
+ "gpt-5.2": {
363
+ "limit": {
364
+ "context": 128000,
365
+ "output": 16384
366
+ },
367
+ "name": "Gpt 5 2",
368
+ "options": {
369
+ "reasoning": {
370
+ "effort": "medium"
371
+ }
372
+ },
373
+ "reasoning": true
374
+ },
375
+ "gpt-oss-120b-medium": {
376
+ "limit": {
377
+ "context": 128000,
378
+ "output": 16384
379
+ },
380
+ "name": "Gpt Oss 120b Medium"
381
+ }
382
+ },
383
+ "name": "ProxyPal",
384
+ "npm": "@ai-sdk/anthropic",
385
+ "options": {
386
+ "apiKey": "proxypal-local",
387
+ "baseURL": "http://127.0.0.1:8317/v1"
388
+ }
389
+ },
390
+ "zai-coding-plan": {
391
+ "models": {
392
+ "glm-4.6": {
393
+ "attachment": true,
394
+ "options": {
395
+ "thinking": {
396
+ "type": "enabled"
397
+ }
398
+ },
399
+ "reasoning": true,
400
+ "temperature": true,
401
+ "tool_call": true
402
+ }
403
+ }
404
+ }
405
+ },
406
+ "share": "manual",
407
+ "small_model": "opencode/gpt-5-nano",
408
+ "theme": "system",
409
+ "tools": {
410
+ "context7*": true,
411
+ "gh_grep*": true,
412
+ "gkg*": true
413
+ },
414
+ "tui": {
415
+ "diff_style": "auto",
416
+ "scroll_acceleration": {
417
+ "enabled": true
418
+ },
419
+ "scroll_speed": 3
420
+ },
421
+ "watcher": {
422
+ "ignore": [
423
+ "node_modules/**",
424
+ ".git/**",
425
+ "dist/**",
426
+ "build/**",
427
+ "*.log",
428
+ ".DS_Store"
429
+ ]
430
+ }
542
431
  }
432
+
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "opencodekit",
3
- "version": "0.2.2",
3
+ "version": "0.2.3",
4
4
  "description": "CLI tool for bootstrapping and managing OpenCodeKit projects",
5
5
  "type": "module",
6
6
  "repository": {