Skip to content

Add Catppuccin built-in app theme (Latte light, Mocha dark)#285

Merged
SawyerHood merged 1 commit into
mainfrom
bb/add-catppuccin-built-in-theme-thr_tsysn3iqgn
Jun 20, 2026
Merged

Add Catppuccin built-in app theme (Latte light, Mocha dark)#285
SawyerHood merged 1 commit into
mainfrom
bb/add-catppuccin-built-in-theme-thr_tsysn3iqgn

Conversation

@SawyerHood

Copy link
Copy Markdown
Collaborator

Summary

Adds Catppuccin as a new built-in app theme alongside the existing built-ins (default, nord, dracula, solarized, gruvbox).

  • Light mode = Catppuccin Latte, dark mode = Mocha, accent = Mauve.
  • Uses the official Catppuccin hexes and per-flavor ANSI terminal palettes.
  • Unlike Nord (whose terminal colors are mode-independent), Latte and Mocha have different ANSI colors, so the --ansi-* / --ansi-bg-fg-* definitions live in both the light and dark selectors rather than being collapsed into one block.

Changes

Three core integration points:

  • New apps/app/src/lib/themes/catppuccin.ts — exports catppuccinThemeCss (mirrors nord.ts).
  • apps/app/src/lib/themes/index.ts — registers catppuccin in the builtInThemeCss record.
  • packages/domain/src/app-theme.ts — adds "catppuccin" to appThemeIdSchema and a builtInThemes metadata entry.

The Settings picker (SettingsView.tsx), the SDK (theme.ts), and the bb theme CLI command all iterate over builtInThemes / BUILTIN_THEME_IDS, so they pick up the new theme automatically — confirmed, no changes needed.

Manual wiring beyond the three core files: two bb-cli skill docs (SKILL.md, references/theming.md) enumerate the built-in id list by hand in their bb theme set <id> docs, so catppuccin was appended to each.

Tests

  • pnpm exec turbo run typecheck --filter=@bb/domain --filter=@bb/app — ✅ 2/2 passed. (The Record<Exclude<AppThemeId, "custom">, string> in index.ts now requires the catppuccin key, confirming the wiring.)
  • pnpm exec turbo run test --filter=@bb/server -- appearance — ✅ 5/5 passed.

Risks

Low. Additive only — adds one palette and its metadata; no existing themes or behavior change.

🤖 Generated with Claude Code

New built-in palette alongside default/nord/dracula/solarized/gruvbox.
Light mode uses Catppuccin Latte, dark uses Mocha, accent is Mauve.
Unlike Nord, Latte and Mocha have different terminal colors, so the
--ansi-* / --ansi-bg-fg-* blocks live in both the light and dark
selectors rather than being shared.

Wired through the three integration points: the theme CSS file, the
builtInThemeCss registry, and the domain schema + builtInThemes
metadata. The Settings picker, SDK, and `bb theme` CLI all iterate
builtInThemes and pick it up automatically. Also updated the bb-cli
skill docs that enumerate the built-in id list manually.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
@SawyerHood SawyerHood merged commit c75af63 into main Jun 20, 2026
6 checks passed
@SawyerHood SawyerHood deleted the bb/add-catppuccin-built-in-theme-thr_tsysn3iqgn branch June 20, 2026 17:17
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant