opencodekit 0.15.21 → 0.16.0
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 +5 -7
- package/dist/template/.opencode/AGENTS.md +21 -20
- package/dist/template/.opencode/agent/build.md +88 -7
- package/dist/template/.opencode/agent/explore.md +1 -1
- package/dist/template/.opencode/agent/general.md +54 -4
- package/dist/template/.opencode/agent/looker.md +1 -1
- package/dist/template/.opencode/agent/painter.md +1 -1
- package/dist/template/.opencode/agent/plan.md +52 -0
- package/dist/template/.opencode/agent/review.md +1 -1
- package/dist/template/.opencode/agent/scout.md +3 -3
- package/dist/template/.opencode/agent/vision.md +1 -1
- package/dist/template/.opencode/command/create.md +201 -95
- package/dist/template/.opencode/command/design.md +5 -7
- package/dist/template/.opencode/command/handoff.md +7 -0
- package/dist/template/.opencode/command/init.md +25 -47
- package/dist/template/.opencode/command/plan.md +35 -16
- package/dist/template/.opencode/command/resume.md +7 -18
- package/dist/template/.opencode/command/ship.md +156 -0
- package/dist/template/.opencode/command/start.md +315 -28
- package/dist/template/.opencode/command/ui-review.md +5 -7
- package/dist/template/.opencode/command/verify.md +279 -0
- package/dist/template/.opencode/memory/_templates/README.md +57 -19
- package/dist/template/.opencode/memory/_templates/prd.md +29 -0
- package/dist/template/.opencode/memory/_templates/project/tech-stack.md +50 -0
- package/dist/template/.opencode/memory/_templates/proposal.md +38 -0
- package/dist/template/.opencode/memory/_templates/spec.md +66 -0
- package/dist/template/.opencode/memory/_templates/tasks.md +198 -0
- package/dist/template/.opencode/memory/observations/2026-02-01-decision-add-skills-vs-commands-to-global-agents-.md +15 -0
- package/dist/template/.opencode/memory/observations/2026-02-01-decision-build-agent-auto-loads-skills-contextual.md +31 -0
- package/dist/template/.opencode/memory/observations/2026-02-01-decision-fixed-agent-configuration-for-opencodeki.md +25 -0
- package/dist/template/.opencode/memory/observations/2026-02-01-decision-focused-agents-md-upgrade-for-opencode-k.md +14 -0
- package/dist/template/.opencode/memory/observations/2026-02-01-decision-implement-tier-1-permission-upgrades.md +15 -0
- package/dist/template/.opencode/memory/observations/2026-02-01-decision-instructions-config-explicit-paths-not-w.md +40 -0
- package/dist/template/.opencode/memory/observations/2026-02-01-decision-merged-context-into-memory-project-singl.md +42 -0
- package/dist/template/.opencode/memory/observations/2026-02-01-decision-oracle-tool-should-use-review-agent-not-.md +14 -0
- package/dist/template/.opencode/memory/observations/2026-02-01-decision-plan-agent-auto-loads-skills-contextuall.md +31 -0
- package/dist/template/.opencode/memory/observations/2026-02-01-decision-plan-phased-oracle-command-merge-into-ne.md +14 -0
- package/dist/template/.opencode/memory/observations/2026-02-01-decision-prd-workflow-uses-prd-and-prd-task-skill.md +23 -0
- package/dist/template/.opencode/memory/observations/2026-02-01-decision-prefer-review-agent-via-opencode-cli-ove.md +14 -0
- package/dist/template/.opencode/memory/observations/2026-02-01-decision-remove-oracle-tool-add-ship-command-with.md +14 -0
- package/dist/template/.opencode/memory/observations/2026-02-01-decision-remove-oracle-tool-and-add-ship-command-.md +14 -0
- package/dist/template/.opencode/memory/observations/2026-02-01-decision-remove-oracle-tool-and-add-ship-command.md +14 -0
- package/dist/template/.opencode/memory/observations/2026-02-01-decision-remove-skills-vs-commands-section-from-a.md +14 -0
- package/dist/template/.opencode/memory/observations/2026-02-01-decision-replace-oracle-tool-with-ship-command-fl.md +14 -0
- package/dist/template/.opencode/memory/observations/2026-02-01-decision-replace-oracle-with-ship-command-workflo.md +14 -0
- package/dist/template/.opencode/memory/observations/2026-02-01-decision-replace-proxypal-oracle-with-cli-review-.md +14 -0
- package/dist/template/.opencode/memory/observations/2026-02-01-decision-simplified-dist-template-only-tech-stack.md +50 -0
- package/dist/template/.opencode/memory/observations/2026-02-01-decision-simplified-templates-only-tech-stack-md.md +26 -0
- package/dist/template/.opencode/memory/observations/2026-02-01-decision-subagents-load-minimal-skills-stay-lean.md +29 -0
- package/dist/template/.opencode/memory/observations/2026-02-01-decision-user-approved-permission-upgrades-in-ope.md +15 -0
- package/dist/template/.opencode/memory/observations/2026-02-01-discovery-verify-command-already-implemented.md +28 -0
- package/dist/template/.opencode/memory/observations/2026-02-01-feature-openspec-phase-b-complete-template-upgra.md +43 -0
- package/dist/template/.opencode/memory/observations/2026-02-01-learning-build-agent-should-use-dynamic-lsp-not-f.md +14 -0
- package/dist/template/.opencode/memory/observations/2026-02-01-learning-kimi-k2-5-model-requires-temperature-1-0.md +22 -0
- package/dist/template/.opencode/memory/observations/2026-02-01-learning-opencode-context-injection-already-imple.md +27 -0
- package/dist/template/.opencode/memory/observations/2026-02-01-learning-opencode-context-injection-uses-instruct.md +35 -0
- package/dist/template/.opencode/memory/observations/2026-02-01-learning-update-build-agent-prompt-to-use-context.md +14 -0
- package/dist/template/.opencode/memory/observations/2026-02-01-learning-upgrade-agents-md-using-opencode-expert-.md +14 -0
- package/dist/template/.opencode/memory/observations/2026-02-01-learning-upgrade-agents-md-with-opencode-expert-g.md +14 -0
- package/dist/template/.opencode/memory/observations/2026-02-01-learning-upgrade-agents-md-with-opencode-expert-r.md +14 -0
- package/dist/template/.opencode/memory/observations/2026-02-01-learning-user-prefers-copilot-gpt-5-2-codex-mediu.md +14 -0
- package/dist/template/.opencode/memory/observations/2026-02-01-learning-user-wants-general-agent-prompt-contextu.md +15 -0
- package/dist/template/.opencode/memory/observations/2026-02-01-learning-user-wants-general-agent-prompt-reviewed.md +15 -0
- package/dist/template/.opencode/memory/project/command-rules.md +122 -0
- package/dist/template/.opencode/memory/project/tech-stack.md +50 -0
- package/dist/template/.opencode/memory/research/ccpm-analysis.md +334 -0
- package/dist/template/.opencode/memory/research/openspec-analysis.md +226 -0
- package/dist/template/.opencode/opencode.json +916 -803
- package/dist/template/.opencode/skill/tool-priority/SKILL.md +2 -2
- package/package.json +1 -1
- package/dist/template/.opencode/command/accessibility-check.md +0 -331
- package/dist/template/.opencode/command/agent-browser.md +0 -21
- package/dist/template/.opencode/command/analyze-mockup.md +0 -423
- package/dist/template/.opencode/command/analyze-project.md +0 -295
- package/dist/template/.opencode/command/brainstorm.md +0 -373
- package/dist/template/.opencode/command/cloudflare.md +0 -70
- package/dist/template/.opencode/command/commit.md +0 -245
- package/dist/template/.opencode/command/complete-next-task.md +0 -77
- package/dist/template/.opencode/command/design-audit.md +0 -480
- package/dist/template/.opencode/command/edit-image.md +0 -242
- package/dist/template/.opencode/command/finish.md +0 -255
- package/dist/template/.opencode/command/fix-ci.md +0 -109
- package/dist/template/.opencode/command/fix-types.md +0 -104
- package/dist/template/.opencode/command/fix-ui.md +0 -117
- package/dist/template/.opencode/command/fix.md +0 -168
- package/dist/template/.opencode/command/frontend-design.md +0 -21
- package/dist/template/.opencode/command/generate-diagram.md +0 -349
- package/dist/template/.opencode/command/generate-icon.md +0 -283
- package/dist/template/.opencode/command/generate-image.md +0 -246
- package/dist/template/.opencode/command/generate-pattern.md +0 -247
- package/dist/template/.opencode/command/generate-storyboard.md +0 -250
- package/dist/template/.opencode/command/implement.md +0 -609
- package/dist/template/.opencode/command/import-plan.md +0 -406
- package/dist/template/.opencode/command/index-knowledge.md +0 -25
- package/dist/template/.opencode/command/integration-test.md +0 -424
- package/dist/template/.opencode/command/issue.md +0 -102
- package/dist/template/.opencode/command/new-feature.md +0 -651
- package/dist/template/.opencode/command/opensrc.md +0 -58
- package/dist/template/.opencode/command/quick-build.md +0 -238
- package/dist/template/.opencode/command/ralph.md +0 -41
- package/dist/template/.opencode/command/research-and-implement.md +0 -148
- package/dist/template/.opencode/command/research-ui.md +0 -466
- package/dist/template/.opencode/command/restore-image.md +0 -424
- package/dist/template/.opencode/command/revert-feature.md +0 -386
- package/dist/template/.opencode/command/skill-create.md +0 -517
- package/dist/template/.opencode/command/skill-optimize.md +0 -556
- package/dist/template/.opencode/command/summarize.md +0 -412
- package/dist/template/.opencode/command/triage.md +0 -398
- package/dist/template/.opencode/memory/_templates/project/architecture.md +0 -60
- package/dist/template/.opencode/memory/_templates/project/commands.md +0 -72
- package/dist/template/.opencode/memory/_templates/project/conventions.md +0 -68
- package/dist/template/.opencode/memory/_templates/project/gotchas.md +0 -41
- package/dist/template/.opencode/skill/notebooklm/SKILL.md +0 -272
- package/dist/template/.opencode/skill/notebooklm/references/setup.md +0 -353
- package/dist/template/.opencode/tool/notebooklm.ts +0 -488
- package/dist/template/.opencode/tool/oracle.ts +0 -240
|
@@ -1,77 +0,0 @@
|
|
|
1
|
-
---
|
|
2
|
-
description: Complete the next incomplete PRD task for a bead
|
|
3
|
-
argument-hint: "<bead-id>"
|
|
4
|
-
agent: build
|
|
5
|
-
---
|
|
6
|
-
|
|
7
|
-
# Complete Next Task: $ARGUMENTS
|
|
8
|
-
|
|
9
|
-
Complete one task from a bead PRD task list.
|
|
10
|
-
|
|
11
|
-
This command is **Beads-native**:
|
|
12
|
-
|
|
13
|
-
- PRD: `.beads/artifacts/<bead-id>/prd.md`
|
|
14
|
-
- Tasks: `.beads/artifacts/<bead-id>/prd.json`
|
|
15
|
-
- Progress: `.beads/artifacts/<bead-id>/progress.txt`
|
|
16
|
-
|
|
17
|
-
## Preconditions
|
|
18
|
-
|
|
19
|
-
- A bead exists: `bd show $ARGUMENTS`
|
|
20
|
-
- PRD task list exists:
|
|
21
|
-
|
|
22
|
-
```bash
|
|
23
|
-
ls ".beads/artifacts/$ARGUMENTS/prd.json"
|
|
24
|
-
```
|
|
25
|
-
|
|
26
|
-
If missing:
|
|
27
|
-
|
|
28
|
-
- Create PRD: `.beads/artifacts/$ARGUMENTS/prd.md` (use `skill({ name: "prd" })`)
|
|
29
|
-
- Convert: `skill({ name: "prd-task" })`
|
|
30
|
-
|
|
31
|
-
## Process
|
|
32
|
-
|
|
33
|
-
### 1) Get Bearings
|
|
34
|
-
|
|
35
|
-
- Read `.beads/artifacts/$ARGUMENTS/progress.txt` (create if missing)
|
|
36
|
-
- Read `.beads/artifacts/$ARGUMENTS/prd.json`
|
|
37
|
-
- Pick the next task with `passes: false`
|
|
38
|
-
|
|
39
|
-
### 2) Implement the Task
|
|
40
|
-
|
|
41
|
-
Implement only what’s needed to satisfy the verification steps.
|
|
42
|
-
|
|
43
|
-
### 3) Run Feedback Loops (Required)
|
|
44
|
-
|
|
45
|
-
Run what applies to the repo:
|
|
46
|
-
|
|
47
|
-
- tests
|
|
48
|
-
- lint
|
|
49
|
-
- typecheck
|
|
50
|
-
|
|
51
|
-
Do not commit if any fail.
|
|
52
|
-
|
|
53
|
-
### 4) Update PRD JSON
|
|
54
|
-
|
|
55
|
-
Set that task’s `passes` to `true`.
|
|
56
|
-
|
|
57
|
-
### 5) Update Progress Log
|
|
58
|
-
|
|
59
|
-
Append a short entry to `.beads/artifacts/$ARGUMENTS/progress.txt`:
|
|
60
|
-
|
|
61
|
-
```markdown
|
|
62
|
-
## Task - <task.id>
|
|
63
|
-
|
|
64
|
-
- What was implemented
|
|
65
|
-
- Files changed
|
|
66
|
-
- Learnings / patterns
|
|
67
|
-
```
|
|
68
|
-
|
|
69
|
-
### 6) Commit (Ask First)
|
|
70
|
-
|
|
71
|
-
Show staged changes and ask user before committing.
|
|
72
|
-
|
|
73
|
-
## Completion
|
|
74
|
-
|
|
75
|
-
If all tasks have `passes: true`, report that the PRD is complete and recommend:
|
|
76
|
-
|
|
77
|
-
- `/finish $ARGUMENTS`
|
|
@@ -1,480 +0,0 @@
|
|
|
1
|
-
---
|
|
2
|
-
description: Audit design system from screenshots or codebase
|
|
3
|
-
argument-hint: "<screenshots-path|codebase|both> [output: tokens|report|both] [--quick|--deep]"
|
|
4
|
-
agent: vision
|
|
5
|
-
model: proxypal/gemini-3-pro-preview
|
|
6
|
-
subtask: true
|
|
7
|
-
---
|
|
8
|
-
|
|
9
|
-
# Design Audit: $ARGUMENTS
|
|
10
|
-
|
|
11
|
-
## Load Beads Skill
|
|
12
|
-
|
|
13
|
-
```typescript
|
|
14
|
-
skill({ name: "beads" });
|
|
15
|
-
```
|
|
16
|
-
|
|
17
|
-
## Phase 1: Source Detection & File Discovery
|
|
18
|
-
|
|
19
|
-
Parse `$ARGUMENTS`:
|
|
20
|
-
|
|
21
|
-
| Input | Action |
|
|
22
|
-
| ---------------- | ------------------------------------------ |
|
|
23
|
-
| Screenshots path | Analyze images for visual inventory |
|
|
24
|
-
| `codebase` | Search code for design tokens and patterns |
|
|
25
|
-
| `both` | Screenshots + codebase, then compare |
|
|
26
|
-
|
|
27
|
-
**Output format** (default: `both`):
|
|
28
|
-
|
|
29
|
-
- `tokens` - Design tokens JSON only
|
|
30
|
-
- `report` - Markdown audit report only
|
|
31
|
-
- `both` - Full audit with tokens and report
|
|
32
|
-
|
|
33
|
-
**Depth** (default: `--deep`):
|
|
34
|
-
|
|
35
|
-
- `--quick` - Top-level scan, major issues only (~5-10 min)
|
|
36
|
-
- `--deep` - Comprehensive audit with all categories (~20-30 min)
|
|
37
|
-
|
|
38
|
-
---
|
|
39
|
-
|
|
40
|
-
## Phase 2: File Discovery (for codebase audit)
|
|
41
|
-
|
|
42
|
-
Search for design-related files:
|
|
43
|
-
|
|
44
|
-
```typescript
|
|
45
|
-
glob({ pattern: "**/tailwind.config.{js,ts,mjs}" });
|
|
46
|
-
glob({ pattern: "**/globals.css" });
|
|
47
|
-
glob({ pattern: "**/variables.css" });
|
|
48
|
-
glob({ pattern: "**/tokens.{json,js,ts}" });
|
|
49
|
-
glob({ pattern: "**/theme.{js,ts}" });
|
|
50
|
-
glob({ pattern: "**/*.css.ts" }); // vanilla-extract, etc.
|
|
51
|
-
|
|
52
|
-
glob({ pattern: "**/components/**/*.{tsx,jsx,vue}" });
|
|
53
|
-
```
|
|
54
|
-
|
|
55
|
-
**Detect design system in use:**
|
|
56
|
-
|
|
57
|
-
| Pattern Found | System |
|
|
58
|
-
| ---------------------------- | ---------------- |
|
|
59
|
-
| `@shadcn/ui` in package.json | shadcn/ui |
|
|
60
|
-
| `@mui/material` | Material UI |
|
|
61
|
-
| `@radix-ui/*` | Radix Primitives |
|
|
62
|
-
| `@chakra-ui/*` | Chakra UI |
|
|
63
|
-
| Tailwind config only | Custom Tailwind |
|
|
64
|
-
| CSS variables only | Custom system |
|
|
65
|
-
|
|
66
|
-
---
|
|
67
|
-
|
|
68
|
-
## Phase 3: Token Extraction
|
|
69
|
-
|
|
70
|
-
skill({ name: "design-system-audit" })
|
|
71
|
-
|
|
72
|
-
### For Screenshots
|
|
73
|
-
|
|
74
|
-
Analyze all images and extract:
|
|
75
|
-
|
|
76
|
-
```
|
|
77
|
-
1. COLOR PALETTE
|
|
78
|
-
- Primary colors (brand)
|
|
79
|
-
- Secondary colors
|
|
80
|
-
- Neutral/gray scale (should be 8-12 shades)
|
|
81
|
-
- Semantic colors (success, warning, error, info)
|
|
82
|
-
- Accent colors
|
|
83
|
-
|
|
84
|
-
2. TYPOGRAPHY SCALE
|
|
85
|
-
- Font families (sans, serif, mono)
|
|
86
|
-
- Heading sizes (H1-H6)
|
|
87
|
-
- Body text sizes (xs, sm, base, lg, xl)
|
|
88
|
-
- Font weights used
|
|
89
|
-
- Line heights
|
|
90
|
-
|
|
91
|
-
3. SPACING PATTERNS
|
|
92
|
-
- Base unit (typically 4px or 8px)
|
|
93
|
-
- Common padding values
|
|
94
|
-
- Common margin values
|
|
95
|
-
- Gap patterns
|
|
96
|
-
|
|
97
|
-
4. BORDER & SHADOW
|
|
98
|
-
- Border radius values
|
|
99
|
-
- Border widths
|
|
100
|
-
- Shadow definitions
|
|
101
|
-
|
|
102
|
-
5. COMPONENT VARIANTS
|
|
103
|
-
- Button styles (primary, secondary, outline, ghost)
|
|
104
|
-
- Input field styles
|
|
105
|
-
- Card variations
|
|
106
|
-
```
|
|
107
|
-
|
|
108
|
-
### For Codebase
|
|
109
|
-
|
|
110
|
-
Search for hardcoded values using grep:
|
|
111
|
-
|
|
112
|
-
```typescript
|
|
113
|
-
grep({ pattern: "color:", include: "*.{css,scss,tsx,jsx}" });
|
|
114
|
-
grep({ pattern: "background:", include: "*.{css,scss,tsx,jsx}" });
|
|
115
|
-
grep({ pattern: "#[0-9a-fA-F]{3,8}", include: "*.{css,scss,tsx,jsx}" });
|
|
116
|
-
grep({ pattern: "rgb\\(", include: "*.{css,scss,tsx,jsx}" });
|
|
117
|
-
grep({ pattern: "hsl\\(", include: "*.{css,scss,tsx,jsx}" });
|
|
118
|
-
|
|
119
|
-
grep({ pattern: "[0-9]+px", include: "*.{css,scss,tsx,jsx}" });
|
|
120
|
-
grep({ pattern: "[0-9]+rem", include: "*.{css,scss,tsx,jsx}" });
|
|
121
|
-
|
|
122
|
-
grep({ pattern: "font-size:", include: "*.css" });
|
|
123
|
-
grep({ pattern: "fontSize:", include: "*.{tsx,jsx}" });
|
|
124
|
-
grep({ pattern: "className=", include: "*.{tsx,jsx}" }); // then analyze for arbitrary values
|
|
125
|
-
```
|
|
126
|
-
|
|
127
|
-
---
|
|
128
|
-
|
|
129
|
-
## Phase 4: Consistency Analysis
|
|
130
|
-
|
|
131
|
-
Compare findings and identify issues:
|
|
132
|
-
|
|
133
|
-
### Consistency Score Calculation
|
|
134
|
-
|
|
135
|
-
```
|
|
136
|
-
Score = 100 - (penalties)
|
|
137
|
-
|
|
138
|
-
Penalties:
|
|
139
|
-
- Each one-off color: -2 points (max -20)
|
|
140
|
-
- Each duplicate/similar color (ΔE < 5): -1 point (max -10)
|
|
141
|
-
- Missing semantic token: -3 points (max -15)
|
|
142
|
-
- Inconsistent spacing (not on base grid): -1 point (max -10)
|
|
143
|
-
- Typography not in scale: -2 points (max -10)
|
|
144
|
-
- Hardcoded values in components: -1 point per 5 instances (max -15)
|
|
145
|
-
- No dark mode support: -10 points
|
|
146
|
-
- Missing focus states: -10 points
|
|
147
|
-
|
|
148
|
-
Score interpretation:
|
|
149
|
-
90-100: Excellent - Well-maintained design system
|
|
150
|
-
70-89: Good - Minor inconsistencies
|
|
151
|
-
50-69: Fair - Needs attention
|
|
152
|
-
<50: Poor - Significant design debt
|
|
153
|
-
```
|
|
154
|
-
|
|
155
|
-
### Issue Categories
|
|
156
|
-
|
|
157
|
-
| Category | Check For |
|
|
158
|
-
| --------------------- | --------------------------------------------- |
|
|
159
|
-
| **Duplicates** | Colors within ΔE < 5, similar spacing values |
|
|
160
|
-
| **One-offs** | Values used only once, not in token file |
|
|
161
|
-
| **Missing Semantics** | Using primitives where semantic tokens needed |
|
|
162
|
-
| **Hardcoded** | Values in components instead of tokens |
|
|
163
|
-
| **Naming** | Inconsistent naming conventions |
|
|
164
|
-
| **Accessibility** | Contrast ratios, focus states |
|
|
165
|
-
|
|
166
|
-
---
|
|
167
|
-
|
|
168
|
-
## Phase 5: Theme Analysis
|
|
169
|
-
|
|
170
|
-
### Light/Dark Mode Coverage
|
|
171
|
-
|
|
172
|
-
| Token | Light Value | Dark Value | Status |
|
|
173
|
-
| ------------ | ----------- | ---------- | ------- |
|
|
174
|
-
| --background | #FFFFFF | #0A0A0A | Covered |
|
|
175
|
-
| --foreground | #0A0A0A | #FAFAFA | Covered |
|
|
176
|
-
| --primary | #0066CC | #3B82F6 | Covered |
|
|
177
|
-
| --muted | #F3F4F6 | ??? | MISSING |
|
|
178
|
-
|
|
179
|
-
### Semantic Token Completeness
|
|
180
|
-
|
|
181
|
-
```markdown
|
|
182
|
-
## Required Semantic Tokens
|
|
183
|
-
|
|
184
|
-
### Colors
|
|
185
|
-
|
|
186
|
-
- [x] background (default, muted, subtle)
|
|
187
|
-
- [x] foreground (default, muted, subtle)
|
|
188
|
-
- [x] primary (default, hover, active)
|
|
189
|
-
- [x] secondary
|
|
190
|
-
- [ ] accent (MISSING)
|
|
191
|
-
- [x] destructive/error
|
|
192
|
-
- [x] success
|
|
193
|
-
- [ ] warning (MISSING)
|
|
194
|
-
- [x] border
|
|
195
|
-
- [x] ring/focus
|
|
196
|
-
|
|
197
|
-
### Typography
|
|
198
|
-
|
|
199
|
-
- [x] font-sans
|
|
200
|
-
- [x] font-mono
|
|
201
|
-
- [ ] font-serif (optional)
|
|
202
|
-
|
|
203
|
-
### Spacing
|
|
204
|
-
|
|
205
|
-
- [x] Base unit defined
|
|
206
|
-
- [x] Scale follows pattern (4, 8, 12, 16, 24, 32, 48, 64)
|
|
207
|
-
|
|
208
|
-
### Borders
|
|
209
|
-
|
|
210
|
-
- [x] radius scale (sm, md, lg, full)
|
|
211
|
-
- [x] border-width (default)
|
|
212
|
-
```
|
|
213
|
-
|
|
214
|
-
---
|
|
215
|
-
|
|
216
|
-
## Phase 6: Audit Report Output
|
|
217
|
-
|
|
218
|
-
### Summary Dashboard
|
|
219
|
-
|
|
220
|
-
| Metric | Value | Target | Status |
|
|
221
|
-
| --------------------- | ---------- | ------ | ------ |
|
|
222
|
-
| Unique colors | 47 | < 30 | Over |
|
|
223
|
-
| Color duplicates | 8 | 0 | Issue |
|
|
224
|
-
| Spacing values | 12 | 8-12 | OK |
|
|
225
|
-
| Typography variants | 9 | 6-10 | OK |
|
|
226
|
-
| One-off values | 23 | 0 | Issue |
|
|
227
|
-
| Dark mode coverage | 85% | 100% | Issue |
|
|
228
|
-
| **Consistency Score** | **72/100** | > 80 | Fair |
|
|
229
|
-
|
|
230
|
-
### Findings by Category
|
|
231
|
-
|
|
232
|
-
#### Colors (High Priority)
|
|
233
|
-
|
|
234
|
-
| Severity | Issue | Location | Recommendation |
|
|
235
|
-
| -------- | --------------------- | ---------- | ------------------------------ |
|
|
236
|
-
| Critical | 8 duplicate blues | Various | Consolidate to --primary scale |
|
|
237
|
-
| Warning | 15 one-off grays | Components | Create --gray scale |
|
|
238
|
-
| Info | No semantic "warning" | Theme | Add --warning token |
|
|
239
|
-
|
|
240
|
-
#### Typography (Medium Priority)
|
|
241
|
-
|
|
242
|
-
| Severity | Issue | Location | Recommendation |
|
|
243
|
-
| -------- | ------------------------ | ------------------- | ----------------------- |
|
|
244
|
-
| Warning | 3 undefined sizes | Card.tsx, Modal.tsx | Add to typography scale |
|
|
245
|
-
| Info | Inconsistent line-height | Body text | Standardize to 1.5 |
|
|
246
|
-
|
|
247
|
-
#### Spacing (Low Priority)
|
|
248
|
-
|
|
249
|
-
| Severity | Issue | Location | Recommendation |
|
|
250
|
-
| -------- | -------------------- | ---------------- | -------------------- |
|
|
251
|
-
| Info | 5 values not on grid | Padding in cards | Round to nearest 4px |
|
|
252
|
-
|
|
253
|
-
### Priority Actions
|
|
254
|
-
|
|
255
|
-
#### High Priority (Fix This Week)
|
|
256
|
-
|
|
257
|
-
1. Consolidate 8 duplicate blue colors → single `--primary` scale
|
|
258
|
-
2. Add dark mode values for 5 missing tokens
|
|
259
|
-
3. Create `--warning` semantic token
|
|
260
|
-
|
|
261
|
-
#### Medium Priority (Fix This Sprint)
|
|
262
|
-
|
|
263
|
-
1. Replace 15 one-off grays with `--gray` scale
|
|
264
|
-
2. Add missing typography sizes to scale
|
|
265
|
-
|
|
266
|
-
#### Low Priority (Design Debt)
|
|
267
|
-
|
|
268
|
-
1. Round spacing values to base-4 grid
|
|
269
|
-
2. Document token naming conventions
|
|
270
|
-
|
|
271
|
-
---
|
|
272
|
-
|
|
273
|
-
## Phase 7: Token Export
|
|
274
|
-
|
|
275
|
-
### Design Tokens JSON
|
|
276
|
-
|
|
277
|
-
```json
|
|
278
|
-
{
|
|
279
|
-
"color": {
|
|
280
|
-
"primitive": {
|
|
281
|
-
"blue": {
|
|
282
|
-
"50": "#EFF6FF",
|
|
283
|
-
"100": "#DBEAFE",
|
|
284
|
-
"200": "#BFDBFE",
|
|
285
|
-
"300": "#93C5FD",
|
|
286
|
-
"400": "#60A5FA",
|
|
287
|
-
"500": "#3B82F6",
|
|
288
|
-
"600": "#2563EB",
|
|
289
|
-
"700": "#1D4ED8",
|
|
290
|
-
"800": "#1E40AF",
|
|
291
|
-
"900": "#1E3A8A"
|
|
292
|
-
},
|
|
293
|
-
"gray": {
|
|
294
|
-
"50": "#F9FAFB",
|
|
295
|
-
"100": "#F3F4F6",
|
|
296
|
-
"200": "#E5E7EB",
|
|
297
|
-
"300": "#D1D5DB",
|
|
298
|
-
"400": "#9CA3AF",
|
|
299
|
-
"500": "#6B7280",
|
|
300
|
-
"600": "#4B5563",
|
|
301
|
-
"700": "#374151",
|
|
302
|
-
"800": "#1F2937",
|
|
303
|
-
"900": "#111827"
|
|
304
|
-
}
|
|
305
|
-
},
|
|
306
|
-
"semantic": {
|
|
307
|
-
"background": {
|
|
308
|
-
"DEFAULT": "{color.primitive.white}",
|
|
309
|
-
"muted": "{color.primitive.gray.100}"
|
|
310
|
-
},
|
|
311
|
-
"foreground": {
|
|
312
|
-
"DEFAULT": "{color.primitive.gray.900}",
|
|
313
|
-
"muted": "{color.primitive.gray.500}"
|
|
314
|
-
},
|
|
315
|
-
"primary": {
|
|
316
|
-
"DEFAULT": "{color.primitive.blue.600}",
|
|
317
|
-
"hover": "{color.primitive.blue.700}"
|
|
318
|
-
},
|
|
319
|
-
"destructive": { "DEFAULT": "#EF4444", "hover": "#DC2626" },
|
|
320
|
-
"success": { "DEFAULT": "#10B981", "hover": "#059669" },
|
|
321
|
-
"warning": { "DEFAULT": "#F59E0B", "hover": "#D97706" },
|
|
322
|
-
"border": "{color.primitive.gray.200}",
|
|
323
|
-
"ring": "{color.primitive.blue.500}"
|
|
324
|
-
}
|
|
325
|
-
},
|
|
326
|
-
"spacing": {
|
|
327
|
-
"0": "0",
|
|
328
|
-
"1": "0.25rem",
|
|
329
|
-
"2": "0.5rem",
|
|
330
|
-
"3": "0.75rem",
|
|
331
|
-
"4": "1rem",
|
|
332
|
-
"5": "1.25rem",
|
|
333
|
-
"6": "1.5rem",
|
|
334
|
-
"8": "2rem",
|
|
335
|
-
"10": "2.5rem",
|
|
336
|
-
"12": "3rem",
|
|
337
|
-
"16": "4rem",
|
|
338
|
-
"20": "5rem"
|
|
339
|
-
},
|
|
340
|
-
"typography": {
|
|
341
|
-
"fontFamily": {
|
|
342
|
-
"sans": "Inter, system-ui, sans-serif",
|
|
343
|
-
"mono": "JetBrains Mono, monospace"
|
|
344
|
-
},
|
|
345
|
-
"fontSize": {
|
|
346
|
-
"xs": ["0.75rem", { "lineHeight": "1rem" }],
|
|
347
|
-
"sm": ["0.875rem", { "lineHeight": "1.25rem" }],
|
|
348
|
-
"base": ["1rem", { "lineHeight": "1.5rem" }],
|
|
349
|
-
"lg": ["1.125rem", { "lineHeight": "1.75rem" }],
|
|
350
|
-
"xl": ["1.25rem", { "lineHeight": "1.75rem" }],
|
|
351
|
-
"2xl": ["1.5rem", { "lineHeight": "2rem" }],
|
|
352
|
-
"3xl": ["1.875rem", { "lineHeight": "2.25rem" }],
|
|
353
|
-
"4xl": ["2.25rem", { "lineHeight": "2.5rem" }]
|
|
354
|
-
}
|
|
355
|
-
},
|
|
356
|
-
"borderRadius": {
|
|
357
|
-
"none": "0",
|
|
358
|
-
"sm": "0.125rem",
|
|
359
|
-
"DEFAULT": "0.25rem",
|
|
360
|
-
"md": "0.375rem",
|
|
361
|
-
"lg": "0.5rem",
|
|
362
|
-
"xl": "0.75rem",
|
|
363
|
-
"2xl": "1rem",
|
|
364
|
-
"full": "9999px"
|
|
365
|
-
},
|
|
366
|
-
"shadow": {
|
|
367
|
-
"sm": "0 1px 2px 0 rgb(0 0 0 / 0.05)",
|
|
368
|
-
"DEFAULT": "0 1px 3px 0 rgb(0 0 0 / 0.1), 0 1px 2px -1px rgb(0 0 0 / 0.1)",
|
|
369
|
-
"md": "0 4px 6px -1px rgb(0 0 0 / 0.1), 0 2px 4px -2px rgb(0 0 0 / 0.1)",
|
|
370
|
-
"lg": "0 10px 15px -3px rgb(0 0 0 / 0.1), 0 4px 6px -4px rgb(0 0 0 / 0.1)"
|
|
371
|
-
}
|
|
372
|
-
}
|
|
373
|
-
```
|
|
374
|
-
|
|
375
|
-
### CSS Variables Output
|
|
376
|
-
|
|
377
|
-
```css
|
|
378
|
-
:root {
|
|
379
|
-
/* Primitives */
|
|
380
|
-
--color-blue-500: #3b82f6;
|
|
381
|
-
--color-blue-600: #2563eb;
|
|
382
|
-
--color-gray-100: #f3f4f6;
|
|
383
|
-
--color-gray-900: #111827;
|
|
384
|
-
|
|
385
|
-
/* Semantics */
|
|
386
|
-
--background: #ffffff;
|
|
387
|
-
--foreground: #111827;
|
|
388
|
-
--primary: #2563eb;
|
|
389
|
-
--primary-hover: #1d4ed8;
|
|
390
|
-
--muted: #f3f4f6;
|
|
391
|
-
--muted-foreground: #6b7280;
|
|
392
|
-
--border: #e5e7eb;
|
|
393
|
-
--ring: #3b82f6;
|
|
394
|
-
|
|
395
|
-
/* Typography */
|
|
396
|
-
--font-sans: Inter, system-ui, sans-serif;
|
|
397
|
-
--font-mono: JetBrains Mono, monospace;
|
|
398
|
-
|
|
399
|
-
/* Spacing */
|
|
400
|
-
--space-1: 0.25rem;
|
|
401
|
-
--space-2: 0.5rem;
|
|
402
|
-
--space-4: 1rem;
|
|
403
|
-
--space-6: 1.5rem;
|
|
404
|
-
--space-8: 2rem;
|
|
405
|
-
|
|
406
|
-
/* Radius */
|
|
407
|
-
--radius-sm: 0.125rem;
|
|
408
|
-
--radius-md: 0.375rem;
|
|
409
|
-
--radius-lg: 0.5rem;
|
|
410
|
-
}
|
|
411
|
-
|
|
412
|
-
.dark {
|
|
413
|
-
--background: #0a0a0a;
|
|
414
|
-
--foreground: #fafafa;
|
|
415
|
-
--muted: #262626;
|
|
416
|
-
--muted-foreground: #a3a3a3;
|
|
417
|
-
--border: #262626;
|
|
418
|
-
}
|
|
419
|
-
```
|
|
420
|
-
|
|
421
|
-
---
|
|
422
|
-
|
|
423
|
-
## Phase 8: Create Tracking Issues
|
|
424
|
-
|
|
425
|
-
For high-priority findings:
|
|
426
|
-
|
|
427
|
-
```bash
|
|
428
|
-
bd create "[Design] Consolidate duplicate blue colors" -t task -p 1
|
|
429
|
-
bd create "[Design] Add missing dark mode tokens" -t task -p 1
|
|
430
|
-
```
|
|
431
|
-
|
|
432
|
-
---
|
|
433
|
-
|
|
434
|
-
## Storage
|
|
435
|
-
|
|
436
|
-
Save outputs to:
|
|
437
|
-
|
|
438
|
-
- **Tokens**: `.opencode/memory/design/tokens/[project]-tokens.json`
|
|
439
|
-
- **Report**: `.opencode/memory/design/audits/[date]-audit.md`
|
|
440
|
-
- **CSS**: `.opencode/memory/design/tokens/[project]-variables.css`
|
|
441
|
-
|
|
442
|
-
---
|
|
443
|
-
|
|
444
|
-
## Examples
|
|
445
|
-
|
|
446
|
-
```bash
|
|
447
|
-
# Audit from screenshots
|
|
448
|
-
/design-audit designs/screens/ --deep
|
|
449
|
-
|
|
450
|
-
# Audit codebase only
|
|
451
|
-
/design-audit codebase tokens
|
|
452
|
-
|
|
453
|
-
# Full audit with comparison
|
|
454
|
-
/design-audit both report --deep
|
|
455
|
-
|
|
456
|
-
# Quick consistency check
|
|
457
|
-
/design-audit codebase --quick
|
|
458
|
-
```
|
|
459
|
-
|
|
460
|
-
---
|
|
461
|
-
|
|
462
|
-
## Follow-up Commands
|
|
463
|
-
|
|
464
|
-
| Finding | Command |
|
|
465
|
-
| ------------------------ | -------------------------------------------- |
|
|
466
|
-
| Need to implement tokens | `/design src/styles/tokens.css` |
|
|
467
|
-
| Fix specific component | `/fix-ui src/components/Button.tsx` |
|
|
468
|
-
| Accessibility issues | `/accessibility-check` |
|
|
469
|
-
| Compare to mockup | `/analyze-mockup designs/spec.png --compare` |
|
|
470
|
-
|
|
471
|
-
---
|
|
472
|
-
|
|
473
|
-
## Related Skills
|
|
474
|
-
|
|
475
|
-
| Need | Skill |
|
|
476
|
-
| ---------------------- | --------------------- |
|
|
477
|
-
| Aesthetic improvements | `frontend-design` |
|
|
478
|
-
| Implement from mockup | `mockup-to-code` |
|
|
479
|
-
| Accessibility audit | `accessibility-audit` |
|
|
480
|
-
| Visual analysis | `visual-analysis` |
|