opencodekit 0.2.0 → 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 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.0",
753
+ version: "0.2.1",
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");
@@ -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
 
@@ -1,5 +1,5 @@
1
1
  ---
2
- description: Analyze project structure and status
2
+ description: Analyze project structure, status, and ready work
3
3
  agent: planner
4
4
  ---
5
5
 
@@ -12,6 +12,16 @@ agent: planner
12
12
  3. **CI:** Check build status
13
13
  4. **Dependencies:** Check for outdated packages
14
14
 
15
+ ## Ready Work
16
+
17
+ Find actionable tasks with no blockers:
18
+
19
+ ```bash
20
+ bd ready
21
+ ```
22
+
23
+ This shows beads that are unblocked and ready to start. Use `/implement <bead-id>` to begin work on any of these.
24
+
15
25
  ## Detailed Analysis (On Request)
16
26
 
17
27
  ### Task Overview
@@ -23,6 +33,16 @@ bd ready
23
33
 
24
34
  For active beads, read spec from `.beads/artifacts/<bead-id>/spec.md`
25
35
 
36
+ ### Blocked Work
37
+
38
+ Check what's blocking progress:
39
+
40
+ ```bash
41
+ bd list --status blocked
42
+ ```
43
+
44
+ For each blocked bead, identify the blocker and either resolve it or escalate.
45
+
26
46
  ### Project Structure
27
47
 
28
48
  - Key directories
@@ -33,7 +53,8 @@ For active beads, read spec from `.beads/artifacts/<bead-id>/spec.md`
33
53
 
34
54
  ### Recommendations
35
55
 
36
- - Tasks ready to start
37
- - Areas needing attention
38
- - Dependency updates needed
39
- - Code patterns to follow
56
+ - **Immediate:** Tasks from `bd ready` to start now
57
+ - **Blocked:** Dependencies preventing progress
58
+ - **Attention:** Areas needing cleanup or refactoring
59
+ - **Updates:** Dependency updates needed
60
+ - **Patterns:** Code patterns to follow
@@ -1,11 +1,39 @@
1
1
  ---
2
- description: Commit with verification
2
+ description: Commit with verification and optional bead traceability
3
+ argument-hint: "[bead-id]"
3
4
  ---
4
5
 
5
6
  # Commit
6
7
 
7
8
  use_skill("verification-before-completion")
8
9
 
10
+ ## Workflow
11
+
9
12
  1. Run all tests/lints
10
13
  2. Verify output shows success
11
- 3. Then commit with conventional message format
14
+ 3. Commit with conventional message format
15
+
16
+ ## Bead Integration (Optional)
17
+
18
+ If a bead ID is provided (`$ARGUMENTS`), include it in the commit message for traceability:
19
+
20
+ ```
21
+ <type>(<scope>): <description>
22
+
23
+ <bead-id>: <what was done for this bead>
24
+
25
+ [optional body]
26
+ ```
27
+
28
+ **Example:**
29
+
30
+ ```
31
+ feat(auth): add OAuth2 login flow
32
+
33
+ bd-a1b2c3: implement token refresh mechanism
34
+
35
+ - Added refresh token storage
36
+ - Integrated with session manager
37
+ ```
38
+
39
+ If no bead ID is provided, proceed with standard conventional commit format.
@@ -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
@@ -1,5 +1,5 @@
1
1
  ---
2
- description: Analyze Github Actions logs and fix issues
2
+ description: Analyze Github Actions logs and fix issues with bead tracking
3
3
  argument-hint: "[github-actions-url]"
4
4
  ---
5
5
 
@@ -7,14 +7,41 @@ argument-hint: "[github-actions-url]"
7
7
 
8
8
  <url>$ARGUMENTS</url>
9
9
 
10
+ ## Create Bug Bead
11
+
12
+ CI failures are P0 bugs. Create a bead to track:
13
+
14
+ ```bash
15
+ bd create --title "Fix CI: <failure summary>" --type bug --priority p0 --json
16
+ ```
17
+
18
+ Save the bead ID for tracking. Add the CI run reference:
19
+
20
+ ```bash
21
+ bd edit <bead-id> --note "CI Run: $ARGUMENTS"
22
+ ```
23
+
10
24
  ## Workflow
11
25
 
12
- - Use `build` agent to read the GitHub Actions logs, analyze and find the root causes of the issues.
13
- - For complex CI/CD problems (≥3 phases), delegate to `planner` agent to create a detailed implementation plan.
14
- - Use `build` agent to implement the fixes step by step.
15
- - Use `review` agent to run tests, ensure quality and security, then report back.
16
- - If there are issues or failed tests, `build` agent will fix them and repeat the process until all tests pass.
26
+ 1. **Analyze:** Use `build` agent to read the GitHub Actions logs, analyze and find the root causes of the issues.
27
+
28
+ 2. **Plan:** For complex CI/CD problems (≥3 phases), delegate to `planner` agent to create a detailed implementation plan. Save plan to `.beads/artifacts/<bead-id>/spec.md`.
29
+
30
+ 3. **Fix:** Use `build` agent to implement the fixes step by step.
31
+
32
+ 4. **Verify:** Use `review` agent to run tests, ensure quality and security, then report back.
33
+
34
+ 5. **Iterate:** If there are issues or failed tests, `build` agent will fix them and repeat the process until all tests pass.
35
+
36
+ ## Close Bead
37
+
38
+ Once CI passes:
39
+
40
+ ```bash
41
+ bd close <bead-id> --reason "CI fixed: <summary of fix>"
42
+ ```
17
43
 
18
44
  ## Notes
19
45
 
20
46
  - If `gh` command is not available, instruct the user to install and authorize GitHub CLI first.
47
+ - If the fix reveals systemic issues, create related beads for follow-up work.
@@ -1,10 +1,35 @@
1
1
  ---
2
- description: Fix type errors
2
+ description: Fix type errors with optional bead tracking
3
+ argument-hint: "[bead-id]"
3
4
  ---
4
5
 
6
+ # Fix Type Errors
7
+
5
8
  Run `bun run typecheck` and fix all type errors.
6
9
 
7
10
  ## Rules
8
11
 
9
- - Fix all of type errors and repeat the process until there are no more type errors.
10
- - Do not use `any` just to pass the type check.
12
+ - Fix all type errors and repeat the process until there are no more type errors.
13
+ - Do not use `any` just to pass the type check.
14
+ - Prefer proper typing over type assertions where possible.
15
+
16
+ ## Bead Integration (Optional)
17
+
18
+ If a bead ID is provided (`$ARGUMENTS`), track the type fixing work:
19
+
20
+ 1. **Before fixing:** Note the initial error count
21
+
22
+ ```bash
23
+ bd edit $ARGUMENTS --note "Type errors found: <count>"
24
+ ```
25
+
26
+ 2. **After fixing:** Update with resolution
27
+ ```bash
28
+ bd edit $ARGUMENTS --note "Type errors resolved: <summary of fixes>"
29
+ ```
30
+
31
+ If type errors reveal deeper issues requiring refactoring, create a follow-up bead:
32
+
33
+ ```bash
34
+ bd create --title "Refactor: <type issue summary>" --type task --related $ARGUMENTS
35
+ ```
@@ -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)
@@ -1,5 +1,5 @@
1
1
  ---
2
- description: Analyze GitHub issue and create implementation plan
2
+ description: Analyze GitHub issue and create bead for tracking
3
3
  argument-hint: "[issue-number]"
4
4
  agent: build
5
5
  ---
@@ -19,8 +19,24 @@ gh issue view $ARGUMENTS
19
19
  3. **Current:** What happens now?
20
20
  4. **Steps:** How to reproduce?
21
21
 
22
+ ## Create Tracking Bead
23
+
24
+ Create a bead to track this work, linking it to the GitHub issue:
25
+
26
+ ```bash
27
+ bd create --title "<issue title>" --type task --priority <p1|p2|p3> --json
28
+ ```
29
+
30
+ Save the bead ID for subsequent commands. Add the GitHub issue reference:
31
+
32
+ ```bash
33
+ bd edit <bead-id> --note "GitHub issue: #$ARGUMENTS"
34
+ ```
35
+
22
36
  ## Implementation Plan
23
37
 
38
+ Save to `.beads/artifacts/<bead-id>/spec.md`:
39
+
24
40
  1. **Files to change:** Identify affected code
25
41
  2. **Testing strategy:** How to verify fix
26
42
  3. **Risks/edge cases:** What could go wrong
@@ -38,4 +54,12 @@ gh issue view $ARGUMENTS
38
54
  - [ ] Test cases to verify
39
55
  - [ ] Performance considerations
40
56
 
41
- **Next:** Start implementing the planned solution.
57
+ ## Discovered Work
58
+
59
+ If analysis reveals additional issues, create child beads:
60
+
61
+ ```bash
62
+ bd create --title "<discovered issue>" --type discovered --parent <parent-bead-id>
63
+ ```
64
+
65
+ **Next:** Use `/implement <bead-id>` to start implementation.
@@ -1,5 +1,6 @@
1
1
  ---
2
- description: Create and submit pull request with proper formatting
2
+ description: Create and submit pull request with bead traceability
3
+ argument-hint: "[bead-id]"
3
4
  ---
4
5
 
5
6
  ## Create Pull Request
@@ -14,13 +15,18 @@ Create a pull request following these steps:
14
15
 
15
16
  2. **Push branch**: `!git push -u origin $(git branch --show-current)`
16
17
 
17
- 3. **Generate PR content:**
18
+ 3. **Check for bead context:**
19
+ - If `$ARGUMENTS` contains a bead ID, fetch bead details: `bd show $ARGUMENTS --json`
20
+ - Use bead title and spec to inform PR content
21
+ - Reference the bead in the PR body for traceability
22
+
23
+ 4. **Generate PR content:**
18
24
  - Title: Clear, descriptive (under 60 chars)
19
25
  - Summary: What and why this change matters
20
26
  - Testing: How to verify the changes
21
27
  - Breaking changes: Note any API/behavior changes
22
28
 
23
- 4. **Create PR**: `!gh pr create --title "Generated Title" --body "Generated Description"`
29
+ 5. **Create PR**: `!gh pr create --title "Generated Title" --body "Generated Description"`
24
30
 
25
31
  **Template format:**
26
32
 
@@ -28,9 +34,20 @@ Create a pull request following these steps:
28
34
  ## Summary
29
35
  - Brief description of changes
30
36
 
37
+ ## Bead Reference
38
+ Closes: bd-XXXXX (if applicable)
39
+
31
40
  ## Testing
32
41
  - How to test these changes
33
42
 
34
43
  ## Breaking Changes
35
44
  - None / List any breaking changes
36
45
  ```
46
+
47
+ ## After PR Created
48
+
49
+ If a bead ID was provided, update the bead with PR link:
50
+
51
+ ```bash
52
+ bd edit $ARGUMENTS --note "PR created: <pr-url>"
53
+ ```
@@ -1,7 +1,7 @@
1
1
  ---
2
- description: Large-scale UI/UX research using Gemini CLI
3
- argument-hint: "[research topic or path]"
4
- agent: review
2
+ description: Large-scale UI/UX research using Gemini CLI with bead artifact storage
3
+ argument-hint: "[bead-id] [research topic or path]"
4
+ agent: designer
5
5
  ---
6
6
 
7
7
  # Research UI: $ARGUMENTS
@@ -9,6 +9,10 @@ agent: review
9
9
  use_skill("gemini-large-context")
10
10
  use_skill("ui-ux-research")
11
11
 
12
+ ## Parse Arguments
13
+
14
+ Extract bead ID (if provided) and research topic from `$ARGUMENTS`. If no bead ID provided, research findings will be saved to memory instead.
15
+
12
16
  ## When to Use Gemini CLI
13
17
 
14
18
  For a single component, use local tools—they're faster and sufficient. When researching patterns across multiple files or comparing implementations throughout a codebase, switch to Gemini CLI's non-interactive mode to scan entire directories at once. For analyzing images like mockups or screenshots, start Gemini in interactive mode and reference the image directly.
@@ -19,9 +23,21 @@ Point Gemini at the relevant directories and ask about the topic. Include both c
19
23
 
20
24
  For image analysis, start interactive mode and reference the image file, then describe what aspects you want analyzed.
21
25
 
22
- ## What to Do With Findings
26
+ ## Save Findings
27
+
28
+ ### With Bead ID
29
+
30
+ Save research findings to bead artifacts for traceability:
31
+
32
+ ```bash
33
+ # Save to .beads/artifacts/<bead-id>/research-ui.md
34
+ bd edit <bead-id> --note "UI research completed: <key findings summary>"
35
+ ```
36
+
37
+ ### Without Bead ID
23
38
 
24
- Synthesize the key patterns you discovered, note any inconsistencies between different parts of the codebase, and formulate concrete recommendations. Save significant findings to `.opencode/memory/research/YYYY-MM-DD-$ARGUMENTS.md` using the research template.
39
+ Save to memory for general reference:
40
+ `.opencode/memory/research/YYYY-MM-DD-<topic>.md`
25
41
 
26
42
  ## Common Research Topics
27
43
 
@@ -1,7 +1,7 @@
1
1
  ---
2
- description: Review UI/UX design or mockup
3
- argument-hint: "[path to image or component]"
4
- agent: review
2
+ description: Review UI/UX design or mockup with optional bead tracking
3
+ argument-hint: "[bead-id] [path to image or component]"
4
+ agent: designer
5
5
  ---
6
6
 
7
7
  # UI Review: $ARGUMENTS
@@ -9,6 +9,10 @@ agent: review
9
9
  use_skill("ui-ux-research")
10
10
  use_skill("frontend-aesthetics")
11
11
 
12
+ ## Parse Arguments
13
+
14
+ Extract bead ID (if provided) and path/component from `$ARGUMENTS`. If a bead ID is present, findings will be recorded to the bead.
15
+
12
16
  ## How to Analyze
13
17
 
14
18
  First, determine what you're reviewing. If it's an image or screenshot, start Gemini in interactive mode and reference the image to analyze it. If it's component code, analyze it directly with local tools. For large codebases spanning many files, use Gemini's non-interactive mode to scan the entire directory.
@@ -23,6 +27,26 @@ For accessibility, verify color contrast meets WCAG AA minimum, check for ARIA l
23
27
 
24
28
  Provide specific, actionable improvements: suggest alternative fonts, propose color palette changes, identify opportunities for subtle animations, and recommend layout enhancements. Include code snippets when they would help clarify the suggestion.
25
29
 
30
+ ## Record Findings
31
+
32
+ ### With Bead ID
33
+
34
+ Update the bead with review findings:
35
+
36
+ ```bash
37
+ bd edit <bead-id> --note "UI Review: <summary of issues found and recommendations>"
38
+ ```
39
+
40
+ If review reveals implementation tasks, create child beads:
41
+
42
+ ```bash
43
+ bd create --title "<specific UI fix>" --type task --parent <bead-id>
44
+ ```
45
+
46
+ ### Without Bead ID
47
+
48
+ Output findings directly to the user.
49
+
26
50
  ## Output
27
51
 
28
52
  Summarize what issues you found, what specific changes you recommend, and show before/after comparisons for significant improvements.