Skip to content

Repository files navigation

Version 14 tokens

The source palette for the Version 14 themes. Tool repositories keep their native formats and committed generated files; this repository keeps the semantic colors and the generator that updates those files.

Generate or verify

Clone the theme repositories next to this repository, then run:

python3 generate.py --themes-root ../repos --check
python3 generate.py --themes-root ../repos --write

--check is suitable for CI. It exits non-zero when a committed theme file does not match the output produced from tokens.toml.

The generator deliberately preserves tool-specific structure and pre-blended UI colors. Those values are represented in the native theme implementations because they depend on each tool's rendering model; the shared semantic foreground, background, accent, syntax, and ANSI colors come from this file.

Theme repository template

The reusable CI workflow is available at templates/theme-repository/.github/workflows/check-tokens.yml. It checks out the current token source, runs the generator in verification mode, and runs on pushes, pull requests, token-update dispatches, manual dispatches, and weekly. On failure it identifies the stale files and prints the exact regeneration command.

To automatically rerun theme checks after a token update, configure a VERSION14_DISPATCH_TOKEN secret on this repository. It must be a fine-grained token with Contents: write access to the nine Version 14 theme repositories. The dispatch workflow emits a warning and skips reruns when this secret is not configured; it does not make token validation fail.

Variants

  • dark: the standard deep-neutral theme
  • black: pure black editor/terminal surfaces
  • light: bright neutral surfaces with dark semantic colors

The transparent Helix variant uses the dark semantic palette and only changes which UI surfaces are painted by Helix.

Intentional per-file overrides

Comment-capable theme files may declare a narrow override:

# version14-override: palette.sel_primary = "#3A3650"
sel_primary = "#3A3650"

The generator applies the override only to the named assignment and continues checking every other generated value. This is useful for tool-specific visual choices, such as a Helix selection color that intentionally follows Zed's visual treatment. An override must be explicit and must match an assignment in the same file.

Supported repositories

Atuin, gh-dash, Ghostty, Helix, Neovim, Starship, Vim, VS Code, and Zed.

License

MIT © Mathieu Souflis

About

Shared source tokens and generators for Version 14 themes

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages