@jaimevalasek/aioson 1.30.0 → 1.30.2

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 (93) hide show
  1. package/CHANGELOG.md +18 -0
  2. package/docs/design-previews/cognitive-core-ui-auth.html +95 -0
  3. package/docs/design-previews/cognitive-core-ui-kanban.html +231 -0
  4. package/docs/design-previews/cognitive-core-ui-list-detail.html +174 -0
  5. package/docs/design-previews/cognitive-core-ui-preview.css +1315 -0
  6. package/docs/design-previews/cognitive-core-ui-settings.html +142 -0
  7. package/docs/design-previews/cognitive-core-ui-website.html +190 -1009
  8. package/docs/design-previews/cognitive-core-ui.html +281 -463
  9. package/docs/design-previews/index.html +83 -31
  10. package/package.json +1 -1
  11. package/src/constants.js +578 -514
  12. package/template/.aioson/docs/integrations/dashboard-app-form-publish-mapping.md +183 -0
  13. package/template/.aioson/docs/play/README.md +74 -0
  14. package/template/.aioson/docs/play/agent-usage-guide.md +112 -0
  15. package/template/.aioson/docs/play/app-compatibility-guide.md +117 -0
  16. package/template/.aioson/docs/play/auth-services-and-testing.md +235 -0
  17. package/template/.aioson/docs/play/llm-data-and-bindings.md +238 -0
  18. package/template/.aioson/docs/play/manifest-and-runtime.md +267 -0
  19. package/template/.aioson/docs/play/source-map.md +104 -0
  20. package/template/.aioson/skills/design/aurora-command-ui/SKILL.md +266 -243
  21. package/template/.aioson/skills/design/aurora-command-ui/references/art-direction.md +293 -293
  22. package/template/.aioson/skills/design/aurora-command-ui/references/components.md +827 -827
  23. package/template/.aioson/skills/design/aurora-command-ui/references/dashboards.md +250 -250
  24. package/template/.aioson/skills/design/aurora-command-ui/references/design-tokens.md +585 -585
  25. package/template/.aioson/skills/design/aurora-command-ui/references/motion.md +365 -365
  26. package/template/.aioson/skills/design/aurora-command-ui/references/patterns.md +485 -482
  27. package/template/.aioson/skills/design/aurora-command-ui/references/websites.md +386 -387
  28. package/template/.aioson/skills/design/bold-editorial-ui/SKILL.md +228 -205
  29. package/template/.aioson/skills/design/bold-editorial-ui/references/art-direction.md +338 -338
  30. package/template/.aioson/skills/design/bold-editorial-ui/references/components.md +977 -977
  31. package/template/.aioson/skills/design/bold-editorial-ui/references/dashboards.md +218 -218
  32. package/template/.aioson/skills/design/bold-editorial-ui/references/design-tokens.md +326 -326
  33. package/template/.aioson/skills/design/bold-editorial-ui/references/motion.md +461 -461
  34. package/template/.aioson/skills/design/bold-editorial-ui/references/patterns.md +293 -293
  35. package/template/.aioson/skills/design/bold-editorial-ui/references/websites.md +352 -352
  36. package/template/.aioson/skills/design/clean-saas-ui/SKILL.md +233 -210
  37. package/template/.aioson/skills/design/clean-saas-ui/references/art-direction.md +319 -319
  38. package/template/.aioson/skills/design/clean-saas-ui/references/components.md +365 -365
  39. package/template/.aioson/skills/design/clean-saas-ui/references/dashboards.md +196 -196
  40. package/template/.aioson/skills/design/clean-saas-ui/references/design-tokens.md +244 -244
  41. package/template/.aioson/skills/design/clean-saas-ui/references/motion.md +235 -235
  42. package/template/.aioson/skills/design/clean-saas-ui/references/patterns.md +215 -215
  43. package/template/.aioson/skills/design/clean-saas-ui/references/websites.md +295 -295
  44. package/template/.aioson/skills/design/cognitive-core-ui/SKILL.md +239 -203
  45. package/template/.aioson/skills/design/cognitive-core-ui/references/art-direction.md +339 -339
  46. package/template/.aioson/skills/design/cognitive-core-ui/references/components.md +417 -407
  47. package/template/.aioson/skills/design/cognitive-core-ui/references/dashboards.md +289 -272
  48. package/template/.aioson/skills/design/cognitive-core-ui/references/design-tokens.md +525 -524
  49. package/template/.aioson/skills/design/cognitive-core-ui/references/motion.md +279 -279
  50. package/template/.aioson/skills/design/cognitive-core-ui/references/patterns.md +355 -289
  51. package/template/.aioson/skills/design/cognitive-core-ui/references/websites.md +443 -437
  52. package/template/.aioson/skills/design/glassmorphism-ui/SKILL.md +245 -222
  53. package/template/.aioson/skills/design/glassmorphism-ui/references/art-direction.md +159 -159
  54. package/template/.aioson/skills/design/glassmorphism-ui/references/components.md +498 -498
  55. package/template/.aioson/skills/design/glassmorphism-ui/references/dashboards.md +236 -236
  56. package/template/.aioson/skills/design/glassmorphism-ui/references/design-tokens.md +274 -274
  57. package/template/.aioson/skills/design/glassmorphism-ui/references/motion.md +355 -355
  58. package/template/.aioson/skills/design/glassmorphism-ui/references/patterns.md +198 -198
  59. package/template/.aioson/skills/design/glassmorphism-ui/references/websites.md +307 -307
  60. package/template/.aioson/skills/design/interface-design/SKILL.md +68 -47
  61. package/template/.aioson/skills/design/interface-design/references/components-and-states.md +105 -105
  62. package/template/.aioson/skills/design/interface-design/references/design-directions.md +101 -101
  63. package/template/.aioson/skills/design/interface-design/references/handoff-and-quality.md +92 -71
  64. package/template/.aioson/skills/design/interface-design/references/intent-and-domain.md +74 -74
  65. package/template/.aioson/skills/design/interface-design/references/tokens-and-depth.md +173 -173
  66. package/template/.aioson/skills/design/neo-brutalist-ui/SKILL.md +236 -213
  67. package/template/.aioson/skills/design/neo-brutalist-ui/references/art-direction.md +228 -228
  68. package/template/.aioson/skills/design/neo-brutalist-ui/references/components.md +855 -855
  69. package/template/.aioson/skills/design/neo-brutalist-ui/references/dashboards.md +334 -334
  70. package/template/.aioson/skills/design/neo-brutalist-ui/references/design-tokens.md +342 -342
  71. package/template/.aioson/skills/design/neo-brutalist-ui/references/motion.md +286 -286
  72. package/template/.aioson/skills/design/neo-brutalist-ui/references/patterns.md +458 -458
  73. package/template/.aioson/skills/design/neo-brutalist-ui/references/websites.md +723 -723
  74. package/template/.aioson/skills/design/premium-command-center-ui/SKILL.md +83 -62
  75. package/template/.aioson/skills/design/premium-command-center-ui/references/operations.md +74 -74
  76. package/template/.aioson/skills/design/premium-command-center-ui/references/patterns.md +116 -116
  77. package/template/.aioson/skills/design/premium-command-center-ui/references/validation.md +47 -47
  78. package/template/.aioson/skills/design/premium-command-center-ui/references/visual-system.md +215 -215
  79. package/template/.aioson/skills/design/pt.squarespace.com/.skill-meta.json +31 -31
  80. package/template/.aioson/skills/design/pt.squarespace.com/SKILL.md +94 -66
  81. package/template/.aioson/skills/design/pt.squarespace.com/references/components.md +366 -366
  82. package/template/.aioson/skills/design/pt.squarespace.com/references/design-tokens.md +150 -150
  83. package/template/.aioson/skills/design/pt.squarespace.com/references/motion.md +270 -270
  84. package/template/.aioson/skills/design/pt.squarespace.com/references/patterns.md +189 -189
  85. package/template/.aioson/skills/design/pt.squarespace.com/references/websites.md +161 -161
  86. package/template/.aioson/skills/design/warm-craft-ui/SKILL.md +232 -209
  87. package/template/.aioson/skills/design/warm-craft-ui/references/art-direction.md +324 -324
  88. package/template/.aioson/skills/design/warm-craft-ui/references/components.md +508 -508
  89. package/template/.aioson/skills/design/warm-craft-ui/references/dashboards.md +223 -223
  90. package/template/.aioson/skills/design/warm-craft-ui/references/design-tokens.md +374 -374
  91. package/template/.aioson/skills/design/warm-craft-ui/references/motion.md +356 -356
  92. package/template/.aioson/skills/design/warm-craft-ui/references/patterns.md +288 -288
  93. package/template/.aioson/skills/design/warm-craft-ui/references/websites.md +289 -289
@@ -1,47 +1,68 @@
1
- ---
2
- name: interface-design
3
- description: Interface Design is a craft-first packaged design skill for choosing an intentional visual direction, building a stable token system, and maintaining UI continuity across screens. Use it when `design_skill: interface-design` is selected or when the user explicitly chooses this broad craft package.
4
- ---
5
-
6
- # Interface Design
7
-
8
- This is a general design-craft package.
9
- It helps the agent make strong decisions when the user wants a deliberate, high-quality UI but has not chosen a niche visual language such as `cognitive-ui` or `premium-command-center-ui`.
10
-
11
- ## Package structure
12
-
13
- ```text
14
- .aioson/skills/design/interface-design/
15
- SKILL.md
16
- references/
17
- intent-and-domain.md
18
- design-directions.md
19
- tokens-and-depth.md
20
- components-and-states.md
21
- handoff-and-quality.md
22
- ```
23
-
24
- ## Activation rules
25
-
26
- - Apply this package only when `design_skill: interface-design` is selected.
27
- - Do not combine it with any other design skill.
28
- - Use it when the user wants strong design craft but has not asked for a very specific visual system.
29
-
30
- ## Loading guide
31
-
32
- | Task | Load |
33
- |---|---|
34
- | Any visual work | `references/intent-and-domain.md` + `references/design-directions.md` |
35
- | Tokens and system decisions | add `references/tokens-and-depth.md` |
36
- | Component behavior | add `references/components-and-states.md` |
37
- | Final delivery quality | add `references/handoff-and-quality.md` |
38
-
39
- ## Positioning
40
-
41
- Use this package for:
42
- - general web apps
43
- - websites that need strong craft but not a preset style language
44
- - redesigns that need a clearer system
45
- - multi-screen work where continuity matters
46
-
47
- Do not use it when a more explicit visual package was selected.
1
+ ---
2
+ name: interface-design
3
+ description: >-
4
+ Interface Design is a craft-first packaged design skill for choosing an intentional visual direction, building a stable token system, and maintaining UI continuity across screens. Use it when `design_skill: interface-design` is selected or when the user explicitly chooses this broad craft package.
5
+ ---
6
+
7
+ # Interface Design
8
+
9
+ This is a general design-craft package.
10
+ It helps the agent make strong decisions when the user wants a deliberate, high-quality UI but has not chosen a niche visual language such as `cognitive-ui` or `premium-command-center-ui`.
11
+
12
+ ## Package structure
13
+
14
+ ```text
15
+ .aioson/skills/design/interface-design/
16
+ SKILL.md
17
+ references/
18
+ intent-and-domain.md
19
+ design-directions.md
20
+ tokens-and-depth.md
21
+ components-and-states.md
22
+ handoff-and-quality.md
23
+ ```
24
+
25
+ ## Activation rules
26
+
27
+ - Apply this package only when `design_skill: interface-design` is selected.
28
+ - Do not combine it with any other design skill.
29
+ - Use it when the user wants strong design craft but has not asked for a very specific visual system.
30
+
31
+ ## Loading guide
32
+
33
+ | Task | Load |
34
+ |---|---|
35
+ | Any visual work | `references/intent-and-domain.md` + `references/design-directions.md` |
36
+ | Tokens and system decisions | add `references/tokens-and-depth.md` |
37
+ | Component behavior | add `references/components-and-states.md` |
38
+ | Final delivery quality | add `references/handoff-and-quality.md` |
39
+
40
+ ## Execution quality gates
41
+
42
+ These gates override any reference file when they conflict.
43
+
44
+ Before implementation:
45
+ - Load the relevant references from the loading guide; do not build from this SKILL.md alone.
46
+ - Decide the surface type (app, dashboard, landing page, marketing site, tool, game) and one domain-specific signature move before writing layout code.
47
+ - Establish the token layer first: fonts, colors, spacing, radius, shadow/depth, motion, breakpoints, and component states. Do not scatter raw colors, one-off shadows, arbitrary font sizes, or ad hoc radii.
48
+ - Use intentional font delivery. Prefer local/framework font APIs when available; if a named font cannot be loaded, define a credible fallback stack and preserve the intended contrast.
49
+ - For websites and landing pages, use visual assets that reveal the product, place, person, object, UI state, or domain. Do not ship a hero made only of gradients, icons, and cards.
50
+ - For landing-page heroes, make the brand, product, place, person, or literal offer visible in the first viewport; include a real or generated bitmap/product visual when inspection matters.
51
+ - Use icons from the project's icon library or lucide when available. Do not use text pills where a standard icon button/control is expected.
52
+ - Build responsive constraints with grid minmax, aspect-ratio, fixed control heights, and overflow rules so text, controls, tables, cards, and media cannot overlap or resize unpredictably.
53
+ - Use discrete text tokens and stable line-height. Do not use viewport-width font scaling or negative letter-spacing.
54
+ - Do not put cards inside cards. If a reference says nested card, use an unframed row, divider, inset section, or modal unless an existing component contract explicitly requires that hierarchy.
55
+ - Use motion as product feedback: hover, focus, active, loading, reveal, navigation, and state transitions. Always include a prefers-reduced-motion fallback.
56
+
57
+ Before delivery:
58
+ - Inspect the result at mobile and desktop widths. If a browser is available, use screenshots; otherwise perform static CSS/DOM review.
59
+ - Fix overlap, clipped text, illegible contrast, missing states, unsupported font loading, missing assets, raw palette drift, and generic template composition before presenting.
60
+ - Do not add isolated blurred-circle background decorations. If a reference suggests that pattern, reinterpret it as a subtle full-bleed ambient field or remove it.
61
+
62
+ Use this package for:
63
+ - general web apps
64
+ - websites that need strong craft but not a preset style language
65
+ - redesigns that need a clearer system
66
+ - multi-screen work where continuity matters
67
+
68
+ Do not use it when a more explicit visual package was selected.
@@ -1,105 +1,105 @@
1
- # Components and States — Interface Design
2
-
3
- ---
4
-
5
- ## Component quality (mandatory for every component)
6
-
7
- Define all six states before handing off to @dev:
8
-
9
- | State | What to specify |
10
- |---|---|
11
- | Default | Baseline appearance |
12
- | Hover | Subtle shift (background, border, or opacity) |
13
- | Focus | Visible ring — `outline: 2px solid brand/primary; outline-offset: 2px` |
14
- | Active / pressed | Slight scale or brightness change |
15
- | Disabled | Reduced opacity (0.4–0.5), no cursor pointer, no hover effect |
16
- | Loading | Skeleton or spinner — never block critical flow |
17
-
18
- Container components also need:
19
- - **Empty state** — illustration or message + primary action
20
- - **Error state** — clear message + recovery action
21
- - **Success confirmation** — when relevant, transient (not permanent)
22
-
23
- ---
24
-
25
- ## Forms
26
-
27
- - Labels outside placeholders. Placeholders are hints, not labels.
28
- - Validate on blur (not on keystroke, not on submit only).
29
- - Inline field errors directly below the field. One global summary for multi-field failures.
30
- - Disable the submit button and show progress during async operations.
31
- - Input height minimum: 40px (desktop), 44px (mobile/touch) — **consumer/public-facing forms only.**
32
-
33
- **Admin / operational form scale (settings, config, entity managers):**
34
-
35
- ```
36
- Label : text-[0.65rem] mb: 2px ← not text-sm mb-2
37
- Input : px-3 py-2 text-xs radius 10–12px (height ~32px)
38
- Select : px-3 py-2 text-xs radius 10–12px
39
- Button : px-3 py-2 text-xs radius 10–12px
40
- ```
41
-
42
- The 40px minimum only applies to authenticated public flows (login, onboarding, checkout). In dense admin contexts, 32px controls reduce visual weight without usability loss — the audience is power users, not first-time visitors.
43
-
44
- **Entity add/edit forms → Modal, not inline expansion:**
45
- - Inline accordions (RevealPanel, details-based expansion) inside entity cards cause layout shift and make the page feel unstable
46
- - Correct pattern: `+ Add` button + `Edit` button each open a centered modal (`max-w-448px`, `backdrop-blur overlay`)
47
- - Modal form: single-column, `gap: 10px`, compact controls, full-width submit button
48
-
49
- ---
50
-
51
- ## Typography hierarchy
52
-
53
- Size alone is never enough. Use weight + tracking + opacity to create layers:
54
-
55
- ```
56
- Page title : largest size, 600-weight, tight tracking
57
- Section title : medium-large, 500-weight, normal tracking
58
- Body : base size, 400-weight, comfortable line-height (1.5–1.6)
59
- Helper / meta : small, 400-weight, muted color
60
- Data / mono : monospace for numbers in tables, code, metrics
61
- ```
62
-
63
- ---
64
-
65
- ## Layout and composition
66
-
67
- - **Rhythm** — interfaces breathe unevenly: dense tool areas give way to open content. Same card size, same gaps everywhere = flatness = no one decided.
68
- - **Proportions declare intent** — a 280px sidebar says "navigation serves content." A 360px sidebar says "these are peers." Know what your proportions are saying.
69
- - **One focal point per screen** — the primary action dominates through size, position, contrast, or surrounding space. When everything competes equally, nothing wins.
70
- - **Reading order** — 1. Page intent → 2. Primary action → 3. Supporting data. Never invert.
71
-
72
- ---
73
-
74
- ## Accessibility baseline (non-negotiable)
75
-
76
- - Semantic HTML and proper landmarks (`<main>`, `<nav>`, `<header>`, `<aside>`)
77
- - Full keyboard navigation — Tab order must match visual reading order
78
- - Visible focus rings on all interactive elements
79
- - Color contrast: 4.5:1 for body text, 3:1 for large text and UI components
80
- - Never convey meaning through color alone — add icon, pattern, or text
81
- - `aria-label` on icon-only buttons, `aria-live` on dynamic status regions
82
- - `prefers-reduced-motion` fallback for all animations
83
-
84
- ---
85
-
86
- ## Motion rules
87
-
88
- - Motion clarifies transitions, it does not decorate them.
89
- - Duration: micro-interactions 100–150ms, page transitions 200–300ms.
90
- - Easing: ease-out for entrances, ease-in for exits.
91
- - Never animate properties that affect layout (width, height, padding). Animate transform and opacity only.
92
- - Always provide `prefers-reduced-motion: reduce` fallback.
93
-
94
- ---
95
-
96
- ## Stack-specific notes
97
-
98
- | Stack | Priority |
99
- |---|---|
100
- | Laravel + TALL | Flux UI / Livewire primitives first; custom only for signature moves |
101
- | Filament | Built-in Filament components before any override |
102
- | Next.js + shadcn/ui | shadcn primitives + Tailwind tokens; keep component boundaries clean |
103
- | React + Tailwind | Design token CSS vars → Tailwind config → components |
104
- | Vue + Nuxt | Nuxt UI or PrimeVue first; avoid mixing component libraries |
105
- | Vanilla HTML | Define CSS custom properties at `:root`, semantic class names only |
1
+ # Components and States — Interface Design
2
+
3
+ ---
4
+
5
+ ## Component quality (mandatory for every component)
6
+
7
+ Define all six states before handing off to @dev:
8
+
9
+ | State | What to specify |
10
+ |---|---|
11
+ | Default | Baseline appearance |
12
+ | Hover | Subtle shift (background, border, or opacity) |
13
+ | Focus | Visible ring — `outline: 2px solid brand/primary; outline-offset: 2px` |
14
+ | Active / pressed | Slight scale or brightness change |
15
+ | Disabled | Reduced opacity (0.4–0.5), no cursor pointer, no hover effect |
16
+ | Loading | Skeleton or spinner — never block critical flow |
17
+
18
+ Container components also need:
19
+ - **Empty state** — illustration or message + primary action
20
+ - **Error state** — clear message + recovery action
21
+ - **Success confirmation** — when relevant, transient (not permanent)
22
+
23
+ ---
24
+
25
+ ## Forms
26
+
27
+ - Labels outside placeholders. Placeholders are hints, not labels.
28
+ - Validate on blur (not on keystroke, not on submit only).
29
+ - Inline field errors directly below the field. One global summary for multi-field failures.
30
+ - Disable the submit button and show progress during async operations.
31
+ - Input height minimum: 40px (desktop), 44px (mobile/touch) — **consumer/public-facing forms only.**
32
+
33
+ **Admin / operational form scale (settings, config, entity managers):**
34
+
35
+ ```
36
+ Label : text-[0.65rem] mb: 2px ← not text-sm mb-2
37
+ Input : px-3 py-2 text-xs radius 10–12px (height ~32px)
38
+ Select : px-3 py-2 text-xs radius 10–12px
39
+ Button : px-3 py-2 text-xs radius 10–12px
40
+ ```
41
+
42
+ The 40px minimum only applies to authenticated public flows (login, onboarding, checkout). In dense admin contexts, 32px controls reduce visual weight without usability loss — the audience is power users, not first-time visitors.
43
+
44
+ **Entity add/edit forms → Modal, not inline expansion:**
45
+ - Inline accordions (RevealPanel, details-based expansion) inside entity cards cause layout shift and make the page feel unstable
46
+ - Correct pattern: `+ Add` button + `Edit` button each open a centered modal (`max-w-448px`, `backdrop-blur overlay`)
47
+ - Modal form: single-column, `gap: 10px`, compact controls, full-width submit button
48
+
49
+ ---
50
+
51
+ ## Typography hierarchy
52
+
53
+ Size alone is never enough. Use weight + tracking + opacity to create layers:
54
+
55
+ ```
56
+ Page title : largest size, 600-weight, tight tracking
57
+ Section title : medium-large, 500-weight, normal tracking
58
+ Body : base size, 400-weight, comfortable line-height (1.5–1.6)
59
+ Helper / meta : small, 400-weight, muted color
60
+ Data / mono : monospace for numbers in tables, code, metrics
61
+ ```
62
+
63
+ ---
64
+
65
+ ## Layout and composition
66
+
67
+ - **Rhythm** — interfaces breathe unevenly: dense tool areas give way to open content. Same card size, same gaps everywhere = flatness = no one decided.
68
+ - **Proportions declare intent** — a 280px sidebar says "navigation serves content." A 360px sidebar says "these are peers." Know what your proportions are saying.
69
+ - **One focal point per screen** — the primary action dominates through size, position, contrast, or surrounding space. When everything competes equally, nothing wins.
70
+ - **Reading order** — 1. Page intent → 2. Primary action → 3. Supporting data. Never invert.
71
+
72
+ ---
73
+
74
+ ## Accessibility baseline (non-negotiable)
75
+
76
+ - Semantic HTML and proper landmarks (`<main>`, `<nav>`, `<header>`, `<aside>`)
77
+ - Full keyboard navigation — Tab order must match visual reading order
78
+ - Visible focus rings on all interactive elements
79
+ - Color contrast: 4.5:1 for body text, 3:1 for large text and UI components
80
+ - Never convey meaning through color alone — add icon, pattern, or text
81
+ - `aria-label` on icon-only buttons, `aria-live` on dynamic status regions
82
+ - `prefers-reduced-motion` fallback for all animations
83
+
84
+ ---
85
+
86
+ ## Motion rules
87
+
88
+ - Motion clarifies transitions, it does not decorate them.
89
+ - Duration: micro-interactions 100–150ms, page transitions 200–300ms.
90
+ - Easing: ease-out for entrances, ease-in for exits.
91
+ - Never animate properties that affect layout (width, height, padding). Animate transform and opacity only.
92
+ - Always provide `prefers-reduced-motion: reduce` fallback.
93
+
94
+ ---
95
+
96
+ ## Stack-specific notes
97
+
98
+ | Stack | Priority |
99
+ |---|---|
100
+ | Laravel + TALL | Flux UI / Livewire primitives first; custom only for signature moves |
101
+ | Filament | Built-in Filament components before any override |
102
+ | Next.js + shadcn/ui | shadcn primitives + Tailwind tokens; keep component boundaries clean |
103
+ | React + Tailwind | Design token CSS vars → Tailwind config → components |
104
+ | Vue + Nuxt | Nuxt UI or PrimeVue first; avoid mixing component libraries |
105
+ | Vanilla HTML | Define CSS custom properties at `:root`, semantic class names only |
@@ -1,101 +1,101 @@
1
- # Design Directions — Interface Design
2
-
3
- Choose ONE direction. Never mix. Mixing produces visual noise.
4
- The chosen direction defines spacing, typography, border strategy, depth, and motion posture — before components are built.
5
-
6
- ---
7
-
8
- ## Precision & Density
9
-
10
- *For: dashboards, admin panels, developer tools, power-user interfaces.*
11
-
12
- ```
13
- Foundation : Cool slate (borders-only depth)
14
- Spacing : 4px base — scale: 4, 8, 12, 16, 24, 32
15
- Colors : foreground=slate-900, secondary=slate-600, muted=slate-400,
16
- faint=slate-200, border=rgba(0,0,0,0.08), accent=blue-600
17
- Radius : 4px / 6px / 8px (sharp, technical)
18
- Typography : system-ui, 11–18px, weights 400/500/600
19
- monospace: SF Mono, Consolas (for data/code)
20
- Components :
21
- Button → 32px height, 8px/12px padding, 4px radius, 13px 500-weight
22
- Card → 0.5px faint border, 12px padding, 6px radius, NO shadows
23
- Table → 8px/12px cell padding, tabular-nums, 13px font, 1px bottom border
24
- Rationale : borders-only maximizes density; compact sizing serves power users;
25
- system fonts feel native and load instantly.
26
- ```
27
-
28
- ---
29
-
30
- ## Warmth & Approachability
31
-
32
- *For: consumer apps, collaborative tools, onboarding flows, customer-facing products.*
33
-
34
- ```
35
- Foundation : Warm stone (subtle shadows)
36
- Spacing : 4px base — scale: 8, 12, 16, 24, 32, 48 (generous)
37
- Colors : foreground=stone-900, secondary=stone-600, accent=orange-500,
38
- surface=white on stone-50
39
- Radius : 8px / 12px / 16px (rounded, friendly)
40
- Typography : Inter, 13–24px, weights 400/500/600
41
- Components :
42
- Button → 40px height, 12px/20px padding, 8px radius
43
- Card → 20px padding, 12px radius, white on stone-50
44
- Input → 44px height, 12px/16px padding, 1.5px faint border
45
- Rationale : subtle shadows add approachable depth; generous spacing enables
46
- focused tasks; warm tones feel human and inviting.
47
- ```
48
-
49
- ---
50
-
51
- ## Sophistication & Trust
52
-
53
- *For: fintech, enterprise SaaS, operational products where clarity and trust matter more than novelty.*
54
-
55
- ```
56
- Foundation : Cool mineral (restrained layers)
57
- Spacing : 4px base — scale: 4, 8, 12, 16, 24, 32
58
- Colors : foreground=slate-950, secondary=slate-700, muted=slate-500,
59
- surface=white, border=rgba(15,23,42,0.10), accent=blue-700
60
- Radius : 8px / 10px / 12px (firm, not playful)
61
- Typography : IBM Plex Sans or Public Sans, 12–20px, weights 400/500/600
62
- Components :
63
- Button → 38px height, 12px/18px padding, 10px radius
64
- Card → 16px padding, 10px radius, subtle border, rare soft shadow
65
- Table → 10px/14px cell padding, tabular-nums, quiet row dividers
66
- Rationale : trust comes from control, not decoration; a restrained palette and
67
- firm typography make the product feel expensive and dependable.
68
- ```
69
-
70
- ---
71
-
72
- ## Premium Dark Platform
73
-
74
- *For: premium dashboards, media/catalog products, command surfaces, high-density apps with persistent navigation.*
75
-
76
- ```
77
- Foundation : Graphite layers (borders-first)
78
- Spacing : 4px base — scale: 4, 8, 12, 16, 24, 32
79
- Colors : base=#0b1015, surface=#10161d, elevated=#151c24,
80
- foreground=#f3f7fb, secondary=#b7c2cf, muted=#7f8b99,
81
- border=rgba(255,255,255,0.08), accent=desaturated blue
82
- Radius : 12px / 14px / 16px (premium, controlled)
83
- Typography : Manrope, Geist, or IBM Plex Sans, 12–22px, weights 400/500/600
84
- Components :
85
- Button → 40px height, 12px/18px padding, 12px radius
86
- Card → layered surfaces, 16px padding, 14px radius, no heavy glow
87
- Sidebar → quiet active state, compact icon rhythm, clean section grouping
88
- Rationale : premium dark works when contrast is controlled, surfaces are few,
89
- and borders quietly separate the system without turning neon.
90
- ```
91
-
92
- ---
93
-
94
- ## Other directions (adapt token specs above)
95
-
96
- - **Data & Analysis** — cool blue, high-density tables, monospace for numbers, minimal chrome
97
- - **Editorial** — strong typographic hierarchy, generous white space, restrained color
98
- - **Commerce** — aspirational photography support, high contrast CTAs, smooth transitions
99
- - **Minimal & Calm** — near-monochrome, whitespace as design element, hairline borders only
100
- - **Boldness & Clarity** — stronger accent, harder contrast, one dominant focal move
101
- - **Utility & Function** — minimal decoration, maximum legibility, near-invisible chrome
1
+ # Design Directions — Interface Design
2
+
3
+ Choose ONE direction. Never mix. Mixing produces visual noise.
4
+ The chosen direction defines spacing, typography, border strategy, depth, and motion posture — before components are built.
5
+
6
+ ---
7
+
8
+ ## Precision & Density
9
+
10
+ *For: dashboards, admin panels, developer tools, power-user interfaces.*
11
+
12
+ ```
13
+ Foundation : Cool slate (borders-only depth)
14
+ Spacing : 4px base — scale: 4, 8, 12, 16, 24, 32
15
+ Colors : foreground=slate-900, secondary=slate-600, muted=slate-400,
16
+ faint=slate-200, border=rgba(0,0,0,0.08), accent=blue-600
17
+ Radius : 4px / 6px / 8px (sharp, technical)
18
+ Typography : system-ui, 11–18px, weights 400/500/600
19
+ monospace: SF Mono, Consolas (for data/code)
20
+ Components :
21
+ Button → 32px height, 8px/12px padding, 4px radius, 13px 500-weight
22
+ Card → 0.5px faint border, 12px padding, 6px radius, NO shadows
23
+ Table → 8px/12px cell padding, tabular-nums, 13px font, 1px bottom border
24
+ Rationale : borders-only maximizes density; compact sizing serves power users;
25
+ system fonts feel native and load instantly.
26
+ ```
27
+
28
+ ---
29
+
30
+ ## Warmth & Approachability
31
+
32
+ *For: consumer apps, collaborative tools, onboarding flows, customer-facing products.*
33
+
34
+ ```
35
+ Foundation : Warm stone (subtle shadows)
36
+ Spacing : 4px base — scale: 8, 12, 16, 24, 32, 48 (generous)
37
+ Colors : foreground=stone-900, secondary=stone-600, accent=orange-500,
38
+ surface=white on stone-50
39
+ Radius : 8px / 12px / 16px (rounded, friendly)
40
+ Typography : Inter, 13–24px, weights 400/500/600
41
+ Components :
42
+ Button → 40px height, 12px/20px padding, 8px radius
43
+ Card → 20px padding, 12px radius, white on stone-50
44
+ Input → 44px height, 12px/16px padding, 1.5px faint border
45
+ Rationale : subtle shadows add approachable depth; generous spacing enables
46
+ focused tasks; warm tones feel human and inviting.
47
+ ```
48
+
49
+ ---
50
+
51
+ ## Sophistication & Trust
52
+
53
+ *For: fintech, enterprise SaaS, operational products where clarity and trust matter more than novelty.*
54
+
55
+ ```
56
+ Foundation : Cool mineral (restrained layers)
57
+ Spacing : 4px base — scale: 4, 8, 12, 16, 24, 32
58
+ Colors : foreground=slate-950, secondary=slate-700, muted=slate-500,
59
+ surface=white, border=rgba(15,23,42,0.10), accent=blue-700
60
+ Radius : 8px / 10px / 12px (firm, not playful)
61
+ Typography : IBM Plex Sans or Public Sans, 12–20px, weights 400/500/600
62
+ Components :
63
+ Button → 38px height, 12px/18px padding, 10px radius
64
+ Card → 16px padding, 10px radius, subtle border, rare soft shadow
65
+ Table → 10px/14px cell padding, tabular-nums, quiet row dividers
66
+ Rationale : trust comes from control, not decoration; a restrained palette and
67
+ firm typography make the product feel expensive and dependable.
68
+ ```
69
+
70
+ ---
71
+
72
+ ## Premium Dark Platform
73
+
74
+ *For: premium dashboards, media/catalog products, command surfaces, high-density apps with persistent navigation.*
75
+
76
+ ```
77
+ Foundation : Graphite layers (borders-first)
78
+ Spacing : 4px base — scale: 4, 8, 12, 16, 24, 32
79
+ Colors : base=#0b1015, surface=#10161d, elevated=#151c24,
80
+ foreground=#f3f7fb, secondary=#b7c2cf, muted=#7f8b99,
81
+ border=rgba(255,255,255,0.08), accent=desaturated blue
82
+ Radius : 12px / 14px / 16px (premium, controlled)
83
+ Typography : Manrope, Geist, or IBM Plex Sans, 12–22px, weights 400/500/600
84
+ Components :
85
+ Button → 40px height, 12px/18px padding, 12px radius
86
+ Card → layered surfaces, 16px padding, 14px radius, no heavy glow
87
+ Sidebar → quiet active state, compact icon rhythm, clean section grouping
88
+ Rationale : premium dark works when contrast is controlled, surfaces are few,
89
+ and borders quietly separate the system without turning neon.
90
+ ```
91
+
92
+ ---
93
+
94
+ ## Other directions (adapt token specs above)
95
+
96
+ - **Data & Analysis** — cool blue, high-density tables, monospace for numbers, minimal chrome
97
+ - **Editorial** — strong typographic hierarchy, generous white space, restrained color
98
+ - **Commerce** — aspirational photography support, high contrast CTAs, smooth transitions
99
+ - **Minimal & Calm** — near-monochrome, whitespace as design element, hairline borders only
100
+ - **Boldness & Clarity** — stronger accent, harder contrast, one dominant focal move
101
+ - **Utility & Function** — minimal decoration, maximum legibility, near-invisible chrome