# CarlosGtrz Pi Extensions

A collection of simple [pi](https://github.com/earendil-works/pi) extensions I created for personal use.

Current releases require Pi 0.80.10 or newer, except `@carlosgtrz/pi-codex-aliases` 0.3.0+, which requires Pi 0.81.0+ for native complete-provider registration. Pi 0.80 users can pin `@carlosgtrz/pi-codex-aliases@0.2.0`.

Older Pi installations must pin the last compatible package version explicitly; npm does not select it automatically.

| Package | Last pre-0.80 version |
| --- | ---: |
| `@carlosgtrz/pi-ansi-tools` | `0.1.2` |
| `@carlosgtrz/pi-codex-aliases` | `0.1.8` |
| `@carlosgtrz/pi-project-model` | `0.1.0` |
| `@carlosgtrz/pi-run-timer` | `0.1.4` |
| `@carlosgtrz/pi-terminal-bell` | `0.1.1` |

For example: `pi install npm:@carlosgtrz/pi-codex-aliases@0.2.0` for Pi 0.80, or `pi install npm:@carlosgtrz/pi-codex-aliases@0.1.8` for older Pi releases.

## Packages

| Package | Description | Install |
| --- | --- | --- |
| [`@carlosgtrz/pi-codex-aliases`](./packages/codex-aliases/README.md) | Adds `openai-codex-work` and `openai-codex-personal` provider frontends for Pi's built-in OpenAI Codex provider, so you can quickly switch accounts without logging in and out.<br><br><img src="./packages/codex-aliases/images/screenshot.png" alt="Codex aliases screenshot" width="600"> | `pi install npm:@carlosgtrz/pi-codex-aliases` |
| [`@carlosgtrz/pi-ansi-tools`](./packages/ansi-tools/README.md) | Adds ANSI-aware `read_ansi`, `write_ansi`, and `edit_ansi` frontends for built-in tools to edit legacy source files. | `pi install npm:@carlosgtrz/pi-ansi-tools` |
| [`@carlosgtrz/pi-terminal-bell`](./packages/terminal-bell/README.md) | Rings the terminal bell when an agent run finishes after a configurable timeout. | `pi install npm:@carlosgtrz/pi-terminal-bell` |
| [`@carlosgtrz/pi-run-timer`](./packages/run-timer/README.md) | Shows elapsed, previous, and longest agent run times in the footer.<br><br><img src="./packages/run-timer/images/screenshot.png" alt="Run timer screenshot" width="600"> | `pi install npm:@carlosgtrz/pi-run-timer` |
| [`@carlosgtrz/pi-project-model`](./packages/project-model/README.md) | Adds `/project-model` to save or remove project-local provider/model/thinking defaults in `.pi/settings.json`, and reports local overrides on startup. | `pi install npm:@carlosgtrz/pi-project-model` |

## Development

```bash
npm install
npm run check
npm test
```

Each package declares a `pi` manifest in its `package.json`, so Pi can discover the extension entrypoint after installation.

## License

MIT
