Skip to content

lfg ships four palettes. Pick one with --theme=<name> at launch, or cycle live with Ctrl+T. The active theme is shown top-right of every screen, and your choice persists in ~/.config/lfg/state.json.

LFG (default)DraculaCatppuccin
lfgdraculacatppuccin

Built-in palettes

NameVibeAccent stops
lfg (default)brand — pink → violet → emerald gradientTailwind -400 for AA contrast on near-black terminals
draculathe classic darkmatches draculatheme.com
catppuccinwarm pastelsMocha variant
colorblindIBM blue / orange / magentadesigned for deuteranopia / protanopia
sh
lfg --theme=dracula
lfg --theme=catppuccin
lfg --theme=colorblind

Live cycle

Press Ctrl+T from any screen to rotate through the palettes. The TUI re-renders in place; nothing else changes. The new selection is written to state on the next idle tick, so your next launch picks up where you left off.

Why -400 accents

The default lfg palette intentionally targets the Tailwind -400 stops (pink-400 / violet-400 / emerald-400). The earlier -500 / -600 versions only scored ~3:1 contrast against near-black terminals — small 01 digits and cursor glyphs at body weight came out near-invisible. -400 lands at ~5:1 against black while still readable on white.

Adding a theme

If you want a new palette in the binary itself:

  1. Add a case to PaletteFor in internal/tui/theme.go.
  2. Add the name to the validateTheme switch in internal/cli/root.go.
  3. Add it to the welcome theme loop in internal/tui/screens_test.go so it gets snapshot coverage.
  4. Run make snap-update to generate goldens.

PR welcome — accessibility palettes especially.