# wow-pi A small extension pack for the [pi](https://github.com/earendil-works/pi) coding agent. ## Install for local development ```bash bun install pi install ``` Or test once: ```bash pi -e ``` ## Configuration wow-pi reads JSON or YAML config from both global and project locations, in order: 1. `~/.pi/agent/wow.json`, `~/.pi/agent/wow.yaml`, `~/.pi/agent/wow.yml` 2. `/.pi/wow.json`, `/.pi/wow.yaml`, `/.pi/wow.yml` Project config extends global config. Array fields are merged and de-duplicated; object fields are shallow-merged. For `statusline`, the supported public shape is intentionally minimal: `true`, `false`, or `{ enabled: boolean }`. See `wow.example.yaml` for an example. ## Packages This repo is organized as a workspace monorepo: - `packages/wow-core`: shared config, module registry, logger, UI helpers, and `${protocol:value}` resolvers. - `packages/wow-contexts`: self-registering Markdown context injector with `/wow:contexts:list`, `/wow:contexts:reload`, and `/wow:init`. - `packages/wow-inject`: self-registering env loader that reads `.env` files and resolves `${file:...}` / `${env:...}` into `process.env`. - `packages/wow-pi`: pi extension entry point; imports feature packages for side-effect registration, then runs registered modules. - `packages/wow-statusline`: customized statusline/footer module built on pi's supported UI APIs. Logs are written to `~/.pi/agent/wow/logs/`.