Source repo: https://github.com/theonejb/pi-extensions
A collection of custom pi extensions.
As more extensions are added, this repo will hold them in one place.
Installs extensions for all projects.
git clone https://github.com/theonejb/pi-extensions.git
cd pi-extensions
mkdir -p ~/.pi/agent/extensions
# Copy one extension
cp turn-timer.ts ~/.pi/agent/extensions/turn-timer.ts
# (Optional) Copy all top-level .ts extensions
# cp ./*.ts ~/.pi/agent/extensions/Then in pi:
/reload
Installs extensions only for the current project.
mkdir -p .pi/extensions
cp /path/to/pi-extensions/turn-timer.ts .pi/extensions/turn-timer.tsThen run /reload in pi.
Measures turn duration from:
- Start: timestamp of the last user message
- End:
agent_end
Behavior:
- Shows notification when a turn completes, e.g.
Took 1.2s
- Run
/reload - Send any prompt
- Confirm you see a notification like
Took 842ms
Auto-starts review-for-agent when pi starts inside a git repo.
Behavior:
- No-op if cwd is not a git repo
- No-op if
review-for-agentis not installed onPATH - No-op if lockfile already exists in the repo root (
.review-for-agent.pi.lock) - Best effort: adds
.review-for-agent.pi.lockandrfa/to.git/info/excludeto avoid accidental commits - Starts
review-for-agent --no-openin the repo root - Shows footer status while running (
rfa open, with terminal hyperlink support; some terminals need a modifier key to follow links, e.g. Ghostty on macOS uses Cmd+click) - Adds
/rfa-opencommand to open the review URL from the repo lockfile in a browser (works even from a second pi session) - On pi shutdown, kills the child process and removes the lockfile if owned by this session
Remove the extension file and reload:
rm ~/.pi/agent/extensions/turn-timer.ts
# or: rm .pi/extensions/turn-timer.tsThen run /reload.
