Theming & the terminal

KHAELOR's identity is khaelis: obsidian and magma. A warm ember that flows through the phase ribbon, the prompt, the panels — not another violet-cyan CLI theme.

The khaelis palette#

TokenValueUsed for
ember#FF6B35The accent: active phase, prompt, actions, panel borders.
ember-glow#FFB86BGradient top: highlights, warm success.
teal#2DD4BFThe cool counterpoint: info, paths, symbols.
bg / text#0B0E14 / #C9D1E3Cold near-black, calm foreground.
success / warning / error#7EE787 / #F0B429 / #FF5C57States — always paired with a symbol or word, never color alone.

OKLCH gradients#

The signature ember→glow ramps (wordmark, phase ribbon, active panel borders, splash sweep) are interpolated in OKLCH — perceptually uniform, so the midpoints never turn muddy the way naive RGB lerps do. Ramps are precomputed per length and cached: painting a gradient is a string concat, well inside the 16 ms frame budget.

The capability ladder#

DetectedRendering
truecolor (COLORTERM=truecolor)Full khaelis + gradients + line tints.
256 colorsPrecomputed quantization — no math at paint time.
16 colorsRole-mapped SGR codes.
mono (NO_COLOR, dumb, piped)Identity — zero escape codes. Every state keeps its symbol or word, so nothing loses meaning.

The motion doctrine#

Exactly six animations exist, each carrying meaning: the splash sweep · the phase-transition flash · the approval panel's breathing · the gauge drain on compact · post-stream code colorization · the verify strip contraction. Three hard rules:

  1. An animation is a state advanced only inside the existing render tick — zero extra timers, zero re-renders outside the 16 ms budget.
  2. Transitions ≤ 300 ms; waiting indicators ≤ 1 Hz.
  3. --motion off (and screen-reader detection) reduces everything to static states instantly. Accessibility is not negotiable.

--doctor-tui#

khaelor --doctor-tui
 doctor-tui · detected capabilities
 tty              true               stdout is a terminal
 colors           truecolor          COLORTERM=truecolor · TERM=xterm-256color
 unicode          utf-8              LANG=en_US.UTF-8
 width            142                full layout
 osc8 links       yes                TERM_PROGRAM=iTerm.app — fallback: text (url)
 osc52 clipboard  yes                fallback: copy hint hidden

 theme: khaelis (obsidian + magma) · degradation: truecolor → 256 → 16 → mono
 report display bugs with this block attached.

Every capability comes with the reason it was detected — a display bug report with this block attached is already half-diagnosed.

This site, same system#

The documentation you are reading uses the same tokens: khaelis dark by default, and a warm paper-and-ink light theme where the terminals deliberately stay obsidian — the contrast between a bright modern page and dark living terminals is the look. Toggle it in the header.