@ijfw/memory-server 1.3.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 (106) hide show
  1. package/bin/ijfw +27 -0
  2. package/bin/ijfw-dashboard +180 -0
  3. package/bin/ijfw-dispatch-plan +41 -0
  4. package/bin/ijfw-memorize +273 -0
  5. package/bin/ijfw-memory +51 -0
  6. package/fixtures/demo-target.js +28 -0
  7. package/package.json +53 -0
  8. package/src/api-client.js +190 -0
  9. package/src/audit-roster.js +315 -0
  10. package/src/caps.js +37 -0
  11. package/src/cold-scan-runner.mjs +37 -0
  12. package/src/compute/edges.js +155 -0
  13. package/src/compute/extract.js +560 -0
  14. package/src/compute/fts5.js +420 -0
  15. package/src/compute/graph-auto-index.js +191 -0
  16. package/src/compute/graph-lock.js +114 -0
  17. package/src/compute/index.js +18 -0
  18. package/src/compute/migration-runner.js +116 -0
  19. package/src/compute/migrations/001-initial.js +23 -0
  20. package/src/compute/migrations/002-porter-stemming-source.js +139 -0
  21. package/src/compute/migrations/003-tier-semantic.js +69 -0
  22. package/src/compute/migrations/004-kg-tables.js +83 -0
  23. package/src/compute/migrations/005-stale-candidate.js +72 -0
  24. package/src/compute/python-resolver.js +106 -0
  25. package/src/compute/runner-vm.js +185 -0
  26. package/src/compute/runner.js +416 -0
  27. package/src/compute/sandbox-detect.js +122 -0
  28. package/src/compute/sandbox-linux.js +164 -0
  29. package/src/compute/sandbox-macos.js +167 -0
  30. package/src/compute/sandbox-windows.js +63 -0
  31. package/src/compute/schema.sql +118 -0
  32. package/src/compute/staleness.js +239 -0
  33. package/src/compute/synonyms.js +367 -0
  34. package/src/compute/traverse.js +180 -0
  35. package/src/cost/aggregator.js +229 -0
  36. package/src/cost/pricing.js +134 -0
  37. package/src/cost/readers/claude.js +179 -0
  38. package/src/cost/readers/codex.js +131 -0
  39. package/src/cost/readers/gemini.js +111 -0
  40. package/src/cost/savings.js +243 -0
  41. package/src/cross-dispatcher.js +437 -0
  42. package/src/cross-orchestrator-cli.js +1885 -0
  43. package/src/cross-orchestrator.js +598 -0
  44. package/src/cross-project-search.js +114 -0
  45. package/src/dashboard-client.html +1180 -0
  46. package/src/dashboard-server.js +895 -0
  47. package/src/design-companion.js +81 -0
  48. package/src/dispatch/colon-syntax.js +732 -0
  49. package/src/dispatch-planner.js +235 -0
  50. package/src/dream/cooldown.js +105 -0
  51. package/src/dream/runner.mjs +373 -0
  52. package/src/dream/staleness-wiring.js +195 -0
  53. package/src/feedback-detector.js +57 -0
  54. package/src/hero-line.js +115 -0
  55. package/src/importers/claude-mem.js +152 -0
  56. package/src/importers/cli.js +311 -0
  57. package/src/importers/common.js +84 -0
  58. package/src/importers/discover.js +235 -0
  59. package/src/importers/rtk.js +107 -0
  60. package/src/intent-router.js +221 -0
  61. package/src/lib/atomic-io.js +201 -0
  62. package/src/lib/cache.js +33 -0
  63. package/src/lib/npm-view.js +104 -0
  64. package/src/lib/status-card.js +95 -0
  65. package/src/lib/token.js +85 -0
  66. package/src/memory/fts5.js +349 -0
  67. package/src/memory/migration-runner.js +116 -0
  68. package/src/memory/migrations/001-fts5-init.js +26 -0
  69. package/src/memory/migrations/002-tier-semantic.js +60 -0
  70. package/src/memory/migrations/003-stale-candidate.js +60 -0
  71. package/src/memory/reader.js +300 -0
  72. package/src/memory/recall-counter.js +76 -0
  73. package/src/memory/schema.sql +79 -0
  74. package/src/memory/search.js +431 -0
  75. package/src/memory/staleness.js +237 -0
  76. package/src/memory/tier-promotion.js +377 -0
  77. package/src/memory/tokenize.js +63 -0
  78. package/src/project-type-detector.js +866 -0
  79. package/src/prompt-check.js +171 -0
  80. package/src/ralph-allowlist.js +88 -0
  81. package/src/receipts.js +129 -0
  82. package/src/redactor.js +107 -0
  83. package/src/sandbox.js +275 -0
  84. package/src/sanitizer.js +69 -0
  85. package/src/scan-resume.js +167 -0
  86. package/src/schema.js +82 -0
  87. package/src/search-bm25.js +108 -0
  88. package/src/server.js +1414 -0
  89. package/src/swarm-config.js +80 -0
  90. package/src/trident/dispatch.js +211 -0
  91. package/src/trident/lens-health.js +253 -0
  92. package/src/update-apply.js +79 -0
  93. package/src/update-check.js +136 -0
  94. package/src/vectors.js +178 -0
  95. package/templates/design/bento-grid.md +84 -0
  96. package/templates/design/brutalist-luxe.md +82 -0
  97. package/templates/design/cinematic-dark.md +82 -0
  98. package/templates/design/data-dense-dashboard.md +88 -0
  99. package/templates/design/editorial-warm.md +81 -0
  100. package/templates/design/glassmorphic.md +84 -0
  101. package/templates/design/magazine-editorial.md +84 -0
  102. package/templates/design/maximalist-vibrant.md +85 -0
  103. package/templates/design/neo-swiss-tech.md +85 -0
  104. package/templates/design/swiss-minimal.md +80 -0
  105. package/templates/design/terminal-native.md +83 -0
  106. package/templates/design/warm-organic.md +84 -0
@@ -0,0 +1,81 @@
1
+ # Editorial Warm - DESIGN.md
2
+
3
+ ## 1. Visual Theme & Atmosphere
4
+ Magazine editorial meets warm minimalism - the feeling of a well-designed print publication on screen. Serif headings lend authority and permanence; generous leading invites reading rather than scanning. The warm off-white background and earthy palette create intimacy without losing professionalism. Use for newsletters, blogs, content-heavy landing pages, and any product where the prose itself is the feature.
5
+
6
+ ## 2. Color Palette & Roles
7
+ - `--color-bg`: #FAF8F5 (page background - warm parchment)
8
+ - `--color-surface`: #F2EFE9 (card/panel surface)
9
+ - `--color-border`: #DDD8CF (dividers, input borders)
10
+ - `--color-text-primary`: #2C2420 (headings, primary content - warm near-black)
11
+ - `--color-text-secondary`: #7A6F66 (supporting text, labels)
12
+ - `--color-accent`: #C0622F (CTAs, links, highlights - terracotta)
13
+ - `--color-accent-hover`: #9E4D22 (interactive accent state)
14
+ - `--color-muted`: #B0A89E (placeholder text, disabled)
15
+ - `--color-rule`: #D8D2C8 (horizontal rules, section dividers)
16
+
17
+ ## 3. Typography Rules
18
+ - **Display font**: Playfair Display - Google Fonts - weights 400, 700, 900
19
+ - **Body font**: Inter - Google Fonts - weights 400, 500
20
+ - **Mono font**: JetBrains Mono - for code, data, inline technical references
21
+ - **Scale**: Display 60px / H1 42px / H2 30px / H3 22px / Body 17px / Small 14px
22
+ - **Line height**: 1.75 for body / 1.15 for display headings
23
+ - **Letter spacing**: 0 for body / -0.01em for H1-H2 / 0.01em for small caps labels
24
+ - **Font loading**: `@import url('https://fonts.googleapis.com/css2?family=Playfair+Display:wght@400;700;900&family=Inter:wght@400;500&family=JetBrains+Mono&display=swap')`
25
+
26
+ ## 4. Component Stylings
27
+ ### Buttons
28
+ Primary: background `--color-accent`, white text, `font-family: Inter`, `font-weight: 500`, `border-radius: 4px`, `padding: 12px 24px`. Hover: `--color-accent-hover`. Secondary: transparent, `1px solid --color-accent`, `color: --color-accent`. No shadows on either.
29
+
30
+ ### Cards
31
+ Background `--color-surface`, `border: 1px solid --color-border`, `border-radius: 6px`, `padding: 32px`. Top accent line optional: `border-top: 3px solid --color-accent`. Title in Playfair Display, body in Inter.
32
+
33
+ ### Navigation
34
+ Height 64px, `border-bottom: 1px solid --color-rule`, background `--color-bg`. Wordmark in Playfair Display weight 700. Nav links in Inter weight 500, `font-size: 14px`. Active: `color: --color-accent`.
35
+
36
+ ### Inputs
37
+ `background: --color-bg`, `border: 1px solid --color-border`, `border-radius: 4px`, `padding: 11px 14px`, `font-size: 16px`, `font-family: Inter`. Focus: `border-color: --color-accent`, `outline: 2px solid rgba(192,98,47,0.15)`. Placeholder: `--color-muted`.
38
+
39
+ ### Badges / Chips
40
+ `background: --color-surface`, `border: 1px solid --color-border`, `border-radius: 4px`, `padding: 3px 10px`, `font-size: 12px`, `font-family: Inter`, `font-weight: 500`, `color: --color-text-secondary`. Subtle and unobtrusive.
41
+
42
+ ## 5. Layout Principles
43
+ - **Grid**: 12-column, 28px gutters
44
+ - **Max width**: 1100px (content column max 720px for long-form prose)
45
+ - **Section padding**: 80px vertical
46
+ - **Spacing scale**: 4 / 8 / 12 / 16 / 24 / 32 / 48 / 64 / 80 / 120px
47
+ - **Whitespace philosophy**: generous - long-form content demands room to breathe
48
+
49
+ ## 6. Depth & Elevation
50
+ - **Surface hierarchy**: Level 0 = `--color-bg`, Level 1 = `--color-surface`, Level 2 = `#E8E3DB`
51
+ - **Shadow tokens**: low = `0 1px 4px rgba(44,36,32,0.06)`; mid = `0 4px 16px rgba(44,36,32,0.08)`; high = none (modals use backdrop instead)
52
+ - **Border usage**: warm 1px borders throughout; `--color-rule` for horizontal dividers between sections
53
+
54
+ ## 7. Do's and Don'ts
55
+ **Do:**
56
+ - Use Playfair Display for all display text, pull quotes, and section headers
57
+ - Set body text at 17px minimum - this aesthetic rewards reading, not scanning
58
+ - Use horizontal rules (`--color-rule`) liberally to divide content regions
59
+ - Lean into asymmetry: large serif headline + tighter caption below
60
+ - Use terracotta accent sparingly - one CTA per viewport maximum
61
+
62
+ **Don't:**
63
+ - Use a pure white or pure black background - the warmth is load-bearing
64
+ - Mix Playfair Display at small sizes (below 18px it loses authority)
65
+ - Use bold Inter for headings - Playfair Display owns that role
66
+ - Crowd the content column; the 720px prose limit exists for readability
67
+ - Apply accent color to decorative elements; it must signal action or importance
68
+
69
+ ## 8. Responsive Behavior
70
+ - **Mobile breakpoint**: 375px
71
+ - **Tablet breakpoint**: 768px
72
+ - **Touch targets**: minimum 44px
73
+ - **Typography scaling**: Display drops to 36px / H1 to 28px / body stays 17px on mobile
74
+ - **Layout collapse**: prose column goes full-width at 768px with 20px side padding; section padding reduces to 48px
75
+
76
+ ## 9. Agent Prompt Guide
77
+ Use these prompts with Claude Design or ijfw-design to stay on-system:
78
+
79
+ - **New screen**: "Build a [screen type] following the Editorial Warm DESIGN.md. Match the color tokens and type scale exactly."
80
+ - **Component**: "Add a [component] that fits the Editorial Warm aesthetic - reference section 4 for styling rules."
81
+ - **Variant**: "Create a [light/dark/compact] variant of this screen. Keep the same token names, adjust the values."
@@ -0,0 +1,84 @@
1
+ # Glassmorphic - DESIGN.md
2
+
3
+ ## 1. Visual Theme & Atmosphere
4
+ Frosted glass and layered depth - surfaces that feel suspended in front of a rich background rather than sitting on a flat plane. The blur and translucency create a sense of atmosphere and space that flat design cannot achieve. Works best over gradient backgrounds (dark or vibrant light). Use for dashboards, mobile-inspired web apps, SaaS onboarding flows, and landing pages that need a contemporary, tactile feel without resorting to skeuomorphism.
5
+
6
+ ## 2. Color Palette & Roles
7
+ - `--color-bg-start`: #0F0C29 (gradient background start - deep indigo)
8
+ - `--color-bg-end`: #302B63 (gradient background end - mid purple)
9
+ - `--color-bg-gradient`: linear-gradient(135deg, #0F0C29 0%, #302B63 60%, #24243E 100%)
10
+ - `--color-surface`: rgba(255,255,255,0.08) (frosted card surface)
11
+ - `--color-surface-hover`: rgba(255,255,255,0.12) (interactive surface state)
12
+ - `--color-border`: rgba(255,255,255,0.18) (frosted border)
13
+ - `--color-border-strong`: rgba(255,255,255,0.28) (active/focused border)
14
+ - `--color-text-primary`: #F2F2F7 (headings, primary content)
15
+ - `--color-text-secondary`: rgba(242,242,247,0.55) (supporting text, labels)
16
+ - `--color-accent`: #7C6FFF (CTAs, links - soft violet)
17
+ - `--color-accent-hover`: #9B91FF (interactive accent state)
18
+ - `--color-blur`: blur(16px) (primary backdrop filter value)
19
+
20
+ ## 3. Typography Rules
21
+ - **Display font**: Inter - Google Fonts - weights 300, 400, 600, 700
22
+ - **Body font**: Inter - Google Fonts - weights 400, 500
23
+ - **Mono font**: JetBrains Mono - for data, stats, code snippets
24
+ - **Scale**: Display 56px / H1 40px / H2 28px / H3 20px / Body 15px / Small 13px
25
+ - **Line height**: 1.6 for body / 1.1 for display
26
+ - **Letter spacing**: 0 for body / -0.02em for display
27
+ - **Font loading**: `@import url('https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700&family=JetBrains+Mono&display=swap')`
28
+
29
+ ## 4. Component Stylings
30
+ ### Buttons
31
+ Primary: `background: --color-accent`, white text, `font-weight: 600`, `border-radius: 10px`, `padding: 11px 24px`. Hover: `--color-accent-hover`. Secondary: `background: rgba(255,255,255,0.1)`, `border: 1px solid --color-border`, `color: --color-text-primary`, `backdrop-filter: blur(8px)`. Both have `border-radius: 10px`.
32
+
33
+ ### Cards
34
+ `background: --color-surface`, `backdrop-filter: blur(16px)`, `-webkit-backdrop-filter: blur(16px)`, `border: 1px solid --color-border`, `border-radius: 16px`, `padding: 28px`. Hover state shifts to `--color-surface-hover`. Top highlight: `box-shadow: inset 0 1px 0 rgba(255,255,255,0.15)`.
35
+
36
+ ### Navigation
37
+ Height 60px, `background: rgba(15,12,41,0.6)`, `backdrop-filter: blur(20px)`, `border-bottom: 1px solid --color-border`. Sticky. Nav items: Inter 14px, `color: --color-text-secondary`. Active: `color: --color-text-primary`, `background: rgba(255,255,255,0.08)`, `border-radius: 8px`, `padding: 6px 14px`.
38
+
39
+ ### Inputs
40
+ `background: rgba(255,255,255,0.06)`, `backdrop-filter: blur(8px)`, `border: 1px solid --color-border`, `border-radius: 10px`, `padding: 11px 14px`, `color: --color-text-primary`, `font-size: 15px`. Focus: `border-color: --color-border-strong`, `box-shadow: 0 0 0 3px rgba(124,111,255,0.2)`. Placeholder: `--color-text-secondary`.
41
+
42
+ ### Badges / Chips
43
+ `background: rgba(124,111,255,0.15)`, `border: 1px solid rgba(124,111,255,0.3)`, `color: #B5AFFF`, `border-radius: 8px`, `padding: 3px 10px`, `font-size: 12px`, `font-weight: 500`. Status variants shift the rgba hue only.
44
+
45
+ ## 5. Layout Principles
46
+ - **Grid**: 12-column, 24px gutters
47
+ - **Max width**: 1200px
48
+ - **Section padding**: 80px vertical
49
+ - **Spacing scale**: 4 / 8 / 12 / 16 / 24 / 32 / 48 / 64 / 80px
50
+ - **Whitespace philosophy**: balanced - glass surfaces need breathing room but the gradient fills the void
51
+
52
+ ## 6. Depth & Elevation
53
+ - **Surface hierarchy**: Level 0 = gradient bg, Level 1 = `blur(16px)` card, Level 2 = `blur(24px)` modal
54
+ - **Shadow tokens**: low = `0 4px 16px rgba(0,0,0,0.3)`; mid = `0 8px 32px rgba(0,0,0,0.4)`; high = `0 24px 48px rgba(0,0,0,0.5)`
55
+ - **Border usage**: always present on glass surfaces - the 1px rgba border is what defines the glass edge
56
+
57
+ ## 7. Do's and Don'ts
58
+ **Do:**
59
+ - Always set a rich gradient or image background - frosted glass needs something behind it to blur
60
+ - Use `-webkit-backdrop-filter` alongside `backdrop-filter` for Safari support
61
+ - Layer cards at slightly different blur levels to create visual depth hierarchy
62
+ - Use `rgba` borders consistently - hard opaque borders destroy the glass effect
63
+ - Keep border-radius in the 12-20px range; glass surfaces should feel soft
64
+
65
+ **Don't:**
66
+ - Use glassmorphic surfaces on a flat solid background - the effect collapses
67
+ - Stack more than three blur layers (each adds GPU cost and visual noise)
68
+ - Use high-saturation opaque backgrounds for cards - it fights the blur
69
+ - Mix sharp-cornered and glass-rounded components on the same screen
70
+ - Apply `backdrop-filter` to components that overlap scrolling content (causes jank)
71
+
72
+ ## 8. Responsive Behavior
73
+ - **Mobile breakpoint**: 375px
74
+ - **Tablet breakpoint**: 768px
75
+ - **Touch targets**: minimum 44px
76
+ - **Typography scaling**: Display drops to 36px / H1 to 26px on mobile
77
+ - **Layout collapse**: 12-col → single column; cards stack vertically; border-radius reduces slightly to 12px; blur intensity stays identical
78
+
79
+ ## 9. Agent Prompt Guide
80
+ Use these prompts with Claude Design or ijfw-design to stay on-system:
81
+
82
+ - **New screen**: "Build a [screen type] following the Glassmorphic DESIGN.md. Match the color tokens and type scale exactly."
83
+ - **Component**: "Add a [component] that fits the Glassmorphic aesthetic - reference section 4 for styling rules."
84
+ - **Variant**: "Create a [light/dark/compact] variant of this screen. Keep the same token names, adjust the values."
@@ -0,0 +1,84 @@
1
+ # Magazine Editorial - DESIGN.md
2
+
3
+ ## 1. Visual Theme & Atmosphere
4
+ Editorial flow and feature-story hierarchy - the visual grammar of a digital magazine where the article itself is the product. Mixed typography is the design technique: condensed headers command attention, serif body text rewards sustained reading, pull quotes interrupt and anchor. Newsprint-warm background. Structured column grids simulate the multi-column layouts of long-form print journalism. Use for media publications, long-form content platforms, newsletters, digital magazines, and any product where writing is the primary value delivered.
5
+
6
+ ## 2. Color Palette & Roles
7
+ - `--color-bg`: #F8F5EE (page background - newsprint warm)
8
+ - `--color-surface`: #FFFFFF (article card, feature surface)
9
+ - `--color-surface-tint`: #F1EDE4 (sidebar, secondary section background)
10
+ - `--color-border`: #DDD6C8 (dividers, column rules)
11
+ - `--color-border-rule`: #C8BFB0 (strong section rules, column separators)
12
+ - `--color-text-primary`: #1A1612 (headings, bylines - warm near-black)
13
+ - `--color-text-body`: #2E2822 (body text - slightly lighter for long reads)
14
+ - `--color-text-secondary`: #7A6F62 (labels, captions, datelines)
15
+ - `--color-accent`: #B5292A (CTAs, section tags, highlights - editorial red)
16
+ - `--color-accent-hover`: #8C1E1E (interactive accent state)
17
+ - `--color-pull-quote`: #3D3530 (pull quote text - distinct from body)
18
+ - `--color-byline`: #5C5148 (byline, source attribution)
19
+
20
+ ## 3. Typography Rules
21
+ - **Display font**: Barlow Condensed - Google Fonts - weights 600, 700, 800 (headlines, section labels)
22
+ - **Body font**: Merriweather - Google Fonts - weights 300, 400, 700 (long-form article body)
23
+ - **Mono font**: JetBrains Mono - for inline data, pull statistics, code
24
+ - **Scale**: Display 72px / H1 48px / H2 32px / H3 22px / Body 18px / Caption 13px
25
+ - **Line height**: 1.85 for body (Merriweather needs room) / 1.0 for Barlow Condensed display
26
+ - **Letter spacing**: 0 for body / 0.01em for display / 0.1em for uppercase section tags
27
+ - **Font loading**: `@import url('https://fonts.googleapis.com/css2?family=Barlow+Condensed:wght@600;700;800&family=Merriweather:wght@300;400;700&family=JetBrains+Mono&display=swap')`
28
+
29
+ ## 4. Component Stylings
30
+ ### Buttons
31
+ Primary: `background: --color-accent`, white text, `font-family: Barlow Condensed`, `font-weight: 700`, `border-radius: 3px`, `padding: 10px 24px`, `letter-spacing: 0.06em`, uppercase. Hover: `--color-accent-hover`. Secondary: `background: transparent`, `border: 2px solid --color-border-rule`, `color: --color-text-primary`, `font-family: Barlow Condensed`, `font-weight: 600`.
32
+
33
+ ### Cards
34
+ Article card: `background: --color-surface`, `border-bottom: 2px solid --color-border-rule`, `border-radius: 0`, `padding: 24px 0`. Title in Barlow Condensed 700, body preview in Merriweather 300. Byline in Inter or system-sans 13px `--color-byline`. Feature card: full-width `border-top: 4px solid --color-accent`.
35
+
36
+ ### Navigation
37
+ Height 52px, `border-bottom: 2px solid --color-text-primary`, background `--color-bg`. Publication name in Barlow Condensed weight 800, `font-size: 22px`, uppercase. Section nav below: 44px, `border-bottom: 1px solid --color-border`, items in Barlow Condensed 600 13px uppercase, `letter-spacing: 0.08em`. Active: `color: --color-accent`.
38
+
39
+ ### Inputs
40
+ `background: --color-surface`, `border: 1px solid --color-border`, `border-radius: 2px`, `padding: 10px 12px`, `font-family: Merriweather`, `font-size: 15px`. Focus: `border-color: --color-accent`, `box-shadow: none`. Placeholder: `--color-text-secondary`. Search bar uses Barlow Condensed.
41
+
42
+ ### Badges / Chips
43
+ Section tags: `background: --color-accent`, `color: white`, `border-radius: 2px`, `padding: 3px 8px`, `font-family: Barlow Condensed`, `font-weight: 700`, `font-size: 11px`, uppercase, `letter-spacing: 0.08em`. Neutral tag: `background: --color-surface-tint`, `border: 1px solid --color-border`, `color: --color-text-secondary`.
44
+
45
+ ## 5. Layout Principles
46
+ - **Grid**: multi-column editorial - 3-col primary (content / content / sidebar) plus full-width feature rows
47
+ - **Max width**: 1280px (prose column max 680px for article body)
48
+ - **Section padding**: 64px vertical
49
+ - **Spacing scale**: 4 / 8 / 12 / 16 / 24 / 32 / 48 / 64 / 96px
50
+ - **Whitespace philosophy**: structured - whitespace is column gutters and inter-article rules, not empty margins
51
+
52
+ ## 6. Depth & Elevation
53
+ - **Surface hierarchy**: Level 0 = `--color-bg`, Level 1 = `--color-surface` (white), Level 2 = `--color-surface-tint`
54
+ - **Shadow tokens**: low = `0 1px 4px rgba(26,22,18,0.06)`; mid = none; high = `0 8px 32px rgba(26,22,18,0.1)` for featured overlays
55
+ - **Border usage**: horizontal rules are the primary separator; `--color-border-rule` for strong breaks, `--color-border` for subtle ones; vertical column rules optional
56
+
57
+ ## 7. Do's and Don'ts
58
+ **Do:**
59
+ - Use Barlow Condensed weight 800 for all headlines - the condensed proportions are the system's voice
60
+ - Set Merriweather body text at 18px with `line-height: 1.85` - this typeface is designed for long reads
61
+ - Use pull quotes as layout anchors: Barlow Condensed 700, large (28-36px), `color: --color-pull-quote`, `border-left: 4px solid --color-accent`
62
+ - Include bylines, datelines, and reading-time labels using `--color-byline` and `font-size: 13px`
63
+ - Use `border-top: 4px solid --color-accent` to mark feature-tier articles visually
64
+
65
+ **Don't:**
66
+ - Use Merriweather for UI labels or navigation - it's a reading typeface, not a UI typeface
67
+ - Use rounded corners; this aesthetic is flush and ruled, not soft
68
+ - Apply decorative gradients; the warmth comes from the paper tones, not color effects
69
+ - Shrink body type below 17px; Merriweather at small sizes loses its authority
70
+ - Mix editorial red accent with a secondary accent; one signal color for editorial emphasis
71
+
72
+ ## 8. Responsive Behavior
73
+ - **Mobile breakpoint**: 375px
74
+ - **Tablet breakpoint**: 768px
75
+ - **Touch targets**: minimum 44px
76
+ - **Typography scaling**: Display drops to 44px / H1 to 32px / body stays 17px (down from 18px) on mobile
77
+ - **Layout collapse**: 3-col → single column at 768px; sidebar becomes collapsed section at bottom; column rules become horizontal dividers; prose column goes full-width with 20px padding
78
+
79
+ ## 9. Agent Prompt Guide
80
+ Use these prompts with Claude Design or ijfw-design to stay on-system:
81
+
82
+ - **New screen**: "Build a [screen type] following the Magazine Editorial DESIGN.md. Match the color tokens and type scale exactly."
83
+ - **Component**: "Add a [component] that fits the Magazine Editorial aesthetic - reference section 4 for styling rules."
84
+ - **Variant**: "Create a [light/dark/compact] variant of this screen. Keep the same token names, adjust the values."
@@ -0,0 +1,85 @@
1
+ # Maximalist Vibrant - DESIGN.md
2
+
3
+ ## 1. Visual Theme & Atmosphere
4
+ Rich, layered, expressive - the energy of a design tool's own marketing site turned into a system. Multiple hues live together not in chaos but in deliberate orchestration. Gradients are bold and purposeful, type sizing is used as composition, and the overall effect is one of creative confidence. Use for creative tools, collaboration platforms, marketing-forward SaaS, launch pages, and products aimed at makers, designers, and builders who expect their software to have a personality.
5
+
6
+ ## 2. Color Palette & Roles
7
+ - `--color-bg`: #0E0E14 (page background - near-black with purple undertone)
8
+ - `--color-surface`: #17171F (card/panel surface)
9
+ - `--color-border`: #2A2A38 (dividers, input borders)
10
+ - `--color-text-primary`: #F4F4FA (headings, primary content)
11
+ - `--color-text-secondary`: #8888A0 (supporting text, labels)
12
+ - `--color-violet`: #7C5CFC (primary gradient stop / main accent)
13
+ - `--color-pink`: #F040A0 (secondary gradient / hover accent)
14
+ - `--color-cyan`: #00D4FF (tertiary accent - used in gradients and highlights)
15
+ - `--color-yellow`: #FFE040 (pop accent - used for emphasis, badges)
16
+ - `--color-gradient-primary`: linear-gradient(135deg, #7C5CFC 0%, #F040A0 100%)
17
+ - `--color-gradient-secondary`: linear-gradient(135deg, #00D4FF 0%, #7C5CFC 100%)
18
+ - `--color-accent`: #7C5CFC (default single-color accent for links/focus)
19
+ - `--color-accent-hover`: #9B80FF (interactive accent state)
20
+
21
+ ## 3. Typography Rules
22
+ - **Display font**: DM Sans - Google Fonts - weights 400, 500, 700, 900
23
+ - **Body font**: DM Sans - Google Fonts - weights 400, 500
24
+ - **Mono font**: JetBrains Mono - for code, data, metrics
25
+ - **Scale**: Display 72px / H1 48px / H2 32px / H3 22px / Body 16px / Small 13px
26
+ - **Line height**: 1.55 for body / 1.05 for display
27
+ - **Letter spacing**: -0.01em for body / -0.03em for display and H1
28
+ - **Font loading**: `@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;700;900&family=JetBrains+Mono&display=swap')`
29
+
30
+ ## 4. Component Stylings
31
+ ### Buttons
32
+ Primary: `background: --color-gradient-primary`, white text, `font-weight: 700`, `border-radius: 10px`, `padding: 12px 28px`. Hover: lighten gradient via `filter: brightness(1.1)`. Secondary: `background: rgba(124,92,252,0.12)`, `border: 1px solid rgba(124,92,252,0.4)`, `color: #9B80FF`, `border-radius: 10px`. Both have gradient hover glow.
33
+
34
+ ### Cards
35
+ `background: --color-surface`, `border: 1px solid --color-border`, `border-radius: 16px`, `padding: 28px`. Featured cards: gradient border via `background: linear-gradient(--color-surface, --color-surface) padding-box, --color-gradient-primary border-box`, `border: 2px solid transparent`. Hover: `transform: translateY(-2px)`, mild shadow.
36
+
37
+ ### Navigation
38
+ Height 64px, `background: rgba(14,14,20,0.8)`, `backdrop-filter: blur(12px)`, `border-bottom: 1px solid --color-border`. Logo can use gradient fill on wordmark text. Nav items: DM Sans 15px, `color: --color-text-secondary`. Active: gradient underline 2px or full gradient text via `background-clip: text`.
39
+
40
+ ### Inputs
41
+ `background: --color-surface`, `border: 1px solid --color-border`, `border-radius: 10px`, `padding: 12px 14px`, `color: --color-text-primary`, `font-size: 15px`. Focus: `border-color: --color-violet`, `box-shadow: 0 0 0 3px rgba(124,92,252,0.2)`. Placeholder: `--color-text-secondary`.
42
+
43
+ ### Badges / Chips
44
+ Gradient: `background: --color-gradient-primary`, white text, `border-radius: 20px`, `padding: 4px 12px`, `font-size: 12px`, `font-weight: 700`. Yellow pop: `background: --color-yellow`, `color: #0E0E14`, same shape. Muted: `background: rgba(124,92,252,0.15)`, `color: #9B80FF`.
45
+
46
+ ## 5. Layout Principles
47
+ - **Grid**: 12-column, 24px gutters
48
+ - **Max width**: 1280px
49
+ - **Section padding**: 96px vertical
50
+ - **Spacing scale**: 4 / 8 / 12 / 16 / 24 / 32 / 48 / 64 / 96 / 128px
51
+ - **Whitespace philosophy**: balanced - dense sections alternate with open hero areas; gradients fill the void
52
+
53
+ ## 6. Depth & Elevation
54
+ - **Surface hierarchy**: Level 0 = `--color-bg`, Level 1 = `--color-surface`, Level 2 = `#1F1F2A`
55
+ - **Shadow tokens**: low = `0 4px 16px rgba(0,0,0,0.4)`; mid = `0 8px 32px rgba(0,0,0,0.5)`; glow = `0 0 32px rgba(124,92,252,0.3)`
56
+ - **Border usage**: 1px `--color-border` as baseline; gradient borders for featured/hero components
57
+
58
+ ## 7. Do's and Don'ts
59
+ **Do:**
60
+ - Use the gradient as a design element in its own right - full-bleed gradient sections are welcome
61
+ - Mix accent colors deliberately; violet is primary, pink secondary, cyan tertiary - not interchangeable
62
+ - Use DM Sans weight 900 for display text; it punches at this size
63
+ - Apply the gradient border technique for cards that need to feel premium
64
+ - Use `--color-yellow` as a true pop accent - one badge or highlight per section maximum
65
+
66
+ **Don't:**
67
+ - Use all four accent colors in one component - each component gets at most two
68
+ - Make the background lighter than `#17171F` - contrast is the foundation here
69
+ - Apply gradient to body text; gradient is reserved for display and interactive elements
70
+ - Round corners beyond 20px (chips/badges) or 16px (cards); circular shapes break the grid feel
71
+ - Use flat single-color CTAs - this palette earns its gradients
72
+
73
+ ## 8. Responsive Behavior
74
+ - **Mobile breakpoint**: 375px
75
+ - **Tablet breakpoint**: 768px
76
+ - **Touch targets**: minimum 44px
77
+ - **Typography scaling**: Display drops to 44px / H1 to 32px on mobile; weight 900 preserved
78
+ - **Layout collapse**: 12-col → single column; gradient hero sections go full-width; padding reduces to 48px
79
+
80
+ ## 9. Agent Prompt Guide
81
+ Use these prompts with Claude Design or ijfw-design to stay on-system:
82
+
83
+ - **New screen**: "Build a [screen type] following the Maximalist Vibrant DESIGN.md. Match the color tokens and type scale exactly."
84
+ - **Component**: "Add a [component] that fits the Maximalist Vibrant aesthetic - reference section 4 for styling rules."
85
+ - **Variant**: "Create a [light/dark/compact] variant of this screen. Keep the same token names, adjust the values."
@@ -0,0 +1,85 @@
1
+ # Neo Swiss Tech - DESIGN.md
2
+
3
+ ## 1. Visual Theme & Atmosphere
4
+ Modern Swiss grid discipline fused with tech product precision - the aesthetic of tools used by engineers who care about their environment. Mid-dark background that isn't a full terminal black, cool grey palette that's systematic rather than decorative, one electric accent that marks exactly what matters. Tight spacing signals density of thought without feeling cramped. Use for developer tools, productivity apps, command palettes, dashboards, and any product that must feel fast and deliberate.
5
+
6
+ ## 2. Color Palette & Roles
7
+ - `--color-bg`: #141414 (page background - precise dark grey)
8
+ - `--color-surface`: #1C1C1C (card/panel surface)
9
+ - `--color-surface-raised`: #242424 (elevated panels, popovers)
10
+ - `--color-border`: #323232 (dividers, input borders)
11
+ - `--color-border-focus`: #4A4A4A (focused/active border)
12
+ - `--color-text-primary`: #EBEBEB (headings, primary content)
13
+ - `--color-text-secondary`: #737373 (supporting text, labels)
14
+ - `--color-text-tertiary`: #484848 (disabled, placeholder)
15
+ - `--color-accent`: #3B82F6 (CTAs, links, active states - electric blue)
16
+ - `--color-accent-hover`: #60A5FA (interactive accent state)
17
+ - `--color-accent-dim`: rgba(59,130,246,0.12) (accent tint backgrounds)
18
+ - `--color-success`: #22C55E
19
+ - `--color-error`: #EF4444
20
+
21
+ ## 3. Typography Rules
22
+ - **Display font**: DM Sans - Google Fonts - weights 400, 500, 700
23
+ - **Body font**: DM Sans - Google Fonts - weights 400, 500
24
+ - **Mono font**: JetBrains Mono - for code, metrics, IDs, timestamps
25
+ - **Scale**: Display 52px / H1 36px / H2 26px / H3 20px / Body 14px / Small 12px
26
+ - **Line height**: 1.6 for body / 1.1 for display
27
+ - **Letter spacing**: 0 for body / -0.02em for display / 0.04em for uppercase labels
28
+ - **Font loading**: `@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;700&family=JetBrains+Mono:wght@400;500&display=swap')`
29
+
30
+ ## 4. Component Stylings
31
+ ### Buttons
32
+ Primary: `background: --color-accent`, white text, `font-weight: 500`, `border-radius: 6px`, `padding: 8px 18px`, `font-size: 14px`. Hover: `background: --color-accent-hover`. Secondary: `background: --color-surface-raised`, `border: 1px solid --color-border`, `color: --color-text-primary`, `border-radius: 6px`. Ghost: transparent, `color: --color-text-secondary`, hover `color: --color-text-primary`.
33
+
34
+ ### Cards
35
+ `background: --color-surface`, `border: 1px solid --color-border`, `border-radius: 8px`, `padding: 20px`. Active/selected: `border-color: --color-accent`, `background: rgba(59,130,246,0.04)`. No shadow on resting state; `box-shadow: 0 2px 8px rgba(0,0,0,0.4)` on hover.
36
+
37
+ ### Navigation
38
+ Height 52px, `border-bottom: 1px solid --color-border`, background `--color-bg`. Items: DM Sans 13px, `font-weight: 500`, `color: --color-text-secondary`. Active: `color: --color-text-primary`, `background: --color-surface`, `border-radius: 6px`, `padding: 5px 10px`. Keyboard shortcut hints visible inline.
39
+
40
+ ### Inputs
41
+ `background: --color-bg`, `border: 1px solid --color-border`, `border-radius: 6px`, `padding: 8px 12px`, `font-size: 14px`, `color: --color-text-primary`. Focus: `border-color: --color-accent`, `box-shadow: 0 0 0 3px --color-accent-dim`. Placeholder: `--color-text-tertiary`.
42
+
43
+ ### Badges / Chips
44
+ `background: --color-surface-raised`, `border: 1px solid --color-border`, `border-radius: 4px`, `padding: 2px 8px`, `font-size: 11px`, `font-family: JetBrains Mono`, `color: --color-text-secondary`. Accent variant: `background: --color-accent-dim`, `border-color: rgba(59,130,246,0.3)`, `color: --color-accent-hover`.
45
+
46
+ ## 5. Layout Principles
47
+ - **Grid**: 12-column, 20px gutters
48
+ - **Max width**: 1280px
49
+ - **Section padding**: 64px vertical
50
+ - **Spacing scale**: 4 / 8 / 12 / 16 / 20 / 24 / 32 / 48 / 64px
51
+ - **Whitespace philosophy**: tight but breathing - data-forward sections use 4px base unit; marketing sections use 8px base unit
52
+
53
+ ## 6. Depth & Elevation
54
+ - **Surface hierarchy**: Level 0 = `#141414`, Level 1 = `#1C1C1C`, Level 2 = `#242424`
55
+ - **Shadow tokens**: low = `0 1px 4px rgba(0,0,0,0.5)`; mid = `0 4px 16px rgba(0,0,0,0.6)`; high = `0 12px 40px rgba(0,0,0,0.7)`
56
+ - **Border usage**: 1px borders at every level transition; no border on same-level adjacencies
57
+
58
+ ## 7. Do's and Don'ts
59
+ **Do:**
60
+ - Use the electric blue accent precisely - it points to exactly one action at a time
61
+ - Show keyboard shortcuts, IDs, and technical metadata using JetBrains Mono
62
+ - Build compact 52px nav and 48px input height; every pixel of height counts
63
+ - Use the 4px spacing base unit for dense data tables; switch to 8px for content sections
64
+ - Surface `--color-success` and `--color-error` for any status output - they're in the system
65
+
66
+ **Don't:**
67
+ - Round corners beyond 8px - this aesthetic is about precision, not friendliness
68
+ - Use the accent color for more than one primary CTA per viewport
69
+ - Mix DM Sans and JetBrains Mono on the same line (alternating is fine; inline mixing is not)
70
+ - Use gradients for fills; single flat accent color only
71
+ - Add decorative shadows to resting cards - shadow is reserved for interaction state
72
+
73
+ ## 8. Responsive Behavior
74
+ - **Mobile breakpoint**: 375px
75
+ - **Tablet breakpoint**: 768px
76
+ - **Touch targets**: minimum 44px
77
+ - **Typography scaling**: Display drops to 32px / H1 to 24px on mobile; body stays 14px
78
+ - **Layout collapse**: sidebar → bottom sheet; 12-col → single column; command palette hides keyboard hints; section padding reduces to 32px
79
+
80
+ ## 9. Agent Prompt Guide
81
+ Use these prompts with Claude Design or ijfw-design to stay on-system:
82
+
83
+ - **New screen**: "Build a [screen type] following the Neo Swiss Tech DESIGN.md. Match the color tokens and type scale exactly."
84
+ - **Component**: "Add a [component] that fits the Neo Swiss Tech aesthetic - reference section 4 for styling rules."
85
+ - **Variant**: "Create a [light/dark/compact] variant of this screen. Keep the same token names, adjust the values."
@@ -0,0 +1,80 @@
1
+ # Swiss Minimal - DESIGN.md
2
+
3
+ ## 1. Visual Theme & Atmosphere
4
+ International Swiss typographic school applied to digital product. Clean, rational, and precise - every element earns its place. White space is the primary design material, not a gap between things. The grid is visible in the structure even when invisible on screen. Use this aesthetic for tools, documentation sites, SaaS dashboards, and developer-facing products where clarity signals trust.
5
+
6
+ ## 2. Color Palette & Roles
7
+ - `--color-bg`: #FFFFFF (page background)
8
+ - `--color-surface`: #F7F7F7 (card/panel surface)
9
+ - `--color-border`: #E2E2E2 (dividers, input borders)
10
+ - `--color-text-primary`: #111111 (headings, primary content)
11
+ - `--color-text-secondary`: #6B6B6B (supporting text, labels)
12
+ - `--color-accent`: #D42B2B (CTAs, links, highlights)
13
+ - `--color-accent-hover`: #A81E1E (interactive accent state)
14
+ - `--color-muted`: #ABABAB (placeholder text, disabled)
15
+
16
+ ## 3. Typography Rules
17
+ - **Display font**: Inter - Google Fonts - weights 300, 400, 500, 700
18
+ - **Body font**: Inter - Google Fonts - weight 400, 500
19
+ - **Mono font**: JetBrains Mono - for code, data, terminal elements
20
+ - **Scale**: Display 64px / H1 40px / H2 28px / H3 20px / Body 16px / Small 13px
21
+ - **Line height**: 1.6 for body / 1.1 for display
22
+ - **Letter spacing**: 0 for body / -0.02em for display and H1
23
+ - **Font loading**: `@import url('https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;700&family=JetBrains+Mono&display=swap')`
24
+
25
+ ## 4. Component Stylings
26
+ ### Buttons
27
+ Primary: background `--color-accent`, white text, `font-weight: 500`, `border-radius: 2px`, `padding: 10px 20px`. No shadow. Hover shifts to `--color-accent-hover`. Secondary: transparent background, `1px solid --color-border`, text `--color-text-primary`.
28
+
29
+ ### Cards
30
+ Background `--color-surface`, `border: 1px solid --color-border`, `border-radius: 2px`, `padding: 24px`. No shadow - border provides definition. Content left-aligned with a clear typographic hierarchy.
31
+
32
+ ### Navigation
33
+ Height 56px, `border-bottom: 1px solid --color-border`, background `--color-bg`. Logo/wordmark left. Nav items spaced 32px apart. Active item: `font-weight: 700`, thin `2px solid --color-accent` underline.
34
+
35
+ ### Inputs
36
+ `border: 1px solid --color-border`, `border-radius: 2px`, `padding: 10px 12px`, `font-size: 15px`. Focus: `border-color: --color-text-primary`, no colored ring. Placeholder: `--color-muted`.
37
+
38
+ ### Badges / Chips
39
+ `border: 1px solid --color-border`, `border-radius: 2px`, `padding: 2px 8px`, `font-size: 12px`, `font-weight: 500`, uppercase text, `letter-spacing: 0.04em`. Background `--color-surface`.
40
+
41
+ ## 5. Layout Principles
42
+ - **Grid**: 12-column, 24px gutters
43
+ - **Max width**: 1200px
44
+ - **Section padding**: 96px vertical
45
+ - **Spacing scale**: 4 / 8 / 12 / 16 / 24 / 32 / 48 / 64 / 96 / 128px
46
+ - **Whitespace philosophy**: extreme - sections breathe, content never crowds
47
+
48
+ ## 6. Depth & Elevation
49
+ - **Surface hierarchy**: Level 0 = `--color-bg`, Level 1 = `--color-surface`, Level 2 = `#EFEFEF`
50
+ - **Shadow tokens**: none for low elevation; `0 1px 3px rgba(0,0,0,0.07)` for modals only
51
+ - **Border usage**: solid 1px at every surface boundary; no decorative borders
52
+
53
+ ## 7. Do's and Don'ts
54
+ **Do:**
55
+ - Let whitespace carry weight - resist filling every gap
56
+ - Use font weight and size exclusively for hierarchy (no color contrast as a crutch)
57
+ - Keep border-radius at 0-2px; rounding softens the system's authority
58
+ - One accent color only; never mix accent colors
59
+ - Align everything to the 8px grid
60
+
61
+ **Don't:**
62
+ - Add shadows to cards or buttons - they break the flat surface logic
63
+ - Use more than two font weights on a single screen
64
+ - Use decorative icons or illustration; functional icons only
65
+ - Center large blocks of body text
66
+ - Introduce gradient fills anywhere in the UI
67
+
68
+ ## 8. Responsive Behavior
69
+ - **Mobile breakpoint**: 375px
70
+ - **Tablet breakpoint**: 768px
71
+ - **Touch targets**: minimum 44px
72
+ - **Typography scaling**: Display drops to 40px / H1 to 28px on mobile
73
+ - **Layout collapse**: 12-col → 4-col on mobile; gutters reduce to 16px; section padding reduces to 48px
74
+
75
+ ## 9. Agent Prompt Guide
76
+ Use these prompts with Claude Design or ijfw-design to stay on-system:
77
+
78
+ - **New screen**: "Build a [screen type] following the Swiss Minimal DESIGN.md. Match the color tokens and type scale exactly."
79
+ - **Component**: "Add a [component] that fits the Swiss Minimal aesthetic - reference section 4 for styling rules."
80
+ - **Variant**: "Create a [light/dark/compact] variant of this screen. Keep the same token names, adjust the values."
@@ -0,0 +1,83 @@
1
+ # Terminal Native - DESIGN.md
2
+
3
+ ## 1. Visual Theme & Atmosphere
4
+ Developer terminal aesthetic - the UI feels like it was born in a shell session and grew into a product. Monospace everywhere, dark to the bone, single neon accent cutting through the black. Information density is a feature, not a problem. Use for CLIs with web UIs, developer tools, API explorers, monitoring dashboards, and any product where the primary user has a `.zshrc` file.
5
+
6
+ ## 2. Color Palette & Roles
7
+ - `--color-bg`: #0D0D0D (page background - terminal black)
8
+ - `--color-surface`: #161616 (card/panel surface)
9
+ - `--color-surface-raised`: #1E1E1E (elevated panels, dropdowns)
10
+ - `--color-border`: #2A2A2A (dividers, input borders)
11
+ - `--color-text-primary`: #E8E8E8 (headings, primary content)
12
+ - `--color-text-secondary`: #7A7A7A (supporting text, labels, comments)
13
+ - `--color-accent`: #00FF88 (CTAs, active states, highlights - terminal green)
14
+ - `--color-accent-hover`: #00CC6E (interactive accent state)
15
+ - `--color-accent-dim`: rgba(0,255,136,0.12) (accent tint for backgrounds)
16
+ - `--color-error`: #FF4C4C (error states)
17
+ - `--color-warning`: #FFB020 (warning states)
18
+
19
+ ## 3. Typography Rules
20
+ - **Display font**: JetBrains Mono - Google Fonts - weights 400, 700, 800
21
+ - **Body font**: JetBrains Mono - Google Fonts - weight 400, 500
22
+ - **Mono font**: JetBrains Mono - everything is mono; this is the system
23
+ - **Scale**: Display 48px / H1 32px / H2 24px / H3 18px / Body 14px / Small 12px
24
+ - **Line height**: 1.65 for body / 1.2 for display
25
+ - **Letter spacing**: 0 for body / -0.01em for display
26
+ - **Font loading**: `@import url('https://fonts.googleapis.com/css2?family=JetBrains+Mono:wght@400;500;700;800&display=swap')`
27
+
28
+ ## 4. Component Stylings
29
+ ### Buttons
30
+ Primary: background `--color-accent`, `color: #000000`, `font-family: JetBrains Mono`, `font-weight: 700`, `border-radius: 3px`, `padding: 9px 18px`, `font-size: 13px`. Hover: `--color-accent-hover`. Secondary: transparent, `border: 1px solid --color-accent`, `color: --color-accent`. Both uppercase with `letter-spacing: 0.04em`.
31
+
32
+ ### Cards
33
+ Background `--color-surface`, `border: 1px solid --color-border`, `border-radius: 4px`, `padding: 20px`. Optional left accent bar: `border-left: 2px solid --color-accent`. Content uses strict monospace hierarchy.
34
+
35
+ ### Navigation
36
+ Height 48px, `border-bottom: 1px solid --color-border`, background `--color-bg`. Items in JetBrains Mono 13px. Active: `color: --color-accent`. Prompt-style separator (`>` or `$`) can precede the active item.
37
+
38
+ ### Inputs
39
+ `background: #111111`, `border: 1px solid --color-border`, `border-radius: 3px`, `padding: 9px 12px`, `font-family: JetBrains Mono`, `font-size: 13px`, `color: --color-text-primary`. Focus: `border-color: --color-accent`, `box-shadow: 0 0 0 2px --color-accent-dim`. Cursor blink effect on focus optional.
40
+
41
+ ### Badges / Chips
42
+ `background: --color-accent-dim`, `border: 1px solid rgba(0,255,136,0.25)`, `color: --color-accent`, `border-radius: 3px`, `padding: 2px 8px`, `font-size: 11px`, `font-weight: 700`, uppercase. Error variant uses `--color-error` at same opacity ratios.
43
+
44
+ ## 5. Layout Principles
45
+ - **Grid**: 12-column, 16px gutters
46
+ - **Max width**: 1280px
47
+ - **Section padding**: 48px vertical
48
+ - **Spacing scale**: 4 / 8 / 12 / 16 / 20 / 24 / 32 / 48 / 64px
49
+ - **Whitespace philosophy**: tight - every pixel used; silence is still legible
50
+
51
+ ## 6. Depth & Elevation
52
+ - **Surface hierarchy**: Level 0 = `--color-bg` (#0D0D0D), Level 1 = `--color-surface` (#161616), Level 2 = `--color-surface-raised` (#1E1E1E)
53
+ - **Shadow tokens**: low = `0 1px 3px rgba(0,0,0,0.6)`; mid = `0 4px 12px rgba(0,0,0,0.8)`; glow = `0 0 12px rgba(0,255,136,0.15)`
54
+ - **Border usage**: every surface boundary gets a 1px border; glow border optional on active/selected state
55
+
56
+ ## 7. Do's and Don'ts
57
+ **Do:**
58
+ - Use monospace for everything - mixing sans-serif breaks the terminal frame
59
+ - Use the neon accent at full saturation for interactive elements only
60
+ - Show raw data, hex values, and technical strings without sanitizing the aesthetic
61
+ - Use `--color-error` and `--color-warning` for semantic status, not decoration
62
+ - Embrace information density; pack data into compact rows
63
+
64
+ **Don't:**
65
+ - Round corners beyond 4px - terminal UIs are sharp
66
+ - Use gradients anywhere in the layout
67
+ - Add imagery or illustration; icons must be outline/stroke only
68
+ - Use the accent color as a background fill for large areas
69
+ - Lighten the background to improve "accessibility" - contrast lives in the text colors
70
+
71
+ ## 8. Responsive Behavior
72
+ - **Mobile breakpoint**: 375px
73
+ - **Tablet breakpoint**: 768px
74
+ - **Touch targets**: minimum 44px
75
+ - **Typography scaling**: Display drops to 28px / body stays 14px - monospace reads small
76
+ - **Layout collapse**: sidebar collapses to bottom drawer; grid goes single column; padding reduces to 16px
77
+
78
+ ## 9. Agent Prompt Guide
79
+ Use these prompts with Claude Design or ijfw-design to stay on-system:
80
+
81
+ - **New screen**: "Build a [screen type] following the Terminal Native DESIGN.md. Match the color tokens and type scale exactly."
82
+ - **Component**: "Add a [component] that fits the Terminal Native aesthetic - reference section 4 for styling rules."
83
+ - **Variant**: "Create a [light/dark/compact] variant of this screen. Keep the same token names, adjust the values."