# lipgloss package docs — raw colors, no role system ## Metadata | Field | Value | |---|---| | Institute | Molodetz Institute — Research & Retrieval Division | | Subject | tui-framework-design | | Document type | Source Dossier | | Tier | 1 | | Source title | lipgloss package documentation (pkg.go.dev) | | Source URL | https://pkg.go.dev/github.com/charmbracelet/lipgloss | | Source publisher / author | Charm (lipgloss project) | | Source type | vendor docs | | Source date (published) | Unknown — not stated | | Date researched | 2026-10-11 | | Researched by | tai (agent), model: Muse Spark, on behalf of retoor | | Research method | direct page fetch | | Confidence | Medium | | Status | Active | ## Summary Lipgloss's API documentation shows a styling library with deliberately no role or theme system: it offers raw colors plus `AdaptiveColor` (separate Light/Dark values, auto-detected) and `CompleteColor` (per-terminal-profile values), leaving role structs to the user. Evidence for what tai should not copy wholesale — and for deferring adaptive color. ## Key findings - No built-in theme roles: lipgloss provides color primitives and style composition; role groupings are user-defined structs. - `AdaptiveColor` carries separate Light and Dark values resolved by auto-detected terminal background; `CompleteColor` carries per-terminal-color-profile values. ## Pros / strengths - `AdaptiveColor` is the cleanest light/dark primitive surveyed: two values plus background detection, no theme machinery required. - Demonstrates that a styling layer can ship without any role system and still succeed. ## Cons / limitations / caveats - No registry, no switching, no roles — every theme-shaped need is left to the user, which is exactly the gap tai is filling. - lipgloss v2's `LightDark` successor to `AdaptiveColor` was seen in snippet only, not fetched — not claimed here. ## Relevance to tai - Shapes the palette-role conclusion by negation (tai needs the roles lipgloss omits) and by deferral (the `AdaptiveColor` idea is recorded as a later enhancement, not v1 scope). ## Changelog | Date | Change | |---|---| | 2026-10-11 | Initial dossier created from 2026-10-11 research-pass evidence (body opened via web_fetch by researching agent). |