Pi with extra toppings โ an opinionated Pi setup, packaged as a set of extensions.
curl -fsSL https://raw.githubusercontent.com/johnnygreco/pizza/main/install.sh | bashRequires Node.js >= 20.6 and Pi. Installs to ~/.pizza.
Each Pizza release declares the Pi range it supports. The installer enforces that
range, and Pizza warns at session start if Pi is later upgraded past it.
# Pin a specific version
curl -fsSL .../install.sh | bash -s -- --version 0.2.0
# Uninstall
curl -fsSL .../install.sh | bash -s -- --uninstallSet PIZZA_HOME to change the install directory.
/loop โ Run the agent in a loop until a condition is met.
/loop tests # loop until tests pass
/loop custom <cond> # loop until your condition is met
/loop self # agent decides when it's done
/context โ See context window usage, loaded skills, and session cost.
/todos โ File-based task management with distributed locking. Interactive TUI for creating, searching, and claiming tasks across sessions.
--session-control โ Inter-session messaging via Unix sockets.
pi --session-control
pi --control-session mybot --send-session-message "status update?"/agents, /run, /chain, /parallel โ Subagent delegation with async support, chains, and parallel execution.
/pizza โ Pizza version, Pi compatibility, model, cwd, active theme, and context at a glance.
/pizza resourcesโ expand/collapse the resources section of the banner.
/theme โ Pick a theme interactively, or /theme <name> to switch directly. Pizza's palette follows Pi's active theme.
Ctrl+Xโ cycle theme forwardCtrl+Qโ cycle theme backward
/loop, /context, /todos, and --session-control are from mitsuhiko/agent-stuff. Subagents are from nicobailon/pi-subagents.
npm install # dev deps (includes pi-coding-agent for types)
make setup # clone vendored subagents/ for local iteration (optional)
npm run typecheck
npm test # vitest
make test-install # install.sh smoke tests
make test-all # vitest + install smoke testsTest a single extension:
pi -e ./extensions/pizza-ui.tsTest the full package locally:
pi install .See AGENTS.md for architecture notes and the Pi extension docs for writing your own extensions.
make release VERSION=0.2.0Apache 2.0