My Pi coding agent configuration. Clone to ~/.config/pi/ (or ~/.pi/agent/) and run setup.sh.
├── settings.json # Global settings (provider, model, packages)
├── models.json # Custom provider/model definitions
├── skills/ # Skills — local copies + symlinks to dotsys
├── extensions/ # Pi extensions (TypeScript)
├── prompts/ # Prompt templates
└── themes/ # Custom themes
git clone git@github.com:davelens/pi-config ~/.config/pi
cd ~/.config/pi && chmod +x setup.sh && ./setup.shOr just clone and run pi — it auto-discovers skills, extensions, prompts, and themes.
keybindings.json maps Pi's built-in external editor action to Ctrl+e. It also maps the model selector to Ctrl+s, disables the default Ctrl+p quick-cycle model binding, and adds Ctrl+n/Ctrl+p navigation to Pi selectors like /tree and /resume.
Pi uses $VISUAL first, then $EDITOR. If your launch environment might not set an editor, default it safely with:
EDITOR="${EDITOR:-nvim}" piWhile typing in Pi, press Ctrl+e to open the current input prompt in your editor. Save and quit to replace the Pi input box with the edited text. Run /reload in Pi or restart Pi after changing keybindings.
Use /switch-session to switch between sessions for the current project.
The smart switcher:
- shows manually renamed session names when available, capped at 10 words
- falls back to the first message when a session has not been renamed
- stores renamed sessions as Pi
session_infonames in each session JSONL - includes fuzzy search against session names/first messages;
Ctrl+cclears search first, then cancels if search is empty - supports
Ctrl+n/Ctrl+pto move down/up - shows up to 8 session items at once
- supports
Ctrl+rto rename the highlighted session - supports
Ctrl+dto open a delete confirmation dialog for the highlighted session history
/resume remains Pi's built-in session picker; extensions cannot override that literal command from this config repo.
Edit settings.json and add to the packages array:
"packages": [
"npm:@plannotator/pi-extension",
"git:github.com/other/pi-tools"
]Then run pi install <source> for each one.
Blank for now until obra/superpowers finishes its PR for pi adoption.