s0wlz (Matthias Puchstein) e65eb8f6a4 feat: canonicalize syntax roles + theme zsh plugins
Add authoritative `syntax:` block to both YAML specs mapping keyword,
type, function, string, constant, operator, variable, comment, and
punctuation to their semantic palette colors. Align nvim and Zed
templates to this canonical mapping (keyword=purple, type=amber,
number/bool/constant=cyan, operator=white). Fix nvim Special/SpecialChar/
Tag (were cyan; now purple/amber/blue respectively).

Add plugin color variables to zsh template: ZSH_AUTOSUGGEST uses dim
grey for ghost text; HISTORY_SUBSTRING_SEARCH uses cyan for found and
bright-red for not-found, matching the semantic palette signal system.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-03-11 00:43:52 +01:00
2025-12-31 06:22:01 +01:00
2025-12-31 07:36:00 +01:00

Apex Theme System

"State over Decoration."

Apex is a semantic theme system designed for high-performance focus and clinical clarity. It moves away from purely aesthetic color choices, treating color as a functional tool to communicate system state, urgency, and user intent.

The system consists of two primary canvases:

  • Apex Neon: A high-contrast dark theme for low-light focus.
  • Apex Aeon: A clinical, high-clarity light theme for daylight precision.

Supported Platforms

The factory currently generates native themes for:

  • Neovim (Lua)
  • Zed (JSON extension)
  • Alacritty (TOML)
  • Kitty (Conf)
  • WezTerm (TOML)
  • Ghostty (Theme)
  • Zsh (Theme with Radar/AAR)
  • Gemini CLI (JSON)
  • GTK4 / Libadwaita (CSS)
  • Hyprland (Conf)
  • Fuzzel (INI)
  • Waybar (CSS variables)
  • Zathura (Config)
  • Btop (Theme)
  • SwayNC (CSS)

The Apex DNA

Apex is built on a unified semantic discipline where every color has a specific role:

  • Red is the Predator: Reserved for active intent, the cursor, current location, and critical errors. It signals "Live Fire."
  • Cyan is Informational: Used for technical data, links, and neutral highlights.
  • Purple is Sacred: Reserved for root access, special modes, or exceptional system states.
  • Contrast is King: Non-negotiable rules for readability (e.g., Black text on Red backgrounds).

Development & Building

This project uses a custom build engine written in Python with Jinja2 templates.

Prerequisites

  • uv (Recommended for dependency management)
  • Python 3.12+

Build

To regenerate all theme files from the source DNA (src/*.yaml):

uv run build.py

Artifacts are output to the dist/ directory, organized by application.

Releases

Per-app releases are automated via scripts/release.sh. The script only bumps app versions when relevant files changed since the last <app>-vX.Y.Z tag, then rebuilds, creates per-app tarballs, and publishes Gitea releases.

Example:

./scripts/release.sh 1.0.2 --notes-dir release-notes

Notes:

  • Use release-notes/<app>.md or release-notes/common.md for release notes.
  • Requires a working tea login and push access to the repo.

Project Structure

  • src/: Source YAML definitions containing the "DNA" of the themes.
  • templates/: Jinja2 templates for each supported application.
  • dist/: Compiled theme files ready for deployment.
  • GEMINI.md: AI Context & Source of Truth.
  • apex-neon.md / apex-aeon.md: Detailed specifications.

Authors

  • S0wlz (Owlibou)
Description
An apex theme fitting for owls.
Readme 1.5 MiB
Languages
Jinja 85.7%
Shell 5.7%
Lua 4.7%
Python 3.9%