Interfaces & Data
Interfaces
| Interface | Type |
|---|---|
generate_theme.py | CLI (Python, zero-argument batch script) |
palettes/ | Input directory (ImageMagick palette exports) |
themes/ | Output directory |
themes/vscode/apt-themes-extension/package.json | VSCode extension packaging surface |
Produces
- VSCode theme JSON files
- Notepad++ theme XML files
- JetBrains
.iclsfiles - Windows Terminal JSON files
- Alacritty TOML files
- Web design-token JSON files (
apt-<name>-tokens.json) - A VSIX-packagable VSCode extension folder
Consumes
- AptlantisLogos'
palettes/*.txtoutput directly — this is the project's entire input surface - Local filesystem paths for input/output (no configuration file or CLI flags)
Depends on
- Python 3.9+
- Node.js (optional — only needed for the
.vsixpackaging step) vsce/npx vsce(optional, packaging only)
Used by
- The operator directly
- The local VSCode extension packaging step
- Developer environments that install the generated themes for editor/terminal consistency
Pipeline position
LangThemeGenerator is the second stage of a two-project CTS pipeline: AptlantisLogos extracts a 16-color palette per logo → LangThemeGenerator turns each palette into six matching theme formats. Neither project depends on the other at the code level (no shared library, no API call) — the coupling is entirely through the shared palettes/ file format on disk, which means either project can be regenerated or replaced independently as long as that file format is preserved.