Synthpunk is a synthwave-inspired color scheme that ships as themes for multiple tools. All theme artifacts are generated from a single palette source.
palette/— source-of-truth color palette data (the only place to edit colors)generator/— TypeScript theme-generation engine (run viabun run build)themes/— generated artifacts, one subdirectory per target:vscode/— VS Code extension packagezed/— Zed extension packageneovim/— Neovim colorscheme (Lua)wezterm/— WezTerm color scheme files (TOML)starship/— Starship prompt config (TOML)
scripts/— release tooling (version bumping)tests/— cross-target tests (version lockstep)assets/— preview images for the READMEschemas/— JSON schemas for palette files
bun install # install dependencies
bun run build # regenerate all theme artifacts from palette/
bun test # run all tests
bun run check # biome lint/format + tsc typecheck
bun run format # auto-format with biome- Never edit
themes/**directly. These files are generated. Editpalette/andgenerator/, then runbun run build. CI enforces that committed artifacts match generator output. - Version lockstep. The version in
package.json,themes/vscode/package.json, andthemes/zed/extension.tomlmust always match. Usebun scripts/bump-version.ts <version>to bump all at once. The lockstep is enforced bytests/lockstep.test.ts.