richardgill/pi-extensions

TypeScript

11

373 commits

updated Oct 2, 2026

See the code

README

pi-extensions

My Pi Setup →

Extensions (actively used)

Published on npm

  • pi-background-bash - Overrides bash tool with one that can run in the background.
    • By default bash commands which take over 30s go to background and the LLM can continue taking turns.
  • pi-sub-pi - Runs isolated Pi subprocesses for single, chained, or parallel tasks.
  • pi-sub-pi-skill - Routes opted-in /skill: commands through the sub-pi tool.
  • pi-skill-metadata-templates - Appends templated instructions to skills based on frontmatter metadata.
  • pi-context-commands - Registers slash commands that run commands and put the output into Pi context.
    • Example: /diff runs git diff and immediately populates context window with 0 LLM turns.
  • pi-project-resources - Loads AGENT.md and skills/ by traversing up directories from current working directory until ~.
    • Allows you to use custom names e.g. AGENT.local.md, CLAUDE.local.md etc.
  • pi-preset - Pi's preset example extension but with better config management.
  • pi-up-history - Adds Up-arrow prompt history from saved sessions for the current working directory.
  • pi-parrot - Populates Pi's input box with the last assistant message.

Private extension workspaces

These workspaces are not published individually. Footer and trust-all-projects are distributed through @richardgill/pi-bits; thinking-toggle remains local-only.

3rd party (not mine)

Packages

  • pi-config - Loads JSONC config files with Zod defaults and templated strings.
  • pi-zod-tool-call - Defines Pi tool calls from Zod schemas with provider-compatible TypeBox parameters.

Other extensions (not currently used)

Published on npm

  • pi-file-collector - Records files and line ranges that Pi reads, edits, writes, or cites in a JSONL file.
  • pi-tmux-bash - Replaces Pi's bash tool with a tmux-backed version for background jobs and polling.

Unpublished

These packages are intentionally local, have private: true, and must not be published to npm.

richardgill/pi-extensions

TypeScript

11

373 commits

updated Oct 2, 2026

See the code

README

pi-extensions

My Pi Setup →

Extensions (actively used)

Published on npm

  • pi-background-bash - Overrides bash tool with one that can run in the background.
    • By default bash commands which take over 30s go to background and the LLM can continue taking turns.
  • pi-sub-pi - Runs isolated Pi subprocesses for single, chained, or parallel tasks.
  • pi-sub-pi-skill - Routes opted-in /skill: commands through the sub-pi tool.
  • pi-skill-metadata-templates - Appends templated instructions to skills based on frontmatter metadata.
  • pi-context-commands - Registers slash commands that run commands and put the output into Pi context.
    • Example: /diff runs git diff and immediately populates context window with 0 LLM turns.
  • pi-project-resources - Loads AGENT.md and skills/ by traversing up directories from current working directory until ~.
    • Allows you to use custom names e.g. AGENT.local.md, CLAUDE.local.md etc.
  • pi-preset - Pi's preset example extension but with better config management.
  • pi-up-history - Adds Up-arrow prompt history from saved sessions for the current working directory.
  • pi-parrot - Populates Pi's input box with the last assistant message.

Private extension workspaces

These workspaces are not published individually. Footer and trust-all-projects are distributed through @richardgill/pi-bits; thinking-toggle remains local-only.

3rd party (not mine)

Packages

  • pi-config - Loads JSONC config files with Zod defaults and templated strings.
  • pi-zod-tool-call - Defines Pi tool calls from Zod schemas with provider-compatible TypeBox parameters.

Other extensions (not currently used)

Published on npm

  • pi-file-collector - Records files and line ranges that Pi reads, edits, writes, or cites in a JSONL file.
  • pi-tmux-bash - Replaces Pi's bash tool with a tmux-backed version for background jobs and polling.

Unpublished

These packages are intentionally local, have private: true, and must not be published to npm.

Languages

TypeScript

99.1%