Skip to main content

Interfaces & Data

Interfaces

InterfaceType
generate_theme.pyCLI (Python, zero-argument batch script)
palettes/Input directory (ImageMagick palette exports)
themes/Output directory
themes/vscode/apt-themes-extension/package.jsonVSCode extension packaging surface

Produces

  • VSCode theme JSON files
  • Notepad++ theme XML files
  • JetBrains .icls files
  • 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/*.txt output 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 .vsix packaging 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.