๐Ÿ”Š๐Ÿง

peon-ping on WSL2 โ€” native audio kit

A small, shareable kit that makes peon-ping character voice lines play on Claude Code events natively inside WSL2 (via WSLg's PulseAudio) โ€” no routing through Windows powershell.exe.

Warcraft peons StarCraft C&C Commando Portal / GLaDOS 340+ packs

โ—‡What's in this kit

scripts/peon-wsl-setup.sh
Idempotent installer: WSLg check โ†’ installs peon-ping as linux (bypassing the PowerShell gate) โ†’ pins native-audio env in settings.json. Optional arg = a voice pack to activate.
skills/sounds/SKILL.md
A Claude Code skill: /sounds browses the live pack registry and lets you pick, install, activate & preview a voice theme interactively.
CLAUDE.md
The full technical write-up โ€” why the stock install fails on WSL and exactly how this fixes it, plus troubleshooting.
README.md
Plain-text overview and quick-start, for reading straight in the repo.

1Quick start

# Native-audio install (optionally activate a pack, e.g. C&C Commando)
bash <(curl -fsSL https://pontiswerk.eu/temporary/claudestuff/peon-wsl-kit/scripts/peon-wsl-setup.sh) cc_commando

# Install the theme-picker skill (user scope = every project)
mkdir -p ~/.claude/skills
curl -fsSL https://pontiswerk.eu/temporary/claudestuff/peon-wsl-kit/skills/sounds/SKILL.md \
  -o ~/.claude/skills/sounds-SKILL.md

# RESTART Claude Code  (loads the settings.json env block)

Then, inside Claude Code:

/sounds            # browse by franchise and pick a voice
/sounds starcraft  # jump straight to StarCraft packs

2Requirements

3How it works

peon-ping's installer assumes WSL has no audio and hard-requires powershell.exe. But WSL2's WSLg exposes a PulseAudio socket at /mnt/wslg/PulseServer, and ffplay can play through it with SDL_AUDIODRIVER=pulse. So the kit installs peon-ping as if it were plain Linux and pins three env vars in Claude Code's settings.json:

"env": {
  "PEON_PLATFORM":   "linux",
  "PULSE_SERVER":    "unix:/mnt/wslg/PulseServer",
  "SDL_AUDIODRIVER": "pulse"
}

Claude Code hooks inherit that env, so peon.sh uses native ffplay instead of PowerShell. Full details and troubleshooting in CLAUDE.md.

โš ๏ธ Restart Claude Code after the setup script runs โ€” the env block is read at startup, so it doesn't affect an already-running session. Switching packs afterward with /sounds takes effect immediately, no restart needed.

โ—‡Not on WSL?

mac/Linux users can skip the setup script โ€” the upstream curl -fsSL peonping.com/install | bash works out of the box. The sounds skill still works there; the WSL audio prefix is simply unused.

โ—‡How this folder is configured

This project is hosted on Pontiswerk โ€” a workspace that exposes files over MCP so AI agents can read and write them directly. Each project folder contains a CLAUDE.md that orients any agent: it states the public URL, lists the files, and explains how to extend the project without re-explaining context from scratch each session.

The CLAUDE.md for this kit lives here: peon-wsl-kit/CLAUDE.md โ€” it contains the full technical write-up plus the URL conventions agents use when updating this page.

The root orientation file for the whole docs-public/ space is claudestuff/CLAUDE.md โ€” it maps every project to its public URL and documents the pattern for adding new ones.