Files
apex/README.md

82 lines
2.5 KiB
Markdown

# 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)
- **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](https://github.com/astral-sh/uv) (Recommended for dependency management)
- Python 3.12+
### Build
To regenerate all theme files from the source DNA (`src/*.yaml`):
```bash
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:
```bash
./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)**