Skip to content

aliou/pi-extensions

Repository files navigation

Pi Extensions

Custom extensions for Pi, a coding agent.

Warning

Feel free to use these, but they're mainly for my personal use and I might not read/merge your pr. Also, I haven't read a single line of code so I can't be held responsible if something bad happens. Godspeed ✌️

Installation

Install all extensions from this repository:

pi install git:github.com/aliou/pi-extensions

To install selectively (or disable specific extensions), edit your settings.json:

{
  "packages": [
    {
      "source": "git:github.com/aliou/pi-extensions",
      "extensions": [
        "extensions/defaults/index.ts",
        "extensions/providers/index.ts",
        "!extensions/the-dumb-zone/index.ts"
      ]
    }
  ]
}

Published Extensions

Standalone extensions published to npm, each in their own repo.

Extension Description Repo npm
extension-dev Tools and commands for developing and updating Pi extensions repo @aliou/pi-extension-dev
guardrails Security hooks to prevent potentially dangerous operations repo @aliou/pi-guardrails
linkup Web search and content fetching via Linkup API repo @aliou/pi-linkup
processes Background process management without blocking the conversation repo @aliou/pi-processes
synthetic Synthetic as a model provider for open-source models repo @aliou/pi-synthetic
toolchain Opinionated toolchain enforcement repo @aliou/pi-toolchain

Published Utilities

Shared packages used by extensions, published to npm.

Package Description Repo npm
pi-utils-settings Config loading, settings UI, and TUI components repo @aliou/pi-utils-settings
pi-utils-ui Shared TUI abstractions (tool components, widgets, primitives) repo @aliou/pi-utils-ui

Published Themes

Theme Repo npm
jellybeans repo @aliou/pi-theme-jellybeans

All Extensions

Extension Description README
breadcrumbs Session history tools (search, extract info, handoff) README
defaults Sensible defaults and quality-of-life improvements README
introspection Inspect Pi agent internals: system prompt, tools, skills, and context usage README
modes Hardcoded execution modes with tool gating, model defaults, and branch-aware restore README
planning Save and execute implementation plans README
providers Providers and usage dashboard (rate limits, session stats) README
subagents Framework for spawning specialized subagents (scout, oracle, reviewer, etc.) README
the-dumb-zone Context window degradation warning README

Integrations

Integration Description README
chrome Chrome extension + native host bridge for Pi browser automation and sidepanel chat README
neovim Bidirectional Neovim integration (editor context, file reload, LSP diagnostics) README

Development

Uses pnpm workspaces. Nix dev environment available via flake.nix.

nix develop
pnpm install
pnpm typecheck
pnpm lint

Or as one-liners:

nix develop -c pnpm install
nix develop -c pnpm typecheck
nix develop -c pnpm lint

Workspace dependencies

Extensions and packages that depend on other workspace packages must use workspace:^ in their package.json. This tells pnpm to resolve the dependency from the local workspace instead of the npm registry.

{
  "dependencies": {
    "@aliou/pi-utils-settings": "workspace:^"
  }
}

The root package.json keeps real version ranges (e.g., ^0.2.0) because pi installs this repository via npm, which does not understand the workspace: protocol. A postinstall script (scripts/resolve-workspace-deps.mjs) symlinks unpublished workspace packages into node_modules for that case.

Pre-commit hooks

The Nix dev shell installs pre-commit hooks automatically. These run on every commit:

  • biome check - Linting and formatting for .ts and .json files.
  • treefmt - Formatting via treefmt.
  • lockfile check - Verifies pnpm-lock.yaml is up to date (runs when any package.json, pnpm-lock.yaml, or pnpm-workspace.yaml changes).
  • typecheck - Runs pnpm typecheck when .ts files change.

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Packages

 
 
 

Contributors