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.
Beta The CLI is in beta — expect rough edges, and please report what breaks. Open an issue →
brew tap kevinlangleyjr/slatewave
brew install slatewave macOS and Linux via Homebrew · Windows binaries on the GitHub releases page →
- Stars
- ★ 1
- Latest release
- v0.0.23 · 2 weeks ago
- Last commit
- 4 days ago
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' >> ~/.zshrc After
slatewave install bat First 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 filters
list, 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 slatewave -
Linux
Every theme except
windows-terminal. Native.deb,.rpm,.apk, and Arch packages on each release.brew install slatewaveor grab a distro package → -
Windows
The 7 cross-platform manifests today — Antigravity , Cursor , Oh My Posh , Starship , VSCode , VSCodium , and Windows Terminal .
Supported
31 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.
- Alacritty slatewave install alacritty
- Alfred slatewave install alfred
- Antigravity slatewave install antigravity
- Anytype slatewave install anytype
- bat slatewave install bat
- btop slatewave install btop
- Cursor slatewave install cursor
- delta slatewave install delta
- Ghostty slatewave install ghostty
- Helix slatewave install helix
- iTerm2 slatewave install iterm2
- JetBrains slatewave install jetbrains
- kitty slatewave install kitty
- Logseq slatewave install logseq
- LSD slatewave install lsd
- MarkEdit slatewave install markedit
- Neovim slatewave install neovim
- Obsidian slatewave install obsidian
- Oh My Posh slatewave install oh-my-posh
- Powerlevel10k slatewave install powerlevel10k
- Raycast slatewave install raycast
- Slack slatewave install slack
- Starship slatewave install starship
- Sublime Text slatewave install sublime-text
- tmux slatewave install tmux
- VSCode slatewave install vscode
- VSCodium slatewave install vscodium
- WezTerm slatewave install wezterm
- Windows Terminal slatewave install windows-terminal
- Xcode slatewave install xcode
- Zed slatewave install zed
Get the CLI.
Two repos: the Go binary and the Homebrew tap. WTFPL — do whatever you want with it.