Skip to content

ppowo/pi-config

Repository files navigation

pi-config

My personal pi agent config repo. It keeps prompts/extensions/skills/themes/reminders plus repo-managed pi config in version control and bootstraps them into ~/.pi/agent.

Prerequisites

Tooling

This config assumes a few CLI tools are available on PATH for the agent and its extensions to use:

  • difft (difftastic)
  • fd
  • jq
  • rg (ripgrep)
  • scc
  • shellcheck
  • ctags (universal-ctags)
  • yq

You can install these yourself, or use lum as a one-stop way to manage them:

lum tools sync

Installing Node.js

macOS (Homebrew):

brew install node

Or install via fnm (recommended for managing multiple Node versions).

Linux — install via your package manager (apt, dnf, etc.) or fnm.

Verify:

node --version   # should be ≥ 22.19.0

Installing pi

Install pi globally with npm:

npm install -g @earendil-works/pi-coding-agent

Verify:

pi --version

Setup

From this repo root:

npm run setup

Theme defaults to light. You can also choose explicitly:

npm run setup-light
npm run setup-dark

No npm install needed — the bootstrap script uses only Node.js built-ins.

What setup does

npm run setup runs bootstrap.mjs, which:

  • symlinks into ~/.pi/agent:
    • prompts/
    • extensions/
    • skills/
    • themes/
    • reminders/
    • APPEND_SYSTEM.md
    • models.json
  • merges overlay files into:
    • ~/.pi/agent/settings.json (from settings.json)
    • ~/.pi/agent/verbosity.json (from verbosity.json)
    • ~/.pi/web-tools.json (from web-tools.json)
    • ~/.pi/agent/hashline-readmap/settings.json (from hashline-readmap-settings.json)

Repo layout

  • bootstrap.mjs — setup/link/merge script
  • prompts/ — prompt files
  • extensions/ — pi extensions
  • skills/ — pi skills
  • themes/ — pi themes
  • reminders/ — global reminder definitions for pi-system-reminders
  • APPEND_SYSTEM.md — extra system prompt text appended into pi
  • settings.json — repo-managed pi settings overlay, including installed packages/extensions
  • verbosity.json — repo-managed pi-verbosity-control overlay
  • models.json — custom provider/model definitions symlinked into pi (for example OpenRouter via OPENROUTER_API_KEY)

The bootstrap script is plain Node.js, but pi extensions in extensions/ can still stay TypeScript. Reminder files tracked in reminders/ become global reminders via ~/.pi/agent/reminders; project-specific reminders for some other repo should still live in that repo's .pi/reminders/ directory.

Re-run / update

Re-run npm run setup any time you change files in this repo or set up a new machine.

bootstrap.mjs resolves the repo from the script location, so it works even if you invoke it outside the repo root.

Note

settings.json and verbosity.json are applied as repo-managed overlays. Every leaf path present there is owned by this repo. Other local pi settings are preserved, and if a repo-managed key is later removed from either file, re-running setup removes it from the corresponding file in ~/.pi/agent/ too.

About

Personal pi agent configuration — prompts, extensions, skills, themes, and settings managed in version control with symlink-based bootstrap.

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors