opencodekit 0.2.1 → 0.2.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 +3 -2
- package/dist/template/.opencode/AGENTS.md +1 -0
- package/dist/template/.opencode/agent/build.md +1 -0
- package/dist/template/.opencode/agent/designer.md +148 -0
- package/dist/template/.opencode/agent/rush.md +1 -0
- package/dist/template/.opencode/command/design.md +1 -1
- package/dist/template/.opencode/command/fix-ui.md +4 -4
- package/dist/template/.opencode/command/research-ui.md +1 -1
- package/dist/template/.opencode/command/ui-review.md +1 -1
- package/dist/template/.opencode/opencode.json +540 -424
- package/dist/template/.opencode/package.json +1 -1
- package/package.json +1 -1
package/dist/index.js
CHANGED
|
@@ -2896,7 +2896,7 @@ var OPENCODE_THEMES = [
|
|
|
2896
2896
|
{ value: "one-dark", label: "One Dark", hint: "atom inspired" },
|
|
2897
2897
|
{ value: "orng", label: "Orng", hint: "orange accent" },
|
|
2898
2898
|
{ value: "palenight", label: "Palenight", hint: "purple dark" },
|
|
2899
|
-
{ value: "rosepine", label: "
|
|
2899
|
+
{ value: "rosepine", label: "Rose Pine", hint: "soft pink" },
|
|
2900
2900
|
{ value: "solarized", label: "Solarized", hint: "precision colors" },
|
|
2901
2901
|
{ value: "synthwave84", label: "Synthwave '84", hint: "retro neon" },
|
|
2902
2902
|
{ value: "tokyonight", label: "Tokyo Night", hint: "vibrant dark" },
|
|
@@ -2908,6 +2908,7 @@ async function editTheme(configPath) {
|
|
|
2908
2908
|
const config = loadConfig(configPath);
|
|
2909
2909
|
const currentTheme = config.theme || "system";
|
|
2910
2910
|
f2.info(`Current theme: ${import_picocolors7.default.cyan(currentTheme)}`);
|
|
2911
|
+
const validTheme = OPENCODE_THEMES.some((t) => t.value === currentTheme) ? currentTheme : "system";
|
|
2911
2912
|
const selectedTheme = await ie({
|
|
2912
2913
|
message: "Select theme",
|
|
2913
2914
|
options: OPENCODE_THEMES.map((t) => ({
|
|
@@ -2915,7 +2916,7 @@ async function editTheme(configPath) {
|
|
|
2915
2916
|
label: t.label,
|
|
2916
2917
|
hint: t.hint
|
|
2917
2918
|
})),
|
|
2918
|
-
initialValue:
|
|
2919
|
+
initialValue: validTheme
|
|
2919
2920
|
});
|
|
2920
2921
|
if (lD(selectedTheme)) {
|
|
2921
2922
|
ue("Cancelled");
|
|
@@ -21,6 +21,7 @@
|
|
|
21
21
|
| External research | @scout | research, compare, docs for, API for, best practices |
|
|
22
22
|
| Code review/debug | @review | review, audit, debug, why broken, root cause |
|
|
23
23
|
| Architecture | @planner | design, architect, plan, structure, phases |
|
|
24
|
+
| UI/UX design | @designer | mockup, UI review, accessibility, aesthetics, visual |
|
|
24
25
|
|
|
25
26
|
**Execute directly**: Single-file edits, explicit commands, answering from loaded context.
|
|
26
27
|
|
|
@@ -0,0 +1,148 @@
|
|
|
1
|
+
---
|
|
2
|
+
description: UI/UX design specialist for mockup analysis, design system research, and aesthetic guidance. Use this agent for visual analysis, accessibility audits, and anti-AI-slop design recommendations.
|
|
3
|
+
mode: subagent
|
|
4
|
+
temperature: 0.3
|
|
5
|
+
tools:
|
|
6
|
+
bash: true
|
|
7
|
+
edit: false
|
|
8
|
+
write: false
|
|
9
|
+
patch: false
|
|
10
|
+
glob: true
|
|
11
|
+
grep: true
|
|
12
|
+
read: true
|
|
13
|
+
list: true
|
|
14
|
+
webfetch: true
|
|
15
|
+
websearch: true
|
|
16
|
+
task: true
|
|
17
|
+
todowrite: true
|
|
18
|
+
todoread: true
|
|
19
|
+
gkg*: true
|
|
20
|
+
context7*: true
|
|
21
|
+
codesearch: true
|
|
22
|
+
gh_grep*: true
|
|
23
|
+
memory-read: true
|
|
24
|
+
memory-update: true
|
|
25
|
+
---
|
|
26
|
+
|
|
27
|
+
# Designer Agent
|
|
28
|
+
|
|
29
|
+
UI/UX design specialist for mockup analysis, design system research, and aesthetic guidance.
|
|
30
|
+
|
|
31
|
+
## Strengths
|
|
32
|
+
|
|
33
|
+
- Mockup and screenshot analysis via Gemini CLI
|
|
34
|
+
- Design system audit and consistency review
|
|
35
|
+
- Accessibility assessment (WCAG compliance)
|
|
36
|
+
- Typography, color, and motion guidance
|
|
37
|
+
- Anti-AI-slop aesthetic recommendations
|
|
38
|
+
|
|
39
|
+
## Guidelines
|
|
40
|
+
|
|
41
|
+
- Use `gemini-cli` with `gemini-3-pro-image-preview` model for image analysis
|
|
42
|
+
- Apply `frontend-aesthetics` skill to avoid generic AI aesthetics
|
|
43
|
+
- Apply `ui-ux-research` skill for systematic design analysis
|
|
44
|
+
- Read-only role: analyze and recommend, don't implement
|
|
45
|
+
- Delegate implementation to @build agent
|
|
46
|
+
- Keep responses focused on actionable design guidance
|
|
47
|
+
|
|
48
|
+
## Gemini CLI Usage
|
|
49
|
+
|
|
50
|
+
### Image Analysis (Mockups, Screenshots)
|
|
51
|
+
|
|
52
|
+
Start interactive mode for image analysis:
|
|
53
|
+
|
|
54
|
+
```bash
|
|
55
|
+
gemini
|
|
56
|
+
```
|
|
57
|
+
|
|
58
|
+
Then reference the image:
|
|
59
|
+
|
|
60
|
+
```
|
|
61
|
+
@mockup.png Analyze this UI design for:
|
|
62
|
+
1. Typography choices and hierarchy
|
|
63
|
+
2. Color palette and contrast
|
|
64
|
+
3. Spacing and layout consistency
|
|
65
|
+
4. Accessibility concerns
|
|
66
|
+
5. Areas that feel "AI-generated" or generic
|
|
67
|
+
```
|
|
68
|
+
|
|
69
|
+
### Codebase-Wide Design Audit
|
|
70
|
+
|
|
71
|
+
For scanning component directories:
|
|
72
|
+
|
|
73
|
+
```bash
|
|
74
|
+
gemini -p "@src/components/ Audit the design system for consistency in typography, colors, spacing, and component patterns"
|
|
75
|
+
```
|
|
76
|
+
|
|
77
|
+
### Model Selection
|
|
78
|
+
|
|
79
|
+
- Default: `gemini-3-pro-image-preview` (best for visual analysis)
|
|
80
|
+
- Alternative: `gemini -m gemini-2.5-flash` for faster, simpler queries
|
|
81
|
+
|
|
82
|
+
## Design Principles
|
|
83
|
+
|
|
84
|
+
### Avoid AI Slop
|
|
85
|
+
|
|
86
|
+
Watch for these generic patterns:
|
|
87
|
+
|
|
88
|
+
- Inter/Roboto as primary fonts
|
|
89
|
+
- Purple/blue gradients everywhere
|
|
90
|
+
- Flat white backgrounds with no texture
|
|
91
|
+
- Stock illustration style
|
|
92
|
+
- No micro-interactions or motion
|
|
93
|
+
- Cookie-cutter card layouts
|
|
94
|
+
|
|
95
|
+
### Recommend Instead
|
|
96
|
+
|
|
97
|
+
- Distinctive typography (GT Walsheim, Söhne, custom fonts)
|
|
98
|
+
- Purposeful color with texture and depth
|
|
99
|
+
- Atmospheric backgrounds with subtle gradients
|
|
100
|
+
- Meaningful animations and transitions
|
|
101
|
+
- Layout variety and visual hierarchy
|
|
102
|
+
- Brand-appropriate iconography
|
|
103
|
+
|
|
104
|
+
## Accessibility Checklist
|
|
105
|
+
|
|
106
|
+
- [ ] Color contrast meets WCAG AA (4.5:1 for text)
|
|
107
|
+
- [ ] Focus indicators visible
|
|
108
|
+
- [ ] Touch targets >= 44px
|
|
109
|
+
- [ ] Motion respects prefers-reduced-motion
|
|
110
|
+
- [ ] ARIA labels on interactive elements
|
|
111
|
+
- [ ] Keyboard navigation works
|
|
112
|
+
|
|
113
|
+
## Tool Priority
|
|
114
|
+
|
|
115
|
+
1. **Gemini CLI** for image and large codebase analysis
|
|
116
|
+
2. **Read/Glob** for component and style inspection
|
|
117
|
+
3. **Webfetch/Websearch** for design inspiration and patterns
|
|
118
|
+
|
|
119
|
+
## Output Format
|
|
120
|
+
|
|
121
|
+
Provide design feedback as:
|
|
122
|
+
|
|
123
|
+
1. **Summary**: Overall assessment (1-2 sentences)
|
|
124
|
+
2. **Issues**: Specific problems found with severity
|
|
125
|
+
3. **Recommendations**: Actionable fixes with code examples where helpful
|
|
126
|
+
4. **References**: Links to design patterns or inspiration if relevant
|
|
127
|
+
|
|
128
|
+
## Delegation
|
|
129
|
+
|
|
130
|
+
- Implementation work → @build
|
|
131
|
+
- External library research → @scout
|
|
132
|
+
- Code review after changes → @review
|
|
133
|
+
|
|
134
|
+
## DO
|
|
135
|
+
|
|
136
|
+
- Analyze images thoroughly before providing feedback
|
|
137
|
+
- Reference specific elements (colors, fonts, spacing values)
|
|
138
|
+
- Provide before/after comparisons when suggesting changes
|
|
139
|
+
- Consider responsive design implications
|
|
140
|
+
- Check accessibility for all recommendations
|
|
141
|
+
|
|
142
|
+
## DON'T
|
|
143
|
+
|
|
144
|
+
- Write or edit code directly (delegate to @build)
|
|
145
|
+
- Make generic suggestions without specifics
|
|
146
|
+
- Ignore accessibility in pursuit of aesthetics
|
|
147
|
+
- Recommend trends without considering brand fit
|
|
148
|
+
- Skip mobile/responsive considerations
|
|
@@ -8,10 +8,10 @@ agent: build
|
|
|
8
8
|
|
|
9
9
|
use_skill("frontend-aesthetics")
|
|
10
10
|
|
|
11
|
-
1. **Analyze:**
|
|
12
|
-
- If screenshots/videos provided,
|
|
13
|
-
- For large UI analysis,
|
|
14
|
-
2. **Research:**
|
|
11
|
+
1. **Analyze:** Delegate to @designer for initial assessment
|
|
12
|
+
- If screenshots/videos provided, @designer describes issue in detail
|
|
13
|
+
- For large UI analysis, @designer uses Gemini CLI: `gemini` then `@[image] Analyze issue`
|
|
14
|
+
2. **Research:** @designer checks design guidelines, component patterns
|
|
15
15
|
- Apply `frontend-aesthetics` criteria (typography, color, motion, backgrounds)
|
|
16
16
|
3. **Fix:** Implement step by step
|
|
17
17
|
- Avoid generic AI aesthetics (Inter font, purple gradients, flat backgrounds)
|
|
@@ -1,426 +1,542 @@
|
|
|
1
1
|
{
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
|
|
126
|
-
|
|
127
|
-
|
|
128
|
-
|
|
129
|
-
|
|
130
|
-
|
|
131
|
-
|
|
132
|
-
|
|
133
|
-
|
|
134
|
-
|
|
135
|
-
|
|
136
|
-
|
|
137
|
-
|
|
138
|
-
|
|
139
|
-
|
|
140
|
-
|
|
141
|
-
|
|
142
|
-
|
|
143
|
-
|
|
144
|
-
|
|
145
|
-
|
|
146
|
-
|
|
147
|
-
|
|
148
|
-
|
|
149
|
-
|
|
150
|
-
|
|
151
|
-
|
|
152
|
-
|
|
153
|
-
|
|
154
|
-
|
|
155
|
-
|
|
156
|
-
|
|
157
|
-
|
|
158
|
-
|
|
159
|
-
|
|
160
|
-
|
|
161
|
-
|
|
162
|
-
|
|
163
|
-
|
|
164
|
-
|
|
165
|
-
|
|
166
|
-
|
|
167
|
-
|
|
168
|
-
|
|
169
|
-
|
|
170
|
-
|
|
171
|
-
|
|
172
|
-
|
|
173
|
-
|
|
174
|
-
|
|
175
|
-
|
|
176
|
-
|
|
177
|
-
|
|
178
|
-
|
|
179
|
-
|
|
180
|
-
|
|
181
|
-
|
|
182
|
-
|
|
183
|
-
|
|
184
|
-
|
|
185
|
-
|
|
186
|
-
|
|
187
|
-
|
|
188
|
-
|
|
189
|
-
|
|
190
|
-
|
|
191
|
-
|
|
192
|
-
|
|
193
|
-
|
|
194
|
-
|
|
195
|
-
|
|
196
|
-
|
|
197
|
-
|
|
198
|
-
|
|
199
|
-
|
|
200
|
-
|
|
201
|
-
|
|
202
|
-
|
|
203
|
-
|
|
204
|
-
|
|
205
|
-
|
|
206
|
-
|
|
207
|
-
|
|
208
|
-
|
|
209
|
-
|
|
210
|
-
|
|
211
|
-
|
|
212
|
-
|
|
213
|
-
|
|
214
|
-
|
|
215
|
-
|
|
216
|
-
|
|
217
|
-
|
|
218
|
-
|
|
219
|
-
|
|
220
|
-
|
|
221
|
-
|
|
222
|
-
|
|
223
|
-
|
|
224
|
-
|
|
225
|
-
|
|
226
|
-
|
|
227
|
-
|
|
228
|
-
|
|
229
|
-
|
|
230
|
-
|
|
231
|
-
|
|
232
|
-
|
|
233
|
-
|
|
234
|
-
|
|
235
|
-
|
|
236
|
-
|
|
237
|
-
|
|
238
|
-
|
|
239
|
-
|
|
240
|
-
|
|
241
|
-
|
|
242
|
-
|
|
243
|
-
|
|
244
|
-
|
|
245
|
-
|
|
246
|
-
|
|
247
|
-
|
|
248
|
-
|
|
249
|
-
|
|
250
|
-
|
|
251
|
-
|
|
252
|
-
|
|
253
|
-
|
|
254
|
-
|
|
255
|
-
|
|
256
|
-
|
|
257
|
-
|
|
258
|
-
|
|
259
|
-
|
|
260
|
-
|
|
261
|
-
|
|
262
|
-
|
|
263
|
-
|
|
264
|
-
|
|
265
|
-
|
|
266
|
-
|
|
267
|
-
|
|
268
|
-
|
|
269
|
-
|
|
270
|
-
|
|
271
|
-
|
|
272
|
-
|
|
273
|
-
|
|
274
|
-
|
|
275
|
-
|
|
276
|
-
|
|
277
|
-
|
|
278
|
-
|
|
279
|
-
|
|
280
|
-
|
|
281
|
-
|
|
282
|
-
|
|
283
|
-
|
|
284
|
-
|
|
285
|
-
|
|
286
|
-
|
|
287
|
-
|
|
288
|
-
|
|
289
|
-
|
|
290
|
-
|
|
291
|
-
|
|
292
|
-
|
|
293
|
-
|
|
294
|
-
|
|
295
|
-
|
|
296
|
-
|
|
297
|
-
|
|
298
|
-
|
|
299
|
-
|
|
300
|
-
|
|
301
|
-
|
|
302
|
-
|
|
303
|
-
|
|
304
|
-
|
|
305
|
-
|
|
306
|
-
|
|
307
|
-
|
|
308
|
-
|
|
309
|
-
|
|
310
|
-
|
|
311
|
-
|
|
312
|
-
|
|
313
|
-
|
|
314
|
-
|
|
315
|
-
|
|
316
|
-
|
|
317
|
-
|
|
318
|
-
|
|
319
|
-
|
|
320
|
-
|
|
321
|
-
|
|
322
|
-
|
|
323
|
-
|
|
324
|
-
|
|
325
|
-
|
|
326
|
-
|
|
327
|
-
|
|
328
|
-
|
|
329
|
-
|
|
330
|
-
|
|
331
|
-
|
|
332
|
-
|
|
333
|
-
|
|
334
|
-
|
|
335
|
-
|
|
336
|
-
|
|
337
|
-
|
|
338
|
-
|
|
339
|
-
|
|
340
|
-
|
|
341
|
-
|
|
342
|
-
|
|
343
|
-
|
|
344
|
-
|
|
345
|
-
|
|
346
|
-
|
|
347
|
-
|
|
348
|
-
|
|
349
|
-
|
|
350
|
-
|
|
351
|
-
|
|
352
|
-
|
|
353
|
-
|
|
354
|
-
|
|
355
|
-
|
|
356
|
-
|
|
357
|
-
|
|
358
|
-
|
|
359
|
-
|
|
360
|
-
|
|
361
|
-
|
|
362
|
-
|
|
363
|
-
|
|
364
|
-
|
|
365
|
-
|
|
366
|
-
|
|
367
|
-
|
|
368
|
-
|
|
369
|
-
|
|
370
|
-
|
|
371
|
-
|
|
372
|
-
|
|
373
|
-
|
|
374
|
-
|
|
375
|
-
|
|
376
|
-
|
|
377
|
-
|
|
378
|
-
|
|
379
|
-
|
|
380
|
-
|
|
381
|
-
|
|
382
|
-
|
|
383
|
-
|
|
384
|
-
|
|
385
|
-
|
|
386
|
-
|
|
387
|
-
|
|
388
|
-
|
|
389
|
-
|
|
390
|
-
|
|
391
|
-
|
|
392
|
-
|
|
393
|
-
|
|
394
|
-
|
|
395
|
-
|
|
396
|
-
|
|
397
|
-
|
|
398
|
-
|
|
399
|
-
|
|
400
|
-
|
|
401
|
-
|
|
402
|
-
|
|
403
|
-
|
|
404
|
-
|
|
405
|
-
|
|
406
|
-
|
|
407
|
-
|
|
408
|
-
|
|
409
|
-
|
|
410
|
-
|
|
411
|
-
|
|
412
|
-
|
|
413
|
-
|
|
414
|
-
|
|
415
|
-
|
|
416
|
-
|
|
417
|
-
|
|
418
|
-
|
|
419
|
-
|
|
420
|
-
|
|
421
|
-
|
|
422
|
-
|
|
423
|
-
|
|
424
|
-
|
|
425
|
-
|
|
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
|
+
}
|
|
426
542
|
}
|