@jaimevalasek/aioson 1.5.1 → 1.6.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/README.md +6 -0
- package/docs/design-previews/aurora-command-ui-website.html +884 -0
- package/docs/design-previews/aurora-command-ui.html +682 -0
- package/docs/design-previews/bold-editorial-ui-website.html +658 -0
- package/docs/design-previews/bold-editorial-ui.html +717 -0
- package/docs/design-previews/clean-saas-ui-website.html +1202 -0
- package/docs/design-previews/clean-saas-ui.html +549 -0
- package/docs/design-previews/cognitive-core-ui-website.html +1009 -0
- package/docs/design-previews/cognitive-core-ui.html +463 -0
- package/docs/design-previews/glassmorphism-ui-website.html +572 -0
- package/docs/design-previews/glassmorphism-ui.html +886 -0
- package/docs/design-previews/index.html +699 -0
- package/docs/design-previews/interface-design-website.html +1187 -0
- package/docs/design-previews/interface-design.html +513 -0
- package/docs/design-previews/neo-brutalist-ui-website.html +621 -0
- package/docs/design-previews/neo-brutalist-ui.html +797 -0
- package/docs/design-previews/premium-command-center-ui-website.html +1217 -0
- package/docs/design-previews/premium-command-center-ui.html +552 -0
- package/docs/design-previews/warm-craft-ui-website.html +684 -0
- package/docs/design-previews/warm-craft-ui.html +739 -0
- package/docs/en/cli-reference.md +20 -9
- package/docs/pt/README.md +7 -0
- package/docs/pt/agent-sharding.md +132 -0
- package/docs/pt/agentes.md +8 -2
- package/docs/pt/busca-de-contexto.md +129 -0
- package/docs/pt/cache-de-contexto.md +156 -0
- package/docs/pt/comandos-cli.md +28 -0
- package/docs/pt/design-hybrid-forge.md +107 -0
- package/docs/pt/inicio-rapido.md +54 -3
- package/docs/pt/inteligencia-adaptativa.md +324 -0
- package/docs/pt/monitor-de-contexto.md +104 -0
- package/docs/pt/recuperacao-de-sessao.md +125 -0
- package/docs/pt/sandbox.md +125 -0
- package/docs/pt/skills.md +98 -6
- package/package.json +1 -1
- package/src/agent-loader.js +280 -0
- package/src/cli.js +94 -0
- package/src/commands/agent-loader.js +85 -0
- package/src/commands/context-cache.js +90 -0
- package/src/commands/context-monitor.js +92 -0
- package/src/commands/context-search.js +66 -0
- package/src/commands/design-hybrid-options.js +385 -0
- package/src/commands/health.js +214 -0
- package/src/commands/init.js +54 -13
- package/src/commands/install.js +52 -13
- package/src/commands/learning-evolve.js +355 -0
- package/src/commands/live.js +34 -0
- package/src/commands/recovery.js +43 -0
- package/src/commands/sandbox.js +37 -0
- package/src/commands/setup-context.js +22 -2
- package/src/commands/setup.js +178 -0
- package/src/commands/skill.js +79 -32
- package/src/commands/tool-registry-cmd.js +232 -0
- package/src/commands/update.js +7 -0
- package/src/constants.js +9 -0
- package/src/context-cache.js +159 -0
- package/src/context-search.js +326 -0
- package/src/design-variation-catalog.js +503 -0
- package/src/i18n/messages/en.js +32 -2
- package/src/i18n/messages/es.js +30 -2
- package/src/i18n/messages/fr.js +30 -2
- package/src/i18n/messages/pt-BR.js +32 -2
- package/src/install-animation.js +260 -0
- package/src/install-profile.js +143 -0
- package/src/install-wizard.js +474 -0
- package/src/installer.js +38 -10
- package/src/parser.js +7 -1
- package/src/recovery-context-session.js +154 -0
- package/src/runtime-store.js +97 -1
- package/src/sandbox.js +177 -0
- package/src/tool-executor.js +94 -0
- package/src/updater.js +11 -3
- package/template/.aioson/agents/analyst.md +58 -3
- package/template/.aioson/agents/architect.md +38 -0
- package/template/.aioson/agents/design-hybrid-forge.md +127 -0
- package/template/.aioson/agents/dev.md +103 -0
- package/template/.aioson/agents/deyvin.md +57 -0
- package/template/.aioson/agents/pm.md +58 -0
- package/template/.aioson/agents/product.md +28 -0
- package/template/.aioson/agents/qa.md +79 -0
- package/template/.aioson/agents/setup.md +65 -3
- package/template/.aioson/agents/sheldon.md +107 -6
- package/template/.aioson/agents/tester.md +156 -0
- package/template/.aioson/config.md +15 -0
- package/template/.aioson/context/forensics/.gitkeep +0 -0
- package/template/.aioson/context/seeds/seed-example.md +27 -0
- package/template/.aioson/context/user-profile.md +42 -0
- package/template/.aioson/locales/en/agents/setup.md +33 -1
- package/template/.aioson/locales/es/agents/setup.md +33 -1
- package/template/.aioson/locales/fr/agents/setup.md +33 -1
- package/template/.aioson/locales/pt-BR/agents/setup.md +33 -1
- package/template/.aioson/skills/design/aurora-command-ui/SKILL.md +243 -0
- package/template/.aioson/skills/design/aurora-command-ui/references/art-direction.md +293 -0
- package/template/.aioson/skills/design/aurora-command-ui/references/components.md +827 -0
- package/template/.aioson/skills/design/aurora-command-ui/references/dashboards.md +250 -0
- package/template/.aioson/skills/design/aurora-command-ui/references/design-tokens.md +585 -0
- package/template/.aioson/skills/design/aurora-command-ui/references/motion.md +365 -0
- package/template/.aioson/skills/design/aurora-command-ui/references/patterns.md +482 -0
- package/template/.aioson/skills/design/aurora-command-ui/references/websites.md +387 -0
- package/template/.aioson/skills/design/glassmorphism-ui/SKILL.md +222 -0
- package/template/.aioson/skills/design/glassmorphism-ui/references/art-direction.md +159 -0
- package/template/.aioson/skills/design/glassmorphism-ui/references/components.md +498 -0
- package/template/.aioson/skills/design/glassmorphism-ui/references/dashboards.md +236 -0
- package/template/.aioson/skills/design/glassmorphism-ui/references/design-tokens.md +274 -0
- package/template/.aioson/skills/design/glassmorphism-ui/references/motion.md +355 -0
- package/template/.aioson/skills/design/glassmorphism-ui/references/patterns.md +198 -0
- package/template/.aioson/skills/design/glassmorphism-ui/references/websites.md +307 -0
- package/template/.aioson/skills/design/neo-brutalist-ui/SKILL.md +213 -0
- package/template/.aioson/skills/design/neo-brutalist-ui/references/art-direction.md +228 -0
- package/template/.aioson/skills/design/neo-brutalist-ui/references/components.md +855 -0
- package/template/.aioson/skills/design/neo-brutalist-ui/references/dashboards.md +334 -0
- package/template/.aioson/skills/design/neo-brutalist-ui/references/design-tokens.md +342 -0
- package/template/.aioson/skills/design/neo-brutalist-ui/references/motion.md +286 -0
- package/template/.aioson/skills/design/neo-brutalist-ui/references/patterns.md +458 -0
- package/template/.aioson/skills/design/neo-brutalist-ui/references/websites.md +723 -0
- package/template/.aioson/skills/process/aioson-spec-driven/SKILL.md +45 -0
- package/template/.aioson/skills/process/aioson-spec-driven/references/approval-gates.md +109 -0
- package/template/.aioson/skills/process/aioson-spec-driven/references/artifact-map.md +44 -0
- package/template/.aioson/skills/process/aioson-spec-driven/references/classification-map.md +37 -0
- package/template/.aioson/skills/process/aioson-spec-driven/references/hardening-lane.md +49 -0
- package/template/.aioson/skills/process/aioson-spec-driven/references/maintenance-and-state.md +66 -0
- package/template/.aioson/skills/process/aioson-spec-driven/references/ui-language.md +75 -0
- package/template/.aioson/skills/process/design-hybrid-forge/SKILL.md +144 -0
- package/template/.aioson/skills/process/design-hybrid-forge/references/crossover-protocol.md +221 -0
- package/template/.aioson/skills/process/design-hybrid-forge/references/naming-registry.md +88 -0
- package/template/.aioson/skills/process/design-hybrid-forge/references/output-contract.md +291 -0
- package/template/.aioson/skills/process/design-hybrid-forge/references/pair-compatibility.md +117 -0
- package/template/.aioson/skills/process/design-hybrid-forge/references/quality-gates.md +188 -0
- package/template/.aioson/skills/process/design-hybrid-forge/references/variation-library.md +125 -0
- package/template/AGENTS.md +23 -1
- package/template/CLAUDE.md +1 -0
|
@@ -0,0 +1,307 @@
|
|
|
1
|
+
# Websites — Glassmorphism UI
|
|
2
|
+
|
|
3
|
+
Landing pages and marketing sites. The gradient substrate rules remain: no glass without gradient.
|
|
4
|
+
|
|
5
|
+
---
|
|
6
|
+
|
|
7
|
+
## Navigation (website)
|
|
8
|
+
|
|
9
|
+
Glass sticky navigation bar. The signature behavior is becoming more opaque as the user scrolls.
|
|
10
|
+
|
|
11
|
+
```
|
|
12
|
+
Structure:
|
|
13
|
+
position: sticky / fixed
|
|
14
|
+
top: 0
|
|
15
|
+
width: 100%
|
|
16
|
+
height: var(--nav-height-web) /* 68px */
|
|
17
|
+
background: var(--glass-bg)
|
|
18
|
+
backdrop-filter: var(--glass-blur-lg)
|
|
19
|
+
border-bottom: 1px solid var(--glass-border)
|
|
20
|
+
z-index: 100
|
|
21
|
+
|
|
22
|
+
Layout: max-width container (1280px), centered, flex align-center
|
|
23
|
+
Left: logo (40px height) + product name (text-base weight-semibold)
|
|
24
|
+
Center: nav links (text-sm weight-medium text-secondary, hover text-heading)
|
|
25
|
+
Right: CTA button (primary gradient, height control-lg)
|
|
26
|
+
|
|
27
|
+
Scroll behavior (JS):
|
|
28
|
+
At scroll > 20px: background → var(--glass-bg-hover) via transition-glass
|
|
29
|
+
At scroll > 80px: background → var(--glass-bg-active)
|
|
30
|
+
```
|
|
31
|
+
|
|
32
|
+
Mobile navigation:
|
|
33
|
+
```
|
|
34
|
+
Hamburger trigger: glass icon button (right of logo)
|
|
35
|
+
Menu: full-viewport overlay
|
|
36
|
+
background: var(--glass-bg-active)
|
|
37
|
+
backdrop-filter: var(--glass-blur-xl)
|
|
38
|
+
position: fixed, inset: 0
|
|
39
|
+
flex-col, align-center, justify-center, gap-8
|
|
40
|
+
Nav links: text-2xl weight-semibold
|
|
41
|
+
CTA: primary button
|
|
42
|
+
Close: top-right ghost icon button
|
|
43
|
+
Animation: fade + scale-materialize 300ms
|
|
44
|
+
```
|
|
45
|
+
|
|
46
|
+
---
|
|
47
|
+
|
|
48
|
+
## Hero Patterns (choose one per landing)
|
|
49
|
+
|
|
50
|
+
### A — Aurora Hero
|
|
51
|
+
|
|
52
|
+
Best for: product launches, crypto, modern SaaS, fintech marketing.
|
|
53
|
+
|
|
54
|
+
```
|
|
55
|
+
Layout: full-viewport (min-height: 100vh)
|
|
56
|
+
Background: aurora gradient (mesh of 3-4 desaturated colors)
|
|
57
|
+
gradient: radial-gradient or conic-gradient mesh — violet, blue, pink, teal tones
|
|
58
|
+
Optional: animated color shift (hue rotation 0→20deg, 8s ease-in-out infinite alternate)
|
|
59
|
+
|
|
60
|
+
Decorative orbs (optional, enhance the aurora):
|
|
61
|
+
3-4 gradient blobs, position: absolute, z-index: 0
|
|
62
|
+
Size: 200-400px, border-radius: 50%
|
|
63
|
+
filter: blur(80px) — extreme blur to look like soft ambient light
|
|
64
|
+
opacity: 0.35-0.50
|
|
65
|
+
Colors: use accent, accent-secondary, and a pink/teal complementary
|
|
66
|
+
|
|
67
|
+
Content (z-index: 1, centered):
|
|
68
|
+
Eyebrow label: glass chip (badge style) — "New: Feature X →"
|
|
69
|
+
Headline: text-5xl weight-bold text-heading, tracking -0.03em
|
|
70
|
+
Optional: gradient text on key words (accent-gradient)
|
|
71
|
+
Subtitle: text-lg text-secondary, max-width 520px, centered
|
|
72
|
+
CTA row: primary gradient button + ghost "Learn more" link
|
|
73
|
+
Social proof: "Trusted by X teams" + avatar group (5-6 overlapping avatars) + text-sm text-muted
|
|
74
|
+
|
|
75
|
+
Scroll indicator: glass pill (text-xs "Scroll to explore" + chevron-down), centered, bottom-8
|
|
76
|
+
Animation: opacity 0→1 after 1s, chevron bounces subtly
|
|
77
|
+
```
|
|
78
|
+
|
|
79
|
+
### B — Product Float Hero
|
|
80
|
+
|
|
81
|
+
Best for: apps with a strong product UI to showcase.
|
|
82
|
+
|
|
83
|
+
```
|
|
84
|
+
Layout: full-viewport, 2 columns
|
|
85
|
+
Background: gradient (more contained than Aurora — 2 color stops)
|
|
86
|
+
|
|
87
|
+
Left column (content, aligned center-left):
|
|
88
|
+
Eyebrow: glass chip badge
|
|
89
|
+
Headline: text-5xl weight-bold, left-aligned
|
|
90
|
+
Subtitle: text-lg text-secondary, max-width 440px
|
|
91
|
+
CTA row: primary button + ghost link, left-aligned
|
|
92
|
+
Feature list: 3 items with check icons (accent color), text-sm
|
|
93
|
+
|
|
94
|
+
Right column (product visual):
|
|
95
|
+
Product screenshot/mockup, "floating" in a glass frame:
|
|
96
|
+
Glass Card (radius-2xl, blur-md, shadow-lg, border glass-border)
|
|
97
|
+
transform: rotate(2deg) /* subtle tilt */
|
|
98
|
+
box-shadow: var(--shadow-lg) — large colored shadow below
|
|
99
|
+
Inner: ::before top reflection
|
|
100
|
+
Optional: second smaller screenshot overlapping, rotate(-3deg), smaller, glass-elevated bg
|
|
101
|
+
```
|
|
102
|
+
|
|
103
|
+
### C — Glass Showcase Hero
|
|
104
|
+
|
|
105
|
+
Best for: feature-rich SaaS, platforms with multiple value props.
|
|
106
|
+
|
|
107
|
+
```
|
|
108
|
+
Layout: full-viewport, single column centered
|
|
109
|
+
Background: gradient substrate (lavender aurora)
|
|
110
|
+
|
|
111
|
+
Top section (centered):
|
|
112
|
+
Eyebrow chip
|
|
113
|
+
Headline: text-5xl, max-width 640px, centered
|
|
114
|
+
Subtitle: text-lg text-secondary, max-width 480px, centered
|
|
115
|
+
CTA row: 2 buttons centered
|
|
116
|
+
|
|
117
|
+
Feature cards grid: 3 columns, glass cards with stagger entrance animation
|
|
118
|
+
Each card: icon area (accent-dim bg) + title + description
|
|
119
|
+
Cards have stagger: 0ms / 50ms / 100ms entrance delay
|
|
120
|
+
|
|
121
|
+
Social proof strip (glass bar, full width):
|
|
122
|
+
Background: glass-bg, blur-md
|
|
123
|
+
"Trusted by leading companies" text-sm text-muted + logo grid (6-8 logos, grayscale)
|
|
124
|
+
```
|
|
125
|
+
|
|
126
|
+
### D — Immersive Media Hero
|
|
127
|
+
|
|
128
|
+
Best for: media platforms, gaming, entertainment, storytelling products.
|
|
129
|
+
|
|
130
|
+
```
|
|
131
|
+
Layout: full-viewport
|
|
132
|
+
Background: full-bleed image or video
|
|
133
|
+
|
|
134
|
+
Overlay system:
|
|
135
|
+
Bottom gradient: linear-gradient(to top, rgba(bg-void, 0.9) 0%, transparent 60%)
|
|
136
|
+
Glass strip at bottom (NOT a centered card):
|
|
137
|
+
Glass bar, full width, blur-lg, padding 40px 80px
|
|
138
|
+
Contains: headline text-3xl weight-bold + subtitle text-base + CTA button + badge
|
|
139
|
+
|
|
140
|
+
Floating glass elements (optional):
|
|
141
|
+
Small glass card (top-right): feature highlight or stat
|
|
142
|
+
Glass pill: "Now playing" or context label
|
|
143
|
+
|
|
144
|
+
Scroll indicator: glass pill at very bottom-center, animated chevron
|
|
145
|
+
```
|
|
146
|
+
|
|
147
|
+
---
|
|
148
|
+
|
|
149
|
+
## Section Patterns
|
|
150
|
+
|
|
151
|
+
### 1. Feature Grid
|
|
152
|
+
|
|
153
|
+
3-column glass feature cards, with staggered entrance as they scroll into view.
|
|
154
|
+
|
|
155
|
+
```
|
|
156
|
+
Container: section, py-32, max-width content-xl
|
|
157
|
+
Header: eyebrow chip + headline text-4xl + subtitle text-lg, centered, mb-16
|
|
158
|
+
|
|
159
|
+
Grid: 3 columns (1 on mobile, 2 on tablet, 3 on desktop), gap-6
|
|
160
|
+
Cards: Feature Card component (art-direction.md)
|
|
161
|
+
Stagger entrance: 0 / 50ms / 100ms per card group
|
|
162
|
+
Animation: float-up + glass fade-in
|
|
163
|
+
```
|
|
164
|
+
|
|
165
|
+
### 2. Alternating Feature
|
|
166
|
+
|
|
167
|
+
Image and text alternating sides, reinforcing product value.
|
|
168
|
+
|
|
169
|
+
```
|
|
170
|
+
Sections (2-4 alternating rows), py-24, gap-16
|
|
171
|
+
Row: 2 columns (image + text), reverse on even index
|
|
172
|
+
|
|
173
|
+
Image side: product screenshot in Glass Card (radius-2xl, shadow-lg, rotate ±1-2deg)
|
|
174
|
+
Text side: aligned center
|
|
175
|
+
Eyebrow: glass chip badge
|
|
176
|
+
Title: text-3xl weight-bold
|
|
177
|
+
Description: text-base text-secondary
|
|
178
|
+
Feature list: 3 items with check icons
|
|
179
|
+
CTA: ghost link or glass button
|
|
180
|
+
```
|
|
181
|
+
|
|
182
|
+
### 3. Testimonial
|
|
183
|
+
|
|
184
|
+
```
|
|
185
|
+
Background: gradient section (different from hero — use subtle variant)
|
|
186
|
+
Container: max-width content-md, centered
|
|
187
|
+
|
|
188
|
+
Glass card (radius-2xl, blur-lg, shadow-md, featured style):
|
|
189
|
+
Quote icon: large, accent-dim color
|
|
190
|
+
Quote text: text-xl italic text-heading, line-height 1.7
|
|
191
|
+
Attribution: avatar (glass-bordered) + name weight-semibold + role text-secondary
|
|
192
|
+
```
|
|
193
|
+
|
|
194
|
+
### 4. Stats Strip
|
|
195
|
+
|
|
196
|
+
Large numbers that establish credibility.
|
|
197
|
+
|
|
198
|
+
```
|
|
199
|
+
Glass bar (full width, not a card):
|
|
200
|
+
Background: glass-bg, backdrop-filter blur-md
|
|
201
|
+
Border top + bottom: glass-border
|
|
202
|
+
Padding: py-12
|
|
203
|
+
Layout: flex, justify-center, gap-16 (dividers: 1px glass-border between items)
|
|
204
|
+
|
|
205
|
+
Each stat:
|
|
206
|
+
Number: text-4xl weight-bold gradient text (accent-gradient)
|
|
207
|
+
Label: text-sm text-secondary, mt-1
|
|
208
|
+
```
|
|
209
|
+
|
|
210
|
+
### 5. Pricing Glass
|
|
211
|
+
|
|
212
|
+
```
|
|
213
|
+
Section: py-32, gradient bg
|
|
214
|
+
Header: headline + billing toggle (glass toggle switch: monthly/annual)
|
|
215
|
+
|
|
216
|
+
Cards grid: 2-3 columns, max-width 900px
|
|
217
|
+
Standard card: Glass Card (radius-2xl)
|
|
218
|
+
Featured card ("Most Popular"):
|
|
219
|
+
Glass Card with featured modifier: border 1px rgba(accent 0.30), shadow-glow
|
|
220
|
+
Badge "Most Popular" (glass badge, accent) at top
|
|
221
|
+
Slightly larger/taller than other cards
|
|
222
|
+
|
|
223
|
+
Each card:
|
|
224
|
+
Plan name: text-lg weight-semibold
|
|
225
|
+
Price: text-4xl weight-bold (gradient text for featured) + /month text-sm text-muted
|
|
226
|
+
Description: text-sm text-secondary
|
|
227
|
+
Feature list: checkmarks with glass icon area
|
|
228
|
+
CTA: primary gradient (featured) or glass button (others)
|
|
229
|
+
```
|
|
230
|
+
|
|
231
|
+
### 6. CTA Section
|
|
232
|
+
|
|
233
|
+
```
|
|
234
|
+
Container: glass card (radius-3xl, blur-lg, shadow-lg, max-width content-lg, mx-auto)
|
|
235
|
+
Background: subtle accent gradient tint (accent-dim, 0.08 opacity) + glass-bg
|
|
236
|
+
|
|
237
|
+
Inside:
|
|
238
|
+
Eyebrow chip
|
|
239
|
+
Headline: text-4xl weight-bold, centered
|
|
240
|
+
Subtitle: text-lg text-secondary, centered, max-width 480px
|
|
241
|
+
Button row: primary gradient + ghost, centered, gap-4
|
|
242
|
+
```
|
|
243
|
+
|
|
244
|
+
### 7. Logo Cloud
|
|
245
|
+
|
|
246
|
+
```
|
|
247
|
+
Container: py-16
|
|
248
|
+
Label: "Trusted by" text-sm text-muted, centered, mb-8
|
|
249
|
+
|
|
250
|
+
Glass strip (full width):
|
|
251
|
+
Glass bar: blur-md, border top+bottom glass-border, py-8
|
|
252
|
+
Logos: inline-flex, gap-12, overflow hidden (marquee on mobile)
|
|
253
|
+
Logo treatment: grayscale, opacity 0.5, hover: color + opacity 1, transition 200ms
|
|
254
|
+
```
|
|
255
|
+
|
|
256
|
+
### 8. FAQ Accordion
|
|
257
|
+
|
|
258
|
+
```
|
|
259
|
+
Container: Glass Card (radius-2xl, blur-md, max-width content-md, mx-auto)
|
|
260
|
+
|
|
261
|
+
Item:
|
|
262
|
+
Button (full width): text-base weight-medium text-heading + chevron icon right
|
|
263
|
+
Border bottom: 1px glass-border (except last item)
|
|
264
|
+
Hover: background glass-bg-hover
|
|
265
|
+
Active (open): chevron rotates 180deg
|
|
266
|
+
|
|
267
|
+
Answer panel:
|
|
268
|
+
Padding: pb-5 px-0 (flush left)
|
|
269
|
+
text-sm text-secondary, line-height 1.7
|
|
270
|
+
Animation: height 0 → auto, opacity 0 → 1, 300ms ease-out
|
|
271
|
+
```
|
|
272
|
+
|
|
273
|
+
---
|
|
274
|
+
|
|
275
|
+
## Footer
|
|
276
|
+
|
|
277
|
+
```
|
|
278
|
+
Background: glass-bg, backdrop-filter blur-lg
|
|
279
|
+
Border top: 1px glass-border
|
|
280
|
+
Padding: py-16
|
|
281
|
+
|
|
282
|
+
Layout: 4 columns
|
|
283
|
+
Col 1: logo + tagline text-sm text-secondary + social icons (glass icon buttons)
|
|
284
|
+
Col 2-4: link groups
|
|
285
|
+
Group label: text-xs uppercase tracking-wider text-muted, mb-4
|
|
286
|
+
Links: text-sm text-secondary, hover text-heading, transition-fast
|
|
287
|
+
|
|
288
|
+
Bottom bar:
|
|
289
|
+
Border top: 1px glass-border
|
|
290
|
+
mt-12, pt-6
|
|
291
|
+
flex justify-between
|
|
292
|
+
Copyright: text-sm text-muted
|
|
293
|
+
Legal links: text-sm text-secondary, gap-6
|
|
294
|
+
```
|
|
295
|
+
|
|
296
|
+
---
|
|
297
|
+
|
|
298
|
+
## Anti-Patterns for Websites
|
|
299
|
+
|
|
300
|
+
1. **Neon colors**: glass marketing is luminous, not neon. Keep saturation < 70%.
|
|
301
|
+
2. **Glass over solid white**: if the background is pure white, glass has nothing to reveal. Always use a gradient.
|
|
302
|
+
3. **Blur without fallback**: always include `@supports (backdrop-filter: blur(1px))` with a fallback solid background.
|
|
303
|
+
4. **Glass on everything**: text, headings, dividers, and inline elements are solid. Glass is for containers (cards, navs, strips, modals).
|
|
304
|
+
5. **Dark glass without contrast check**: dark glass can become illegible. Always verify WCAG AA on dark glass cards.
|
|
305
|
+
6. **Rainbow gradient**: maximum 3-4 colors in any gradient, all from the same family (cool tones: violet, blue, teal, pink). Never mix warm + cool families.
|
|
306
|
+
7. **3+ levels of nested glass cards**: max 2 levels per visible area. More than that creates visual soup and performance issues.
|
|
307
|
+
8. **Animated aurora that distracts from content**: if using animated background, keep the animation very slow (8-12s cycle) and very subtle (opacity or hue shift only).
|
|
@@ -0,0 +1,213 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: neo-brutalist-ui
|
|
3
|
+
description: Neo-Brutalist UI is a design system for bold, personality-driven interfaces that embrace raw aesthetics, thick borders, hard shadows, and deliberate visual tension. Use it when `design_skill: neo-brutalist-ui` is set in project.context.md OR when the user explicitly asks for "brutalist", "neo-brutalist", "chunky UI", "indie", "bold borders", "hard shadows", "raw aesthetic", "devtools", "hacker", "playful bold", "anti-corporate", "punk UI", or similar. Ideal for indie products, devtools, creative tools, personal sites, side projects, hackathon projects, educational platforms, and any product where personality and memorability matter more than neutrality. Supports apps, dashboards, and websites — light by default with an energetic dark variant. Do NOT use this skill unless explicitly selected.
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
# Neo-Brutalist UI
|
|
7
|
+
|
|
8
|
+
Neo-Brutalist UI sits at the intersection of **structural honesty** and **chromatic energy** — a design system for products that refuse to look like every other SaaS app. Thick borders, hard shadows, monospace type, and saturated colors are not decoration: they are the structure.
|
|
9
|
+
|
|
10
|
+
Inspiration: Gumroad (old redesign), Poolsuite.net, Notion blog sticker aesthetics, bfrss.be, terminal/CLI interfaces.
|
|
11
|
+
|
|
12
|
+
**This is one visual system.** Never combine it with another design skill.
|
|
13
|
+
|
|
14
|
+
## Package structure
|
|
15
|
+
|
|
16
|
+
```text
|
|
17
|
+
.aioson/skills/design/neo-brutalist-ui/
|
|
18
|
+
SKILL.md ← you are here (load this first)
|
|
19
|
+
references/
|
|
20
|
+
art-direction.md ← 5 expression modes, signature moves, anti-generic tests
|
|
21
|
+
design-tokens.md ← CSS variables light + dark, thick borders, hard shadows, patterns
|
|
22
|
+
components.md ← 23 components: brutalist cards, push buttons, full-grid tables, sticker badges, etc.
|
|
23
|
+
patterns.md ← App shell, 6 page patterns, responsive rules
|
|
24
|
+
dashboards.md ← 5 dashboard presets + chart palette + flat-fill rules
|
|
25
|
+
websites.md ← 4 hero patterns, 8 section patterns, anti-patterns
|
|
26
|
+
motion.md ← Push mechanic, mechanical timings, minimal scroll animations
|
|
27
|
+
```
|
|
28
|
+
|
|
29
|
+
## Activation rules
|
|
30
|
+
|
|
31
|
+
- Apply this package **only** when `project.context.md` contains `design_skill: "neo-brutalist-ui"` or the user explicitly chooses it.
|
|
32
|
+
- If another design skill is selected, do **not** load this package.
|
|
33
|
+
- Never auto-select this skill — always require explicit confirmation.
|
|
34
|
+
- If no skill is set yet, the active agent must ask or confirm before applying.
|
|
35
|
+
|
|
36
|
+
## Responsibility boundary
|
|
37
|
+
|
|
38
|
+
This skill defines:
|
|
39
|
+
- Visual direction and aesthetic DNA
|
|
40
|
+
- Design tokens (colors, typography, spacing, radius, shadows)
|
|
41
|
+
- Component vocabulary and anatomy
|
|
42
|
+
- Page composition patterns
|
|
43
|
+
- Theme switching behavior (light default / dark optional)
|
|
44
|
+
|
|
45
|
+
This skill does **not** decide:
|
|
46
|
+
- Stack (React, Vue, Blade, HTML, etc.)
|
|
47
|
+
- Output format (single file, multi-file, CSS modules, Tailwind, etc.)
|
|
48
|
+
- Icon library choice
|
|
49
|
+
- Whether a theme toggle exists in the product (the agent decides)
|
|
50
|
+
|
|
51
|
+
## Loading guide
|
|
52
|
+
|
|
53
|
+
Always load only what the current task needs:
|
|
54
|
+
|
|
55
|
+
| Task | Load |
|
|
56
|
+
|---|---|
|
|
57
|
+
| Any UI work | `references/design-tokens.md` |
|
|
58
|
+
| Reusable components | `references/design-tokens.md` + `references/components.md` |
|
|
59
|
+
| Dashboard or admin panel | `references/art-direction.md` + `references/design-tokens.md` + `references/components.md` + `references/patterns.md` + `references/dashboards.md` |
|
|
60
|
+
| Detail / settings page | `references/art-direction.md` + `references/design-tokens.md` + `references/components.md` + `references/patterns.md` |
|
|
61
|
+
| Landing page or website | `references/art-direction.md` + `references/design-tokens.md` + `references/components.md` + `references/websites.md` |
|
|
62
|
+
| Motion / animation | add `references/motion.md` when push mechanics and interaction detail matter |
|
|
63
|
+
| Full UI build | all seven reference files |
|
|
64
|
+
|
|
65
|
+
## Visual signature — three pillars
|
|
66
|
+
|
|
67
|
+
1. **Structural honesty** — Borders grossas e visíveis. Sombras duras (sem blur — offset sólido). Elementos parecem "construídos", não desenhados. Cada componente mostra sua estrutura: border, fill, shadow. Sem gradientes, sem blur, sem transparência. O que você vê é o que existe.
|
|
68
|
+
2. **Chromatic energy** — Cores primárias saturadas como accent. Fundos off-white ou preto puro. Contraste maximizado. Nada pastéis (isso é glassmorphism), nada desaturado (isso é clean-saas). As cores são vivas, diretas, confiantes. Como posters de protesto ou capas de zines.
|
|
69
|
+
3. **Typographic personality** — Mono ou sans-serif bold como baseline. Headings podem ser ultra-bold ou mono uppercase. A tipografia tem atitude — não é neutra, não é elegante, é direta. Tamanhos grandes com tracking tight para headings, mono para metadata e labels.
|
|
70
|
+
|
|
71
|
+
## Theme system
|
|
72
|
+
|
|
73
|
+
```html
|
|
74
|
+
<div data-theme="light"> <!-- or data-theme="dark" -->
|
|
75
|
+
```
|
|
76
|
+
|
|
77
|
+
- **Light (default)**: fundo off-white (#FFFDF5), borders pretas, sombras pretas offset, cores saturadas
|
|
78
|
+
- **Dark**: fundo near-black (#1A1A1A), borders claras, sombras coloridas offset, cores saturadas terrestres (não neon)
|
|
79
|
+
- Toggle disponível
|
|
80
|
+
|
|
81
|
+
If the user does not specify: default to **light with a theme toggle** in the top bar.
|
|
82
|
+
|
|
83
|
+
## Visual DNA
|
|
84
|
+
|
|
85
|
+
### Colors — light theme (default)
|
|
86
|
+
- Background void: `#F5F0E8` (warm off-white, newspaper feel)
|
|
87
|
+
- Background base: `#FFFDF5` (cream white — main background)
|
|
88
|
+
- Surface: `#FFFFFF` (pure white cards)
|
|
89
|
+
- Elevated: `#F5F0E8` (off-white hover/nested)
|
|
90
|
+
- Primary accent: `#FACC15` (yellow-400 — THE brutalist accent)
|
|
91
|
+
- Text heading: `#1A1A1A` (near-black)
|
|
92
|
+
- Text primary: `#2A2A2A`
|
|
93
|
+
- Text secondary: `#666666`
|
|
94
|
+
- Text muted: `#999999`
|
|
95
|
+
|
|
96
|
+
### Colors — dark theme
|
|
97
|
+
- Background void: `#111111`
|
|
98
|
+
- Background base: `#1A1A1A`
|
|
99
|
+
- Surface: `#242424`
|
|
100
|
+
- Elevated: `#2E2E2E`
|
|
101
|
+
- Primary accent: `#FACC15` (yellow stays strong)
|
|
102
|
+
- Text heading: `#FFFFFF`
|
|
103
|
+
- Text primary: `#E0E0E0`
|
|
104
|
+
|
|
105
|
+
### Typography
|
|
106
|
+
- Display/headings: `Space Grotesk`, system-ui, sans-serif — geometric with personality, not neutral
|
|
107
|
+
- Body: `Inter`, system-ui, sans-serif
|
|
108
|
+
- Mono: `JetBrains Mono`, ui-monospace — **first-class citizen** in this skill. Used for labels, metadata, badges, status, code, and any technical content.
|
|
109
|
+
- Headings: weight 700–800, tracking tight
|
|
110
|
+
- Body: weight 400, tracking normal
|
|
111
|
+
- Mono metadata: uppercase, letter-spacing 0.05em
|
|
112
|
+
|
|
113
|
+
### Layout structure (app)
|
|
114
|
+
```
|
|
115
|
+
┌──────────────────────────────────────────────────────────┐
|
|
116
|
+
│ SIDEBAR (240px) │ TOP BAR (56px) │
|
|
117
|
+
│ border-right: 3px │ border-bottom: 3px │
|
|
118
|
+
│ Nav items: mono font ├──────────────────────────────────┤
|
|
119
|
+
│ Active: bg accent │ CONTENT AREA │
|
|
120
|
+
│ text black │ bg-base (cream) │
|
|
121
|
+
│ │ (brutalist cards / tables) │
|
|
122
|
+
└────────────────────────┴──────────────────────────────────┘
|
|
123
|
+
```
|
|
124
|
+
|
|
125
|
+
### Signature details
|
|
126
|
+
- **The push mechanic**: buttons and cards shrink shadow + translate on `:active` — feels like a physical press
|
|
127
|
+
- **Hard shadows**: `4px 4px 0 #1A1A1A` — zero blur. This is the single strongest visual differentiator
|
|
128
|
+
- **Thick borders**: 2–3px on everything interactive. No borderless components
|
|
129
|
+
- **Square + pill extremes**: `border-radius: 0` (cards, inputs, buttons) OR `border-radius: 9999px` (badges, tags). Nothing in between
|
|
130
|
+
- **Mono for all data**: numbers, dates, status text, labels — all `font-mono`
|
|
131
|
+
- **Chunky controls**: buttons 44–52px height (vs 36px in clean-saas) — brutalist is chunky, not elegant
|
|
132
|
+
- **Full-grid tables**: every cell has a visible border. No minimal table borders
|
|
133
|
+
|
|
134
|
+
## Application rules
|
|
135
|
+
|
|
136
|
+
- Treat `references/design-tokens.md` as the source of truth for ALL tokens.
|
|
137
|
+
- Treat `references/art-direction.md` as the source of truth for expression modes and anti-generic decisions.
|
|
138
|
+
- Never combine this package with `interface-design`, `warm-craft-ui`, `clean-saas-ui`, `bold-editorial-ui`, or any other design skill.
|
|
139
|
+
- Reuse the project's component library if one exists — map Neo-Brutalist tokens onto it instead of rebuilding primitives.
|
|
140
|
+
- Adapt code examples to the active stack. Reference snippets are design specifications, not copy-paste code.
|
|
141
|
+
- Accessibility, responsiveness, and production semantics are the agent's responsibility (not this skill).
|
|
142
|
+
|
|
143
|
+
## Intent before visuals
|
|
144
|
+
|
|
145
|
+
Before choosing layout, answer all three:
|
|
146
|
+
|
|
147
|
+
1. Who is the human using this page right now?
|
|
148
|
+
2. What is the main action or decision they must complete?
|
|
149
|
+
3. How should this interface feel in concrete words, not generic labels?
|
|
150
|
+
|
|
151
|
+
Bad answers:
|
|
152
|
+
- "for indie developers"
|
|
153
|
+
- "show a dashboard"
|
|
154
|
+
- "bold and brutalist"
|
|
155
|
+
|
|
156
|
+
Good answers:
|
|
157
|
+
- "indie hacker checking if their side project is growing — wants raw numbers fast, no corporate fluff"
|
|
158
|
+
- "developer reviewing build failures — needs to see status at a glance without context switching"
|
|
159
|
+
- "unapologetic, fast, honest — looks hand-built by someone who knows exactly what they're doing"
|
|
160
|
+
|
|
161
|
+
## Workflow discipline
|
|
162
|
+
|
|
163
|
+
1. Choose one of the 5 expression modes from `references/art-direction.md` before writing any HTML or CSS.
|
|
164
|
+
2. Name one signature move and repeat it intentionally across the page.
|
|
165
|
+
3. Run the **Brutality Test**: remove all thick borders and hard shadows. If the interface now looks like a generic clean-saas output, the personality was decorative, not structural. Rebuild.
|
|
166
|
+
4. Build from tokens first, then components, then page composition.
|
|
167
|
+
5. Validate state parity before finishing: default, hover, active, focus, disabled.
|
|
168
|
+
6. Validate contrast: body text WCAG AA, mono on accent must remain legible.
|
|
169
|
+
|
|
170
|
+
## Non-negotiable quality gates
|
|
171
|
+
|
|
172
|
+
- Never use `box-shadow` with blur-radius > 0. Hard offset only.
|
|
173
|
+
- Never use `border-radius` between 6px and 9998px. Zero or pill only.
|
|
174
|
+
- Never use `border: 1px solid #ccc` on interactive components. Minimum 2px solid #1A1A1A (light) or #E0E0E0 (dark).
|
|
175
|
+
- Never use gradient fills. All colors are flat and solid.
|
|
176
|
+
- Never use `backdrop-filter: blur()`. Brutalist UI has zero blur.
|
|
177
|
+
- Mono font must be applied to ALL numbers, dates, IDs, statuses, and technical labels — not just code blocks.
|
|
178
|
+
- Every interactive element with a hard shadow must implement the push mechanic on `:active`.
|
|
179
|
+
- Tables must never stack into card lists on mobile — they scroll horizontally.
|
|
180
|
+
- Hardcoded colors, arbitrary shadows, and one-off border widths are design-system failures.
|
|
181
|
+
- Sameness is failure. If the result could pass for a default Tailwind UI starter with a yellow accent, iterate.
|
|
182
|
+
- Every page must pass the **Brutality Test**: structure must be brutalist even with all color removed.
|
|
183
|
+
- Every page must pass the **Corporate Test**: no enterprise product would ship this (good — that's the goal).
|
|
184
|
+
|
|
185
|
+
## Positioning vs other skills
|
|
186
|
+
|
|
187
|
+
| Aspect | neo-brutalist-ui | warm-craft-ui | clean-saas-ui | bold-editorial-ui |
|
|
188
|
+
|--------|-----------------|---------------|---------------|-------------------|
|
|
189
|
+
| Accent | Yellow (#FACC15) | Terracotta | Blue (#2563EB) | Red-orange |
|
|
190
|
+
| Borders | 2–3px black, visible on everything | 1px subtle | 1px gray | 1px minimal |
|
|
191
|
+
| Shadows | Hard offset (zero blur) | Warm blur | Very subtle blur | Dramatic blur |
|
|
192
|
+
| Radius | 0 or 9999px (nothing between) | Large (16px+) | Medium (8px) | Minimal |
|
|
193
|
+
| Typography | Mono + bold sans | Serif headings | All sans | Display sans |
|
|
194
|
+
| Polish | Anti-polish (intentional) | Warm polish | Professional | Cinematic |
|
|
195
|
+
| Best for | Indie, devtools, hackathon, creative | B2C, productivity | B2B SaaS, admin | Marketing, portfolio |
|
|
196
|
+
|
|
197
|
+
## Delivery modes
|
|
198
|
+
|
|
199
|
+
### Greenfield
|
|
200
|
+
1. Choose expression mode (indie / devtool / creative / zine / dashboard punk) from `art-direction.md`
|
|
201
|
+
2. Answer the three Intent questions
|
|
202
|
+
3. Load relevant references
|
|
203
|
+
4. Apply token scope from `design-tokens.md`
|
|
204
|
+
5. Compose layout from `patterns.md` or `websites.md`
|
|
205
|
+
6. Build components from `components.md`
|
|
206
|
+
7. Run Brutality Test before presenting
|
|
207
|
+
|
|
208
|
+
### Brownfield
|
|
209
|
+
1. Audit existing UI before rewriting
|
|
210
|
+
2. Map Neo-Brutalist tokens onto the existing component library
|
|
211
|
+
3. Apply thick borders and hard shadows systematically — don't add them ad-hoc
|
|
212
|
+
4. Consolidate duplicate component variants before introducing new ones
|
|
213
|
+
5. Prefer targeted upgrades over full rewrites unless the user asks for a redesign
|