A monorepo of high-quality extensions for the Pi coding agent.
Every package here is a Pi extension that can be installed individually from npm. Packages are tagged
with the pi-package keyword so they appear in the pi.dev gallery.
| Package | npm | Description |
|---|---|---|
@jmcombs/pi-tavily-search |
Real-time web search via the Tavily API. | |
@jmcombs/pi-prompt-enhancer |
Codebase-aware prompt enhancer that rewrites rough prompts into precise ones with project tree, git context, and referenced file contents. |
# Install globally
pi install npm:@jmcombs/pi-tavily-search
# Or try one for a single session
pi -e npm:@jmcombs/pi-tavily-searchSee the Pi packages documentation for additional install options (git, local path, project-scoped, filtering, etc.).
pi-extensions/
├── packages/
│ ├── _template/ # Scaffold for new extensions (see TEMPLATE.md)
│ └── <extension-name>/ # One directory per published package
├── scripts/
│ └── sync-versions.mjs # Validates each package conforms to project conventions
├── .github/workflows/ # CI + Release Please
├── release-please-config.json
├── .release-please-manifest.json
└── …shared tooling (eslint, prettier, vitest, husky, commitlint, secretlint)
- Node.js
>= 22.0.0(CI tests on Node 22 and Node 24; the release pipeline runs on Node 24) - npm 10+ (Node 24 ships npm 11+, required for npm Trusted Publishing)
Every PR runs the same npm run check gate:
npm run checkThis runs lint, format check, type check, tests, version validation, and security checks
(secretlint + npm audit --omit=dev). All packages must pass.
The main branch is protected by a GitHub Repository Ruleset that requires PR review from
@jmcombs, all CI checks green on Node 22 and Node 24, Conventional Commits, and a linear
history. The maintainer can push directly to main via the admin bypass; outside contributors
must go through PR review. See CONTRIBUTING.md → Branch Protection
for the full rule list and rationale.
- Read
CONTRIBUTING.md. - Copy
packages/_template/and followTEMPLATE.md. - Open a PR. Release Please will produce a per-package release PR after merge.
Each package is versioned independently with semver. See VERSIONING.md for the full policy.
Releases are automated via Release Please and
published to npm using npm Trusted Publishing (OIDC).
MIT © Jeremy Combs