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.cssfiles 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
- Tag: v0.1.32
- URL: https://github.com/Jugg-ai/Jugg-ai.jugg-ai/releases/tag/v0.1.32
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