opencodekit 0.15.12 → 0.15.14

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (23) hide show
  1. package/README.md +4 -4
  2. package/dist/index.js +16 -4
  3. package/dist/template/.opencode/AGENTS.md +28 -3
  4. package/dist/template/.opencode/README.md +7 -4
  5. package/dist/template/.opencode/agent/scout.md +117 -27
  6. package/dist/template/.opencode/command/research-ui.md +1 -1
  7. package/dist/template/.opencode/command/research.md +56 -62
  8. package/dist/template/.opencode/memory/observations/2026-01-28-decision-created-deep-research-skill-for-thorough.md +29 -0
  9. package/dist/template/.opencode/memory/observations/2026-01-28-decision-gh-grep-mcp-wrapper-vs-native-grep-searc.md +21 -0
  10. package/dist/template/.opencode/memory/observations/2026-01-28-decision-oracle-tool-optimal-usage-patterns.md +32 -0
  11. package/dist/template/.opencode/memory/observations/2026-01-28-learning-ampcode-deep-mode-research-integration-w.md +42 -0
  12. package/dist/template/.opencode/memory/observations/2026-01-28-pattern-research-delegation-pattern-explore-for-.md +32 -0
  13. package/dist/template/.opencode/memory/research/opencode-mcp-bug-report.md +5 -2
  14. package/dist/template/.opencode/opencode.json +697 -812
  15. package/dist/template/.opencode/plans/1768385996691-silent-wizard.md +12 -2
  16. package/dist/template/.opencode/skill/deep-research/SKILL.md +385 -0
  17. package/dist/template/.opencode/skill/source-code-research/SKILL.md +8 -8
  18. package/dist/template/.opencode/skill/tool-priority/SKILL.md +8 -6
  19. package/dist/template/.opencode/tool/context7-query-docs.ts +89 -0
  20. package/dist/template/.opencode/tool/context7-resolve-library-id.ts +113 -0
  21. package/dist/template/.opencode/tool/grep-search.ts +135 -0
  22. package/dist/template/.opencode/tool/oracle.ts +240 -0
  23. package/package.json +16 -4
@@ -1,814 +1,699 @@
1
1
  {
2
- "$schema": "https://opencode.ai/config.json",
3
- "agent": {
4
- "build": {
5
- "description": "Primary development agent with full codebase access",
6
- "model": "opencode/big-pickle"
7
- },
8
- "compaction": {
9
- "description": "Session summarizer for context continuity across compactions"
10
- },
11
- "explore": {
12
- "description": "Fast codebase search specialist",
13
- "model": "opencode/big-pickle"
14
- },
15
- "general": {
16
- "description": "General-purpose subagent for fast, well-defined tasks; delegates complexity quickly",
17
- "model": "opencode/big-pickle"
18
- },
19
- "looker": {
20
- "description": "Media extraction specialist for images, PDFs, diagrams",
21
- "model": "opencode/gpt-5-nano"
22
- },
23
- "plan": {
24
- "description": "Primary planning agent for architecture and multi-phase execution",
25
- "model": "opencode/big-pickle"
26
- },
27
- "review": {
28
- "description": "Code review, debugging, and security audit specialist",
29
- "model": "opencode/big-pickle"
30
- },
31
- "scout": {
32
- "description": "External research specialist for library docs and patterns",
33
- "model": "opencode/big-pickle"
34
- },
35
- "vision": {
36
- "description": "Visual content specialist for multimodal analysis and UI/UX guidance",
37
- "model": "opencode/gpt-5-nano"
38
- },
39
- "painter": {
40
- "description": "Image generation and editing specialist using Gemini 3 Pro Image. Use for creating UI mockups, app icons, hero images, visual assets, and editing/redacting existing images",
41
- "model": "opencode/gpt-5-nano"
42
- }
43
- },
44
- "autoupdate": false,
45
- "compaction": {
46
- "auto": true,
47
- "prune": true
48
- },
49
- "experimental": {},
50
- "formatter": {
51
- "biome": {
52
- "command": [
53
- "npx",
54
- "@biomejs/biome",
55
- "check",
56
- "--write",
57
- "$FILE"
58
- ],
59
- "extensions": [
60
- ".js",
61
- ".jsx",
62
- ".ts",
63
- ".tsx",
64
- ".json",
65
- ".jsonc"
66
- ]
67
- },
68
- "cargo-fmt": {
69
- "command": [
70
- "cargo",
71
- "fmt",
72
- "--",
73
- "$FILE"
74
- ],
75
- "extensions": [
76
- ".rs"
77
- ]
78
- },
79
- "java-formatter": {
80
- "command": [
81
- "google-java-format",
82
- "--replace",
83
- "$FILE"
84
- ],
85
- "environment": {
86
- "JAVA_HOME": "{env:JAVA_HOME}"
87
- },
88
- "extensions": [
89
- ".java"
90
- ]
91
- },
92
- "oxfmt": {
93
- "command": [
94
- "npx",
95
- "oxfmt",
96
- "--write",
97
- "$FILE"
98
- ],
99
- "extensions": [
100
- ".js",
101
- ".jsx",
102
- ".ts",
103
- ".tsx",
104
- ".json",
105
- ".jsonc",
106
- ".html",
107
- ".css",
108
- ".scss",
109
- ".sass",
110
- ".md",
111
- ".mdx",
112
- ".yaml",
113
- ".yml"
114
- ]
115
- },
116
- "laravel-pint": {
117
- "command": [
118
- "npx",
119
- "laravel-pint",
120
- "--preset",
121
- "psr12",
122
- "$FILE"
123
- ],
124
- "extensions": [
125
- ".php"
126
- ]
127
- }
128
- },
129
- "instructions": [
130
- ".opencode/memory/user.md",
131
- ".opencode/memory/project/*.md"
132
- ],
133
- "keybinds": {
134
- "command_list": ";",
135
- "leader": "`",
136
- "session_child_cycle": "ctrl+alt+right",
137
- "session_child_cycle_reverse": "ctrl+alt+left",
138
- "session_compact": "ctrl+k"
139
- },
140
- "mcp": {
141
- "context7": {
142
- "type": "remote",
143
- "url": "https://mcp.context7.com/mcp",
144
- "headers": {
145
- "CONTEXT7_API_KEY": "{env:CONTEXT7_API_KEY}"
146
- }
147
- },
148
- "gh_grep": {
149
- "type": "remote",
150
- "url": "https://mcp.grep.app"
151
- },
152
- "stitch": {
153
- "enabled": false,
154
- "type": "remote",
155
- "url": "https://stitch.googleapis.com/mcp",
156
- "oauth": false,
157
- "headers": {
158
- "Authorization": "Bearer {env:STITCH_ACCESS_TOKEN}",
159
- "X-Goog-User-Project": "{env:GOOGLE_CLOUD_PROJECT}"
160
- }
161
- }
162
- },
163
- "model": "opencode/big-pickle",
164
- "permission": {
165
- "bash": {
166
- "*": "allow",
167
- "cat *": "allow",
168
- "git branch *": "allow",
169
- "git commit *": "ask",
170
- "git diff *": "allow",
171
- "git log *": "allow",
172
- "git push *": "ask",
173
- "git rebase *": "ask",
174
- "git reset *": "ask",
175
- "git status *": "allow",
176
- "ls *": "allow",
177
- "npm *": "allow",
178
- "npx *": "allow",
179
- "rm *": "deny",
180
- "rm -rf *": "deny",
181
- "sudo *": "deny"
182
- },
183
- "doom_loop": "ask",
184
- "edit": "allow",
185
- "external_directory": "ask",
186
- "question": "allow",
187
- "read": {
188
- "*": "allow",
189
- "*.env": "deny",
190
- "*.env.*": "deny",
191
- "*.env.example": "allow"
192
- }
193
- },
194
- "plugin": [
195
- "@tarquinen/opencode-dcp@latest",
196
- "@franlol/opencode-md-table-formatter@0.0.3"
197
- ],
198
- "provider": {
199
- "github-copilot": {
200
- "models": {
201
- "claude-opus-4.5": {
202
- "attachment": true,
203
- "reasoning": true,
204
- "temperature": true,
205
- "tool_call": true,
206
- "variants": {
207
- "high": {
208
- "options": {
209
- "thinking": {
210
- "budgetTokens": 32000,
211
- "type": "enabled"
212
- }
213
- }
214
- },
215
- "medium": {
216
- "options": {
217
- "thinking": {
218
- "budgetTokens": 16000,
219
- "type": "enabled"
220
- }
221
- }
222
- }
223
- }
224
- },
225
- "claude-sonnet-4.5": {
226
- "attachment": true,
227
- "reasoning": true,
228
- "temperature": true,
229
- "tool_call": true,
230
- "variants": {
231
- "high": {
232
- "options": {
233
- "thinking": {
234
- "budgetTokens": 16000,
235
- "type": "enabled"
236
- }
237
- }
238
- },
239
- "medium": {
240
- "options": {
241
- "thinking": {
242
- "budgetTokens": 8000,
243
- "type": "enabled"
244
- }
245
- }
246
- }
247
- }
248
- },
249
- "claude-haiku-4.5": {
250
- "attachment": true,
251
- "reasoning": true,
252
- "temperature": true,
253
- "tool_call": true,
254
- "variants": {
255
- "high": {
256
- "options": {
257
- "thinking": {
258
- "budgetTokens": 32000,
259
- "type": "enabled"
260
- }
261
- }
262
- },
263
- "medium": {
264
- "options": {
265
- "thinking": {
266
- "budgetTokens": 16000,
267
- "type": "enabled"
268
- }
269
- }
270
- }
271
- }
272
- },
273
- "gpt-5-mini": {
274
- "attachment": true,
275
- "reasoning": true,
276
- "temperature": true,
277
- "tool_call": true,
278
- "variants": {
279
- "high": {
280
- "options": {
281
- "reasoning": {
282
- "effort": "high"
283
- }
284
- }
285
- },
286
- "medium": {
287
- "options": {
288
- "reasoning": {
289
- "effort": "medium"
290
- }
291
- }
292
- },
293
- "low": {
294
- "options": {
295
- "reasoning": {
296
- "effort": "low"
297
- }
298
- }
299
- }
300
- }
301
- },
302
- "gpt-5.2-codex": {
303
- "attachment": true,
304
- "reasoning": true,
305
- "temperature": true,
306
- "tool_call": true,
307
- "variants": {
308
- "high": {
309
- "options": {
310
- "reasoning": {
311
- "effort": "high"
312
- }
313
- }
314
- },
315
- "medium": {
316
- "options": {
317
- "reasoning": {
318
- "effort": "medium"
319
- }
320
- }
321
- },
322
- "low": {
323
- "options": {
324
- "reasoning": {
325
- "effort": "low"
326
- }
327
- }
328
- }
329
- }
330
- }
331
- }
332
- },
333
- "openai": {
334
- "models": {
335
- "gpt-5.2": {
336
- "variants": {
337
- "fast": {
338
- "disabled": true
339
- },
340
- "high": {
341
- "include": [
342
- "reasoning.encrypted_content"
343
- ],
344
- "reasoningEffort": "high",
345
- "reasoningSummary": "auto",
346
- "textVerbosity": "low"
347
- },
348
- "medium": {
349
- "include": [
350
- "reasoning.encrypted_content"
351
- ],
352
- "reasoningEffort": "medium",
353
- "reasoningSummary": "auto",
354
- "textVerbosity": "low"
355
- }
356
- }
357
- },
358
- "gpt-5.2-codex": {
359
- "variants": {
360
- "fast": {
361
- "disabled": true
362
- },
363
- "high": {
364
- "include": [
365
- "reasoning.encrypted_content"
366
- ],
367
- "reasoningEffort": "high",
368
- "reasoningSummary": "auto",
369
- "textVerbosity": "low"
370
- },
371
- "medium": {
372
- "include": [
373
- "reasoning.encrypted_content"
374
- ],
375
- "reasoningEffort": "medium",
376
- "reasoningSummary": "auto",
377
- "textVerbosity": "low"
378
- }
379
- }
380
- }
381
- }
382
- },
383
- "opencode": {
384
- "models": {
385
- "big-pickle": {
386
- "options": {
387
- "reasoningEffort": "high",
388
- "temperature": 1,
389
- "top_k": 40,
390
- "top_p": 0.95
391
- },
392
- "reasoning": true
393
- }
394
- }
395
- },
396
- "proxypal": {
397
- "models": {
398
- "gemini-2.5-computer-use-preview-10-2025": {
399
- "limit": {
400
- "context": 880964,
401
- "output": 65536
402
- },
403
- "name": "Gemini 2 5 Computer Use Preview 10 2025",
404
- "modalities": {
405
- "input": [
406
- "text",
407
- "image",
408
- "pdf"
409
- ],
410
- "output": [
411
- "text"
412
- ]
413
- }
414
- },
415
- "gemini-2.5-flash": {
416
- "limit": {
417
- "context": 880964,
418
- "output": 65536
419
- },
420
- "name": "Gemini 2 5 Flash",
421
- "modalities": {
422
- "input": [
423
- "text",
424
- "image",
425
- "pdf"
426
- ],
427
- "output": [
428
- "text"
429
- ]
430
- }
431
- },
432
- "gemini-2.5-flash-lite": {
433
- "limit": {
434
- "context": 880964,
435
- "output": 65536
436
- },
437
- "name": "Gemini 2 5 Flash Lite",
438
- "modalities": {
439
- "input": [
440
- "text",
441
- "image",
442
- "pdf"
443
- ],
444
- "output": [
445
- "text"
446
- ]
447
- }
448
- },
449
- "gemini-2.5-pro": {
450
- "limit": {
451
- "context": 880964,
452
- "output": 65536
453
- },
454
- "name": "Gemini 2 5 Pro",
455
- "modalities": {
456
- "input": [
457
- "text",
458
- "image",
459
- "pdf"
460
- ],
461
- "output": [
462
- "text"
463
- ]
464
- }
465
- },
466
- "gemini-3-flash-preview": {
467
- "limit": {
468
- "context": 880964,
469
- "output": 65536
470
- },
471
- "name": "Gemini 3 Flash Preview",
472
- "modalities": {
473
- "input": [
474
- "text",
475
- "image",
476
- "pdf"
477
- ],
478
- "output": [
479
- "text"
480
- ]
481
- },
482
- "variants": {
483
- "low": {
484
- "thinkingLevel": "low"
485
- },
486
- "medium": {
487
- "thinkingLevel": "medium"
488
- },
489
- "high": {
490
- "thinkingLevel": "high"
491
- }
492
- },
493
- "reasoning": true
494
- },
495
- "gemini-3-pro-image-preview": {
496
- "limit": {
497
- "context": 880964,
498
- "output": 65536
499
- },
500
- "name": "Gemini 3 Pro Image Preview",
501
- "modalities": {
502
- "input": [
503
- "text",
504
- "image",
505
- "pdf"
506
- ],
507
- "output": [
508
- "text"
509
- ]
510
- }
511
- },
512
- "gemini-3-pro-preview": {
513
- "limit": {
514
- "context": 880964,
515
- "output": 65536
516
- },
517
- "name": "Gemini 3 Pro Preview",
518
- "modalities": {
519
- "input": [
520
- "text",
521
- "image",
522
- "pdf"
523
- ],
524
- "output": [
525
- "text"
526
- ]
527
- },
528
- "variants": {
529
- "low": {
530
- "thinkingLevel": "low"
531
- },
532
- "high": {
533
- "thinkingLevel": "high"
534
- }
535
- },
536
- "reasoning": true
537
- },
538
- "gemini-claude-opus-4-5-thinking": {
539
- "limit": {
540
- "context": 168000,
541
- "output": 64000
542
- },
543
- "modalities": {
544
- "input": [
545
- "text",
546
- "image",
547
- "pdf"
548
- ],
549
- "output": [
550
- "text"
551
- ]
552
- },
553
- "name": "Gemini Claude Opus 4 5 Thinking",
554
- "variants": {
555
- "low": {
556
- "thinkingConfig": {
557
- "thinkingBudget": 8192
558
- }
559
- },
560
- "max": {
561
- "thinkingConfig": {
562
- "thinkingBudget": 32768
563
- }
564
- }
565
- },
566
- "reasoning": true
567
- },
568
- "gemini-claude-sonnet-4-5": {
569
- "limit": {
570
- "context": 168000,
571
- "output": 64000
572
- },
573
- "modalities": {
574
- "input": [
575
- "text",
576
- "image",
577
- "pdf"
578
- ],
579
- "output": [
580
- "text"
581
- ]
582
- },
583
- "name": "Gemini Claude Sonnet 4 5"
584
- },
585
- "gemini-claude-sonnet-4-5-thinking": {
586
- "limit": {
587
- "context": 168000,
588
- "output": 64000
589
- },
590
- "modalities": {
591
- "input": [
592
- "text",
593
- "image",
594
- "pdf"
595
- ],
596
- "output": [
597
- "text"
598
- ]
599
- },
600
- "name": "Gemini Claude Sonnet 4 5 Thinking",
601
- "variants": {
602
- "low": {
603
- "thinkingConfig": {
604
- "thinkingBudget": 8192
605
- }
606
- },
607
- "max": {
608
- "thinkingConfig": {
609
- "thinkingBudget": 32768
610
- }
611
- }
612
- },
613
- "reasoning": true
614
- },
615
- "glm-4.5": {
616
- "limit": {
617
- "context": 107520,
618
- "output": 16384
619
- },
620
- "name": "Glm 4 5"
621
- },
622
- "glm-4.5-air": {
623
- "limit": {
624
- "context": 107520,
625
- "output": 16384
626
- },
627
- "name": "Glm 4 5 Air"
628
- },
629
- "glm-4.6": {
630
- "limit": {
631
- "context": 107520,
632
- "output": 16384
633
- },
634
- "name": "Glm 4 6"
635
- },
636
- "glm-4.7": {
637
- "limit": {
638
- "context": 107520,
639
- "output": 16384
640
- },
641
- "name": "Glm 4 7"
642
- },
643
- "gpt-5": {
644
- "limit": {
645
- "context": 336000,
646
- "output": 32768
647
- },
648
- "name": "Gpt 5",
649
- "options": {
650
- "reasoningEffort": "medium"
651
- },
652
- "reasoning": true
653
- },
654
- "gpt-5-codex": {
655
- "limit": {
656
- "context": 336000,
657
- "output": 32768
658
- },
659
- "name": "Gpt 5 Codex",
660
- "options": {
661
- "reasoningEffort": "medium"
662
- },
663
- "reasoning": true
664
- },
665
- "gpt-5-codex-mini": {
666
- "limit": {
667
- "context": 336000,
668
- "output": 32768
669
- },
670
- "name": "Gpt 5 Codex Mini",
671
- "options": {
672
- "reasoningEffort": "medium"
673
- },
674
- "reasoning": true
675
- },
676
- "gpt-5.1": {
677
- "limit": {
678
- "context": 336000,
679
- "output": 32768
680
- },
681
- "name": "Gpt 5 1",
682
- "options": {
683
- "reasoningEffort": "medium"
684
- },
685
- "reasoning": true
686
- },
687
- "gpt-5.1-codex": {
688
- "limit": {
689
- "context": 336000,
690
- "output": 32768
691
- },
692
- "name": "Gpt 5 1 Codex",
693
- "options": {
694
- "reasoningEffort": "medium"
695
- },
696
- "reasoning": true
697
- },
698
- "gpt-5.1-codex-max": {
699
- "limit": {
700
- "context": 336000,
701
- "output": 32768
702
- },
703
- "name": "Gpt 5 1 Codex Max",
704
- "options": {
705
- "reasoningEffort": "medium"
706
- },
707
- "reasoning": true
708
- },
709
- "gpt-5.1-codex-mini": {
710
- "limit": {
711
- "context": 336000,
712
- "output": 32768
713
- },
714
- "name": "Gpt 5 1 Codex Mini",
715
- "options": {
716
- "reasoningEffort": "medium"
717
- },
718
- "reasoning": true
719
- },
720
- "gpt-5.2": {
721
- "limit": {
722
- "context": 336000,
723
- "output": 32768
724
- },
725
- "name": "Gpt 5 2",
726
- "options": {
727
- "reasoningEffort": "medium"
728
- },
729
- "reasoning": true
730
- },
731
- "gpt-5.2-codex": {
732
- "limit": {
733
- "context": 336000,
734
- "output": 32768
735
- },
736
- "name": "Gpt 5 2 Codex",
737
- "options": {
738
- "reasoningEffort": "medium"
739
- },
740
- "reasoning": true
741
- },
742
- "gpt-oss-120b-medium": {
743
- "limit": {
744
- "context": 107520,
745
- "output": 16384
746
- },
747
- "name": "Gpt Oss 120b Medium"
748
- }
749
- },
750
- "name": "ProxyPal",
751
- "npm": "@ai-sdk/anthropic",
752
- "options": {
753
- "apiKey": "proxypal-local",
754
- "baseURL": "http://127.0.0.1:8317/v1",
755
- "includeUsage": true
756
- }
757
- },
758
- "zai-coding-plan": {
759
- "models": {
760
- "glm-4.6": {
761
- "limit": {
762
- "context": 128000,
763
- "output": 16384
764
- },
765
- "options": {
766
- "temperature": 1,
767
- "thinking": {
768
- "type": "enabled"
769
- }
770
- },
771
- "reasoning": true,
772
- "temperature": true,
773
- "tool_call": true
774
- },
775
- "glm-4.7": {
776
- "id": "glm-4.7",
777
- "interleaved": true,
778
- "limit": {
779
- "context": 200000,
780
- "output": 128000
781
- },
782
- "name": "GLM-4.7",
783
- "options": {
784
- "temperature": 1,
785
- "thinking": {
786
- "type": "enabled"
787
- }
788
- },
789
- "reasoning": true
790
- }
791
- },
792
- "name": "Z.AI Coding Plan"
793
- }
794
- },
795
- "share": "manual",
796
- "small_model": "opencode/gpt-5-nano",
797
- "tui": {
798
- "diff_style": "auto",
799
- "scroll_acceleration": {
800
- "enabled": true
801
- },
802
- "scroll_speed": 3
803
- },
804
- "watcher": {
805
- "ignore": [
806
- "node_modules/**",
807
- ".git/**",
808
- "dist/**",
809
- "build/**",
810
- "*.log",
811
- ".DS_Store"
812
- ]
813
- }
2
+ "$schema": "https://opencode.ai/config.json",
3
+ "agent": {
4
+ "build": {
5
+ "description": "Primary development agent with full codebase access",
6
+ "model": "opencode/big-pickle"
7
+ },
8
+ "compaction": {
9
+ "description": "Session summarizer for context continuity across compactions"
10
+ },
11
+ "explore": {
12
+ "description": "Fast codebase search specialist",
13
+ "model": "opencode/big-pickle"
14
+ },
15
+ "general": {
16
+ "description": "General-purpose subagent for fast, well-defined tasks; delegates complexity quickly",
17
+ "model": "opencode/big-pickle"
18
+ },
19
+ "looker": {
20
+ "description": "Media extraction specialist for images, PDFs, diagrams",
21
+ "model": "opencode/gpt-5-nano"
22
+ },
23
+ "plan": {
24
+ "description": "Primary planning agent for architecture and multi-phase execution",
25
+ "model": "opencode/big-pickle"
26
+ },
27
+ "review": {
28
+ "description": "Code review, debugging, and security audit specialist",
29
+ "model": "opencode/big-pickle"
30
+ },
31
+ "scout": {
32
+ "description": "External research specialist for library docs and patterns",
33
+ "model": "opencode/big-pickle"
34
+ },
35
+ "vision": {
36
+ "description": "Visual content specialist for multimodal analysis and UI/UX guidance",
37
+ "model": "opencode/gpt-5-nano"
38
+ },
39
+ "painter": {
40
+ "description": "Image generation and editing specialist using Gemini 3 Pro Image. Use for creating UI mockups, app icons, hero images, visual assets, and editing/redacting existing images",
41
+ "model": "opencode/gpt-5-nano"
42
+ }
43
+ },
44
+ "autoupdate": false,
45
+ "compaction": {
46
+ "auto": true,
47
+ "prune": true
48
+ },
49
+ "experimental": {},
50
+ "formatter": {
51
+ "biome": {
52
+ "command": ["npx", "@biomejs/biome", "check", "--write", "$FILE"],
53
+ "extensions": [".js", ".jsx", ".ts", ".tsx", ".json", ".jsonc"]
54
+ },
55
+ "cargo-fmt": {
56
+ "command": ["cargo", "fmt", "--", "$FILE"],
57
+ "extensions": [".rs"]
58
+ },
59
+ "java-formatter": {
60
+ "command": ["google-java-format", "--replace", "$FILE"],
61
+ "environment": {
62
+ "JAVA_HOME": "{env:JAVA_HOME}"
63
+ },
64
+ "extensions": [".java"]
65
+ },
66
+ "oxfmt": {
67
+ "command": ["npx", "oxfmt", "--write", "$FILE"],
68
+ "extensions": [
69
+ ".js",
70
+ ".jsx",
71
+ ".ts",
72
+ ".tsx",
73
+ ".json",
74
+ ".jsonc",
75
+ ".html",
76
+ ".css",
77
+ ".scss",
78
+ ".sass",
79
+ ".md",
80
+ ".mdx",
81
+ ".yaml",
82
+ ".yml"
83
+ ]
84
+ },
85
+ "laravel-pint": {
86
+ "command": ["npx", "laravel-pint", "--preset", "psr12", "$FILE"],
87
+ "extensions": [".php"]
88
+ }
89
+ },
90
+ "instructions": [".opencode/memory/user.md", ".opencode/memory/project/*.md"],
91
+ "keybinds": {
92
+ "command_list": ";",
93
+ "leader": "`",
94
+ "session_child_cycle": "ctrl+alt+right",
95
+ "session_child_cycle_reverse": "ctrl+alt+left",
96
+ "session_compact": "ctrl+k"
97
+ },
98
+ "mcp": {
99
+ "stitch": {
100
+ "enabled": false,
101
+ "type": "remote",
102
+ "url": "https://stitch.googleapis.com/mcp",
103
+ "oauth": false,
104
+ "headers": {
105
+ "Authorization": "Bearer {env:STITCH_ACCESS_TOKEN}",
106
+ "X-Goog-User-Project": "{env:GOOGLE_CLOUD_PROJECT}"
107
+ }
108
+ }
109
+ },
110
+ "model": "opencode/big-pickle",
111
+ "permission": {
112
+ "bash": {
113
+ "*": "allow",
114
+ "cat *": "allow",
115
+ "git branch *": "allow",
116
+ "git commit *": "ask",
117
+ "git diff *": "allow",
118
+ "git log *": "allow",
119
+ "git push *": "ask",
120
+ "git rebase *": "ask",
121
+ "git reset *": "ask",
122
+ "git status *": "allow",
123
+ "ls *": "allow",
124
+ "npm *": "allow",
125
+ "npx *": "allow",
126
+ "rm *": "deny",
127
+ "rm -rf *": "deny",
128
+ "sudo *": "deny"
129
+ },
130
+ "doom_loop": "ask",
131
+ "edit": "allow",
132
+ "external_directory": "ask",
133
+ "question": "allow",
134
+ "read": {
135
+ "*": "allow",
136
+ "*.env": "deny",
137
+ "*.env.*": "deny",
138
+ "*.env.example": "allow"
139
+ }
140
+ },
141
+ "plugin": [
142
+ "@tarquinen/opencode-dcp@latest",
143
+ "@franlol/opencode-md-table-formatter@0.0.3"
144
+ ],
145
+ "tools": {
146
+ "grep-search": true,
147
+ "context7-resolve-library-id": true,
148
+ "context7-query-docs": true,
149
+ "oracle": true
150
+ },
151
+ "provider": {
152
+ "github-copilot": {
153
+ "models": {
154
+ "claude-opus-4.5": {
155
+ "attachment": true,
156
+ "reasoning": true,
157
+ "temperature": true,
158
+ "tool_call": true,
159
+ "variants": {
160
+ "high": {
161
+ "options": {
162
+ "thinking": {
163
+ "budgetTokens": 32000,
164
+ "type": "enabled"
165
+ }
166
+ }
167
+ },
168
+ "medium": {
169
+ "options": {
170
+ "thinking": {
171
+ "budgetTokens": 16000,
172
+ "type": "enabled"
173
+ }
174
+ }
175
+ }
176
+ }
177
+ },
178
+ "claude-sonnet-4.5": {
179
+ "attachment": true,
180
+ "reasoning": true,
181
+ "temperature": true,
182
+ "tool_call": true,
183
+ "variants": {
184
+ "high": {
185
+ "options": {
186
+ "thinking": {
187
+ "budgetTokens": 16000,
188
+ "type": "enabled"
189
+ }
190
+ }
191
+ },
192
+ "medium": {
193
+ "options": {
194
+ "thinking": {
195
+ "budgetTokens": 8000,
196
+ "type": "enabled"
197
+ }
198
+ }
199
+ }
200
+ }
201
+ },
202
+ "claude-haiku-4.5": {
203
+ "attachment": true,
204
+ "reasoning": true,
205
+ "temperature": true,
206
+ "tool_call": true,
207
+ "variants": {
208
+ "high": {
209
+ "options": {
210
+ "thinking": {
211
+ "budgetTokens": 32000,
212
+ "type": "enabled"
213
+ }
214
+ }
215
+ },
216
+ "medium": {
217
+ "options": {
218
+ "thinking": {
219
+ "budgetTokens": 16000,
220
+ "type": "enabled"
221
+ }
222
+ }
223
+ }
224
+ }
225
+ },
226
+ "gpt-5-mini": {
227
+ "attachment": true,
228
+ "reasoning": true,
229
+ "temperature": true,
230
+ "tool_call": true,
231
+ "variants": {
232
+ "high": {
233
+ "options": {
234
+ "reasoning": {
235
+ "effort": "high"
236
+ }
237
+ }
238
+ },
239
+ "medium": {
240
+ "options": {
241
+ "reasoning": {
242
+ "effort": "medium"
243
+ }
244
+ }
245
+ },
246
+ "low": {
247
+ "options": {
248
+ "reasoning": {
249
+ "effort": "low"
250
+ }
251
+ }
252
+ }
253
+ }
254
+ },
255
+ "gpt-5.2-codex": {
256
+ "attachment": true,
257
+ "reasoning": true,
258
+ "temperature": true,
259
+ "tool_call": true,
260
+ "variants": {
261
+ "high": {
262
+ "options": {
263
+ "reasoning": {
264
+ "effort": "high"
265
+ }
266
+ }
267
+ },
268
+ "medium": {
269
+ "options": {
270
+ "reasoning": {
271
+ "effort": "medium"
272
+ }
273
+ }
274
+ },
275
+ "low": {
276
+ "options": {
277
+ "reasoning": {
278
+ "effort": "low"
279
+ }
280
+ }
281
+ }
282
+ }
283
+ }
284
+ }
285
+ },
286
+ "openai": {
287
+ "models": {
288
+ "gpt-5.2": {
289
+ "variants": {
290
+ "fast": {
291
+ "disabled": true
292
+ },
293
+ "high": {
294
+ "include": ["reasoning.encrypted_content"],
295
+ "reasoningEffort": "high",
296
+ "reasoningSummary": "auto",
297
+ "textVerbosity": "low"
298
+ },
299
+ "medium": {
300
+ "include": ["reasoning.encrypted_content"],
301
+ "reasoningEffort": "medium",
302
+ "reasoningSummary": "auto",
303
+ "textVerbosity": "low"
304
+ }
305
+ }
306
+ },
307
+ "gpt-5.2-codex": {
308
+ "variants": {
309
+ "fast": {
310
+ "disabled": true
311
+ },
312
+ "high": {
313
+ "include": ["reasoning.encrypted_content"],
314
+ "reasoningEffort": "high",
315
+ "reasoningSummary": "auto",
316
+ "textVerbosity": "low"
317
+ },
318
+ "medium": {
319
+ "include": ["reasoning.encrypted_content"],
320
+ "reasoningEffort": "medium",
321
+ "reasoningSummary": "auto",
322
+ "textVerbosity": "low"
323
+ }
324
+ }
325
+ }
326
+ }
327
+ },
328
+ "opencode": {
329
+ "models": {
330
+ "big-pickle": {
331
+ "options": {
332
+ "reasoningEffort": "high",
333
+ "temperature": 1,
334
+ "top_k": 40,
335
+ "top_p": 0.95
336
+ },
337
+ "reasoning": true
338
+ }
339
+ }
340
+ },
341
+ "proxypal": {
342
+ "models": {
343
+ "gemini-2.5-computer-use-preview-10-2025": {
344
+ "limit": {
345
+ "context": 880964,
346
+ "output": 65536
347
+ },
348
+ "name": "Gemini 2 5 Computer Use Preview 10 2025",
349
+ "modalities": {
350
+ "input": ["text", "image", "pdf"],
351
+ "output": ["text"]
352
+ }
353
+ },
354
+ "gemini-2.5-flash": {
355
+ "limit": {
356
+ "context": 880964,
357
+ "output": 65536
358
+ },
359
+ "name": "Gemini 2 5 Flash",
360
+ "modalities": {
361
+ "input": ["text", "image", "pdf"],
362
+ "output": ["text"]
363
+ }
364
+ },
365
+ "gemini-2.5-flash-lite": {
366
+ "limit": {
367
+ "context": 880964,
368
+ "output": 65536
369
+ },
370
+ "name": "Gemini 2 5 Flash Lite",
371
+ "modalities": {
372
+ "input": ["text", "image", "pdf"],
373
+ "output": ["text"]
374
+ }
375
+ },
376
+ "gemini-2.5-pro": {
377
+ "limit": {
378
+ "context": 880964,
379
+ "output": 65536
380
+ },
381
+ "name": "Gemini 2 5 Pro",
382
+ "modalities": {
383
+ "input": ["text", "image", "pdf"],
384
+ "output": ["text"]
385
+ }
386
+ },
387
+ "gemini-3-flash-preview": {
388
+ "limit": {
389
+ "context": 880964,
390
+ "output": 65536
391
+ },
392
+ "name": "Gemini 3 Flash Preview",
393
+ "modalities": {
394
+ "input": ["text", "image", "pdf"],
395
+ "output": ["text"]
396
+ },
397
+ "variants": {
398
+ "low": {
399
+ "thinkingLevel": "low"
400
+ },
401
+ "medium": {
402
+ "thinkingLevel": "medium"
403
+ },
404
+ "high": {
405
+ "thinkingLevel": "high"
406
+ }
407
+ },
408
+ "reasoning": true
409
+ },
410
+ "gemini-3-pro-image-preview": {
411
+ "limit": {
412
+ "context": 880964,
413
+ "output": 65536
414
+ },
415
+ "name": "Gemini 3 Pro Image Preview",
416
+ "modalities": {
417
+ "input": ["text", "image", "pdf"],
418
+ "output": ["text"]
419
+ }
420
+ },
421
+ "gemini-3-pro-preview": {
422
+ "limit": {
423
+ "context": 880964,
424
+ "output": 65536
425
+ },
426
+ "name": "Gemini 3 Pro Preview",
427
+ "modalities": {
428
+ "input": ["text", "image", "pdf"],
429
+ "output": ["text"]
430
+ },
431
+ "variants": {
432
+ "low": {
433
+ "thinkingLevel": "low"
434
+ },
435
+ "high": {
436
+ "thinkingLevel": "high"
437
+ }
438
+ },
439
+ "reasoning": true
440
+ },
441
+ "gemini-claude-opus-4-5-thinking": {
442
+ "limit": {
443
+ "context": 168000,
444
+ "output": 64000
445
+ },
446
+ "modalities": {
447
+ "input": ["text", "image", "pdf"],
448
+ "output": ["text"]
449
+ },
450
+ "name": "Gemini Claude Opus 4 5 Thinking",
451
+ "variants": {
452
+ "low": {
453
+ "thinkingConfig": {
454
+ "thinkingBudget": 8192
455
+ }
456
+ },
457
+ "max": {
458
+ "thinkingConfig": {
459
+ "thinkingBudget": 32768
460
+ }
461
+ }
462
+ },
463
+ "reasoning": true
464
+ },
465
+ "gemini-claude-sonnet-4-5": {
466
+ "limit": {
467
+ "context": 168000,
468
+ "output": 64000
469
+ },
470
+ "modalities": {
471
+ "input": ["text", "image", "pdf"],
472
+ "output": ["text"]
473
+ },
474
+ "name": "Gemini Claude Sonnet 4 5"
475
+ },
476
+ "gemini-claude-sonnet-4-5-thinking": {
477
+ "limit": {
478
+ "context": 168000,
479
+ "output": 64000
480
+ },
481
+ "modalities": {
482
+ "input": ["text", "image", "pdf"],
483
+ "output": ["text"]
484
+ },
485
+ "name": "Gemini Claude Sonnet 4 5 Thinking",
486
+ "variants": {
487
+ "low": {
488
+ "thinkingConfig": {
489
+ "thinkingBudget": 8192
490
+ }
491
+ },
492
+ "max": {
493
+ "thinkingConfig": {
494
+ "thinkingBudget": 32768
495
+ }
496
+ }
497
+ },
498
+ "reasoning": true
499
+ },
500
+ "glm-4.5": {
501
+ "limit": {
502
+ "context": 107520,
503
+ "output": 16384
504
+ },
505
+ "name": "Glm 4 5"
506
+ },
507
+ "glm-4.5-air": {
508
+ "limit": {
509
+ "context": 107520,
510
+ "output": 16384
511
+ },
512
+ "name": "Glm 4 5 Air"
513
+ },
514
+ "glm-4.6": {
515
+ "limit": {
516
+ "context": 107520,
517
+ "output": 16384
518
+ },
519
+ "name": "Glm 4 6"
520
+ },
521
+ "glm-4.7": {
522
+ "limit": {
523
+ "context": 107520,
524
+ "output": 16384
525
+ },
526
+ "name": "Glm 4 7"
527
+ },
528
+ "gpt-5": {
529
+ "limit": {
530
+ "context": 336000,
531
+ "output": 32768
532
+ },
533
+ "name": "Gpt 5",
534
+ "options": {
535
+ "reasoningEffort": "medium"
536
+ },
537
+ "reasoning": true
538
+ },
539
+ "gpt-5-codex": {
540
+ "limit": {
541
+ "context": 336000,
542
+ "output": 32768
543
+ },
544
+ "name": "Gpt 5 Codex",
545
+ "options": {
546
+ "reasoningEffort": "medium"
547
+ },
548
+ "reasoning": true
549
+ },
550
+ "gpt-5-codex-mini": {
551
+ "limit": {
552
+ "context": 336000,
553
+ "output": 32768
554
+ },
555
+ "name": "Gpt 5 Codex Mini",
556
+ "options": {
557
+ "reasoningEffort": "medium"
558
+ },
559
+ "reasoning": true
560
+ },
561
+ "gpt-5.1": {
562
+ "limit": {
563
+ "context": 336000,
564
+ "output": 32768
565
+ },
566
+ "name": "Gpt 5 1",
567
+ "options": {
568
+ "reasoningEffort": "medium"
569
+ },
570
+ "reasoning": true
571
+ },
572
+ "gpt-5.1-codex": {
573
+ "limit": {
574
+ "context": 336000,
575
+ "output": 32768
576
+ },
577
+ "name": "Gpt 5 1 Codex",
578
+ "options": {
579
+ "reasoningEffort": "medium"
580
+ },
581
+ "reasoning": true
582
+ },
583
+ "gpt-5.1-codex-max": {
584
+ "limit": {
585
+ "context": 336000,
586
+ "output": 32768
587
+ },
588
+ "name": "Gpt 5 1 Codex Max",
589
+ "options": {
590
+ "reasoningEffort": "medium"
591
+ },
592
+ "reasoning": true
593
+ },
594
+ "gpt-5.1-codex-mini": {
595
+ "limit": {
596
+ "context": 336000,
597
+ "output": 32768
598
+ },
599
+ "name": "Gpt 5 1 Codex Mini",
600
+ "options": {
601
+ "reasoningEffort": "medium"
602
+ },
603
+ "reasoning": true
604
+ },
605
+ "gpt-5.2": {
606
+ "limit": {
607
+ "context": 336000,
608
+ "output": 32768
609
+ },
610
+ "name": "Gpt 5 2",
611
+ "options": {
612
+ "reasoningEffort": "medium"
613
+ },
614
+ "reasoning": true
615
+ },
616
+ "gpt-5.2-codex": {
617
+ "limit": {
618
+ "context": 336000,
619
+ "output": 32768
620
+ },
621
+ "name": "Gpt 5 2 Codex",
622
+ "options": {
623
+ "reasoningEffort": "medium"
624
+ },
625
+ "reasoning": true
626
+ },
627
+ "gpt-oss-120b-medium": {
628
+ "limit": {
629
+ "context": 107520,
630
+ "output": 16384
631
+ },
632
+ "name": "Gpt Oss 120b Medium"
633
+ }
634
+ },
635
+ "name": "ProxyPal",
636
+ "npm": "@ai-sdk/anthropic",
637
+ "options": {
638
+ "apiKey": "proxypal-local",
639
+ "baseURL": "http://127.0.0.1:8317/v1",
640
+ "includeUsage": true
641
+ }
642
+ },
643
+ "zai-coding-plan": {
644
+ "models": {
645
+ "glm-4.6": {
646
+ "limit": {
647
+ "context": 128000,
648
+ "output": 16384
649
+ },
650
+ "options": {
651
+ "temperature": 1,
652
+ "thinking": {
653
+ "type": "enabled"
654
+ }
655
+ },
656
+ "reasoning": true,
657
+ "temperature": true,
658
+ "tool_call": true
659
+ },
660
+ "glm-4.7": {
661
+ "id": "glm-4.7",
662
+ "interleaved": true,
663
+ "limit": {
664
+ "context": 200000,
665
+ "output": 128000
666
+ },
667
+ "name": "GLM-4.7",
668
+ "options": {
669
+ "temperature": 1,
670
+ "thinking": {
671
+ "type": "enabled"
672
+ }
673
+ },
674
+ "reasoning": true
675
+ }
676
+ },
677
+ "name": "Z.AI Coding Plan"
678
+ }
679
+ },
680
+ "share": "manual",
681
+ "small_model": "opencode/gpt-5-nano",
682
+ "tui": {
683
+ "diff_style": "auto",
684
+ "scroll_acceleration": {
685
+ "enabled": true
686
+ },
687
+ "scroll_speed": 3
688
+ },
689
+ "watcher": {
690
+ "ignore": [
691
+ "node_modules/**",
692
+ ".git/**",
693
+ "dist/**",
694
+ "build/**",
695
+ "*.log",
696
+ ".DS_Store"
697
+ ]
698
+ }
814
699
  }