# pi-themes

A collection of major color themes for [pi](https://github.com/badlogic/pi-mono), the coding agent — packaged as a **pi extension** that also ships a `/theme` command and `Ctrl+Shift+T` shortcut to switch themes interactively.

## Themes

| Theme | Style | Palette |
|---|---|---|
| `catppuccin-mocha` | Dark | [Catppuccin Mocha](https://catppuccin.com) |
| `catppuccin-latte` | Light | [Catppuccin Latte](https://catppuccin.com) |
| `tokyo-night` | Dark | [Tokyo Night](https://github.com/enkia/tokyo-night-vscode-theme) |
| `gruvbox-dark` | Dark | [Gruvbox](https://github.com/morhetz/gruvbox) |
| `gruvbox-light` | Light | [Gruvbox](https://github.com/morhetz/gruvbox) |
| `nord` | Dark | [Nord](https://www.nordtheme.com) |
| `dracula` | Dark | [Dracula](https://draculatheme.com) |
| `solarized-dark` | Dark | [Solarized](https://ethanschoonover.com/solarized/) |
| `solarized-light` | Light | [Solarized](https://ethanschoonover.com/solarized/) |
| `one-dark` | Dark | [Atom One Dark](https://github.com/atom/atom/tree/master/packages/one-dark-ui) |

## Extension Features

| Feature | How |
|---|---|
| Interactive theme selector | `/theme` |
| Switch directly by name | `/theme tokyo-night` |
| Cycle through all themes | `Ctrl+Shift+T` |
| Active theme in footer | Status indicator |
| Tab-complete theme names | `/theme <tab>` |

## Installation

### Option A — Local package (recommended)

Add to your project's `.pi/settings.json`:

```json
{
  "packages": ["./pi-themes"]
}
```

Or to the global `~/.pi/agent/settings.json` (all projects):

```json
{
  "packages": ["/absolute/path/to/pi-themes"]
}
```

### Option B — Try without installing

```bash
pi -e ./pi-themes/index.ts
```

This loads the extension but **not** the theme JSON files. Copy the themes manually first (see Option C below) if you want the bundled themes available.

### Option C — Themes only (no extension)

Copy just the JSON files to a themes directory pi already watches:

```bash
# Global
cp pi-themes/themes/*.json ~/.pi/agent/themes/

# Project-local
mkdir -p .pi/themes
cp pi-themes/themes/*.json .pi/themes/
```

Then select a theme via `/settings`.

## Selecting a Theme

Once installed, use the `/theme` command or select via `/settings`:

```json
{
  "theme": "catppuccin-mocha"
}
```

## Requirements

Pi requires a **truecolor** terminal (24-bit RGB). Check with:

```bash
echo $COLORTERM  # should output "truecolor" or "24bit"
```

Works great with: iTerm2, WezTerm, Kitty, Ghostty, Windows Terminal, VS Code terminal.
