opencodekit 0.2.1 → 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: {
@@ -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: "Rosé Pine", hint: "soft pink" },
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: currentTheme
2919
+ initialValue: validTheme
2919
2920
  });
2920
2921
  if (lD(selectedTheme)) {
2921
2922
  ue("Cancelled");
@@ -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
@@ -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
 
@@ -73,3 +73,4 @@ Before claiming completion:
73
73
  - Library docs/patterns → @scout
74
74
  - Code review/debugging → @review
75
75
  - Architecture planning → @planner
76
+ - UI/UX analysis, mockups → @designer
@@ -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
@@ -73,6 +73,7 @@ Before mutations (edit, write, delete):
73
73
  | Library docs, patterns | @scout |
74
74
  | Code review, debugging | @review |
75
75
  | Architecture, 3+ phases | @planner |
76
+ | UI/UX, mockups, visuals | @designer |
76
77
 
77
78
  ## Execute Directly
78
79
 
@@ -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
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  description: Design with brainstorming
3
3
  argument-hint: "[topic or task-id]"
4
- agent: review
4
+ agent: designer
5
5
  ---
6
6
 
7
7
  # Design: $ARGUMENTS
@@ -8,10 +8,10 @@ agent: build
8
8
 
9
9
  use_skill("frontend-aesthetics")
10
10
 
11
- 1. **Analyze:**
12
- - If screenshots/videos provided, describe issue in detail
13
- - For large UI analysis, use Gemini CLI: `gemini` then `@[image] Analyze issue`
14
- 2. **Research:** Check design guidelines, component patterns
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)
@@ -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,7 +1,7 @@
1
1
  ---
2
2
  description: Large-scale UI/UX research using Gemini CLI with bead artifact storage
3
3
  argument-hint: "[bead-id] [research topic or path]"
4
- agent: review
4
+ agent: designer
5
5
  ---
6
6
 
7
7
  # Research UI: $ARGUMENTS
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  description: Review UI/UX design or mockup with optional bead tracking
3
3
  argument-hint: "[bead-id] [path to image or component]"
4
- agent: review
4
+ agent: designer
5
5
  ---
6
6
 
7
7
  # UI Review: $ARGUMENTS
@@ -1,23 +1,23 @@
1
1
  {
2
2
  "$schema": "https://opencode.ai/config.json",
3
3
  "agent": {
4
- "general": {
5
- "disable": true
6
- },
7
- "plan": {
8
- "disable": true
9
- },
10
4
  "build": {
11
5
  "description": "Primary development agent with full codebase access",
12
6
  "model": "proxypal/gemini-claude-opus-4-5-thinking"
13
7
  },
14
- "rush": {
15
- "description": "Fast primary agent for small, well-defined tasks",
16
- "model": "zai-coding-plan/glm-4.6"
8
+ "designer": {
9
+ "description": "UI/UX design specialist for mockup analysis and aesthetic guidance",
10
+ "model": "proxypal/gemini-3-pro-preview"
17
11
  },
18
12
  "explore": {
19
13
  "description": "Fast codebase search specialist"
20
14
  },
15
+ "general": {
16
+ "disable": true
17
+ },
18
+ "plan": {
19
+ "disable": true
20
+ },
21
21
  "planner": {
22
22
  "description": "Strategic planning agent for architecture and design",
23
23
  "model": "proxypal/gpt-5.2"
@@ -26,6 +26,10 @@
26
26
  "description": "Code review, debugging, and security audit specialist",
27
27
  "model": "proxypal/gemini-2.5-flash-lite"
28
28
  },
29
+ "rush": {
30
+ "description": "Fast primary agent for small, well-defined tasks",
31
+ "model": "zai-coding-plan/glm-4.6"
32
+ },
29
33
  "scout": {
30
34
  "description": "External research specialist for library docs and patterns",
31
35
  "model": "proxypal/gemini-claude-sonnet-4-5"
@@ -82,6 +86,7 @@
82
86
  "headers": {
83
87
  "CONTEXT7_API_KEY": "{env:CONTEXT7_API_KEY}"
84
88
  },
89
+ "timeout": 10000,
85
90
  "type": "remote",
86
91
  "url": "https://mcp.context7.com/mcp"
87
92
  },
@@ -424,3 +429,4 @@
424
429
  ]
425
430
  }
426
431
  }
432
+
@@ -11,7 +11,7 @@
11
11
  "author": "",
12
12
  "license": "ISC",
13
13
  "dependencies": {
14
- "@opencode-ai/plugin": "1.0.152"
14
+ "@opencode-ai/plugin": "1.0.153"
15
15
  },
16
16
  "devDependencies": {
17
17
  "@types/better-sqlite3": "^7.6.13",
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "opencodekit",
3
- "version": "0.2.1",
3
+ "version": "0.2.3",
4
4
  "description": "CLI tool for bootstrapping and managing OpenCodeKit projects",
5
5
  "type": "module",
6
6
  "repository": {