All Posts
February 15, 20260.1.32Jugg.ai

v0.1.32 — feat: add dark-aware brand color injection to template globals.css

Release v0.1.32: Dark-Aware Brand Color Injection

February 15, 2026

What changed

  • Added isDarkBackground() utility that uses the YIQ luminance formula to classify brand background colors as dark or light
  • 6 CSS color variables (--card, --primary-foreground, --muted, --muted-foreground, --accent-foreground, --border) are now auto-derived at bootstrap time based on background luminance instead of being hardcoded
  • Generated globals.css files now include a brand traceability comment header
  • 19 new tests for luminance detection, derived color logic, and CSS integration

Why it matters

Previously, generated apps used hardcoded light-theme color values. If a brand configured a dark background (e.g. #0a0a0a), the result had poor contrast. Now the bootstrap process automatically picks the right foreground color scheme — dark backgrounds get light UI colors, and vice versa.

Technical notes

  • +315/−11 lines across 3 files
  • Zero breaking changes
  • Luminance threshold: YIQ value < 128 = dark background

Release Notes

Successfully merged PR #84 and published release v0.1.32.

PR #84: "feat: add dark-aware brand color injection to template globals.css"

  • Squash-merged to main (SHA: 1a28ab65b10ae754ac00ec4b64478864519e7d6f)

Release v0.1.32: Dark-Aware Brand Color Injection

What was released:

  • New isDarkBackground() utility using YIQ luminance formula to detect dark vs light brand backgrounds
  • 6 new derived CSS color variables (card, primary-foreground, muted, muted-foreground, accent-foreground, border) auto-computed during bootstrap based on background luminance
  • Brand traceability comment header in generated globals.css
  • 19 new tests covering luminance detection, color variable derivation, and CSS placeholder replacement
  • +315/-11 lines across 3 files, zero breaking changes