Skip to content
living-code-themePublic

Repository files navigation

Living Code [lc] mark

🤖 Living Code for Codex

Calm slate. Living color.
Living Code for the Codex CLI: native TextMate syntax themes with coordinated Markdown, selections and added/removed 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

Codex running Living Code Night
Frost
Dark · softer chroma

Codex running Living Code Frost
Paper
Light · near-white slate

Codex running Living Code Paper
Signal
Dark · teal accent

Codex 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 "${CODEX_HOME:-$HOME/.codex}/themes/living-code-$flavor.tmTheme" "https://raw.githubusercontent.com/living-code-theme/codex/main/themes/living-code-$flavor.tmTheme"
codex -c "tui.theme=\"living-code-$flavor\""

You can also choose the downloaded flavor with /theme in the Codex TUI. The picker persists your selection. Existing config.toml settings are preserved.

Flavors

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

Night · Dark · full palette

Codex running Living Code Night

codex -c 'tui.theme="living-code-night"'
Frost · Dark · softer chroma

Codex running Living Code Frost

codex -c 'tui.theme="living-code-frost"'
Paper · Light · near-white slate

Codex running Living Code Paper

codex -c 'tui.theme="living-code-paper"'
Signal · Dark · teal accent

Codex running Living Code Signal

codex -c 'tui.theme="living-code-signal"'

Configuration

To persist a choice manually, merge theme = "living-code-night" into the existing [tui] table of ${CODEX_HOME:-~/.codex}/config.toml. The setting uses the filename stem, not the display name or .tmTheme extension. Each theme specifies both markup.inserted and markup.deleted backgrounds so Codex does not fall back to unrelated diff tints.

Syntax scopes follow the Living Code Neovim role mappings in every flavor, including distinct operators, punctuation, parameters, properties and literal constants. Tests compare the shipped TextMate scopes to a pinned Neovim reference. Syntect’s grammar still determines which tokens it can recognize.

Compatibility

For Codex CLI versions with custom .tmTheme loading and the /theme picker. The theme is for the terminal CLI, not the Codex desktop app or VS Code extension. Codex deliberately preserves the host terminal background for ordinary code spans; pair the port with a matching Living Code terminal theme. Theme parsing and syntax scopes are tested; this does not assert that every Codex UI element is themeable.

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