Skip to content

Repository files navigation

Living Code [lc] mark

♊ Living Code for Gemini CLI

Calm slate. Living color.
Living Code for Gemini CLI: standalone custom theme files for conversational text, borders, status indicators and diff backgrounds.

teal #00a692 mint #52d7c1 aqua #9ae0dd steel #80b6d3 moss #8acb83 amber #f0be6d copper #e18c5f flare #e96560 orchid #bf91cd rose #ddaec3

Living Code: 4 flavors GitHub stars Open issues Last commit

Installation · Flavors · Configuration · All ports

Previews

Night
Dark · full palette

Gemini CLI running Living Code Night
Frost
Dark · softer chroma

Gemini CLI running Living Code Frost
Paper
Light · near-white slate

Gemini CLI running Living Code Paper
Signal
Dark · teal accent

Gemini CLI running Living Code Signal

Select any preview to view the image at full size.

Installation

flavor=night # night, frost, paper, or signal
curl -fsSL --create-dirs -o "$HOME/.gemini/themes/living-code-$flavor.json" "https://raw.githubusercontent.com/living-code-theme/gemini-cli/main/themes/living-code-$flavor.json"
printf "%s\n" "$HOME/.gemini/themes/living-code-$flavor.json"

Copy the printed absolute path into ui.theme in your existing ~/.gemini/settings.json, preserving other settings. For example:

{
  "ui": {
    "theme": "/home/you/.gemini/themes/living-code-night.json"
  }
}

Replace /home/you with your home directory and restart Gemini CLI. The theme file must stay inside your home directory.

Flavors

Expand a flavor for its full-size preview and activation instructions.

Night · Dark · full palette

Gemini CLI running Living Code Night

Set ui.theme to the absolute path of ~/.gemini/themes/living-code-night.json in your settings, then restart Gemini CLI.

Frost · Dark · softer chroma

Gemini CLI running Living Code Frost

Set ui.theme to the absolute path of ~/.gemini/themes/living-code-frost.json in your settings, then restart Gemini CLI.

Paper · Light · near-white slate

Gemini CLI running Living Code Paper

Set ui.theme to the absolute path of ~/.gemini/themes/living-code-paper.json in your settings, then restart Gemini CLI.

Signal · Dark · teal accent

Gemini CLI running Living Code Signal

Set ui.theme to the absolute path of ~/.gemini/themes/living-code-signal.json in your settings, then restart Gemini CLI.

Configuration

The distributable files are standalone type: "custom" theme documents, not full settings files. As an alternative, insert a document into ui.customThemes using its name as the object key, then select it by name. A path selected through ui.theme must be removed before changing themes with /theme.

Compatibility

Uses the documented standalone-file custom theme API. Gemini CLI permits theme paths only within the home directory: do not point it at a clone under /tmp or a system-wide location. Text, background, diff, border, status and UI groups are provided; code highlighting follows Gemini CLI’s derived theme behavior. Tests validate the nested format, not provider access or model output.

Syntax limitation (Gemini CLI 0.47.0): custom themes derive highlight.js colors from shared UI accents. Keywords/literals share an accent, numbers/classes share another, and function titles/parameters use the main foreground; independent syntax-role overrides are not supported. These couplings cannot reproduce Neovim’s separate keyword, constant, number, type, function and parameter roles. Exact parity needs an upstream syntax-theme API; screenshots retain Gemini CLI’s genuine native rendering.

Previews are captured programmatically from the actual application in an isolated profile. See capture/app.py for the app-owned recipe and images/capture.json for runtime, palette and image provenance. No mock interface is drawn. The conversation is a labeled, repository-owned local demo, not a private session or a live model response. Recapturing needs no account, subscription or paid API call.

Contributing

Found a problem? Open an issue with the app version, the flavor and a screenshot. Want Living Code somewhere else? Request a port.

Pull requests are welcome. Keep this README, port.json and images/ in sync, and use real screenshots of the app, never mockups.

🦎 One chameleon, many habitats. Part of Living Code.

License

MIT license

© Elliot Luque

Releases

Packages

Used by

Contributors

Languages