@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.
Files changed (131) hide show
  1. package/README.md +6 -0
  2. package/docs/design-previews/aurora-command-ui-website.html +884 -0
  3. package/docs/design-previews/aurora-command-ui.html +682 -0
  4. package/docs/design-previews/bold-editorial-ui-website.html +658 -0
  5. package/docs/design-previews/bold-editorial-ui.html +717 -0
  6. package/docs/design-previews/clean-saas-ui-website.html +1202 -0
  7. package/docs/design-previews/clean-saas-ui.html +549 -0
  8. package/docs/design-previews/cognitive-core-ui-website.html +1009 -0
  9. package/docs/design-previews/cognitive-core-ui.html +463 -0
  10. package/docs/design-previews/glassmorphism-ui-website.html +572 -0
  11. package/docs/design-previews/glassmorphism-ui.html +886 -0
  12. package/docs/design-previews/index.html +699 -0
  13. package/docs/design-previews/interface-design-website.html +1187 -0
  14. package/docs/design-previews/interface-design.html +513 -0
  15. package/docs/design-previews/neo-brutalist-ui-website.html +621 -0
  16. package/docs/design-previews/neo-brutalist-ui.html +797 -0
  17. package/docs/design-previews/premium-command-center-ui-website.html +1217 -0
  18. package/docs/design-previews/premium-command-center-ui.html +552 -0
  19. package/docs/design-previews/warm-craft-ui-website.html +684 -0
  20. package/docs/design-previews/warm-craft-ui.html +739 -0
  21. package/docs/en/cli-reference.md +20 -9
  22. package/docs/pt/README.md +7 -0
  23. package/docs/pt/agent-sharding.md +132 -0
  24. package/docs/pt/agentes.md +8 -2
  25. package/docs/pt/busca-de-contexto.md +129 -0
  26. package/docs/pt/cache-de-contexto.md +156 -0
  27. package/docs/pt/comandos-cli.md +28 -0
  28. package/docs/pt/design-hybrid-forge.md +107 -0
  29. package/docs/pt/inicio-rapido.md +54 -3
  30. package/docs/pt/inteligencia-adaptativa.md +324 -0
  31. package/docs/pt/monitor-de-contexto.md +104 -0
  32. package/docs/pt/recuperacao-de-sessao.md +125 -0
  33. package/docs/pt/sandbox.md +125 -0
  34. package/docs/pt/skills.md +98 -6
  35. package/package.json +1 -1
  36. package/src/agent-loader.js +280 -0
  37. package/src/cli.js +94 -0
  38. package/src/commands/agent-loader.js +85 -0
  39. package/src/commands/context-cache.js +90 -0
  40. package/src/commands/context-monitor.js +92 -0
  41. package/src/commands/context-search.js +66 -0
  42. package/src/commands/design-hybrid-options.js +385 -0
  43. package/src/commands/health.js +214 -0
  44. package/src/commands/init.js +54 -13
  45. package/src/commands/install.js +52 -13
  46. package/src/commands/learning-evolve.js +355 -0
  47. package/src/commands/live.js +34 -0
  48. package/src/commands/recovery.js +43 -0
  49. package/src/commands/sandbox.js +37 -0
  50. package/src/commands/setup-context.js +22 -2
  51. package/src/commands/setup.js +178 -0
  52. package/src/commands/skill.js +79 -32
  53. package/src/commands/tool-registry-cmd.js +232 -0
  54. package/src/commands/update.js +7 -0
  55. package/src/constants.js +9 -0
  56. package/src/context-cache.js +159 -0
  57. package/src/context-search.js +326 -0
  58. package/src/design-variation-catalog.js +503 -0
  59. package/src/i18n/messages/en.js +32 -2
  60. package/src/i18n/messages/es.js +30 -2
  61. package/src/i18n/messages/fr.js +30 -2
  62. package/src/i18n/messages/pt-BR.js +32 -2
  63. package/src/install-animation.js +260 -0
  64. package/src/install-profile.js +143 -0
  65. package/src/install-wizard.js +474 -0
  66. package/src/installer.js +38 -10
  67. package/src/parser.js +7 -1
  68. package/src/recovery-context-session.js +154 -0
  69. package/src/runtime-store.js +97 -1
  70. package/src/sandbox.js +177 -0
  71. package/src/tool-executor.js +94 -0
  72. package/src/updater.js +11 -3
  73. package/template/.aioson/agents/analyst.md +58 -3
  74. package/template/.aioson/agents/architect.md +38 -0
  75. package/template/.aioson/agents/design-hybrid-forge.md +127 -0
  76. package/template/.aioson/agents/dev.md +103 -0
  77. package/template/.aioson/agents/deyvin.md +57 -0
  78. package/template/.aioson/agents/pm.md +58 -0
  79. package/template/.aioson/agents/product.md +28 -0
  80. package/template/.aioson/agents/qa.md +79 -0
  81. package/template/.aioson/agents/setup.md +65 -3
  82. package/template/.aioson/agents/sheldon.md +107 -6
  83. package/template/.aioson/agents/tester.md +156 -0
  84. package/template/.aioson/config.md +15 -0
  85. package/template/.aioson/context/forensics/.gitkeep +0 -0
  86. package/template/.aioson/context/seeds/seed-example.md +27 -0
  87. package/template/.aioson/context/user-profile.md +42 -0
  88. package/template/.aioson/locales/en/agents/setup.md +33 -1
  89. package/template/.aioson/locales/es/agents/setup.md +33 -1
  90. package/template/.aioson/locales/fr/agents/setup.md +33 -1
  91. package/template/.aioson/locales/pt-BR/agents/setup.md +33 -1
  92. package/template/.aioson/skills/design/aurora-command-ui/SKILL.md +243 -0
  93. package/template/.aioson/skills/design/aurora-command-ui/references/art-direction.md +293 -0
  94. package/template/.aioson/skills/design/aurora-command-ui/references/components.md +827 -0
  95. package/template/.aioson/skills/design/aurora-command-ui/references/dashboards.md +250 -0
  96. package/template/.aioson/skills/design/aurora-command-ui/references/design-tokens.md +585 -0
  97. package/template/.aioson/skills/design/aurora-command-ui/references/motion.md +365 -0
  98. package/template/.aioson/skills/design/aurora-command-ui/references/patterns.md +482 -0
  99. package/template/.aioson/skills/design/aurora-command-ui/references/websites.md +387 -0
  100. package/template/.aioson/skills/design/glassmorphism-ui/SKILL.md +222 -0
  101. package/template/.aioson/skills/design/glassmorphism-ui/references/art-direction.md +159 -0
  102. package/template/.aioson/skills/design/glassmorphism-ui/references/components.md +498 -0
  103. package/template/.aioson/skills/design/glassmorphism-ui/references/dashboards.md +236 -0
  104. package/template/.aioson/skills/design/glassmorphism-ui/references/design-tokens.md +274 -0
  105. package/template/.aioson/skills/design/glassmorphism-ui/references/motion.md +355 -0
  106. package/template/.aioson/skills/design/glassmorphism-ui/references/patterns.md +198 -0
  107. package/template/.aioson/skills/design/glassmorphism-ui/references/websites.md +307 -0
  108. package/template/.aioson/skills/design/neo-brutalist-ui/SKILL.md +213 -0
  109. package/template/.aioson/skills/design/neo-brutalist-ui/references/art-direction.md +228 -0
  110. package/template/.aioson/skills/design/neo-brutalist-ui/references/components.md +855 -0
  111. package/template/.aioson/skills/design/neo-brutalist-ui/references/dashboards.md +334 -0
  112. package/template/.aioson/skills/design/neo-brutalist-ui/references/design-tokens.md +342 -0
  113. package/template/.aioson/skills/design/neo-brutalist-ui/references/motion.md +286 -0
  114. package/template/.aioson/skills/design/neo-brutalist-ui/references/patterns.md +458 -0
  115. package/template/.aioson/skills/design/neo-brutalist-ui/references/websites.md +723 -0
  116. package/template/.aioson/skills/process/aioson-spec-driven/SKILL.md +45 -0
  117. package/template/.aioson/skills/process/aioson-spec-driven/references/approval-gates.md +109 -0
  118. package/template/.aioson/skills/process/aioson-spec-driven/references/artifact-map.md +44 -0
  119. package/template/.aioson/skills/process/aioson-spec-driven/references/classification-map.md +37 -0
  120. package/template/.aioson/skills/process/aioson-spec-driven/references/hardening-lane.md +49 -0
  121. package/template/.aioson/skills/process/aioson-spec-driven/references/maintenance-and-state.md +66 -0
  122. package/template/.aioson/skills/process/aioson-spec-driven/references/ui-language.md +75 -0
  123. package/template/.aioson/skills/process/design-hybrid-forge/SKILL.md +144 -0
  124. package/template/.aioson/skills/process/design-hybrid-forge/references/crossover-protocol.md +221 -0
  125. package/template/.aioson/skills/process/design-hybrid-forge/references/naming-registry.md +88 -0
  126. package/template/.aioson/skills/process/design-hybrid-forge/references/output-contract.md +291 -0
  127. package/template/.aioson/skills/process/design-hybrid-forge/references/pair-compatibility.md +117 -0
  128. package/template/.aioson/skills/process/design-hybrid-forge/references/quality-gates.md +188 -0
  129. package/template/.aioson/skills/process/design-hybrid-forge/references/variation-library.md +125 -0
  130. package/template/AGENTS.md +23 -1
  131. 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