opencodekit 0.6.1 → 0.6.2

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.6.1",
753
+ version: "0.6.2",
754
754
  description: "CLI tool for bootstrapping and managing OpenCodeKit projects",
755
755
  type: "module",
756
756
  repository: {
@@ -1,43 +1,65 @@
1
1
  {
2
- // Enable or disable the plugin
3
- "enabled": true,
4
- // Enable debug logging to ~/.config/opencode/logs/dcp/
5
- "debug": false,
6
- // Show toast when plugin updates are available
7
- "showUpdateToasts": true,
8
- // Summary display: "off", "minimal", or "detailed"
9
- // Note: "detailed" may cause issues with extended thinking models
10
- "pruningSummary": "off",
11
- "strategies": {
12
- // Deduplication runs automatically on every request
13
- "deduplication": {
14
- "enabled": true,
15
- "protectedTools": [],
16
- },
17
- // Exposes prune tool to the LLM for manual context management
18
- "pruneTool": {
19
- "enabled": true,
20
- "protectedTools": [
21
- "task",
22
- "todowrite",
23
- "todoread",
24
- "prune",
25
- "batch",
26
- "write",
27
- "edit",
28
- ],
29
- // Nudge the AI to prune periodically
30
- "nudge": {
31
- "enabled": true,
32
- "frequency": 10,
33
- },
34
- },
35
- // LLM-based semantic analysis on idle (legacy, resource intensive)
36
- "onIdle": {
37
- "enabled": false,
38
- "showModelErrorToasts": true,
39
- "strictModelSelection": true,
40
- "protectedTools": [],
41
- },
42
- },
2
+ // Enable or disable the plugin
3
+ "enabled": true,
4
+ // Enable debug logging to ~/.config/opencode/logs/dcp/
5
+ "debug": false,
6
+ // Notification display: "off", "minimal", or "detailed"
7
+ "pruneNotification": "off",
8
+ // Protect from pruning for <turns> message turns
9
+ "turnProtection": {
10
+ "enabled": true,
11
+ "turns": 4
12
+ },
13
+ // LLM-driven context pruning tools
14
+ "tools": {
15
+ // Shared settings for all prune tools
16
+ "settings": {
17
+ // Nudge the LLM to use prune tools (every <nudgeFrequency> tool results)
18
+ "nudgeEnabled": true,
19
+ "nudgeFrequency": 10,
20
+ // Additional tools to protect from pruning (defaults: task, todowrite, todoread, discard, extract, batch)
21
+ "protectedTools": [
22
+ "write",
23
+ "edit",
24
+ "memory-read",
25
+ "memory-update",
26
+ "observation",
27
+ "use_skill",
28
+ "skill"
29
+ ]
30
+ },
31
+ // Removes tool content from context without preservation (for completed tasks or noise)
32
+ "discard": {
33
+ "enabled": true
34
+ },
35
+ // Distills key findings into preserved knowledge before removing raw content
36
+ "extract": {
37
+ "enabled": true,
38
+ // Show distillation content as an ignored message notification
39
+ "showDistillation": false
40
+ }
41
+ },
42
+ // Automatic pruning strategies
43
+ "strategies": {
44
+ // Remove duplicate tool calls (same tool with same arguments)
45
+ "deduplication": {
46
+ "enabled": true,
47
+ // Additional tools to protect from pruning
48
+ "protectedTools": []
49
+ },
50
+ // Prune write tool inputs when the file has been subsequently read
51
+ "supersedeWrites": {
52
+ "enabled": true
53
+ },
54
+ // (Legacy) Run an LLM to analyze what tool calls are no longer relevant on idle
55
+ "onIdle": {
56
+ "enabled": false,
57
+ // Additional tools to protect from pruning
58
+ "protectedTools": [],
59
+ // Show toast notifications when model selection fails
60
+ "showModelErrorToasts": true,
61
+ // When true, fallback models are not permitted
62
+ "strictModelSelection": false
63
+ }
64
+ }
43
65
  }
@@ -1,495 +1,538 @@
1
1
  {
2
- "$schema": "https://opencode.ai/config.json",
3
- "agent": {
4
- "compaction": {
5
- "model": "proxypal/gemini-3-flash-preview",
6
- "prompt": "You are summarizing a coding session for context continuity.\n\n## Output Structure\n\nUse these sections:\n\n### COMPLETED\n- What was done (with file paths)\n- Bead IDs closed and why\n\n### IN PROGRESS\n- Current task and bead ID (if any)\n- Files being modified (exact paths)\n- Current todo state (preserve TodoWrite items)\n\n### NEXT\n- What needs to be done next\n- Blockers or pending decisions\n\n### CONSTRAINTS\n- User preferences that must persist\n- Rules or requirements stated by user\n- Technical decisions and rationale\n\n### PERSIST TO MEMORY\n- Gotchas discovered → suggest for project/gotchas.md\n- Commands learned → suggest for project/commands.md\n- Patterns observed → suggest for project/conventions.md\n\n## Rules\n\n- PRESERVE: Bead IDs, todo items, file paths, line numbers, user constraints\n- DROP: Failed attempts, superseded info, verbose tool outputs, exploration dead-ends\n- Be concise but complete - this summary replaces the full conversation\n- Include enough context that a new session can continue seamlessly"
7
- },
8
- "build": {
9
- "description": "Primary development agent with full codebase access",
10
- "model": "proxypal/gemini-claude-opus-4-5-thinking"
11
- },
12
- "explore": {
13
- "description": "Fast codebase search specialist",
14
- "model": "opencode/grok-code"
15
- },
16
- "general": {
17
- "disable": true
18
- },
19
- "plan": {
20
- "disable": true
21
- },
22
- "planner": {
23
- "description": "Strategic planning agent for architecture and design",
24
- "model": "proxypal/gpt-5.1"
25
- },
26
- "review": {
27
- "description": "Code review, debugging, and security audit specialist",
28
- "model": "proxypal/gemini-claude-opus-4-5-thinking"
29
- },
30
- "rush": {
31
- "description": "Fast primary agent for small, well-defined tasks",
32
- "model": "zai-coding-plan/glm-4.7"
33
- },
34
- "scout": {
35
- "description": "External research specialist for library docs and patterns",
36
- "model": "proxypal/gemini-claude-sonnet-4-5"
37
- },
38
- "vision": {
39
- "description": "Visual content specialist for multimodal analysis and UI/UX guidance",
40
- "model": "proxypal/gemini-3-pro-preview"
41
- }
42
- },
43
- "autoupdate": false,
44
- "experimental": {
45
- "lsp": true,
46
- "batch_tool": true,
47
- "chatMaxRetries": 2,
48
- "primary_tools": ["edit", "write", "bash", "prune"]
49
- },
50
- "formatter": {
51
- "biome": {
52
- "command": ["npx", "@biomejs/biome", "check", "--write", "$FILE"],
53
- "extensions": [".js", ".jsx", ".ts", ".tsx", ".json", ".jsonc"]
54
- },
55
- "java-formatter": {
56
- "command": ["google-java-format", "--replace", "$FILE"],
57
- "environment": {
58
- "JAVA_HOME": "{env:JAVA_HOME}"
59
- },
60
- "extensions": [".java"]
61
- },
62
- "prettier": {
63
- "command": ["npx", "prettier", "--write", "$FILE"],
64
- "extensions": [".html", ".css", ".scss", ".sass", ".md", ".yaml", ".yml"]
65
- }
66
- },
67
- "instructions": [".opencode/memory/user.md", ".opencode/memory/project/*.md"],
68
- "keybinds": {
69
- "command_list": ";",
70
- "leader": "`",
71
- "session_child_cycle": "ctrl+alt+right",
72
- "session_child_cycle_reverse": "ctrl+alt+left"
73
- },
74
- "mcp": {
75
- "Framelink MCP for Figma": {
76
- "command": [
77
- "npx",
78
- "-y",
79
- "figma-developer-mcp",
80
- "--figma-api-key={env:FIGMA_API_KEY}",
81
- "--stdio"
82
- ],
83
- "enabled": false,
84
- "type": "local"
85
- },
86
- "context7": {
87
- "command": [
88
- "npx",
89
- "-y",
90
- "@upstash/context7-mcp",
91
- "--api-key",
92
- "{env:CONTEXT7_API_KEY}"
93
- ],
94
- "enabled": true,
95
- "type": "local"
96
- },
97
- "gh_grep": {
98
- "enabled": true,
99
- "type": "remote",
100
- "url": "https://mcp.grep.app"
101
- },
102
- "gkg": {
103
- "enabled": true,
104
- "type": "remote",
105
- "url": "http://localhost:27495/mcp"
106
- },
107
- "playwright": {
108
- "command": ["npx", "@playwright/mcp@latest"],
109
- "enabled": false,
110
- "type": "local"
111
- }
112
- },
113
- "model": "proxypal/gemini-claude-opus-4-5-thinking",
114
- "permission": {
115
- "bash": {
116
- "git commit *": "ask",
117
- "git push *": "ask",
118
- "rm *": "ask",
119
- "rm -rf *": "ask"
120
- },
121
- "doom_loop": "ask",
122
- "edit": "allow",
123
- "external_directory": "allow"
124
- },
125
- "plugin": [
126
- "opencode-gemini-auth",
127
- "@tarquinen/opencode-dcp@latest",
128
- "@franlol/opencode-md-table-formatter@0.0.3",
129
- "./plugin/skill.ts"
130
- ],
131
- "provider": {
132
- "github-copilot": {
133
- "models": {
134
- "claude-haiku-4.5": {
135
- "attachment": true,
136
- "options": {
137
- "thinking": {
138
- "budgetTokens": 16000,
139
- "type": "enabled"
140
- }
141
- },
142
- "reasoning": true,
143
- "temperature": true,
144
- "tool_call": true
145
- },
146
- "claude-opus-4.5": {
147
- "attachment": true,
148
- "options": {
149
- "thinking": {
150
- "budgetTokens": 32000,
151
- "type": "enabled"
152
- }
153
- },
154
- "reasoning": true,
155
- "temperature": true,
156
- "tool_call": true
157
- },
158
- "claude-sonnet-4.5": {
159
- "attachment": true,
160
- "options": {
161
- "thinking": {
162
- "budgetTokens": 16000,
163
- "type": "enabled"
164
- }
165
- },
166
- "reasoning": true,
167
- "temperature": true,
168
- "tool_call": true
169
- },
170
- "gpt-5.1": {
171
- "attachment": true,
172
- "options": {
173
- "reasoning": {
174
- "effort": "high"
175
- }
176
- },
177
- "reasoning": true,
178
- "temperature": true,
179
- "tool_call": true
180
- },
181
- "gpt-5.1-codex": {
182
- "attachment": true,
183
- "options": {
184
- "reasoning": {
185
- "effort": "high"
186
- }
187
- },
188
- "reasoning": true,
189
- "temperature": true,
190
- "tool_call": true
191
- }
192
- },
193
- "npm": "@ai-sdk/anthropic"
194
- },
195
- "opencode": {
196
- "models": {
197
- "big-pickle": {
198
- "options": {
199
- "reasoningEffort": "high",
200
- "temperature": 1,
201
- "top_k": 40,
202
- "top_p": 0.95
203
- },
204
- "reasoning": true
205
- }
206
- }
207
- },
208
- "proxypal": {
209
- "models": {
210
- "gemini-2.5-computer-use-preview-10-2025": {
211
- "limit": {
212
- "context": 1048576,
213
- "output": 65536
214
- },
215
- "name": "Gemini 2 5 Computer Use Preview 10 2025"
216
- },
217
- "gemini-2.5-flash": {
218
- "limit": {
219
- "context": 1048576,
220
- "output": 65536
221
- },
222
- "name": "Gemini 2 5 Flash"
223
- },
224
- "gemini-2.5-flash-lite": {
225
- "limit": {
226
- "context": 1048576,
227
- "output": 65536
228
- },
229
- "name": "Gemini 2 5 Flash Lite"
230
- },
231
- "gemini-2.5-pro": {
232
- "limit": {
233
- "context": 1048576,
234
- "output": 65536
235
- },
236
- "name": "Gemini 2 5 Pro"
237
- },
238
- "gemini-3-flash-preview": {
239
- "limit": {
240
- "context": 1048576,
241
- "output": 65536
242
- },
243
- "name": "Gemini 3 Flash Preview"
244
- },
245
- "gemini-3-pro-image-preview": {
246
- "limit": {
247
- "context": 1048576,
248
- "output": 65536
249
- },
250
- "name": "Gemini 3 Pro Image Preview"
251
- },
252
- "gemini-3-pro-preview": {
253
- "limit": {
254
- "context": 1048576,
255
- "output": 65536
256
- },
257
- "name": "Gemini 3 Pro Preview"
258
- },
259
- "gemini-claude-opus-4-5-thinking": {
260
- "limit": {
261
- "context": 200000,
262
- "output": 64000
263
- },
264
- "name": "Gemini Claude Opus 4 5 Thinking",
265
- "options": {
266
- "thinking": {
267
- "budgetTokens": 32768,
268
- "type": "enabled"
269
- }
270
- },
271
- "reasoning": true
272
- },
273
- "gemini-claude-sonnet-4-5": {
274
- "limit": {
275
- "context": 200000,
276
- "output": 64000
277
- },
278
- "name": "Gemini Claude Sonnet 4 5"
279
- },
280
- "gemini-claude-sonnet-4-5-thinking": {
281
- "limit": {
282
- "context": 200000,
283
- "output": 64000
284
- },
285
- "name": "Gemini Claude Sonnet 4 5 Thinking",
286
- "options": {
287
- "thinking": {
288
- "budgetTokens": 32768,
289
- "type": "enabled"
290
- }
291
- },
292
- "reasoning": true
293
- },
294
- "glm-4.6": {
295
- "limit": {
296
- "context": 128000,
297
- "output": 16384
298
- },
299
- "name": "Glm 4 6"
300
- },
301
- "gpt-5": {
302
- "limit": {
303
- "context": 128000,
304
- "output": 16384
305
- },
306
- "name": "Gpt 5",
307
- "options": {
308
- "reasoning": {
309
- "effort": "medium"
310
- }
311
- },
312
- "reasoning": true
313
- },
314
- "gpt-5-codex": {
315
- "limit": {
316
- "context": 128000,
317
- "output": 16384
318
- },
319
- "name": "Gpt 5 Codex",
320
- "options": {
321
- "reasoning": {
322
- "effort": "medium"
323
- }
324
- },
325
- "reasoning": true
326
- },
327
- "gpt-5-codex-mini": {
328
- "limit": {
329
- "context": 128000,
330
- "output": 16384
331
- },
332
- "name": "Gpt 5 Codex Mini",
333
- "options": {
334
- "reasoning": {
335
- "effort": "medium"
336
- }
337
- },
338
- "reasoning": true
339
- },
340
- "gpt-5.1": {
341
- "limit": {
342
- "context": 128000,
343
- "output": 16384
344
- },
345
- "name": "Gpt 5 1",
346
- "options": {
347
- "reasoning": {
348
- "effort": "medium"
349
- }
350
- },
351
- "reasoning": true
352
- },
353
- "gpt-5.1-codex": {
354
- "limit": {
355
- "context": 128000,
356
- "output": 16384
357
- },
358
- "name": "Gpt 5 1 Codex",
359
- "options": {
360
- "reasoning": {
361
- "effort": "medium"
362
- }
363
- },
364
- "reasoning": true
365
- },
366
- "gpt-5.1-codex-max": {
367
- "limit": {
368
- "context": 128000,
369
- "output": 16384
370
- },
371
- "name": "Gpt 5 1 Codex Max",
372
- "options": {
373
- "reasoning": {
374
- "effort": "medium"
375
- }
376
- },
377
- "reasoning": true
378
- },
379
- "gpt-5.1-codex-mini": {
380
- "limit": {
381
- "context": 128000,
382
- "output": 16384
383
- },
384
- "name": "Gpt 5 1 Codex Mini",
385
- "options": {
386
- "reasoning": {
387
- "effort": "medium"
388
- }
389
- },
390
- "reasoning": true
391
- },
392
- "gpt-5.2": {
393
- "limit": {
394
- "context": 128000,
395
- "output": 16384
396
- },
397
- "name": "Gpt 5 2",
398
- "options": {
399
- "reasoning": {
400
- "effort": "medium"
401
- }
402
- },
403
- "reasoning": true
404
- },
405
- "gpt-5.2-codex": {
406
- "limit": {
407
- "context": 128000,
408
- "output": 16384
409
- },
410
- "name": "Gpt 5 2 Codex",
411
- "options": {
412
- "reasoning": {
413
- "effort": "medium"
414
- }
415
- },
416
- "reasoning": true
417
- },
418
- "gpt-oss-120b-medium": {
419
- "limit": {
420
- "context": 128000,
421
- "output": 16384
422
- },
423
- "name": "Gpt Oss 120b Medium"
424
- }
425
- },
426
- "name": "ProxyPal",
427
- "npm": "@ai-sdk/anthropic",
428
- "options": {
429
- "apiKey": "proxypal-local",
430
- "baseURL": "http://127.0.0.1:8317/v1"
431
- }
432
- },
433
- "zai-coding-plan": {
434
- "models": {
435
- "glm-4.7": {
436
- "id": "glm-4.7",
437
- "name": "GLM-4.7",
438
- "reasoning": true,
439
- "interleaved": true,
440
- "options": {
441
- "reasoningEffort": "high",
442
- "reasoningSummary": "true",
443
- "temperature": 1,
444
- "top_k": 40,
445
- "top_p": 0.95,
446
- "maxOutputTokens": 131072,
447
- "thinking": {
448
- "type": "enabled"
449
- }
450
- }
451
- },
452
- "glm-4.6": {
453
- "attachment": true,
454
- "options": {
455
- "reasoningEffort": "high",
456
- "temperature": 1,
457
- "thinking": {
458
- "type": "enabled"
459
- },
460
- "top_k": 40,
461
- "top_p": 0.95
462
- },
463
- "reasoning": true,
464
- "temperature": true,
465
- "tool_call": true
466
- }
467
- }
468
- }
469
- },
470
- "share": "manual",
471
- "small_model": "opencode/gpt-5-nano",
472
- "theme": "system",
473
- "tools": {
474
- "context7*": true,
475
- "gh_grep*": true,
476
- "gkg*": true
477
- },
478
- "tui": {
479
- "diff_style": "auto",
480
- "scroll_acceleration": {
481
- "enabled": true
482
- },
483
- "scroll_speed": 3
484
- },
485
- "watcher": {
486
- "ignore": [
487
- "node_modules/**",
488
- ".git/**",
489
- "dist/**",
490
- "build/**",
491
- "*.log",
492
- ".DS_Store"
493
- ]
494
- }
2
+ "$schema": "https://opencode.ai/config.json",
3
+ "agent": {
4
+ "compaction": {
5
+ "model": "proxypal/gemini-3-flash-preview",
6
+ "prompt": "You are summarizing a coding session for context continuity.\n\n## Output Structure\n\nUse these sections:\n\n### COMPLETED\n- What was done (with file paths)\n- Bead IDs closed and why\n\n### IN PROGRESS\n- Current task and bead ID (if any)\n- Files being modified (exact paths)\n- Current todo state (preserve TodoWrite items)\n\n### NEXT\n- What needs to be done next\n- Blockers or pending decisions\n\n### CONSTRAINTS\n- User preferences that must persist\n- Rules or requirements stated by user\n- Technical decisions and rationale\n\n### PERSIST TO MEMORY\n- Gotchas discovered → suggest for project/gotchas.md\n- Commands learned → suggest for project/commands.md\n- Patterns observed → suggest for project/conventions.md\n\n## Rules\n\n- PRESERVE: Bead IDs, todo items, file paths, line numbers, user constraints\n- DROP: Failed attempts, superseded info, verbose tool outputs, exploration dead-ends\n- Be concise but complete - this summary replaces the full conversation\n- Include enough context that a new session can continue seamlessly"
7
+ },
8
+ "build": {
9
+ "description": "Primary development agent with full codebase access",
10
+ "model": "github-copilot/claude-opus-4.5"
11
+ },
12
+ "explore": {
13
+ "description": "Fast codebase search specialist",
14
+ "model": "opencode/grok-code"
15
+ },
16
+ "general": {
17
+ "disable": true
18
+ },
19
+ "plan": {
20
+ "disable": true
21
+ },
22
+ "planner": {
23
+ "description": "Strategic planning agent for architecture and design",
24
+ "model": "proxypal/gpt-5.1"
25
+ },
26
+ "review": {
27
+ "description": "Code review, debugging, and security audit specialist",
28
+ "model": "proxypal/gemini-claude-opus-4-5-thinking"
29
+ },
30
+ "rush": {
31
+ "description": "Fast primary agent for small, well-defined tasks",
32
+ "model": "proxypal/gemini-claude-opus-4-5-thinking"
33
+ },
34
+ "scout": {
35
+ "description": "External research specialist for library docs and patterns",
36
+ "model": "proxypal/gemini-claude-sonnet-4-5"
37
+ },
38
+ "vision": {
39
+ "description": "Visual content specialist for multimodal analysis and UI/UX guidance",
40
+ "model": "proxypal/gemini-3-pro-preview"
41
+ }
42
+ },
43
+ "autoupdate": false,
44
+ "experimental": {
45
+ "lsp": true,
46
+ "batch_tool": true,
47
+ "chatMaxRetries": 2,
48
+ "primary_tools": [
49
+ "edit",
50
+ "write",
51
+ "bash",
52
+ "prune"
53
+ ]
54
+ },
55
+ "formatter": {
56
+ "biome": {
57
+ "command": [
58
+ "npx",
59
+ "@biomejs/biome",
60
+ "check",
61
+ "--write",
62
+ "$FILE"
63
+ ],
64
+ "extensions": [
65
+ ".js",
66
+ ".jsx",
67
+ ".ts",
68
+ ".tsx",
69
+ ".json",
70
+ ".jsonc"
71
+ ]
72
+ },
73
+ "java-formatter": {
74
+ "command": [
75
+ "google-java-format",
76
+ "--replace",
77
+ "$FILE"
78
+ ],
79
+ "environment": {
80
+ "JAVA_HOME": "{env:JAVA_HOME}"
81
+ },
82
+ "extensions": [
83
+ ".java"
84
+ ]
85
+ },
86
+ "prettier": {
87
+ "command": [
88
+ "npx",
89
+ "prettier",
90
+ "--write",
91
+ "$FILE"
92
+ ],
93
+ "extensions": [
94
+ ".html",
95
+ ".css",
96
+ ".scss",
97
+ ".sass",
98
+ ".md",
99
+ ".yaml",
100
+ ".yml"
101
+ ]
102
+ }
103
+ },
104
+ "instructions": [
105
+ ".opencode/memory/user.md",
106
+ ".opencode/memory/project/*.md"
107
+ ],
108
+ "keybinds": {
109
+ "command_list": ";",
110
+ "leader": "`",
111
+ "session_child_cycle": "ctrl+alt+right",
112
+ "session_child_cycle_reverse": "ctrl+alt+left"
113
+ },
114
+ "mcp": {
115
+ "Framelink MCP for Figma": {
116
+ "command": [
117
+ "npx",
118
+ "-y",
119
+ "figma-developer-mcp",
120
+ "--figma-api-key={env:FIGMA_API_KEY}",
121
+ "--stdio"
122
+ ],
123
+ "enabled": false,
124
+ "type": "local"
125
+ },
126
+ "context7": {
127
+ "command": [
128
+ "npx",
129
+ "-y",
130
+ "@upstash/context7-mcp",
131
+ "--api-key",
132
+ "{env:CONTEXT7_API_KEY}"
133
+ ],
134
+ "enabled": true,
135
+ "type": "local"
136
+ },
137
+ "gh_grep": {
138
+ "enabled": true,
139
+ "type": "remote",
140
+ "url": "https://mcp.grep.app"
141
+ },
142
+ "gkg": {
143
+ "enabled": true,
144
+ "type": "remote",
145
+ "url": "http://localhost:27495/mcp"
146
+ },
147
+ "playwright": {
148
+ "command": [
149
+ "npx",
150
+ "@playwright/mcp@latest"
151
+ ],
152
+ "enabled": false,
153
+ "type": "local"
154
+ }
155
+ },
156
+ "model": "github-copilot/claude-haiku-4.5",
157
+ "permission": {
158
+ "bash": {
159
+ "git commit *": "ask",
160
+ "git push *": "ask",
161
+ "rm *": "ask",
162
+ "rm -rf *": "ask"
163
+ },
164
+ "doom_loop": "ask",
165
+ "edit": "allow",
166
+ "external_directory": "allow"
167
+ },
168
+ "plugin": [
169
+ "opencode-gemini-auth",
170
+ "@tarquinen/opencode-dcp@latest",
171
+ "@franlol/opencode-md-table-formatter@0.0.3",
172
+ "./plugin/skill.ts"
173
+ ],
174
+ "provider": {
175
+ "github-copilot": {
176
+ "models": {
177
+ "claude-haiku-4.5": {
178
+ "attachment": true,
179
+ "options": {
180
+ "thinking": {
181
+ "budgetTokens": 16000,
182
+ "type": "enabled"
183
+ }
184
+ },
185
+ "reasoning": true,
186
+ "temperature": true,
187
+ "tool_call": true
188
+ },
189
+ "claude-opus-4.5": {
190
+ "attachment": true,
191
+ "options": {
192
+ "thinking": {
193
+ "budgetTokens": 32000,
194
+ "type": "enabled"
195
+ }
196
+ },
197
+ "reasoning": true,
198
+ "temperature": true,
199
+ "tool_call": true
200
+ },
201
+ "claude-sonnet-4.5": {
202
+ "attachment": true,
203
+ "options": {
204
+ "thinking": {
205
+ "budgetTokens": 16000,
206
+ "type": "enabled"
207
+ }
208
+ },
209
+ "reasoning": true,
210
+ "temperature": true,
211
+ "tool_call": true
212
+ },
213
+ "gpt-5.1": {
214
+ "attachment": true,
215
+ "options": {
216
+ "reasoning": {
217
+ "effort": "high"
218
+ }
219
+ },
220
+ "reasoning": true,
221
+ "temperature": true,
222
+ "tool_call": true
223
+ },
224
+ "gpt-5.1-codex": {
225
+ "attachment": true,
226
+ "options": {
227
+ "reasoning": {
228
+ "effort": "high"
229
+ }
230
+ },
231
+ "reasoning": true,
232
+ "temperature": true,
233
+ "tool_call": true
234
+ }
235
+ },
236
+ "npm": "@ai-sdk/anthropic"
237
+ },
238
+ "opencode": {
239
+ "models": {
240
+ "big-pickle": {
241
+ "options": {
242
+ "reasoningEffort": "high",
243
+ "temperature": 1,
244
+ "top_k": 40,
245
+ "top_p": 0.95
246
+ },
247
+ "reasoning": true
248
+ }
249
+ }
250
+ },
251
+ "proxypal": {
252
+ "models": {
253
+ "gemini-2.5-computer-use-preview-10-2025": {
254
+ "limit": {
255
+ "context": 1048576,
256
+ "output": 65536
257
+ },
258
+ "name": "Gemini 2 5 Computer Use Preview 10 2025"
259
+ },
260
+ "gemini-2.5-flash": {
261
+ "limit": {
262
+ "context": 1048576,
263
+ "output": 65536
264
+ },
265
+ "name": "Gemini 2 5 Flash"
266
+ },
267
+ "gemini-2.5-flash-lite": {
268
+ "limit": {
269
+ "context": 1048576,
270
+ "output": 65536
271
+ },
272
+ "name": "Gemini 2 5 Flash Lite"
273
+ },
274
+ "gemini-2.5-pro": {
275
+ "limit": {
276
+ "context": 1048576,
277
+ "output": 65536
278
+ },
279
+ "name": "Gemini 2 5 Pro"
280
+ },
281
+ "gemini-3-flash-preview": {
282
+ "limit": {
283
+ "context": 1048576,
284
+ "output": 65536
285
+ },
286
+ "name": "Gemini 3 Flash Preview"
287
+ },
288
+ "gemini-3-pro-image-preview": {
289
+ "limit": {
290
+ "context": 1048576,
291
+ "output": 65536
292
+ },
293
+ "name": "Gemini 3 Pro Image Preview"
294
+ },
295
+ "gemini-3-pro-preview": {
296
+ "limit": {
297
+ "context": 1048576,
298
+ "output": 65536
299
+ },
300
+ "name": "Gemini 3 Pro Preview"
301
+ },
302
+ "gemini-claude-opus-4-5-thinking": {
303
+ "limit": {
304
+ "context": 200000,
305
+ "output": 64000
306
+ },
307
+ "name": "Gemini Claude Opus 4 5 Thinking",
308
+ "options": {
309
+ "thinking": {
310
+ "budgetTokens": 32768,
311
+ "type": "enabled"
312
+ }
313
+ },
314
+ "reasoning": true
315
+ },
316
+ "gemini-claude-sonnet-4-5": {
317
+ "limit": {
318
+ "context": 200000,
319
+ "output": 64000
320
+ },
321
+ "name": "Gemini Claude Sonnet 4 5"
322
+ },
323
+ "gemini-claude-sonnet-4-5-thinking": {
324
+ "limit": {
325
+ "context": 200000,
326
+ "output": 64000
327
+ },
328
+ "name": "Gemini Claude Sonnet 4 5 Thinking",
329
+ "options": {
330
+ "thinking": {
331
+ "budgetTokens": 32768,
332
+ "type": "enabled"
333
+ }
334
+ },
335
+ "reasoning": true
336
+ },
337
+ "glm-4.6": {
338
+ "limit": {
339
+ "context": 128000,
340
+ "output": 16384
341
+ },
342
+ "name": "Glm 4 6"
343
+ },
344
+ "gpt-5": {
345
+ "limit": {
346
+ "context": 128000,
347
+ "output": 16384
348
+ },
349
+ "name": "Gpt 5",
350
+ "options": {
351
+ "reasoning": {
352
+ "effort": "medium"
353
+ }
354
+ },
355
+ "reasoning": true
356
+ },
357
+ "gpt-5-codex": {
358
+ "limit": {
359
+ "context": 128000,
360
+ "output": 16384
361
+ },
362
+ "name": "Gpt 5 Codex",
363
+ "options": {
364
+ "reasoning": {
365
+ "effort": "medium"
366
+ }
367
+ },
368
+ "reasoning": true
369
+ },
370
+ "gpt-5-codex-mini": {
371
+ "limit": {
372
+ "context": 128000,
373
+ "output": 16384
374
+ },
375
+ "name": "Gpt 5 Codex Mini",
376
+ "options": {
377
+ "reasoning": {
378
+ "effort": "medium"
379
+ }
380
+ },
381
+ "reasoning": true
382
+ },
383
+ "gpt-5.1": {
384
+ "limit": {
385
+ "context": 128000,
386
+ "output": 16384
387
+ },
388
+ "name": "Gpt 5 1",
389
+ "options": {
390
+ "reasoning": {
391
+ "effort": "medium"
392
+ }
393
+ },
394
+ "reasoning": true
395
+ },
396
+ "gpt-5.1-codex": {
397
+ "limit": {
398
+ "context": 128000,
399
+ "output": 16384
400
+ },
401
+ "name": "Gpt 5 1 Codex",
402
+ "options": {
403
+ "reasoning": {
404
+ "effort": "medium"
405
+ }
406
+ },
407
+ "reasoning": true
408
+ },
409
+ "gpt-5.1-codex-max": {
410
+ "limit": {
411
+ "context": 128000,
412
+ "output": 16384
413
+ },
414
+ "name": "Gpt 5 1 Codex Max",
415
+ "options": {
416
+ "reasoning": {
417
+ "effort": "medium"
418
+ }
419
+ },
420
+ "reasoning": true
421
+ },
422
+ "gpt-5.1-codex-mini": {
423
+ "limit": {
424
+ "context": 128000,
425
+ "output": 16384
426
+ },
427
+ "name": "Gpt 5 1 Codex Mini",
428
+ "options": {
429
+ "reasoning": {
430
+ "effort": "medium"
431
+ }
432
+ },
433
+ "reasoning": true
434
+ },
435
+ "gpt-5.2": {
436
+ "limit": {
437
+ "context": 128000,
438
+ "output": 16384
439
+ },
440
+ "name": "Gpt 5 2",
441
+ "options": {
442
+ "reasoning": {
443
+ "effort": "medium"
444
+ }
445
+ },
446
+ "reasoning": true
447
+ },
448
+ "gpt-5.2-codex": {
449
+ "limit": {
450
+ "context": 128000,
451
+ "output": 16384
452
+ },
453
+ "name": "Gpt 5 2 Codex",
454
+ "options": {
455
+ "reasoning": {
456
+ "effort": "medium"
457
+ }
458
+ },
459
+ "reasoning": true
460
+ },
461
+ "gpt-oss-120b-medium": {
462
+ "limit": {
463
+ "context": 128000,
464
+ "output": 16384
465
+ },
466
+ "name": "Gpt Oss 120b Medium"
467
+ }
468
+ },
469
+ "name": "ProxyPal",
470
+ "npm": "@ai-sdk/anthropic",
471
+ "options": {
472
+ "apiKey": "proxypal-local",
473
+ "baseURL": "http://127.0.0.1:8317/v1"
474
+ }
475
+ },
476
+ "zai-coding-plan": {
477
+ "models": {
478
+ "glm-4.7": {
479
+ "id": "glm-4.7",
480
+ "name": "GLM-4.7",
481
+ "reasoning": true,
482
+ "interleaved": true,
483
+ "options": {
484
+ "reasoningEffort": "high",
485
+ "reasoningSummary": "true",
486
+ "temperature": 1,
487
+ "top_k": 40,
488
+ "top_p": 0.95,
489
+ "maxOutputTokens": 131072,
490
+ "thinking": {
491
+ "type": "enabled"
492
+ }
493
+ }
494
+ },
495
+ "glm-4.6": {
496
+ "attachment": true,
497
+ "options": {
498
+ "reasoningEffort": "high",
499
+ "temperature": 1,
500
+ "thinking": {
501
+ "type": "enabled"
502
+ },
503
+ "top_k": 40,
504
+ "top_p": 0.95
505
+ },
506
+ "reasoning": true,
507
+ "temperature": true,
508
+ "tool_call": true
509
+ }
510
+ }
511
+ }
512
+ },
513
+ "share": "manual",
514
+ "small_model": "opencode/gpt-5-nano",
515
+ "theme": "system",
516
+ "tools": {
517
+ "context7*": true,
518
+ "gh_grep*": true,
519
+ "gkg*": true
520
+ },
521
+ "tui": {
522
+ "diff_style": "auto",
523
+ "scroll_acceleration": {
524
+ "enabled": true
525
+ },
526
+ "scroll_speed": 3
527
+ },
528
+ "watcher": {
529
+ "ignore": [
530
+ "node_modules/**",
531
+ ".git/**",
532
+ "dist/**",
533
+ "build/**",
534
+ "*.log",
535
+ ".DS_Store"
536
+ ]
537
+ }
495
538
  }
@@ -11,10 +11,10 @@
11
11
  "author": "",
12
12
  "license": "ISC",
13
13
  "dependencies": {
14
- "@opencode-ai/plugin": "1.0.186"
14
+ "@opencode-ai/plugin": "1.0.199"
15
15
  },
16
16
  "devDependencies": {
17
- "@types/node": "^20.19.27",
17
+ "@types/node": "^25.0.3",
18
18
  "fs": "^0.0.1-security",
19
19
  "path": "^0.12.7",
20
20
  "typescript": "^5.9.3"
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "opencodekit",
3
- "version": "0.6.1",
3
+ "version": "0.6.2",
4
4
  "description": "CLI tool for bootstrapping and managing OpenCodeKit projects",
5
5
  "type": "module",
6
6
  "repository": {