@mstar-harness/opencode 0.6.20 → 0.6.22

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.
@@ -1,133 +1,349 @@
1
+ ---
2
+ version: 0.1.0
3
+ name: "[Design System Name]"
4
+ description: "[Design System Name] is a [adjective] design system for [project/product name]. This is the Dark theme. The Light theme uses the same token names with different values and lives at /DESIGN.md."
5
+
6
+ colors:
7
+ # ── Background surfaces (dark) ──
8
+ # Level 1 — primary dark page/card surface (REQUIRED)
9
+ background-100: "[#000000]"
10
+
11
+ # LEVEL2_PLACEHOLDER: secondary surface, active surface — uncomment and fill when upgrading to Level 2
12
+ # background-200: "[#0a0a0a]"
13
+ # background-300: "[#141414]"
14
+
15
+ # ── Gray (solid — text and opaque fills on dark) ──
16
+ # Level 1 — primary and secondary text for dark surfaces (REQUIRED)
17
+ gray-1000: "[#ededed]"
18
+ gray-900: "[#a0a0a0]"
19
+
20
+ # LEVEL2_PLACEHOLDER: full 10-step gray scale (dark-inverted) — uncomment and fill values for steps 100–800
21
+ # gray-100: "[#1a1a1a]"
22
+ # gray-200: "[#1f1f1f]"
23
+ # gray-300: "[#292929]"
24
+ # gray-400: "[#2e2e2e]"
25
+ # gray-500: "[#454545]"
26
+ # gray-600: "[#878787]"
27
+ # gray-700: "[#8f8f8f]"
28
+ # gray-800: "[#7d7d7d]"
29
+
30
+ # LEVEL2_PLACEHOLDER: gray alpha (white-based translucent) scale — uncomment and fill
31
+ # gray-alpha-100: "#ffffff12"
32
+ # gray-alpha-200: "#ffffff17"
33
+ # gray-alpha-300: "#ffffff21"
34
+ # gray-alpha-400: "#ffffff24"
35
+ # gray-alpha-500: "#ffffff3d"
36
+ # gray-alpha-600: "#ffffff82"
37
+ # gray-alpha-700: "#ffffff8a"
38
+ # gray-alpha-800: "#ffffff78"
39
+ # gray-alpha-900: "#ffffff9c"
40
+ # gray-alpha-1000: "#ffffffeb"
41
+
42
+ # ── Accent — Blue (links, focus, primary actions on dark) ──
43
+ # Level 1 — at minimum blue-700, typically lighter on dark for contrast (REQUIRED)
44
+ blue-700: "[#006efe]"
45
+
46
+ # LEVEL2_PLACEHOLDER: full blue scale (dark-adjusted) — uncomment and fill
47
+ # blue-100: "[#06193a]"
48
+ # blue-200: "[#022248]"
49
+ # blue-300: "[#002f62]"
50
+ # blue-400: "[#003674]"
51
+ # blue-500: "[#00418b]"
52
+ # blue-600: "[#0090ff]"
53
+ # blue-700: "[#006efe]"
54
+ # blue-800: "[#005be7]"
55
+ # blue-900: "[#47a8ff]"
56
+ # blue-1000: "[#eaf6ff]"
57
+
58
+ # ── Accent — Red (errors on dark) ──
59
+ # Level 1 — at minimum red-700, typically lighter on dark (REQUIRED)
60
+ red-700: "[#f13242]"
61
+
62
+ # LEVEL2_PLACEHOLDER: full red scale (dark-adjusted) — uncomment and fill
63
+ # red-100: "[#330a11]"
64
+ # red-200: "[#440d13]"
65
+ # red-300: "[#5d0e17]"
66
+ # red-400: "[#6f101b]"
67
+ # red-500: "[#88151f]"
68
+ # red-600: "[#f32e40]"
69
+ # red-700: "[#f13242]"
70
+ # red-800: "[#e2162a]"
71
+ # red-900: "[#ff565f]"
72
+ # red-1000: "[#ffe9ed]"
73
+
74
+ # ── Accent — Amber (warnings on dark) ──
75
+ # Level 1 — at minimum amber-700 (REQUIRED)
76
+ amber-700: "[#ffae00]"
77
+
78
+ # LEVEL2_PLACEHOLDER: full amber scale (dark-adjusted) — uncomment and fill
79
+ # amber-100: "[#2a1700]"
80
+ # amber-200: "[#361900]"
81
+ # amber-300: "[#502800]"
82
+ # amber-400: "[#5b3000]"
83
+ # amber-500: "[#703e00]"
84
+ # amber-600: "[#ed9a00]"
85
+ # amber-700: "[#ffae00]"
86
+ # amber-800: "[#ff9300]"
87
+ # amber-900: "[#ff9300]"
88
+ # amber-1000: "[#fff3d5]"
89
+
90
+ # LEVEL2_PLACEHOLDER: additional accent scales (dark-adjusted) — uncomment and fill
91
+ # green-100: "[#002608]"
92
+ # green-200: "[#00320b]"
93
+ # green-300: "[#003a0e]"
94
+ # green-400: "[#004615]"
95
+ # green-500: "[#006717]"
96
+ # green-600: "[#00952d]"
97
+ # green-700: "[#00ac3a]"
98
+ # green-800: "[#009432]"
99
+ # green-900: "[#00ca50]"
100
+ # green-1000: "[#d8ffe4]"
101
+
102
+ # teal-100: "[#00231b]"
103
+ # teal-200: "[#002b22]"
104
+ # teal-300: "[#003d34]"
105
+ # teal-400: "[#004035]"
106
+ # teal-500: "[#006354]"
107
+ # teal-600: "[#009e86]"
108
+ # teal-700: "[#00aa95]"
109
+ # teal-800: "[#00927f]"
110
+ # teal-900: "[#00cfb7]"
111
+ # teal-1000: "[#cbfff5]"
112
+
113
+ # purple-100: "[#290c33]"
114
+ # purple-200: "[#341142]"
115
+ # purple-300: "[#47185e]"
116
+ # purple-400: "[#541a76]"
117
+ # purple-500: "[#642290]"
118
+ # purple-600: "[#9440d5]"
119
+ # purple-700: "[#9440d5]"
120
+ # purple-800: "[#7d2bba]"
121
+ # purple-900: "[#c472fb]"
122
+ # purple-1000: "[#fbecff]"
123
+
124
+ # pink-100: "[#310d1e]"
125
+ # pink-200: "[#420c25]"
126
+ # pink-300: "[#571032]"
127
+ # pink-400: "[#5d0c34]"
128
+ # pink-500: "[#76063f]"
129
+ # pink-600: "[#ba0056]"
130
+ # pink-700: "[#f12b82]"
131
+ # pink-800: "[#e7006d]"
132
+ # pink-900: "[#ff4d8d]"
133
+ # pink-1000: "[#ffe9f4]"
134
+
135
+ typography:
136
+ # ── Body text (multi-line, taller line-height) ──
137
+ # Level 1 — at minimum one body token; typography tokens are typically unchanged in dark mode (REQUIRED)
138
+ copy-16:
139
+ fontFamily: "[font-family]"
140
+ fontSize: 16px
141
+ fontWeight: 400
142
+ lineHeight: 1.6
143
+ letterSpacing: 0
144
+
145
+ # LEVEL2_PLACEHOLDER: additional body sizes; same as DESIGN.md unless font weight needs adjustment
146
+ # copy-24:
147
+ # fontFamily: "[font-family]"
148
+ # fontSize: 24px
149
+ # fontWeight: 400
150
+ # lineHeight: 36px
151
+ # copy-20:
152
+ # fontFamily: "[font-family]"
153
+ # fontSize: 20px
154
+ # fontWeight: 400
155
+ # lineHeight: 36px
156
+ # copy-14:
157
+ # fontFamily: "[font-family]"
158
+ # fontSize: 14px
159
+ # fontWeight: 400
160
+ # lineHeight: 20px
161
+
162
+ # ── Headings ──
163
+ # Level 1 — at minimum one heading token (REQUIRED)
164
+ heading-32:
165
+ fontFamily: "[font-family]"
166
+ fontSize: 32px
167
+ fontWeight: 600
168
+ lineHeight: 1.2
169
+ letterSpacing: -0.02em
170
+
171
+ # LEVEL2_PLACEHOLDER: full heading scale; same as DESIGN.md
172
+ # heading-72:
173
+ # fontFamily: "[font-family]"
174
+ # fontSize: 72px
175
+ # fontWeight: 600
176
+ # lineHeight: 72px
177
+ # letterSpacing: -0.04em
178
+ # heading-48:
179
+ # fontFamily: "[font-family]"
180
+ # fontSize: 48px
181
+ # fontWeight: 600
182
+ # lineHeight: 56px
183
+ # letterSpacing: -0.03em
184
+ # heading-24:
185
+ # fontFamily: "[font-family]"
186
+ # fontSize: 24px
187
+ # fontWeight: 600
188
+ # lineHeight: 32px
189
+ # letterSpacing: -0.01em
190
+ # heading-20:
191
+ # fontFamily: "[font-family]"
192
+ # fontSize: 20px
193
+ # fontWeight: 600
194
+ # lineHeight: 26px
195
+ # letterSpacing: -0.005em
196
+
197
+ # LEVEL2_PLACEHOLDER: label and button typography; same as DESIGN.md
198
+ # label-14:
199
+ # fontFamily: "[font-family]"
200
+ # fontSize: 14px
201
+ # fontWeight: 400
202
+ # lineHeight: 20px
203
+ # button-14:
204
+ # fontFamily: "[font-family]"
205
+ # fontSize: 14px
206
+ # fontWeight: 500
207
+ # lineHeight: 20px
208
+
209
+ spacing:
210
+ base: 4px
211
+ # Level 1 — same spacing scale as DESIGN.md (REQUIRED)
212
+ 1: 4px
213
+ 2: 8px
214
+ 3: 12px
215
+ 4: 16px
216
+ 6: 24px
217
+
218
+ # LEVEL2_PLACEHOLDER: full 9-step scale; same as DESIGN.md
219
+ # 8: 32px
220
+ # 10: 40px
221
+ # 16: 64px
222
+ # 24: 96px
223
+
224
+ rounded:
225
+ # Level 1 — same radii as DESIGN.md (REQUIRED)
226
+ sm: 6px
227
+
228
+ # LEVEL2_PLACEHOLDER: additional radius tokens; same as DESIGN.md
229
+ # md: 12px
230
+ # lg: 16px
231
+ # full: 9999px
232
+
233
+ # LEVEL2_PLACEHOLDER: component tokens — uncomment and fill; values reference dark `colors.*` and `typography.*`
234
+ # components:
235
+ # button-primary:
236
+ # backgroundColor: "{colors.gray-1000}"
237
+ # textColor: "{colors.background-100}"
238
+ # typography: "{typography.button-14}"
239
+ # rounded: "{rounded.sm}"
240
+ # padding: "0 10px"
241
+ # height: 40px
242
+ # button-secondary:
243
+ # backgroundColor: "{colors.background-100}"
244
+ # textColor: "{colors.gray-1000}"
245
+ # typography: "{typography.button-14}"
246
+ # rounded: "{rounded.sm}"
247
+ # padding: "0 10px"
248
+ # height: 40px
249
+ # button-tertiary:
250
+ # textColor: "{colors.gray-1000}"
251
+ # typography: "{typography.button-14}"
252
+ # rounded: "{rounded.sm}"
253
+ # padding: "0 10px"
254
+ # height: 40px
255
+ # button-error:
256
+ # backgroundColor: "{colors.red-800}"
257
+ # textColor: "#ffffff"
258
+ # typography: "{typography.button-14}"
259
+ # rounded: "{rounded.sm}"
260
+ # padding: "0 10px"
261
+ # height: 40px
262
+ # button-small:
263
+ # typography: "{typography.button-14}"
264
+ # rounded: "{rounded.sm}"
265
+ # padding: "0 6px"
266
+ # height: 32px
267
+ # button-large:
268
+ # typography: "{typography.button-16}"
269
+ # rounded: "{rounded.sm}"
270
+ # padding: "0 14px"
271
+ # height: 48px
272
+ # input:
273
+ # backgroundColor: "{colors.background-100}"
274
+ # textColor: "{colors.gray-1000}"
275
+ # typography: "{typography.label-14}"
276
+ # rounded: "{rounded.sm}"
277
+ # padding: "0 12px"
278
+ # height: 40px
279
+ # input-small:
280
+ # typography: "{typography.label-14}"
281
+ # rounded: "{rounded.sm}"
282
+ # padding: "0 12px"
283
+ # height: 32px
284
+ # input-large:
285
+ # typography: "{typography.label-16}"
286
+ # rounded: "{rounded.sm}"
287
+ # padding: "0 12px"
288
+ # height: 48px
289
+ ---
290
+
1
291
  <!-- COMPLETENESS_LEVEL: 3 — dark theme companion to DESIGN.md -->
2
292
 
3
293
  # [Design System Name] — Dark
4
294
 
5
295
  ## Overview
6
296
 
7
- [Design System Name] Dark is the dark theme companion to [Design System Name]. Use the same token names as DESIGN.md; only the values change. Every token defined in DESIGN.md must have a corresponding entry in this file.
297
+ [Design System Name] Dark is the dark theme companion to [Design System Name]. Token names are identical to DESIGN.md; only the values change. Every token in the YAML frontmatter above must have a corresponding entry in DESIGN.md.
8
298
 
9
299
  This file uses the same structure as DESIGN.md. When DESIGN.md is updated, update this file with the dark-equivalent values.
10
300
 
11
- <!--
301
+ <!--
12
302
  IMPORTANT: Switch to dark mode by loading this file's values in place of DESIGN.md values.
13
303
  Consumers reference tokens by name, not by value — the switch is transparent.
14
304
  -->
15
305
 
16
306
  ## Colors
17
307
 
18
- ### Background
19
-
20
- <!-- Dark backgrounds are dark grays instead of whites. background-100 is the primary dark surface. -->
21
-
22
- | Token | Value |
23
- |-------|-------|
24
- | background-100 | #[dark page/card surface, e.g., #111111] |
25
-
26
- <!-- LEVEL2_PLACEHOLDER: Match DESIGN.md Level 2 background tokens -->
27
- <!--
28
- | background-200 | #[slightly lighter dark surface] |
29
- | background-300 | #[active dark surface] |
30
- -->
31
-
32
- ### Gray (text and fills)
33
-
34
- <!-- Dark text colors are light grays. Invert the scale: gray-1000 is light (primary text on dark), gray-100 is dark. -->
35
-
36
- | Token | Value |
37
- |-------|-------|
38
- | gray-1000 | #[primary text on dark, e.g., #eeeeee] |
39
- | gray-900 | #[secondary text on dark, e.g., #999999] |
40
-
41
- <!-- LEVEL2_PLACEHOLDER: Match DESIGN.md Level 2 gray scale with dark-appropriate values -->
42
- <!--
43
- | gray-100 | #[darkest fill, e.g., #1a1a1a] |
44
- | gray-200 | #[hover fill, e.g., #222222] |
45
- | gray-300 | #[active fill, e.g., #333333] |
46
- | gray-400 | #[border, e.g., #444444] |
47
- | gray-500 | #[hover border, e.g., #555555] |
48
- | gray-600 | #[active border, e.g., #666666] |
49
- | gray-700 | #[disabled text, e.g., #777777] |
50
- | gray-800 | #[solid hover, e.g., #888888] |
51
- -->
52
-
53
- <!-- LEVEL2_PLACEHOLDER: Add gray-alpha scale with white-based transparency for dark backgrounds -->
54
- <!--
55
- ### Gray Alpha (translucent overlays)
56
-
57
- | Token | Value |
58
- |-------|-------|
59
- | gray-alpha-100 | rgba(255, 255, 255, 0.04) |
60
- | gray-alpha-200 | rgba(255, 255, 255, 0.06) |
61
- | gray-alpha-300 | rgba(255, 255, 255, 0.08) |
62
- | gray-alpha-400 | rgba(255, 255, 255, 0.12) |
63
- | gray-alpha-500 | rgba(255, 255, 255, 0.16) |
64
- | gray-alpha-600 | rgba(255, 255, 255, 0.24) |
65
- -->
66
-
67
- ### Accent
308
+ Token values are defined in the frontmatter `colors:` map. Dark theme inverts the scale: background-100 is dark (`#000000`), gray-1000 is light text (`#ededed`). Accent colors shift lighter to maintain contrast on dark surfaces. Gray-alpha tokens use white-based transparency (`rgba(255,255,255,…)`) instead of black-based.
68
309
 
69
- <!-- Accent colors may shift to maintain contrast on dark backgrounds. Same token names, adjusted values. -->
70
-
71
- | Token | Value | Usage |
72
- |-------|-------|-------|
73
- | blue-700 | #[adjusted for dark, typically lighter to maintain contrast] | Interactive elements |
74
- | red-700 | #[adjusted for dark, typically lighter] | Errors |
75
- | amber-700 | #[adjusted for dark, typically lighter] | Warnings |
76
-
77
- <!-- LEVEL2_PLACEHOLDER: Match all accent scales from DESIGN.md with dark-appropriate values -->
310
+ <!-- LEVEL2_PLACEHOLDER: Complete all color scales in the frontmatter to match DESIGN.md. See references/completeness-checklist.md § Level 3. -->
78
311
 
79
312
  ## Typography
80
313
 
81
- <!-- Typography tokens typically remain the same in dark mode. Copy verbatim from DESIGN.md. -->
82
-
83
- | Token | Font Family | Size | Weight | Line Height | Letter Spacing |
84
- |-------|------------|------|--------|-------------|----------------|
85
- | copy-16 | [same as DESIGN.md] | 16px | 400 | 1.6 | 0 |
86
- | heading-32 | [same as DESIGN.md] | 32px | 600 | 1.2 | -0.02em |
314
+ Token values are defined in the frontmatter `typography:` map. Typography tokens are typically identical to DESIGN.md copy verbatim from the light theme unless a font weight adjustment is needed for dark backgrounds.
87
315
 
88
316
  ## Spacing & Layout
89
317
 
90
- <!-- Spacing and breakpoints are identical to DESIGN.md. Copy verbatim. -->
318
+ Token values are defined in the frontmatter `spacing:` and `rounded:` maps. Spacing and breakpoints are identical to DESIGN.md. Copy verbatim.
91
319
 
92
- Base unit: [same as DESIGN.md]
320
+ ### Breakpoints
93
321
 
94
- | Step | Value |
95
- |------|-------|
96
- | 1x | [base × 1] |
97
- | 2x | [base × 2] |
98
- | 3x | [base × 3] |
99
- | 4x | [base × 4] |
100
- | 6x | [base × 6] |
322
+ Refer to DESIGN.md breakpoints; do not duplicate here. The dark theme inherits all layout tokens from the light theme.
101
323
 
102
- | Name | Min Width | Target |
103
- |------|-----------|--------|
104
- | sm | 401px | Mobile landscape |
105
- | lg | 961px | Desktop |
106
-
107
- <!-- LEVEL3_PLACEHOLDER: Add dark-mode Elevation, Components tokens, and full dark theme parity with DESIGN.md -->
324
+ <!-- LEVEL3_PLACEHOLDER: Add dark-mode Elevation, extended Components tokens, and full dark theme parity with DESIGN.md -->
108
325
  <!--
109
326
  ## Elevation & Depth
110
327
 
111
- Shadows on dark backgrounds use lighter, more subtle values. Hierarchy still comes from tonal surfaces first.
328
+ Shadows on dark backgrounds use lighter, deeper values. Hierarchy still comes from tonal surfaces first.
112
329
 
113
330
  ### Shadows (dark theme)
114
331
 
115
332
  | Element | Value |
116
333
  |---------|-------|
117
- | Card | 0 2px 2px rgba(0, 0, 0, 0.12) |
334
+ | Card | 0 1px 2px rgba(0, 0, 0, 0.16) |
118
335
  | Popover | 0 1px 1px rgba(0, 0, 0, 0.08), 0 4px 8px -4px rgba(0, 0, 0, 0.12), 0 16px 24px -8px rgba(0, 0, 0, 0.16) |
119
336
  | Modal | 0 1px 1px rgba(0, 0, 0, 0.08), 0 8px 16px -4px rgba(0, 0, 0, 0.12), 0 24px 32px -8px rgba(0, 0, 0, 0.16) |
120
337
 
121
338
  ## Components
122
339
 
123
- Button tokens reference dark color values. Same structure as DESIGN.md, different color references.
340
+ Component tokens are defined in the frontmatter `components:` map. Button tokens reference dark `colors.*` values. Same structure as DESIGN.md, different color references. States, sizes, and focus follow the same rules as DESIGN.md.
341
+
342
+ ## Motion
124
343
 
125
- ### Button
344
+ Same as DESIGN.md — motion rules are theme-independent.
126
345
 
127
- | Variant | Background | Text | Border | Radius | Height |
128
- |---------|-----------|------|--------|--------|--------|
129
- | primary | gray-100 (dark value) | background-100 (dark value) | — | 6px | 40px |
130
- | secondary | background-100 | gray-1000 | gray-alpha-400 | 6px | 40px |
346
+ ## Shapes
131
347
 
132
- States, sizes, and focus follow the same rules as DESIGN.md.
348
+ Same as DESIGN.md border radius tokens are theme-independent.
133
349
  -->