Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
1 change: 1 addition & 0 deletions .gitignore
Original file line number Diff line number Diff line change
@@ -1,4 +1,5 @@
.DS_Store
.claude/settings.local.json
.superpowers
.brainstorming
.worktrees
Expand Down
32 changes: 31 additions & 1 deletion README.md
Original file line number Diff line number Diff line change
@@ -1,8 +1,38 @@
<p align="center">
<img src="assets/icon.png" alt="Synthpunk icon" width="128" />
</p>

# Synthpunk

High-energy synthwave-inspired color themes for VS Code, Zed, Neovim, WezTerm, and Starship. Four variants: Pastel Dark/Light and Neon Dark/Light.

![Synthpunk Pastel Dark](assets/pastel-dark.png)
![Synthpunk — the same code across all four variants](assets/hero.png)

## Preview

Syntax highlighting shown in the **Neon Dark** variant:

### React

![Synthpunk Neon Dark — React/TSX](assets/sample-react.png)

### Python

![Synthpunk Neon Dark — Python](assets/sample-python.png)

### Rust

![Synthpunk Neon Dark — Rust](assets/sample-rust.png)

### C#

![Synthpunk Neon Dark — C#](assets/sample-csharp.png)

### Markdown

![Synthpunk Neon Dark — Markdown](assets/sample-markdown.png)

Full palette swatches for every variant: [Pastel Dark](assets/palette-preview-dark.png) · [Pastel Light](assets/palette-preview-light.png) · [Neon Dark](assets/palette-preview-neon-dark.png) · [Neon Light](assets/palette-preview-neon-light.png). Preview images are generated by [`assets/generate/`](assets/generate/).

## Installation

Expand Down
40 changes: 40 additions & 0 deletions assets/generate/README.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,40 @@
# Preview image generator

Generates the marketing images used by the top-level [`README.md`](../../README.md):

| Output (`assets/`) | What it is |
| -------------------- | ----------------------------------------------------------------- |
| `icon.png` | Angular-synthwave neon icon (1024×1024) |
| `hero.png` | The same snippet rendered across all four variants (2×2 grid) |
| `sample-react.png` | React/TSX preview, Neon Dark |
| `sample-python.png` | Python preview, Neon Dark |
| `sample-rust.png` | Rust preview, Neon Dark |
| `sample-csharp.png` | C# preview, Neon Dark |
| `sample-markdown.png`| Markdown preview, Neon Dark |

Highlighting is done with [shiki](https://shiki.style) loaded with the repo's own
generated VS Code themes (`themes/vscode/themes/*.json`), so the colors match the
editor exactly. The highlighted HTML is screenshotted with the system Chrome via
`puppeteer-core`.

## Regenerate

Run after changing palette colors (and rebuilding the VS Code themes with
`bun run build` from the repo root):

```sh
cd assets/generate
bun install
bun run generate # or: bun run generate.ts
```

Requires a Chromium-based browser. The script auto-detects Google Chrome, Chromium,
and Edge in the usual macOS/Linux locations; set `CHROME_PATH` to override:

```sh
CHROME_PATH="/path/to/chrome" bun run generate
```

The code shown in each image lives in [`snippets/`](snippets/) — edit those files to
change the sample code. This directory is excluded from the repo's `tsc`/biome checks
(see `tsconfig.json` and `biome.json`); its `node_modules/` is git-ignored.
156 changes: 156 additions & 0 deletions assets/generate/bun.lock

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

Loading
Loading