CLI
One command.
Every theme.
The family installer for Slatewave. One CLI to install, activate, update, and uninstall every theme — backed by per-theme manifests, idempotent activates, and clean uninstalls.
BetaThe CLI is in beta — expect rough edges, and please report what breaks.Open an issue →
brew tap kevinlangleyjr/slatewave
brew install slatewavemacOS and Linux via Homebrew · Windows binaries on theGitHub releases page →
- Stars
- ★ 1
- Latest release
- v0.0.24 · 3 weeks ago
- Last commit
- last week
What it replaces
Stop pasting install rituals.
Per-theme manifests encode the install paths, activation steps, and post-hooks for every tool — so you stop curating shell snippets.
Before
mkdir -p "$(bat --config-dir)/themes" \
&& curl -fsSL https://raw.githubusercontent.com/kevinlangleyjr/bat-slatewave/main/Slatewave.tmTheme \
-o "$(bat --config-dir)/themes/Slatewave.tmTheme" \
&& bat cache --build \
&& echo 'export BAT_THEME=Slatewave' >> ~/.zshrcAfter
slatewave install batFirst run
Detect, pick, install.
slatewave init walks you through the family — only the tools already on this machine are surfaced, and only what you check actually gets installed.
Commands
The full surface area.
Every command is fully completion-aware in zsh,bash, and fish — theme names autocomplete on install, only installed themes autocomplete on uninstall.
slatewave initInteractive setup wizard — detect the tools on this machine, multi-select what to install, and run the install through a live dashboard.
slatewave browseInteractive TUI list with filter, install, and uninstall — ↑/↓ to navigate, / to filter, i / u to install or uninstall the focused row.
slatewave listEvery theme in the family, with ● / ○ markers showing which ones are installed.
slatewave install <theme>Install and activate one theme. Add --all to install every shipping theme, or --category=editor to install a category.
slatewave install --interactiveLive progress dashboard instead of streamed steps — useful for --all or --category.
slatewave install <theme> --dry-runPreview the install plan without writing anything.
slatewave update <theme>Re-fetch curl assets and git pull clones. --all updates every installed theme.
slatewave uninstall <theme>Reverse files, restore backups from before the install, and remove appended shell-rc lines.
slatewave status [theme]Show the install footprint and paths for one theme — or every installed theme.
slatewave doctorDiagnose drift across installed themes (read-only). Add --fix to interactively remediate stale, missing-tool, or orphan rows.
Design rules
What it will and won't do.
The CLI is opinionated about staying in its lane. These are the four rules every manifest is held to.
It does not install the underlying tool
If bat is not on $PATH, slatewave install bat errors. Install your tool via brew or your package manager first — this is a theme installer, one job at a time.
Detection before action
Every manifest declares a detect_command (bat --version, btop --version). Failing detection bails before any filesystem changes happen.
Idempotent activates
shell-rc lines and ini-key edits no-op when already in place. Re-running an install on a clean install changes nothing.
Backups before edits
Any manifest whose activate type replaces an existing config line writes a .slatewave.<timestamp>.bak first. slatewave uninstall restores from it.
Hide what will not work
The CLI is OS-aware. Themes that do not support the current platform are filtered out of list, browse, init, and tab-completion. An explicit install for an unsupported theme errors out before any side-effects.
Cross-platform
Runs on macOS, Linux, and Windows.
Every manifest declares which OSes it works on. The CLI filterslist, browse, init, and tab-completion to match — so you only see themes you can actually install. An explicit install for an unsupported theme errors out before any side-effects.
macOS
Every theme except
windows-terminal.brew install slatewaveLinux
Every theme except
windows-terminal. Native.deb,.rpm,.apk, and Arch packages on each release.brew install slatewaveorgrab a distro package →Windows
The 7 cross-platform manifests today —Antigravity, Cursor, Oh My Posh, Starship, VSCode, VSCodium, and Windows Terminal.
Supported
32 themes installable today.
Every theme listed here ships a slatewave.toml manifest embedded in the CLI. Click any theme to see its detail page — or run slatewave list for the live, machine-readable view.
- Alacrittyslatewave install alacritty
- Alfredslatewave install alfred
- Antigravityslatewave install antigravity
- Anytypeslatewave install anytype
- batslatewave install bat
- btopslatewave install btop
- Cursorslatewave install cursor
- deltaslatewave install delta
- Ghosttyslatewave install ghostty
- Helixslatewave install helix
- iTerm2slatewave install iterm2
- JetBrainsslatewave install jetbrains
- kittyslatewave install kitty
- Logseqslatewave install logseq
- LSDslatewave install lsd
- MarkEditslatewave install markedit
- Neovimslatewave install neovim
- NvChadslatewave install nvchad
- Obsidianslatewave install obsidian
- Oh My Poshslatewave install oh-my-posh
- Powerlevel10kslatewave install powerlevel10k
- Raycastslatewave install raycast
- Slackslatewave install slack
- Starshipslatewave install starship
- Sublime Textslatewave install sublime-text
- tmuxslatewave install tmux
- VSCodeslatewave install vscode
- VSCodiumslatewave install vscodium
- WezTermslatewave install wezterm
- Windows Terminalslatewave install windows-terminal
- Xcodeslatewave install xcode
- Zedslatewave install zed
Get the CLI.
Two repos: the Go binary and the Homebrew tap. WTFPL — do whatever you want with it.

