@vibes.diy/prompts 2.2.9 → 2.2.11

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.
Files changed (117) hide show
  1. package/index.d.ts +1 -0
  2. package/index.js +1 -0
  3. package/index.js.map +1 -1
  4. package/json-docs.d.ts +1 -1
  5. package/llms/fireproof.md +148 -0
  6. package/llms/image-gen.d.ts +2 -0
  7. package/llms/image-gen.js +9 -0
  8. package/llms/image-gen.js.map +1 -0
  9. package/llms/image-gen.md +102 -0
  10. package/llms/index.d.ts +1 -1
  11. package/llms/index.js +3 -3
  12. package/llms/types.d.ts +2 -2
  13. package/llms/web-audio.js +0 -2
  14. package/llms/web-audio.js.map +1 -1
  15. package/llms/web-audio.md +3 -0
  16. package/package.json +3 -3
  17. package/prompts.d.ts +6 -0
  18. package/prompts.js +37 -4
  19. package/prompts.js.map +1 -1
  20. package/settings.d.ts +1 -0
  21. package/system-prompt-initial.md +2 -2
  22. package/system-prompt.md +3 -3
  23. package/themes/aether.md +41 -0
  24. package/themes/archive.md +43 -0
  25. package/themes/atelier.md +42 -0
  26. package/themes/atlas.md +42 -0
  27. package/themes/broadsheet.md +20 -0
  28. package/themes/brutalist.md +208 -0
  29. package/themes/capsule.md +47 -0
  30. package/themes/carbon.md +42 -0
  31. package/themes/chrome.md +132 -0
  32. package/themes/chrono.md +33 -0
  33. package/themes/codex.md +45 -0
  34. package/themes/computer-angel-heaven.md +57 -0
  35. package/themes/console.md +46 -0
  36. package/themes/default.md +96 -0
  37. package/themes/desktop.md +49 -0
  38. package/themes/dial.md +46 -0
  39. package/themes/dossier.md +35 -0
  40. package/themes/edge.md +39 -0
  41. package/themes/exemplars/aether/App.jsx +224 -0
  42. package/themes/exemplars/archive/App.jsx +222 -0
  43. package/themes/exemplars/atelier/App.jsx +224 -0
  44. package/themes/exemplars/atlas/App.jsx +216 -0
  45. package/themes/exemplars/broadsheet/App.jsx +216 -0
  46. package/themes/exemplars/brutalist/App.jsx +290 -0
  47. package/themes/exemplars/capsule/App.jsx +216 -0
  48. package/themes/exemplars/carbon/App.jsx +216 -0
  49. package/themes/exemplars/chrome/App.jsx +253 -0
  50. package/themes/exemplars/chrono/App.jsx +222 -0
  51. package/themes/exemplars/codex/App.jsx +224 -0
  52. package/themes/exemplars/computer-angel-heaven/App.jsx +224 -0
  53. package/themes/exemplars/console/App.jsx +216 -0
  54. package/themes/exemplars/default/App.jsx +219 -0
  55. package/themes/exemplars/desktop/App.jsx +224 -0
  56. package/themes/exemplars/dial/App.jsx +216 -0
  57. package/themes/exemplars/dossier/App.jsx +224 -0
  58. package/themes/exemplars/edge/App.jsx +216 -0
  59. package/themes/exemplars/guild/App.jsx +224 -0
  60. package/themes/exemplars/hearth/App.jsx +224 -0
  61. package/themes/exemplars/industrial/App.jsx +224 -0
  62. package/themes/exemplars/matrix/App.jsx +224 -0
  63. package/themes/exemplars/mesh/App.jsx +222 -0
  64. package/themes/exemplars/neomario/App.jsx +222 -0
  65. package/themes/exemplars/neon/App.jsx +224 -0
  66. package/themes/exemplars/nexus/App.jsx +216 -0
  67. package/themes/exemplars/opus/App.jsx +224 -0
  68. package/themes/exemplars/orbit/App.jsx +224 -0
  69. package/themes/exemplars/palate/App.jsx +224 -0
  70. package/themes/exemplars/pitch/App.jsx +222 -0
  71. package/themes/exemplars/poster/App.jsx +222 -0
  72. package/themes/exemplars/proof/App.jsx +224 -0
  73. package/themes/exemplars/recon/App.jsx +216 -0
  74. package/themes/exemplars/rift/App.jsx +224 -0
  75. package/themes/exemplars/rune/App.jsx +224 -0
  76. package/themes/exemplars/scrapbook/App.jsx +222 -0
  77. package/themes/exemplars/sensor/App.jsx +224 -0
  78. package/themes/exemplars/signal/App.jsx +222 -0
  79. package/themes/exemplars/slab/App.jsx +224 -0
  80. package/themes/exemplars/specimen/App.jsx +222 -0
  81. package/themes/exemplars/terminal/App.jsx +224 -0
  82. package/themes/exemplars/vault/App.jsx +222 -0
  83. package/themes/exemplars/winter-sports/App.jsx +224 -0
  84. package/themes/exemplars/zine/App.jsx +214 -0
  85. package/themes/guild.md +44 -0
  86. package/themes/hearth.md +45 -0
  87. package/themes/index.d.ts +11 -0
  88. package/themes/index.js +272 -0
  89. package/themes/index.js.map +1 -0
  90. package/themes/industrial.md +37 -0
  91. package/themes/matrix.md +41 -0
  92. package/themes/mesh.md +42 -0
  93. package/themes/neomario.md +47 -0
  94. package/themes/neon.md +48 -0
  95. package/themes/nexus.md +40 -0
  96. package/themes/opus.md +61 -0
  97. package/themes/orbit.md +46 -0
  98. package/themes/palate.md +35 -0
  99. package/themes/pitch.md +39 -0
  100. package/themes/poster.md +39 -0
  101. package/themes/proof.md +41 -0
  102. package/themes/recon.md +39 -0
  103. package/themes/rift.md +45 -0
  104. package/themes/rune.md +44 -0
  105. package/themes/scrapbook.md +43 -0
  106. package/themes/sensor.md +42 -0
  107. package/themes/signal.md +37 -0
  108. package/themes/slab.md +35 -0
  109. package/themes/specimen.md +21 -0
  110. package/themes/terminal.md +39 -0
  111. package/themes/vault.md +41 -0
  112. package/themes/winter-sports.md +39 -0
  113. package/themes/zine.md +40 -0
  114. package/llms/img-vibes.d.ts +0 -2
  115. package/llms/img-vibes.js +0 -9
  116. package/llms/img-vibes.js.map +0 -1
  117. package/llms/img-vibes.md +0 -167
@@ -0,0 +1,45 @@
1
+ ---
2
+ name: Elder Codex
3
+ colors:
4
+ bg: "oklch(0.06 0.000 0)"
5
+ stone-dark: "oklch(0.17 0.000 0)"
6
+ stone-light: "oklch(0.30 0.000 0)"
7
+ stone-border: "oklch(0.40 0.000 0)"
8
+ fg: "oklch(0.90 0.000 0)"
9
+ fg-muted: "oklch(0.55 0.000 0)"
10
+ gold-base: "oklch(0.73 0.10 78)"
11
+ gold-highlight: "oklch(0.97 0.07 100)"
12
+ crimson: "oklch(0.32 0.10 25)"
13
+ crimson-dark: "oklch(0.20 0.07 22)"
14
+ parchment: "oklch(0.78 0.05 70)"
15
+ parchment-ink: "oklch(0.27 0.04 45)"
16
+ typography:
17
+ body-md:
18
+ fontFamily: Cinzel
19
+ fontSize: 1rem
20
+ fontWeight: "400"
21
+ ---
22
+
23
+ ## Brand & Style
24
+
25
+ Elder Codex design system. A dark, atmospheric theme with Cinzel Decorative and Cinzel typography. Use this design system\'s color tokens, spacing, and typographic choices consistently across all generated components. This theme **respects the visitor's system color scheme** — dark by default, with a light variant that auto-applies on `@media (prefers-color-scheme: light)`. Apply both color sets via CSS variables in a `<style>` block; never hard-code one mode only.
26
+
27
+ ## Colors
28
+
29
+ - **bg** (oklch(0.06 0.000 0)): Use for backgrounds.
30
+ - **stone-dark** (oklch(0.17 0.000 0)): Use for supporting UI elements.
31
+ - **stone-light** (oklch(0.30 0.000 0)): Use for supporting UI elements.
32
+ - **stone-border** (oklch(0.40 0.000 0)): Use for borders and dividers.
33
+ - **fg** (oklch(0.90 0.000 0)): Use for text content.
34
+ - **fg-muted** (oklch(0.55 0.000 0)): Use for text content.
35
+ - **gold-base** (oklch(0.73 0.10 78)): Use for supporting UI elements.
36
+ - **gold-highlight** (oklch(0.97 0.07 100)): Use for supporting UI elements.
37
+
38
+ ## Typography
39
+
40
+ Load fonts from Google Fonts: Cinzel Decorative, Cinzel. Use display=optional.
41
+ Primary body font: 'Cinzel', serif.
42
+
43
+ ## Components
44
+
45
+ Apply the color tokens and typography consistently to all interactive elements (buttons, inputs, cards, modals). Ensure sufficient contrast between text and background colors for accessibility.
@@ -0,0 +1,57 @@
1
+ ---
2
+ name: Computer Angel Heaven
3
+ colors:
4
+ comp-bg: "oklch(0.96 0.008 80)"
5
+ comp-text: "oklch(0.30 0.03 250)"
6
+ comp-text-secondary: "oklch(0.55 0.04 260)"
7
+ comp-heading: "oklch(0.25 0.03 250)"
8
+ comp-accent: "oklch(0.78 0.12 85)"
9
+ comp-accent-hover: "oklch(0.72 0.14 80)"
10
+ comp-accent-text: "oklch(0.98 0.005 90)"
11
+ comp-secondary: "oklch(0.80 0.06 240)"
12
+ comp-secondary-hover: "oklch(0.74 0.08 240)"
13
+ comp-tertiary: "oklch(0.82 0.06 290)"
14
+ comp-surface: "oklch(0.97 0.005 240 / 0.55)"
15
+ comp-surface-hover: "oklch(0.97 0.005 240 / 0.70)"
16
+ comp-surface-active: "oklch(0.98 0.01 85 / 0.60)"
17
+ comp-border: "oklch(0.92 0.01 240 / 0.40)"
18
+ comp-border-accent: "oklch(0.78 0.12 85 / 0.50)"
19
+ comp-sparkle: "oklch(0.95 0.03 240 / 0.80)"
20
+ comp-input-bg: "oklch(0.98 0.003 240 / 0.45)"
21
+ comp-input-border: "oklch(0.90 0.01 240 / 0.35)"
22
+ comp-danger: "oklch(0.65 0.18 25)"
23
+ comp-success: "oklch(0.75 0.12 155)"
24
+ typography:
25
+ body-md:
26
+ fontFamily: Inter
27
+ fontSize: 1rem
28
+ fontWeight: "400"
29
+ rounded:
30
+ comp-DEFAULT: 16px
31
+ comp-sm: 10px
32
+ comp-pill: 999px
33
+ ---
34
+
35
+ ## Brand & Style
36
+
37
+ Computer Angel Heaven design system. A clean, structured theme with Inter typography. Use this design system\'s color tokens, spacing, and typographic choices consistently across all generated components. This theme **respects the visitor's system color scheme** — light by default, with a dark variant that auto-applies on `@media (prefers-color-scheme: dark)`. Apply both color sets via CSS variables in a `<style>` block; never hard-code one mode only.
38
+
39
+ ## Colors
40
+
41
+ - **comp-bg** (oklch(0.96 0.008 80)): Use for backgrounds.
42
+ - **comp-text** (oklch(0.30 0.03 250)): Use for text content.
43
+ - **comp-text-secondary** (oklch(0.55 0.04 260)): Use for text content.
44
+ - **comp-heading** (oklch(0.25 0.03 250)): Use for supporting UI elements.
45
+ - **comp-accent** (oklch(0.78 0.12 85)): Use for primary actions and accents.
46
+ - **comp-accent-hover** (oklch(0.72 0.14 80)): Use for primary actions and accents.
47
+ - **comp-accent-text** (oklch(0.98 0.005 90)): Use for text content.
48
+ - **comp-secondary** (oklch(0.80 0.06 240)): Use for supporting UI elements.
49
+
50
+ ## Typography
51
+
52
+ Load fonts from Google Fonts: Inter. Use display=optional.
53
+ Primary body font: 'Inter', 'SF Pro Display', system-ui, sans-serif.
54
+
55
+ ## Components
56
+
57
+ Apply the color tokens and typography consistently to all interactive elements (buttons, inputs, cards, modals). Ensure sufficient contrast between text and background colors for accessibility.
@@ -0,0 +1,46 @@
1
+ ---
2
+ name: Console Rack
3
+ colors:
4
+ comp-bg: "oklch(0.93 0.003 265)"
5
+ comp-text: "oklch(0.28 0 0)"
6
+ comp-border: "oklch(0.82 0.005 265)"
7
+ comp-accent: "oklch(0.58 0.20 35)"
8
+ comp-accent-text: "oklch(1.00 0 0)"
9
+ comp-muted: "oklch(0.55 0 0)"
10
+ color-background: "oklch(0.98 0 0)"
11
+ console-cap-blue: "oklch(0.28 0.05 240)"
12
+ console-cap-ochre: "oklch(0.66 0.10 75)"
13
+ console-cap-grey: "oklch(0.60 0 0)"
14
+ console-cap-orange: "oklch(0.58 0.20 35)"
15
+ console-cap-white: "oklch(0.95 0 0)"
16
+ console-screen-bg: "oklch(0.07 0 0)"
17
+ console-led-green: "oklch(0.85 0.30 140)"
18
+ typography:
19
+ body-md:
20
+ fontFamily: var(--font-ui)
21
+ fontSize: 1rem
22
+ fontWeight: "400"
23
+ ---
24
+
25
+ ## Brand & Style
26
+
27
+ Console Rack design system. A clean, structured theme with system typography. Use this design system\'s color tokens, spacing, and typographic choices consistently across all generated components. This theme **respects the visitor's system color scheme** — light by default, with a dark variant that auto-applies on `@media (prefers-color-scheme: dark)`. Apply both color sets via CSS variables in a `<style>` block; never hard-code one mode only.
28
+
29
+ ## Colors
30
+
31
+ - **comp-bg** (oklch(0.93 0.003 265)): Use for backgrounds.
32
+ - **comp-text** (oklch(0.28 0 0)): Use for text content.
33
+ - **comp-border** (oklch(0.82 0.005 265)): Use for borders and dividers.
34
+ - **comp-accent** (oklch(0.58 0.20 35)): Use for primary actions and accents.
35
+ - **comp-accent-text** (oklch(1.00 0 0)): Use for text content.
36
+ - **comp-muted** (oklch(0.55 0 0)): Use for secondary/muted content.
37
+ - **color-background** (oklch(0.98 0 0)): Use for backgrounds.
38
+ - **console-cap-blue** (oklch(0.28 0.05 240)): Use for supporting UI elements.
39
+
40
+ ## Typography
41
+
42
+ Primary body font: var(--font-ui).
43
+
44
+ ## Components
45
+
46
+ Apply the color tokens and typography consistently to all interactive elements (buttons, inputs, cards, modals). Ensure sufficient contrast between text and background colors for accessibility.
@@ -0,0 +1,96 @@
1
+ ---
2
+ name: Default
3
+ colors:
4
+ # Light mode (the canonical "default" — calm warm canvas, dark ink, golden action color)
5
+ bg: "oklch(0.97 0.01 80)"
6
+ card-bg: "oklch(1.00 0 0)"
7
+ text: "oklch(0.20 0.02 60)"
8
+ accent: "oklch(0.62 0.18 65)"
9
+ accent-text: "oklch(1.00 0 0)"
10
+ muted: "oklch(0.50 0.02 60)"
11
+ border: "oklch(0.88 0.01 70)"
12
+ colorsDark:
13
+ # Dark mode (auto-applied via @media (prefers-color-scheme: dark))
14
+ bg: "oklch(0.18 0.04 60)"
15
+ card-bg: "oklch(0.22 0.04 60)"
16
+ text: "oklch(0.95 0.01 80)"
17
+ accent: "oklch(0.72 0.18 70)"
18
+ accent-text: "oklch(0.12 0.04 60)"
19
+ muted: "oklch(0.55 0.03 60)"
20
+ border: "oklch(0.35 0.04 60)"
21
+ typography:
22
+ body-md:
23
+ fontFamily: Inter
24
+ fontSize: 1rem
25
+ fontWeight: "400"
26
+ rounded:
27
+ DEFAULT: 14px
28
+ sm: 8px
29
+ ---
30
+
31
+ ## Brand & Style
32
+
33
+ Default design system. A calm, balanced theme with Inter typography that **respects the visitor's system color scheme** — light by default, dark when `prefers-color-scheme: dark`. Use this design system's color tokens, spacing, and typographic choices consistently across all generated components.
34
+
35
+ ## Colors
36
+
37
+ The default theme defines two color sets, light (top-level `colors`) and dark (`colorsDark`). Apply them via a `@media (prefers-color-scheme: dark)` block (in a `<style>` tag, in CSS variables, or in Tailwind dark-mode classes — whichever the surrounding code uses). Never hard-code one mode only — components must read correctly in both.
38
+
39
+ ### Light tokens
40
+
41
+ - **bg** (oklch(0.97 0.01 80)): Page background — warm off-white.
42
+ - **card-bg** (oklch(1.00 0 0)): Card / surface — pure white.
43
+ - **text** (oklch(0.20 0.02 60)): Primary text — near-black with warm undertone.
44
+ - **accent** (oklch(0.62 0.18 65)): Primary actions and accents — saturated golden.
45
+ - **accent-text** (oklch(1.00 0 0)): Text on accent fills — pure white.
46
+ - **muted** (oklch(0.50 0.02 60)): Secondary / muted content.
47
+ - **border** (oklch(0.88 0.01 70)): Borders and dividers — soft warm gray.
48
+
49
+ ### Dark tokens
50
+
51
+ - **bg** (oklch(0.18 0.04 60)): Page background — warm dark canvas.
52
+ - **card-bg** (oklch(0.22 0.04 60)): Card / surface — slightly lifted.
53
+ - **text** (oklch(0.95 0.01 80)): Primary text — warm off-white.
54
+ - **accent** (oklch(0.72 0.18 70)): Primary actions and accents — softer golden for dark.
55
+ - **accent-text** (oklch(0.12 0.04 60)): Text on accent fills — near-black.
56
+ - **muted** (oklch(0.55 0.03 60)): Secondary / muted content.
57
+ - **border** (oklch(0.35 0.04 60)): Borders and dividers.
58
+
59
+ ## Typography
60
+
61
+ Load fonts from Google Fonts: Inter. Use `display=optional`.
62
+ Primary body font: `'Inter', sans-serif`.
63
+
64
+ ## Components
65
+
66
+ Apply the color tokens and typography consistently to all interactive elements (buttons, inputs, cards, modals). Ensure sufficient contrast between text and background colors in **both modes**. The accent color is the same role in both modes (golden); only its lightness shifts.
67
+
68
+ The recommended pattern for inline-styled components:
69
+
70
+ ```js
71
+ // CSS variables that flip with prefers-color-scheme — set once on :root.
72
+ const themeStyle = `
73
+ :root {
74
+ --bg: oklch(0.97 0.01 80);
75
+ --card-bg: oklch(1.00 0 0);
76
+ --text: oklch(0.20 0.02 60);
77
+ --accent: oklch(0.62 0.18 65);
78
+ --accent-text: oklch(1.00 0 0);
79
+ --muted: oklch(0.50 0.02 60);
80
+ --border: oklch(0.88 0.01 70);
81
+ }
82
+ @media (prefers-color-scheme: dark) {
83
+ :root {
84
+ --bg: oklch(0.18 0.04 60);
85
+ --card-bg: oklch(0.22 0.04 60);
86
+ --text: oklch(0.95 0.01 80);
87
+ --accent: oklch(0.72 0.18 70);
88
+ --accent-text: oklch(0.12 0.04 60);
89
+ --muted: oklch(0.55 0.03 60);
90
+ --border: oklch(0.35 0.04 60);
91
+ }
92
+ }
93
+ `;
94
+ ```
95
+
96
+ Then reference `var(--bg)`, `var(--text)`, etc. in inline styles or className-driven CSS.
@@ -0,0 +1,49 @@
1
+ ---
2
+ name: Desktop Retro
3
+ colors:
4
+ editor-bg: "oklch(0.11 0.01 250)"
5
+ chrome: "oklch(0.18 0.000 0)"
6
+ gutter: "oklch(0.39 0.01 250)"
7
+ code-text: "oklch(0.75 0.02 240)"
8
+ code-comment: "oklch(0.59 0.000 0)"
9
+ syn-keyword: "oklch(0.62 0.14 55)"
10
+ syn-string: "oklch(0.57 0.08 140)"
11
+ syn-prop: "oklch(0.56 0.08 300)"
12
+ syn-def: "oklch(0.84 0.12 75)"
13
+ syn-num: "oklch(0.62 0.08 235)"
14
+ win-silver: "oklch(0.79 0.000 0)"
15
+ win-title-dk: "oklch(0.21 0.12 265)"
16
+ win-title-lt: "oklch(0.55 0.14 245)"
17
+ win-highlight: "oklch(1.00 0.000 0)"
18
+ win-text: "oklch(0.00 0.000 0)"
19
+ heart: "oklch(0.58 0.17 18)"
20
+ typography:
21
+ body-md:
22
+ fontFamily: JetBrains Mono
23
+ fontSize: 1rem
24
+ fontWeight: "400"
25
+ ---
26
+
27
+ ## Brand & Style
28
+
29
+ Desktop Retro design system. A clean, structured theme with JetBrains Mono typography. Use this design system\'s color tokens, spacing, and typographic choices consistently across all generated components. This theme **respects the visitor's system color scheme** — light by default, with a dark variant that auto-applies on `@media (prefers-color-scheme: dark)`. Apply both color sets via CSS variables in a `<style>` block; never hard-code one mode only.
30
+
31
+ ## Colors
32
+
33
+ - **editor-bg** (oklch(0.11 0.01 250)): Use for backgrounds.
34
+ - **chrome** (oklch(0.18 0.000 0)): Use for supporting UI elements.
35
+ - **gutter** (oklch(0.39 0.01 250)): Use for supporting UI elements.
36
+ - **code-text** (oklch(0.75 0.02 240)): Use for text content.
37
+ - **code-comment** (oklch(0.59 0.000 0)): Use for supporting UI elements.
38
+ - **syn-keyword** (oklch(0.62 0.14 55)): Use for supporting UI elements.
39
+ - **syn-string** (oklch(0.57 0.08 140)): Use for supporting UI elements.
40
+ - **syn-prop** (oklch(0.56 0.08 300)): Use for supporting UI elements.
41
+
42
+ ## Typography
43
+
44
+ Load fonts from Google Fonts: JetBrains Mono. Use display=optional.
45
+ Primary body font: 'JetBrains Mono', monospace.
46
+
47
+ ## Components
48
+
49
+ Apply the color tokens and typography consistently to all interactive elements (buttons, inputs, cards, modals). Ensure sufficient contrast between text and background colors for accessibility.
package/themes/dial.md ADDED
@@ -0,0 +1,46 @@
1
+ ---
2
+ name: Dial Apparatus
3
+ colors:
4
+ comp-bg: "oklch(0.24 0.01 260)"
5
+ comp-text: "oklch(0.64 0.02 250)"
6
+ comp-border: "oklch(0.19 0.01 260 / 0.5)"
7
+ comp-accent: "oklch(0.62 0.24 28)"
8
+ comp-accent-text: "oklch(0.10 0 0)"
9
+ comp-muted: "oklch(0.64 0.02 250 / 0.5)"
10
+ color-background: "oklch(0.00 0 0)"
11
+ dial-chassis: "oklch(0.24 0.01 260)"
12
+ dial-chassis-dark: "oklch(0.19 0.01 260)"
13
+ dial-surface-matte: "oklch(0.28 0.01 260)"
14
+ dial-screen-bg: "oklch(0.10 0 0)"
15
+ dial-screen-glass: "oklch(0.14 0.005 260)"
16
+ dial-led-active: "oklch(0.62 0.24 28)"
17
+ typography:
18
+ body-md:
19
+ fontFamily: var(--font-ui)
20
+ fontSize: 1rem
21
+ fontWeight: "400"
22
+ ---
23
+
24
+ ## Brand & Style
25
+
26
+ Dial Apparatus design system. A dark, atmospheric theme with Share Tech Mono and Inter typography. Use this design system\'s color tokens, spacing, and typographic choices consistently across all generated components. This theme **respects the visitor's system color scheme** — dark by default, with a light variant that auto-applies on `@media (prefers-color-scheme: light)`. Apply both color sets via CSS variables in a `<style>` block; never hard-code one mode only.
27
+
28
+ ## Colors
29
+
30
+ - **comp-bg** (oklch(0.24 0.01 260)): Use for backgrounds.
31
+ - **comp-text** (oklch(0.64 0.02 250)): Use for text content.
32
+ - **comp-border** (oklch(0.19 0.01 260 / 0.5)): Use for borders and dividers.
33
+ - **comp-accent** (oklch(0.62 0.24 28)): Use for primary actions and accents.
34
+ - **comp-accent-text** (oklch(0.10 0 0)): Use for text content.
35
+ - **comp-muted** (oklch(0.64 0.02 250 / 0.5)): Use for secondary/muted content.
36
+ - **color-background** (oklch(0.00 0 0)): Use for backgrounds.
37
+ - **dial-chassis** (oklch(0.24 0.01 260)): Use for supporting UI elements.
38
+
39
+ ## Typography
40
+
41
+ Load fonts from Google Fonts: Share Tech Mono, Inter. Use display=optional.
42
+ Primary body font: var(--font-ui).
43
+
44
+ ## Components
45
+
46
+ Apply the color tokens and typography consistently to all interactive elements (buttons, inputs, cards, modals). Ensure sufficient contrast between text and background colors for accessibility.
@@ -0,0 +1,35 @@
1
+ ---
2
+ name: Dossier Card
3
+ colors:
4
+ bg: "oklch(0.16 0.000 0)"
5
+ card: "oklch(0.00 0.000 0)"
6
+ fg: "oklch(1.00 0.000 0)"
7
+ border: "oklch(0.28 0.03 257)"
8
+ border-fg: "oklch(1.00 0.000 0)"
9
+ typography:
10
+ body-md:
11
+ fontFamily: Roboto Mono
12
+ fontSize: 1rem
13
+ fontWeight: "400"
14
+ ---
15
+
16
+ ## Brand & Style
17
+
18
+ Dossier Card design system. A dark, atmospheric theme with Archivo Black and Roboto Mono typography. Use this design system\'s color tokens, spacing, and typographic choices consistently across all generated components. This theme **respects the visitor's system color scheme** — dark by default, with a light variant that auto-applies on `@media (prefers-color-scheme: light)`. Apply both color sets via CSS variables in a `<style>` block; never hard-code one mode only.
19
+
20
+ ## Colors
21
+
22
+ - **bg** (oklch(0.16 0.000 0)): Use for backgrounds.
23
+ - **card** (oklch(0.00 0.000 0)): Use for supporting UI elements.
24
+ - **fg** (oklch(1.00 0.000 0)): Use for text content.
25
+ - **border** (oklch(0.28 0.03 257)): Use for borders and dividers.
26
+ - **border-fg** (oklch(1.00 0.000 0)): Use for text content.
27
+
28
+ ## Typography
29
+
30
+ Load fonts from Google Fonts: Archivo Black, Roboto Mono. Use display=optional.
31
+ Primary body font: 'Roboto Mono', monospace.
32
+
33
+ ## Components
34
+
35
+ Apply the color tokens and typography consistently to all interactive elements (buttons, inputs, cards, modals). Ensure sufficient contrast between text and background colors for accessibility.
package/themes/edge.md ADDED
@@ -0,0 +1,39 @@
1
+ ---
2
+ name: EDGE INTERFACE
3
+ colors:
4
+ pink: "#ff0077"
5
+ yellow: "#fcee0a"
6
+ cyan: "#00f0ff"
7
+ void: "#0a0205"
8
+ vignette: "#2a0a2e"
9
+ panel-bg: "rgba(15, 5, 20, 0.85)"
10
+ panel-border: "rgba(255, 0, 119, 0.6)"
11
+ typography:
12
+ body-md:
13
+ fontFamily: var(--font-body)
14
+ fontSize: 1rem
15
+ fontWeight: "400"
16
+ ---
17
+
18
+ ## Brand & Style
19
+
20
+ EDGE INTERFACE design system. A clean, structured theme with Orbitron and Rajdhani and Share Tech Mono typography. Use this design system\'s color tokens, spacing, and typographic choices consistently across all generated components. This theme **respects the visitor's system color scheme** — light by default, with a dark variant that auto-applies on `@media (prefers-color-scheme: dark)`. Apply both color sets via CSS variables in a `<style>` block; never hard-code one mode only.
21
+
22
+ ## Colors
23
+
24
+ - **pink** (#ff0077): Use for text content.
25
+ - **yellow** (#fcee0a): Use for supporting UI elements.
26
+ - **cyan** (#00f0ff): Use for supporting UI elements.
27
+ - **void** (#0a0205): Use for supporting UI elements.
28
+ - **vignette** (#2a0a2e): Use for supporting UI elements.
29
+ - **panel-bg** (rgba(15, 5, 20, 0.85)): Use for backgrounds.
30
+ - **panel-border** (rgba(255, 0, 119, 0.6)): Use for borders and dividers.
31
+
32
+ ## Typography
33
+
34
+ Load fonts from Google Fonts: Orbitron, Rajdhani, Share Tech Mono. Use display=optional.
35
+ Primary body font: var(--font-body).
36
+
37
+ ## Components
38
+
39
+ Apply the color tokens and typography consistently to all interactive elements (buttons, inputs, cards, modals). Ensure sufficient contrast between text and background colors for accessibility.
@@ -0,0 +1,224 @@
1
+ import React, { useEffect, useState } from "react";
2
+
3
+ // Theme: Aether Brass — auto-generated exemplar with prefers-color-scheme.
4
+ // Canonical palette: bg #dcbfa6, accent #cfa562.
5
+ // Inverse computed by flipping oklch/hex lightness; tune by hand if needed.
6
+
7
+ const THEME_CSS = `
8
+ :root {
9
+ --bg: #dcbfa6;
10
+ --accent: #cfa562;
11
+ --text: rgba(20, 20, 20, 0.92);
12
+ --muted: rgba(20, 20, 20, 0.5);
13
+ --border: rgba(20, 20, 20, 0.14);
14
+ --raised: rgba(255, 255, 255, 0.55);
15
+ --card-bg: rgba(255, 255, 255, 0.85);
16
+ --accent-text: #fafafa;
17
+ }
18
+ @media (prefers-color-scheme: dark) {
19
+ :root {
20
+ --bg: #593c23;
21
+ --accent: #9d7330;
22
+ --text: rgba(255, 255, 255, 0.92);
23
+ --muted: rgba(255, 255, 255, 0.55);
24
+ --border: rgba(255, 255, 255, 0.18);
25
+ --raised: rgba(255, 255, 255, 0.06);
26
+ --card-bg: rgba(255, 255, 255, 0.04);
27
+ --accent-text: #0a0a0a;
28
+ }
29
+ }
30
+ body { margin: 0; }
31
+ `;
32
+
33
+ export default function App() {
34
+ useEffect(() => {
35
+ const link = document.createElement("link");
36
+ link.rel = "stylesheet";
37
+ link.href = "https://fonts.googleapis.com/css2?family=Special+Elite:wght@400;500;700&display=optional";
38
+ document.head.appendChild(link);
39
+ return () => link.remove();
40
+ }, []);
41
+
42
+ const [draft, setDraft] = useState("");
43
+
44
+ const c = {
45
+ page: {
46
+ minHeight: "100vh",
47
+ background: "var(--bg)",
48
+ color: "var(--text)",
49
+ fontFamily: "'Special Elite', monospace",
50
+ padding: "3rem 2rem 4rem",
51
+ },
52
+ container: { maxWidth: "56rem", margin: "0 auto" },
53
+ header: { display: "flex", flexDirection: "column", gap: "0.85rem", marginBottom: "2rem" },
54
+ eyebrow: {
55
+ fontFamily: "'Special Elite', monospace",
56
+ fontSize: "0.72rem",
57
+ letterSpacing: "0.25em",
58
+ textTransform: "uppercase",
59
+ color: "var(--muted)",
60
+ },
61
+ title: {
62
+ fontSize: "clamp(3rem, 13vw, 10rem)",
63
+ fontWeight: 800,
64
+ letterSpacing: "-0.04em",
65
+ lineHeight: 0.9,
66
+ color: "var(--accent)",
67
+ margin: 0,
68
+ },
69
+ subtitle: {
70
+ fontSize: "1.05rem",
71
+ color: "var(--muted)",
72
+ maxWidth: "32rem",
73
+ lineHeight: 1.5,
74
+ margin: 0,
75
+ },
76
+ modeNote: {
77
+ marginTop: "0.5rem",
78
+ fontFamily: "'Special Elite', monospace",
79
+ fontSize: "0.7rem",
80
+ letterSpacing: "0.2em",
81
+ textTransform: "uppercase",
82
+ color: "var(--muted)",
83
+ },
84
+ grid: {
85
+ display: "grid",
86
+ gridTemplateColumns: "repeat(auto-fit, minmax(18rem, 1fr))",
87
+ gap: "1.25rem",
88
+ marginTop: "2.5rem",
89
+ },
90
+ card: {
91
+ background: "var(--card-bg)",
92
+ border: "1px solid var(--border)",
93
+ borderRadius: 14,
94
+ padding: "1.5rem",
95
+ },
96
+ cardTitle: {
97
+ fontFamily: "'Special Elite', monospace",
98
+ fontSize: "0.7rem",
99
+ letterSpacing: "0.18em",
100
+ textTransform: "uppercase",
101
+ color: "var(--muted)",
102
+ margin: "0 0 1rem",
103
+ },
104
+ list: { listStyle: "none", margin: 0, padding: 0, display: "flex", flexDirection: "column", gap: "0.55rem" },
105
+ listItem: {
106
+ display: "flex",
107
+ alignItems: "center",
108
+ justifyContent: "space-between",
109
+ gap: "0.75rem",
110
+ padding: "0.7rem 0.85rem",
111
+ borderRadius: 10,
112
+ background: "var(--raised)",
113
+ border: "1px solid var(--border)",
114
+ fontSize: "0.95rem",
115
+ },
116
+ badge: {
117
+ fontFamily: "'Special Elite', monospace",
118
+ fontSize: "0.7rem",
119
+ padding: "0.18rem 0.6rem",
120
+ borderRadius: 999,
121
+ background: "var(--accent)",
122
+ color: "var(--accent-text)",
123
+ fontWeight: 600,
124
+ letterSpacing: "0.08em",
125
+ textTransform: "uppercase",
126
+ },
127
+ formRow: { display: "flex", gap: "0.5rem", marginTop: "0.5rem" },
128
+ input: {
129
+ flex: 1,
130
+ background: "var(--raised)",
131
+ color: "var(--text)",
132
+ border: "1px solid var(--border)",
133
+ borderRadius: 10,
134
+ padding: "0.7rem 0.9rem",
135
+ fontFamily: "inherit",
136
+ fontSize: "0.95rem",
137
+ outline: "none",
138
+ },
139
+ button: {
140
+ background: "var(--accent)",
141
+ color: "var(--accent-text)",
142
+ border: "none",
143
+ borderRadius: 10,
144
+ padding: "0.7rem 1.1rem",
145
+ fontFamily: "inherit",
146
+ fontSize: "0.95rem",
147
+ fontWeight: 600,
148
+ cursor: "pointer",
149
+ },
150
+ ghost: {
151
+ background: "transparent",
152
+ color: "var(--text)",
153
+ border: "1px solid var(--border)",
154
+ borderRadius: 10,
155
+ padding: "0.7rem 1.1rem",
156
+ fontFamily: "inherit",
157
+ fontSize: "0.95rem",
158
+ cursor: "pointer",
159
+ },
160
+ buttonRow: { display: "flex", gap: "0.6rem", marginTop: "1.25rem", flexWrap: "wrap" },
161
+ };
162
+
163
+ const items = [
164
+ { id: 1, title: "Daily standup notes", tag: "active" },
165
+ { id: 2, title: "Q3 launch checklist", tag: "draft" },
166
+ { id: 3, title: "Reading list", tag: "synced" },
167
+ ];
168
+
169
+ return (
170
+ <>
171
+ <style>{THEME_CSS}</style>
172
+ <main id="app" style={c.page}>
173
+ <div style={c.container}>
174
+ <header style={c.header}>
175
+ <span style={c.eyebrow}>vibes.diy theme</span>
176
+ <h1 style={c.title}>Aether Brass</h1>
177
+ <p style={c.subtitle}>
178
+ An exemplar app on the Aether Brass theme — list, form, buttons rendered with the catalog tokens.
179
+ </p>
180
+ <div style={c.modeNote}>auto · light + dark via prefers-color-scheme</div>
181
+ </header>
182
+
183
+ <div style={c.grid}>
184
+ <section style={c.card}>
185
+ <h2 style={c.cardTitle}>Recent</h2>
186
+ <ul style={c.list}>
187
+ {items.map((it) => (
188
+ <li key={it.id} style={c.listItem}>
189
+ <span>{it.title}</span>
190
+ <span style={c.badge}>{it.tag}</span>
191
+ </li>
192
+ ))}
193
+ </ul>
194
+ </section>
195
+
196
+ <section style={c.card}>
197
+ <h2 style={c.cardTitle}>New entry</h2>
198
+ <p style={{ ...c.subtitle, fontSize: "0.9rem", marginTop: "0.25rem" }}>Capture a quick thought.</p>
199
+ <div style={c.formRow}>
200
+ <input
201
+ style={c.input}
202
+ placeholder="What's on your mind?"
203
+ value={draft}
204
+ onChange={(e) => setDraft(e.target.value)}
205
+ />
206
+ <button style={c.button} type="button">
207
+ Save
208
+ </button>
209
+ </div>
210
+ <div style={c.buttonRow}>
211
+ <button style={c.button} type="button">
212
+ Primary
213
+ </button>
214
+ <button style={c.ghost} type="button">
215
+ Secondary
216
+ </button>
217
+ </div>
218
+ </section>
219
+ </div>
220
+ </div>
221
+ </main>
222
+ </>
223
+ );
224
+ }