get-shit-pretty 0.7.0 → 0.7.3

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (112) hide show
  1. package/README.md +301 -124
  2. package/bin/install.js +1 -1
  3. package/gsp/agents/gsp-accessibility-auditor.md +1 -60
  4. package/gsp/agents/gsp-brand-auditor.md +1 -61
  5. package/gsp/agents/gsp-brand-creative-director.md +10 -0
  6. package/gsp/agents/gsp-brand-engineer.md +1 -122
  7. package/gsp/agents/gsp-brand-researcher.md +11 -0
  8. package/gsp/agents/gsp-brand-strategist.md +1 -65
  9. package/gsp/agents/gsp-project-builder.md +17 -0
  10. package/gsp/agents/gsp-project-critic.md +11 -0
  11. package/gsp/agents/gsp-project-designer.md +11 -0
  12. package/gsp/agents/gsp-project-researcher.md +1 -74
  13. package/gsp/agents/gsp-project-reviewer.md +12 -0
  14. package/gsp/hooks/hooks.json +32 -14
  15. package/gsp/skills/get-shit-pretty/SKILL.md +2 -5
  16. package/gsp/skills/gsp-accessibility/SKILL.md +0 -1
  17. package/gsp/skills/gsp-accessibility-audit/SKILL.md +9 -8
  18. package/gsp/skills/gsp-accessibility-audit/methodology/gsp-accessibility-auditor.md +59 -0
  19. package/gsp/skills/gsp-add-reference/SKILL.md +0 -1
  20. package/gsp/skills/gsp-art/SKILL.md +13 -10
  21. package/gsp/skills/gsp-brand-audit/SKILL.md +4 -2
  22. package/gsp/skills/gsp-brand-audit/methodology/gsp-brand-auditor.md +61 -0
  23. package/gsp/skills/gsp-brand-brief/SKILL.md +129 -0
  24. package/gsp/skills/gsp-brand-guidelines/SKILL.md +13 -11
  25. package/gsp/skills/gsp-brand-guidelines/methodology/gsp-brand-engineer.md +122 -0
  26. package/gsp/skills/gsp-brand-identity/SKILL.md +19 -18
  27. package/gsp/{agents/gsp-creative-director.md → skills/gsp-brand-identity/methodology/gsp-brand-creative-director.md} +0 -9
  28. package/gsp/skills/gsp-brand-refine/SKILL.md +0 -1
  29. package/gsp/skills/gsp-brand-research/SKILL.md +13 -13
  30. package/gsp/{agents/gsp-researcher.md → skills/gsp-brand-research/methodology/gsp-brand-researcher.md} +0 -10
  31. package/gsp/skills/gsp-brand-strategy/SKILL.md +14 -14
  32. package/gsp/skills/gsp-brand-strategy/methodology/gsp-brand-strategist.md +65 -0
  33. package/gsp/skills/gsp-brand-sync/SKILL.md +60 -10
  34. package/gsp/skills/gsp-color/SKILL.md +0 -1
  35. package/gsp/skills/gsp-design-system/SKILL.md +0 -1
  36. package/gsp/skills/gsp-doctor/SKILL.md +0 -1
  37. package/gsp/skills/gsp-help/SKILL.md +10 -7
  38. package/gsp/skills/gsp-icons/SKILL.md +0 -1
  39. package/gsp/skills/gsp-logo/SKILL.md +0 -1
  40. package/gsp/skills/gsp-phase-transition/SKILL.md +0 -3
  41. package/gsp/skills/gsp-pretty/SKILL.md +25 -24
  42. package/gsp/skills/gsp-progress/SKILL.md +0 -1
  43. package/gsp/skills/gsp-project-brief/SKILL.md +51 -22
  44. package/gsp/skills/gsp-project-build/SKILL.md +216 -74
  45. package/gsp/skills/gsp-project-build/bento-grid.md +114 -0
  46. package/gsp/{agents/gsp-builder.md → skills/gsp-project-build/methodology/gsp-project-builder.md} +14 -16
  47. package/gsp/skills/gsp-project-critique/SKILL.md +21 -17
  48. package/gsp/{agents/gsp-critic.md → skills/gsp-project-critique/methodology/gsp-project-critic.md} +0 -11
  49. package/gsp/skills/gsp-project-design/SKILL.md +9 -6
  50. package/gsp/{agents/gsp-designer.md → skills/gsp-project-design/methodology/gsp-project-designer.md} +0 -11
  51. package/gsp/skills/gsp-project-research/SKILL.md +4 -2
  52. package/gsp/skills/gsp-project-research/methodology/gsp-project-researcher.md +73 -0
  53. package/gsp/skills/gsp-project-review/SKILL.md +8 -5
  54. package/gsp/{agents/gsp-reviewer.md → skills/gsp-project-review/methodology/gsp-project-reviewer.md} +0 -12
  55. package/gsp/skills/gsp-scaffold/SKILL.md +0 -1
  56. package/gsp/skills/gsp-start/SKILL.md +59 -210
  57. package/gsp/skills/gsp-style/SKILL.md +1 -2
  58. package/gsp/skills/gsp-style/styles/INDEX.yml +7 -1
  59. package/gsp/skills/gsp-style/styles/academia.md +751 -787
  60. package/gsp/skills/gsp-style/styles/art-deco.md +316 -352
  61. package/gsp/skills/gsp-style/styles/bauhaus.md +189 -225
  62. package/gsp/skills/gsp-style/styles/bold-typography.md +433 -469
  63. package/gsp/skills/gsp-style/styles/botanical.md +141 -177
  64. package/gsp/skills/gsp-style/styles/claymorphism.md +377 -413
  65. package/gsp/skills/gsp-style/styles/cyberpunk.md +419 -455
  66. package/gsp/skills/gsp-style/styles/enterprise.md +224 -260
  67. package/gsp/skills/gsp-style/styles/flat-design.md +119 -155
  68. package/gsp/skills/gsp-style/styles/fluent.md +0 -31
  69. package/gsp/skills/gsp-style/styles/glassmorphism.md +0 -36
  70. package/gsp/skills/gsp-style/styles/humanist-literary.md +0 -28
  71. package/gsp/skills/gsp-style/styles/industrial.md +406 -438
  72. package/gsp/skills/gsp-style/styles/kinetic.md +531 -563
  73. package/gsp/skills/gsp-style/styles/liquid-glass.md +0 -36
  74. package/gsp/skills/gsp-style/styles/luxury.md +402 -438
  75. package/gsp/skills/gsp-style/styles/material.md +555 -591
  76. package/gsp/skills/gsp-style/styles/maximalism.md +875 -911
  77. package/gsp/skills/gsp-style/styles/minimal-dark.md +442 -478
  78. package/gsp/skills/gsp-style/styles/modern-dark.md +390 -426
  79. package/gsp/skills/gsp-style/styles/monochrome.md +472 -504
  80. package/gsp/skills/gsp-style/styles/neubrutalism.md +354 -390
  81. package/gsp/skills/gsp-style/styles/neumorphism.md +195 -231
  82. package/gsp/skills/gsp-style/styles/newsprint.md +529 -565
  83. package/gsp/skills/gsp-style/styles/nothing.md +445 -0
  84. package/gsp/skills/gsp-style/styles/nothing.yml +146 -0
  85. package/gsp/skills/gsp-style/styles/organic.md +177 -213
  86. package/gsp/skills/gsp-style/styles/playful-geometric.md +211 -247
  87. package/gsp/skills/gsp-style/styles/professional.md +503 -539
  88. package/gsp/skills/gsp-style/styles/retro.md +664 -700
  89. package/gsp/skills/gsp-style/styles/saas.md +490 -526
  90. package/gsp/skills/gsp-style/styles/sketch.md +189 -225
  91. package/gsp/skills/gsp-style/styles/swiss-minimalist.md +195 -227
  92. package/gsp/skills/gsp-style/styles/terminal.md +99 -135
  93. package/gsp/skills/gsp-style/styles/vaporwave.md +356 -392
  94. package/gsp/skills/gsp-style/styles/web3.md +337 -373
  95. package/gsp/skills/gsp-typography/SKILL.md +0 -1
  96. package/gsp/skills/gsp-update/SKILL.md +0 -1
  97. package/gsp/skills/gsp-visuals/SKILL.md +0 -1
  98. package/gsp/templates/branding/config.json +3 -2
  99. package/gsp/templates/exports-index.md +0 -7
  100. package/gsp/templates/phases/build.md +13 -4
  101. package/gsp/templates/projects/config.json +3 -2
  102. package/gsp/templates/projects/roadmap.md +0 -7
  103. package/gsp/templates/projects/state.md +0 -4
  104. package/package.json +1 -1
  105. package/scripts/lint-check.sh +1 -1
  106. package/gsp/agents/gsp-ascii-artist.md +0 -66
  107. package/gsp/agents/gsp-brand-syncer.md +0 -126
  108. package/gsp/agents/gsp-campaign-director.md +0 -79
  109. package/gsp/agents/gsp-scoper.md +0 -85
  110. package/gsp/skills/gsp-launch/SKILL.md +0 -97
  111. package/gsp/skills/gsp-start/questioning.md +0 -87
  112. package/gsp/templates/phases/launch.md +0 -55
@@ -1,455 +1,419 @@
1
- <role>
2
- You are an expert frontend engineer, UI/UX designer, visual design specialist, and typography expert. Your goal is to help the user integrate a design system into an existing codebase in a way that is visually consistent, maintainable, and idiomatic to their tech stack.
3
-
4
- Before proposing or writing any code, first build a clear mental model of the current system:
5
-
6
- - Identify the tech stack (e.g. React, Next.js, Vue, Tailwind, shadcn/ui, etc.).
7
- - Understand the existing design tokens (colors, spacing, typography, radii, shadows), global styles, and utility patterns.
8
- - Review the current component architecture (atoms/molecules/organisms, layout primitives, etc.) and naming conventions.
9
- - Note any constraints (legacy CSS, design library in use, performance or bundle-size considerations).
10
-
11
- Ask the user focused questions to understand the user's goals. Do they want:
12
-
13
- - a specific component or page redesigned in the new style,
14
- - existing components refactored to the new system, or
15
- - new pages/features built entirely in the new style?
16
-
17
- Once you understand the context and scope, do the following:
18
-
19
- - Propose a concise implementation plan that follows best practices, prioritizing:
20
- - centralizing design tokens,
21
- - reusability and composability of components,
22
- - minimizing duplication and one-off styles,
23
- - long-term maintainability and clear naming.
24
- - When writing code, match the user’s existing patterns (folder structure, naming, styling approach, and component patterns).
25
- - Explain your reasoning briefly as you go, so the user understands *why* you’re making certain architectural or design choices.
26
-
27
- Always aim to:
28
-
29
- - Preserve or improve accessibility.
30
- - Maintain visual consistency with the provided design system.
31
- - Leave the codebase in a cleaner, more coherent state than you found it.
32
- - Ensure layouts are responsive and usable across devices.
33
- - Make deliberate, creative design choices (layout, motion, interaction details, and typography) that express the design system’s personality instead of producing a generic or boilerplate UI.
34
-
35
- </role>
36
-
37
- <design-system>
38
- # Cyberpunk / Glitch Design System
39
-
40
- ## 1. Design Philosophy
41
-
42
- **Core Principles**: "High-Tech, Low-Life." The aesthetic is a digital dystopia colliding with a high-tech noir reality. It captures the tension between advanced technology and societal decay—a world of underground hackers, neon-drenched megacities, and corrupted data streams. This isn't a clean, utopian future; it's gritty, imperfect, and palpably dangerous. Every pixel should feel like it's being rendered on a malfunctioning CRT monitor in a rain-soaked Tokyo alley or a rogue terminal in a subterranean bunker.
43
-
44
- **The Vibe**: Dangerous, electric, rebellious, and aggressively futuristic-retro. It draws heavily from the visual language of 80s sci-fi (Blade Runner, Akira) and hacker culture (The Matrix, Ghost in the Shell). The interface should feel *alive* and volatile—buzzing with digital energy, glitching with data corruption, and pulsing with raw power. It’s not just a website; it’s a hacked feed, a forbidden interface, a window into the sprawl.
45
-
46
- **The Tactile Experience**:
47
-
48
- - **Imperfect Technology**: Embrace the artifacts of analog-to-digital conversion. Scanlines, chromatic aberration (RGB splitting), and signal noise are not bugs; they are features. The UI should feel like it's struggling to contain the data it displays.
49
- - **The Void vs. The Light**: The background isn't just dark; it's a void. Against this absolute blackness, neon light (cyan, magenta, acid green) doesn't just color elements—it *illuminates* them. Light sources should feel physical, casting glows and shadows that define the hierarchy.
50
- - **Industrial Brutalism**: Shapes are hard, angular, and utilitarian. Chamfered corners (45-degree cuts) replace friendly rounded rectangles. Borders are technical and precise, resembling blueprints or HUD (Heads-Up Display) schematics rather than decorative frames.
51
-
52
- **Visual Signatures That Make This Unforgettable**:
53
-
54
- - **Chromatic Aberration**: RGB color splitting on text and elements (red/cyan offset shadows) to simulate lens distortion or signal interference.
55
- - **Scanlines**: Subtle horizontal line overlays mimicking the refresh rate of old CRT monitors, adding texture and unifying the composition.
56
- - **Glitch Effects**: Intentional "corruption" via clip-path animations, skewed transforms, and flickering text that suggests a unstable connection or a hacked system.
57
- - **Neon Glow**: Text and borders that literally glow with intense, multi-layered box-shadow/text-shadow stacking, creating a "light saber" or "neon sign" effect against the dark background.
58
- - **Corner Cuts**: Chamfered/clipped corners on cards and buttons creating a militaristic, tech-panel aesthetic.
59
- - **Circuit Patterns**: Decorative SVG backgrounds resembling PCB traces or data highways, suggesting the underlying hardware.
60
-
61
- ---
62
-
63
- ## 2. Design Token System (The DNA)
64
-
65
- ### Colors (Dark Mode - Mandatory)
66
-
67
- ```
68
- background: #0a0a0f // Deep void black with slight blue undertone
69
- foreground: #e0e0e0 // Primary text, not pure white (less harsh)
70
- card: #12121a // Card background, deep purple-black
71
- muted: #1c1c2e // UI chrome/elevated backgrounds
72
- mutedForeground: #6b7280 // Secondary text, reduced contrast
73
- accent: #00ff88 // PRIMARY NEON - Electric green (Matrix-inspired)
74
- accentSecondary: #ff00ff // SECONDARY NEON - Hot magenta/pink
75
- accentTertiary: #00d4ff // TERTIARY NEON - Cyan/electric blue
76
- border: #2a2a3a // Subtle borders
77
- input: #12121a // Deep input background
78
- ring: #00ff88 // Focus ring matches accent
79
- destructive: #ff3366 // Error/danger red-pink
80
- ```
81
-
82
- ### Typography
83
-
84
- **Font Stack**:
85
-
86
- - **Headings**: `"Orbitron", "Share Tech Mono", monospace` — Geometric, futuristic, robotic
87
- - **Body**: `"JetBrains Mono", "Fira Code", "Consolas", monospace` — Clean monospace for that terminal feel
88
- - **Accent/Labels**: `"Share Tech Mono", monospace` — For UI labels, timestamps, badges
89
-
90
- **Scale & Styling**:
91
-
92
- - H1: `text-6xl` to `text-8xl`, `font-black`, `uppercase`, `tracking-widest`
93
- - H2: `text-4xl` to `text-5xl`, `font-bold`, `uppercase`, `tracking-wide`
94
- - H3: `text-xl` to `text-2xl`, `font-semibold`, `uppercase`
95
- - Body: `text-base`, `font-normal`, `tracking-wide`, `leading-relaxed`
96
- - Code/Labels: `text-sm`, `font-mono`, `uppercase`, `tracking-[0.2em]`
97
-
98
- ### Radius & Border
99
-
100
- ```
101
- radius.none: 0px // Sharp cuts are the default
102
- radius.sm: 2px // Minimal softening
103
- radius.base: 4px // Rare, only for inputs
104
- radius.chamfer: Use clip-path for corner cuts instead of border-radius
105
- ```
106
-
107
- **Border Width**: `1px` default, `2px` for emphasis, borders often use gradient or glow effects
108
-
109
- **Chamfered Corner Pattern** (apply via clip-path):
110
-
111
- ```css
112
- clip-path: polygon(
113
- 0 10px, 10px 0, /* top-left cut */
114
- calc(100% - 10px) 0, 100% 10px, /* top-right cut */
115
- 100% calc(100% - 10px), calc(100% - 10px) 100%, /* bottom-right cut */
116
- 10px 100%, 0 calc(100% - 10px) /* bottom-left cut */
117
- );
118
- ```
119
-
120
- ### Shadows & Effects
121
-
122
- **Neon Glow (CSS Variable Tokens)**:
123
-
124
- ```css
125
- /* Main neon glow - used on hover states, focus rings, highlighted elements */
126
- --box-shadow-neon: 0 0 5px #00ff88, 0 0 10px #00ff8840;
127
-
128
- /* Small neon glow - subtle accents */
129
- --box-shadow-neon-sm: 0 0 3px #00ff88, 0 0 6px #00ff8830;
130
-
131
- /* Large neon glow - emphasized states, hero elements */
132
- --box-shadow-neon-lg: 0 0 10px #00ff88, 0 0 20px #00ff8860, 0 0 40px #00ff8830;
133
-
134
- /* Secondary neon (magenta) */
135
- --box-shadow-neon-secondary: 0 0 5px #ff00ff, 0 0 20px #ff00ff60;
136
-
137
- /* Tertiary neon (cyan) */
138
- --box-shadow-neon-tertiary: 0 0 5px #00d4ff, 0 0 20px #00d4ff60;
139
- ```
140
-
141
- **Text Shadows for Depth**:
142
-
143
- ```css
144
- /* Glitch effect text shadow (used on hero headline) */
145
- drop-shadow: 0 0 10px rgba(0, 255, 136, 0.5);
146
-
147
- /* Gradient text glow */
148
- drop-shadow: 0 0 20px rgba(0, 255, 136, 0.3);
149
- ```
150
-
151
- **Chromatic Aberration (via CSS animation on .cyber-glitch)**:
152
- Implemented via ::before and ::after pseudo-elements with:
153
-
154
- - text-shadow: -1px 0 #ff00ff (magenta left)
155
- - text-shadow: -1px 0 #00d4ff (cyan right)
156
- - clip-path animations for glitch effect
157
-
158
- ### Textures & Patterns (CRITICAL FOR DEPTH)
159
-
160
- 1. **Scanlines Overlay** (CSS pseudo-element):
161
-
162
- ```css
163
- background: repeating-linear-gradient(
164
- 0deg,
165
- transparent,
166
- transparent 2px,
167
- rgba(0, 0, 0, 0.3) 2px,
168
- rgba(0, 0, 0, 0.3) 4px
169
- );
170
- pointer-events: none;
171
- ```
172
-
173
- 2. **Grid/Circuit Pattern** (subtle background):
174
-
175
- ```css
176
- background-image:
177
- linear-gradient(rgba(0, 255, 136, 0.03) 1px, transparent 1px),
178
- linear-gradient(90deg, rgba(0, 255, 136, 0.03) 1px, transparent 1px);
179
- background-size: 50px 50px;
180
- ```
181
-
182
- 3. **Noise Texture**: Apply subtle CSS noise filter or SVG noise overlay at 5-10% opacity
183
- 4. **Gradient Mesh**: Radial gradients of accent colors at very low opacity in corners
184
-
185
- ---
186
-
187
- ## 3. Component Stylings
188
-
189
- ### Buttons
190
-
191
- All buttons use:
192
-
193
- - Font: monospace
194
- - Text transform: uppercase
195
- - Letter spacing: wider
196
- - Transition: all for smooth effects
197
- - Focus ring: 2px accent color
198
-
199
- **Default Variant**:
200
-
201
- ```
202
- - Background: transparent
203
- - Border: 2px solid accent (#00ff88)
204
- - Text: accent color
205
- - Clip-path: .cyber-chamfer-sm (smaller chamfer)
206
- - Hover: background fills with accent, text becomes background color, neon glow shadow
207
- ```
208
-
209
- **Secondary Variant**:
210
-
211
- ```
212
- - Border: 2px solid accentSecondary (#ff00ff)
213
- - Text: accentSecondary
214
- - Hover: fills with magenta, neon-secondary glow
215
- ```
216
-
217
- **Outline Variant**:
218
-
219
- ```
220
- - Border: 1px solid border (#2a2a3a)
221
- - Background: transparent
222
- - Hover: border becomes accent, text becomes accent, neon glow appears
223
- ```
224
-
225
- **Ghost Variant**:
226
-
227
- ```
228
- - No border
229
- - Hover: background accent/10 opacity, text becomes accent
230
- ```
231
-
232
- **Glitch Variant** (CTAs):
233
-
234
- ```
235
- - Background: solid accent (#00ff88)
236
- - Text: background color (high contrast)
237
- - Uses .cyber-glitch class for chromatic aberration effect
238
- - Hover: brightness increases (filter: brightness(1.1))
239
- ```
240
-
241
- ### Cards/Containers
242
-
243
- **Default Card Variant**:
244
-
245
- ```
246
- - Background: card (#12121a)
247
- - Border: 1px solid border (#2a2a3a)
248
- - Clip-path: chamfered corners via .cyber-chamfer class
249
- - Transition: all 300ms for smooth interactions
250
- - Hover: translateY(-1px), border becomes accent, neon glow appears (if hoverEffect prop)
251
- ```
252
-
253
- **Terminal Variant** (variant="terminal"):
254
-
255
- ```
256
- - Background: background (#0a0a0f) instead of card
257
- - Border: 1px solid border
258
- - Automatic decorative header bar with traffic light dots (red/yellow/green)
259
- - Content padding-top to accommodate header
260
- - Clip-path: chamfered corners
261
- - Used for: Blog cards, FAQ items, some pricing tiers
262
- ```
263
-
264
- **Holographic Variant** (variant="holographic"):
265
-
266
- ```
267
- - Background: muted (#1c1c2e) at 30% opacity
268
- - Border: 1px solid accent at 30% opacity
269
- - Box-shadow: neon glow
270
- - Backdrop-filter: blur for glassmorphic effect
271
- - Corner accents: 4 small border corners at card edges using absolute positioning
272
- - Used for: Product details card, hero HUD panels
273
- ```
274
-
275
- ### Inputs
276
-
277
- ```
278
- - Wrapper: relative positioning for prefix icon
279
- - Prefix: ">" symbol in accent color, absolute positioned left
280
- - Background: input (#12121a)
281
- - Border: 1px solid border (#2a2a3a)
282
- - Clip-path: .cyber-chamfer-sm
283
- - Text: monospace, accent color
284
- - Padding-left: 8 (to accommodate prefix)
285
- - Placeholder: mutedForeground, styled as terminal prompt
286
- - Focus: border becomes accent, neon glow shadow, outline removed
287
- - Transition: all 200ms
288
- ```
289
-
290
- ---
291
-
292
- ## 4. Layout Strategy
293
-
294
- **Max-Width**: `max-w-7xl` for main content, full-bleed sections with contained inner content
295
-
296
- **Grid Patterns**:
297
-
298
- - Features: `grid-cols-1 md:grid-cols-2 lg:grid-cols-3` with `-skew-y-1` on container
299
- - Pricing: `grid-cols-1 md:grid-cols-3` with middle card scaled up
300
- - Stats: Horizontal flex with `divide-x divide-border`
301
-
302
- **Spacing**: 8px base grid. Generous padding (`py-24` to `py-32` for sections). Dense internal component spacing.
303
-
304
- **Asymmetry Requirements**:
305
-
306
- - Hero: 60/40 split minimum
307
- - At least one section with overlapping elements (negative margins)
308
- - Use `rotate-1` or `skew-y-1` transforms on section containers
309
- - Stagger card heights in grid where content allows
310
-
311
- ---
312
-
313
- ## 5. Non-Genericness (THE BOLD FACTOR)
314
-
315
- **MANDATORY BOLD CHOICES**:
316
-
317
- 1. **Glitched Headlines**: Hero h1 MUST have chromatic aberration text-shadow AND a CSS animation that occasionally "glitches" (random skew/translate flicker)
318
- 2. **Scanline Overlay**: The entire page has a subtle scanline overlay (via ::after on body or main)
319
- 3. **Terminal Aesthetic**: At least one section must feel like a terminal (monospace, > prefixes, blinking cursor animations)
320
- 4. **Neon Borders That Actually Glow**: Not just colored borders - stacked box-shadows creating real glow effect
321
- 5. **Corner Cuts**: Cards use clip-path for chamfered/cut corners, not rounded corners
322
- 6. **Animated Elements**:
323
-
324
- - Blinking cursors (animation: blink 1s step-end infinite)
325
- - Subtle hover glitch effects
326
- - Gradient border animations (hue rotation)
327
- 7. **Circuit/Grid Background**: Visible tech-pattern in at least one section background
328
- 8. **Typing/Typewriter Effect**: Consider on subtitle or at least style as if mid-type (trailing cursor)
329
-
330
- ---
331
-
332
- ## 6. Effects & Animation
333
-
334
- **Motion Feel**: Sharp, digital, slightly mechanical. Quick snaps rather than smooth eases.
335
-
336
- **Transitions**:
337
-
338
- ```css
339
- transition: all 150ms cubic-bezier(0.4, 0, 0.2, 1);
340
- /* Or for more digital feel: */
341
- transition: all 100ms steps(4);
342
- ```
343
-
344
- **Keyframe Animations**:
345
-
346
- ```css
347
- /* Blink cursor */
348
- @keyframes blink {
349
- 50% { opacity: 0; }
350
- }
351
-
352
- /* Glitch effect */
353
- @keyframes glitch {
354
- 0%, 100% { transform: translate(0); }
355
- 20% { transform: translate(-2px, 2px); }
356
- 40% { transform: translate(2px, -2px); }
357
- 60% { transform: translate(-1px, -1px); }
358
- 80% { transform: translate(1px, 1px); }
359
- }
360
-
361
- /* Scanline scroll */
362
- @keyframes scanline {
363
- 0% { transform: translateY(-100%); }
364
- 100% { transform: translateY(100vh); }
365
- }
366
-
367
- /* RGB shift/chromatic pulse */
368
- @keyframes rgbShift {
369
- 0%, 100% { text-shadow: -2px 0 #ff00ff, 2px 0 #00d4ff; }
370
- 50% { text-shadow: 2px 0 #ff00ff, -2px 0 #00d4ff; }
371
- }
372
- ```
373
-
374
- ---
375
-
376
- ## 7. Iconography
377
-
378
- **Lucide Icons Configuration**:
379
-
380
- - Stroke width: `1.5px` (thin, technical feel)
381
- - Size: Generally `h-5 w-5` or `h-6 w-6`
382
- - Color: Inherit from text (usually accent or foreground)
383
- - Style: Add subtle glow on hover via filter: `drop-shadow(0 0 4px currentColor)`
384
-
385
- **Icon Containers**: Place icons inside bordered squares/hexagons with glow effect
386
-
387
- ---
388
-
389
- ## 8. Responsive Strategy
390
-
391
- **Mobile Adaptations** (Mobile-first approach):
392
-
393
- **Typography Scaling**:
394
-
395
- - Hero h1: text-5xl (mobile) → text-7xl (md) → text-8xl (lg)
396
- - Subheadline: text-base → text-lg → text-xl
397
- - Section headings: text-4xl → text-5xl
398
- - Maintain uppercase and tracking at all sizes
399
-
400
- **Layout Changes**:
401
-
402
- - Navigation: Hide nav links on < lg, show abbreviated CTA text on < sm
403
- - Stats: 2x2 grid with borders only on top 2 items (mobile) → 4-column with vertical borders (desktop)
404
- - All feature/blog/testimonial grids: Single column → 2-column (md) → 3-column (lg)
405
- - Pricing: Stack vertically 3-column grid, highlighted card scale only on md+
406
- - Hero HUD: Hidden on mobile (lg:block)
407
- - Footer: Stack to single column 4-column grid
408
-
409
- **Maintained Elements**:
410
-
411
- - Scanline overlay (full page)
412
- - Chamfered corners on all cards
413
- - Neon glow effects (may reduce intensity on mobile for performance)
414
- - Grid/circuit backgrounds
415
- - Monospace typography
416
- - Terminal aesthetic (>, $, prefixes)
417
- - Dark color scheme
418
-
419
- **Touch Targets**:
420
-
421
- - Minimum 44px height for all interactive elements
422
- - Adequate spacing between tappable items
423
- - FAQ accordions with full-width click area
424
-
425
- ---
426
-
427
- ## 9. Accessibility
428
-
429
- **Contrast**: All text meets WCAG AA (accent green on dark bg = 7.5:1 ratio - excellent)
430
-
431
- **Focus States**:
432
-
433
- ```css
434
- focus-visible:outline-none
435
- focus-visible:ring-2
436
- focus-visible:ring-accent
437
- focus-visible:ring-offset-2
438
- focus-visible:ring-offset-background
439
- ```
440
-
441
- Plus add glow effect matching the neon aesthetic.
442
-
443
- **Reduced Motion**: Respect `prefers-reduced-motion` - disable glitch animations, keep static chromatic aberration
444
-
445
- ---
446
-
447
- ## 10. Implementation Notes
448
-
449
- - Use Tailwind arbitrary values `[...]` extensively for custom shadows and clip-paths
450
- - CSS variables for colors enable easy theming
451
- - Scanlines implemented via CSS, not images
452
- - Glitch animations should be subtle and infrequent (not distracting)
453
- - Test glow effects on different screens (can look washed out on low contrast displays)
454
- - Consider GPU performance with multiple box-shadows - use `will-change: transform` sparingly
455
- `</design-system>`
1
+ <design-system>
2
+ # Cyberpunk / Glitch Design System
3
+
4
+ ## 1. Design Philosophy
5
+
6
+ **Core Principles**: "High-Tech, Low-Life." The aesthetic is a digital dystopia colliding with a high-tech noir reality. It captures the tension between advanced technology and societal decay—a world of underground hackers, neon-drenched megacities, and corrupted data streams. This isn't a clean, utopian future; it's gritty, imperfect, and palpably dangerous. Every pixel should feel like it's being rendered on a malfunctioning CRT monitor in a rain-soaked Tokyo alley or a rogue terminal in a subterranean bunker.
7
+
8
+ **The Vibe**: Dangerous, electric, rebellious, and aggressively futuristic-retro. It draws heavily from the visual language of 80s sci-fi (Blade Runner, Akira) and hacker culture (The Matrix, Ghost in the Shell). The interface should feel *alive* and volatile—buzzing with digital energy, glitching with data corruption, and pulsing with raw power. It’s not just a website; it’s a hacked feed, a forbidden interface, a window into the sprawl.
9
+
10
+ **The Tactile Experience**:
11
+
12
+ - **Imperfect Technology**: Embrace the artifacts of analog-to-digital conversion. Scanlines, chromatic aberration (RGB splitting), and signal noise are not bugs; they are features. The UI should feel like it's struggling to contain the data it displays.
13
+ - **The Void vs. The Light**: The background isn't just dark; it's a void. Against this absolute blackness, neon light (cyan, magenta, acid green) doesn't just color elements—it *illuminates* them. Light sources should feel physical, casting glows and shadows that define the hierarchy.
14
+ - **Industrial Brutalism**: Shapes are hard, angular, and utilitarian. Chamfered corners (45-degree cuts) replace friendly rounded rectangles. Borders are technical and precise, resembling blueprints or HUD (Heads-Up Display) schematics rather than decorative frames.
15
+
16
+ **Visual Signatures That Make This Unforgettable**:
17
+
18
+ - **Chromatic Aberration**: RGB color splitting on text and elements (red/cyan offset shadows) to simulate lens distortion or signal interference.
19
+ - **Scanlines**: Subtle horizontal line overlays mimicking the refresh rate of old CRT monitors, adding texture and unifying the composition.
20
+ - **Glitch Effects**: Intentional "corruption" via clip-path animations, skewed transforms, and flickering text that suggests a unstable connection or a hacked system.
21
+ - **Neon Glow**: Text and borders that literally glow with intense, multi-layered box-shadow/text-shadow stacking, creating a "light saber" or "neon sign" effect against the dark background.
22
+ - **Corner Cuts**: Chamfered/clipped corners on cards and buttons creating a militaristic, tech-panel aesthetic.
23
+ - **Circuit Patterns**: Decorative SVG backgrounds resembling PCB traces or data highways, suggesting the underlying hardware.
24
+
25
+ ---
26
+
27
+ ## 2. Design Token System (The DNA)
28
+
29
+ ### Colors (Dark Mode - Mandatory)
30
+
31
+ ```
32
+ background: #0a0a0f // Deep void black with slight blue undertone
33
+ foreground: #e0e0e0 // Primary text, not pure white (less harsh)
34
+ card: #12121a // Card background, deep purple-black
35
+ muted: #1c1c2e // UI chrome/elevated backgrounds
36
+ mutedForeground: #6b7280 // Secondary text, reduced contrast
37
+ accent: #00ff88 // PRIMARY NEON - Electric green (Matrix-inspired)
38
+ accentSecondary: #ff00ff // SECONDARY NEON - Hot magenta/pink
39
+ accentTertiary: #00d4ff // TERTIARY NEON - Cyan/electric blue
40
+ border: #2a2a3a // Subtle borders
41
+ input: #12121a // Deep input background
42
+ ring: #00ff88 // Focus ring matches accent
43
+ destructive: #ff3366 // Error/danger red-pink
44
+ ```
45
+
46
+ ### Typography
47
+
48
+ **Font Stack**:
49
+
50
+ - **Headings**: `"Orbitron", "Share Tech Mono", monospace` Geometric, futuristic, robotic
51
+ - **Body**: `"JetBrains Mono", "Fira Code", "Consolas", monospace` — Clean monospace for that terminal feel
52
+ - **Accent/Labels**: `"Share Tech Mono", monospace` — For UI labels, timestamps, badges
53
+
54
+ **Scale & Styling**:
55
+
56
+ - H1: `text-6xl` to `text-8xl`, `font-black`, `uppercase`, `tracking-widest`
57
+ - H2: `text-4xl` to `text-5xl`, `font-bold`, `uppercase`, `tracking-wide`
58
+ - H3: `text-xl` to `text-2xl`, `font-semibold`, `uppercase`
59
+ - Body: `text-base`, `font-normal`, `tracking-wide`, `leading-relaxed`
60
+ - Code/Labels: `text-sm`, `font-mono`, `uppercase`, `tracking-[0.2em]`
61
+
62
+ ### Radius & Border
63
+
64
+ ```
65
+ radius.none: 0px // Sharp cuts are the default
66
+ radius.sm: 2px // Minimal softening
67
+ radius.base: 4px // Rare, only for inputs
68
+ radius.chamfer: Use clip-path for corner cuts instead of border-radius
69
+ ```
70
+
71
+ **Border Width**: `1px` default, `2px` for emphasis, borders often use gradient or glow effects
72
+
73
+ **Chamfered Corner Pattern** (apply via clip-path):
74
+
75
+ ```css
76
+ clip-path: polygon(
77
+ 0 10px, 10px 0, /* top-left cut */
78
+ calc(100% - 10px) 0, 100% 10px, /* top-right cut */
79
+ 100% calc(100% - 10px), calc(100% - 10px) 100%, /* bottom-right cut */
80
+ 10px 100%, 0 calc(100% - 10px) /* bottom-left cut */
81
+ );
82
+ ```
83
+
84
+ ### Shadows & Effects
85
+
86
+ **Neon Glow (CSS Variable Tokens)**:
87
+
88
+ ```css
89
+ /* Main neon glow - used on hover states, focus rings, highlighted elements */
90
+ --box-shadow-neon: 0 0 5px #00ff88, 0 0 10px #00ff8840;
91
+
92
+ /* Small neon glow - subtle accents */
93
+ --box-shadow-neon-sm: 0 0 3px #00ff88, 0 0 6px #00ff8830;
94
+
95
+ /* Large neon glow - emphasized states, hero elements */
96
+ --box-shadow-neon-lg: 0 0 10px #00ff88, 0 0 20px #00ff8860, 0 0 40px #00ff8830;
97
+
98
+ /* Secondary neon (magenta) */
99
+ --box-shadow-neon-secondary: 0 0 5px #ff00ff, 0 0 20px #ff00ff60;
100
+
101
+ /* Tertiary neon (cyan) */
102
+ --box-shadow-neon-tertiary: 0 0 5px #00d4ff, 0 0 20px #00d4ff60;
103
+ ```
104
+
105
+ **Text Shadows for Depth**:
106
+
107
+ ```css
108
+ /* Glitch effect text shadow (used on hero headline) */
109
+ drop-shadow: 0 0 10px rgba(0, 255, 136, 0.5);
110
+
111
+ /* Gradient text glow */
112
+ drop-shadow: 0 0 20px rgba(0, 255, 136, 0.3);
113
+ ```
114
+
115
+ **Chromatic Aberration (via CSS animation on .cyber-glitch)**:
116
+ Implemented via ::before and ::after pseudo-elements with:
117
+
118
+ - text-shadow: -1px 0 #ff00ff (magenta left)
119
+ - text-shadow: -1px 0 #00d4ff (cyan right)
120
+ - clip-path animations for glitch effect
121
+
122
+ ### Textures & Patterns (CRITICAL FOR DEPTH)
123
+
124
+ 1. **Scanlines Overlay** (CSS pseudo-element):
125
+
126
+ ```css
127
+ background: repeating-linear-gradient(
128
+ 0deg,
129
+ transparent,
130
+ transparent 2px,
131
+ rgba(0, 0, 0, 0.3) 2px,
132
+ rgba(0, 0, 0, 0.3) 4px
133
+ );
134
+ pointer-events: none;
135
+ ```
136
+
137
+ 2. **Grid/Circuit Pattern** (subtle background):
138
+
139
+ ```css
140
+ background-image:
141
+ linear-gradient(rgba(0, 255, 136, 0.03) 1px, transparent 1px),
142
+ linear-gradient(90deg, rgba(0, 255, 136, 0.03) 1px, transparent 1px);
143
+ background-size: 50px 50px;
144
+ ```
145
+
146
+ 3. **Noise Texture**: Apply subtle CSS noise filter or SVG noise overlay at 5-10% opacity
147
+ 4. **Gradient Mesh**: Radial gradients of accent colors at very low opacity in corners
148
+
149
+ ---
150
+
151
+ ## 3. Component Stylings
152
+
153
+ ### Buttons
154
+
155
+ All buttons use:
156
+
157
+ - Font: monospace
158
+ - Text transform: uppercase
159
+ - Letter spacing: wider
160
+ - Transition: all for smooth effects
161
+ - Focus ring: 2px accent color
162
+
163
+ **Default Variant**:
164
+
165
+ ```
166
+ - Background: transparent
167
+ - Border: 2px solid accent (#00ff88)
168
+ - Text: accent color
169
+ - Clip-path: .cyber-chamfer-sm (smaller chamfer)
170
+ - Hover: background fills with accent, text becomes background color, neon glow shadow
171
+ ```
172
+
173
+ **Secondary Variant**:
174
+
175
+ ```
176
+ - Border: 2px solid accentSecondary (#ff00ff)
177
+ - Text: accentSecondary
178
+ - Hover: fills with magenta, neon-secondary glow
179
+ ```
180
+
181
+ **Outline Variant**:
182
+
183
+ ```
184
+ - Border: 1px solid border (#2a2a3a)
185
+ - Background: transparent
186
+ - Hover: border becomes accent, text becomes accent, neon glow appears
187
+ ```
188
+
189
+ **Ghost Variant**:
190
+
191
+ ```
192
+ - No border
193
+ - Hover: background accent/10 opacity, text becomes accent
194
+ ```
195
+
196
+ **Glitch Variant** (CTAs):
197
+
198
+ ```
199
+ - Background: solid accent (#00ff88)
200
+ - Text: background color (high contrast)
201
+ - Uses .cyber-glitch class for chromatic aberration effect
202
+ - Hover: brightness increases (filter: brightness(1.1))
203
+ ```
204
+
205
+ ### Cards/Containers
206
+
207
+ **Default Card Variant**:
208
+
209
+ ```
210
+ - Background: card (#12121a)
211
+ - Border: 1px solid border (#2a2a3a)
212
+ - Clip-path: chamfered corners via .cyber-chamfer class
213
+ - Transition: all 300ms for smooth interactions
214
+ - Hover: translateY(-1px), border becomes accent, neon glow appears (if hoverEffect prop)
215
+ ```
216
+
217
+ **Terminal Variant** (variant="terminal"):
218
+
219
+ ```
220
+ - Background: background (#0a0a0f) instead of card
221
+ - Border: 1px solid border
222
+ - Automatic decorative header bar with traffic light dots (red/yellow/green)
223
+ - Content padding-top to accommodate header
224
+ - Clip-path: chamfered corners
225
+ - Used for: Blog cards, FAQ items, some pricing tiers
226
+ ```
227
+
228
+ **Holographic Variant** (variant="holographic"):
229
+
230
+ ```
231
+ - Background: muted (#1c1c2e) at 30% opacity
232
+ - Border: 1px solid accent at 30% opacity
233
+ - Box-shadow: neon glow
234
+ - Backdrop-filter: blur for glassmorphic effect
235
+ - Corner accents: 4 small border corners at card edges using absolute positioning
236
+ - Used for: Product details card, hero HUD panels
237
+ ```
238
+
239
+ ### Inputs
240
+
241
+ ```
242
+ - Wrapper: relative positioning for prefix icon
243
+ - Prefix: ">" symbol in accent color, absolute positioned left
244
+ - Background: input (#12121a)
245
+ - Border: 1px solid border (#2a2a3a)
246
+ - Clip-path: .cyber-chamfer-sm
247
+ - Text: monospace, accent color
248
+ - Padding-left: 8 (to accommodate prefix)
249
+ - Placeholder: mutedForeground, styled as terminal prompt
250
+ - Focus: border becomes accent, neon glow shadow, outline removed
251
+ - Transition: all 200ms
252
+ ```
253
+
254
+ ---
255
+
256
+ ## 4. Layout Strategy
257
+
258
+ **Max-Width**: `max-w-7xl` for main content, full-bleed sections with contained inner content
259
+
260
+ **Grid Patterns**:
261
+
262
+ - Features: `grid-cols-1 md:grid-cols-2 lg:grid-cols-3` with `-skew-y-1` on container
263
+ - Pricing: `grid-cols-1 md:grid-cols-3` with middle card scaled up
264
+ - Stats: Horizontal flex with `divide-x divide-border`
265
+
266
+ **Spacing**: 8px base grid. Generous padding (`py-24` to `py-32` for sections). Dense internal component spacing.
267
+
268
+ **Asymmetry Requirements**:
269
+
270
+ - Hero: 60/40 split minimum
271
+ - At least one section with overlapping elements (negative margins)
272
+ - Use `rotate-1` or `skew-y-1` transforms on section containers
273
+ - Stagger card heights in grid where content allows
274
+
275
+ ---
276
+
277
+ ## 5. Non-Genericness (THE BOLD FACTOR)
278
+
279
+ **MANDATORY BOLD CHOICES**:
280
+
281
+ 1. **Glitched Headlines**: Hero h1 MUST have chromatic aberration text-shadow AND a CSS animation that occasionally "glitches" (random skew/translate flicker)
282
+ 2. **Scanline Overlay**: The entire page has a subtle scanline overlay (via ::after on body or main)
283
+ 3. **Terminal Aesthetic**: At least one section must feel like a terminal (monospace, > prefixes, blinking cursor animations)
284
+ 4. **Neon Borders That Actually Glow**: Not just colored borders - stacked box-shadows creating real glow effect
285
+ 5. **Corner Cuts**: Cards use clip-path for chamfered/cut corners, not rounded corners
286
+ 6. **Animated Elements**:
287
+
288
+ - Blinking cursors (animation: blink 1s step-end infinite)
289
+ - Subtle hover glitch effects
290
+ - Gradient border animations (hue rotation)
291
+ 7. **Circuit/Grid Background**: Visible tech-pattern in at least one section background
292
+ 8. **Typing/Typewriter Effect**: Consider on subtitle or at least style as if mid-type (trailing cursor)
293
+
294
+ ---
295
+
296
+ ## 6. Effects & Animation
297
+
298
+ **Motion Feel**: Sharp, digital, slightly mechanical. Quick snaps rather than smooth eases.
299
+
300
+ **Transitions**:
301
+
302
+ ```css
303
+ transition: all 150ms cubic-bezier(0.4, 0, 0.2, 1);
304
+ /* Or for more digital feel: */
305
+ transition: all 100ms steps(4);
306
+ ```
307
+
308
+ **Keyframe Animations**:
309
+
310
+ ```css
311
+ /* Blink cursor */
312
+ @keyframes blink {
313
+ 50% { opacity: 0; }
314
+ }
315
+
316
+ /* Glitch effect */
317
+ @keyframes glitch {
318
+ 0%, 100% { transform: translate(0); }
319
+ 20% { transform: translate(-2px, 2px); }
320
+ 40% { transform: translate(2px, -2px); }
321
+ 60% { transform: translate(-1px, -1px); }
322
+ 80% { transform: translate(1px, 1px); }
323
+ }
324
+
325
+ /* Scanline scroll */
326
+ @keyframes scanline {
327
+ 0% { transform: translateY(-100%); }
328
+ 100% { transform: translateY(100vh); }
329
+ }
330
+
331
+ /* RGB shift/chromatic pulse */
332
+ @keyframes rgbShift {
333
+ 0%, 100% { text-shadow: -2px 0 #ff00ff, 2px 0 #00d4ff; }
334
+ 50% { text-shadow: 2px 0 #ff00ff, -2px 0 #00d4ff; }
335
+ }
336
+ ```
337
+
338
+ ---
339
+
340
+ ## 7. Iconography
341
+
342
+ **Lucide Icons Configuration**:
343
+
344
+ - Stroke width: `1.5px` (thin, technical feel)
345
+ - Size: Generally `h-5 w-5` or `h-6 w-6`
346
+ - Color: Inherit from text (usually accent or foreground)
347
+ - Style: Add subtle glow on hover via filter: `drop-shadow(0 0 4px currentColor)`
348
+
349
+ **Icon Containers**: Place icons inside bordered squares/hexagons with glow effect
350
+
351
+ ---
352
+
353
+ ## 8. Responsive Strategy
354
+
355
+ **Mobile Adaptations** (Mobile-first approach):
356
+
357
+ **Typography Scaling**:
358
+
359
+ - Hero h1: text-5xl (mobile) → text-7xl (md) → text-8xl (lg)
360
+ - Subheadline: text-base → text-lg → text-xl
361
+ - Section headings: text-4xl → text-5xl
362
+ - Maintain uppercase and tracking at all sizes
363
+
364
+ **Layout Changes**:
365
+
366
+ - Navigation: Hide nav links on < lg, show abbreviated CTA text on < sm
367
+ - Stats: 2x2 grid with borders only on top 2 items (mobile) → 4-column with vertical borders (desktop)
368
+ - All feature/blog/testimonial grids: Single column → 2-column (md) → 3-column (lg)
369
+ - Pricing: Stack vertically → 3-column grid, highlighted card scale only on md+
370
+ - Hero HUD: Hidden on mobile (lg:block)
371
+ - Footer: Stack to single column → 4-column grid
372
+
373
+ **Maintained Elements**:
374
+
375
+ - Scanline overlay (full page)
376
+ - Chamfered corners on all cards
377
+ - Neon glow effects (may reduce intensity on mobile for performance)
378
+ - Grid/circuit backgrounds
379
+ - Monospace typography
380
+ - Terminal aesthetic (>, $, prefixes)
381
+ - Dark color scheme
382
+
383
+ **Touch Targets**:
384
+
385
+ - Minimum 44px height for all interactive elements
386
+ - Adequate spacing between tappable items
387
+ - FAQ accordions with full-width click area
388
+
389
+ ---
390
+
391
+ ## 9. Accessibility
392
+
393
+ **Contrast**: All text meets WCAG AA (accent green on dark bg = 7.5:1 ratio - excellent)
394
+
395
+ **Focus States**:
396
+
397
+ ```css
398
+ focus-visible:outline-none
399
+ focus-visible:ring-2
400
+ focus-visible:ring-accent
401
+ focus-visible:ring-offset-2
402
+ focus-visible:ring-offset-background
403
+ ```
404
+
405
+ Plus add glow effect matching the neon aesthetic.
406
+
407
+ **Reduced Motion**: Respect `prefers-reduced-motion` - disable glitch animations, keep static chromatic aberration
408
+
409
+ ---
410
+
411
+ ## 10. Implementation Notes
412
+
413
+ - Use Tailwind arbitrary values `[...]` extensively for custom shadows and clip-paths
414
+ - CSS variables for colors enable easy theming
415
+ - Scanlines implemented via CSS, not images
416
+ - Glitch animations should be subtle and infrequent (not distracting)
417
+ - Test glow effects on different screens (can look washed out on low contrast displays)
418
+ - Consider GPU performance with multiple box-shadows - use `will-change: transform` sparingly
419
+ `</design-system>`