From 59d04599cd059eef34844c92b20f3f579a5e092c Mon Sep 17 00:00:00 2001 From: Tianshu Wang Date: Sat, 28 Feb 2026 13:18:40 +0800 Subject: [PATCH] feat(examples): make example extensions installable as a pi package Add pi manifest to root package.json pointing to the examples extensions directory. This allows installing all example extensions via `pi install git:github.com/badlogic/pi-mono`. Update extensions README with install instructions. --- package.json | 4 ++++ packages/coding-agent/examples/extensions/README.md | 13 +++++++++---- 2 files changed, 13 insertions(+), 4 deletions(-) diff --git a/package.json b/package.json index f91af50f43..2603895eb6 100644 --- a/package.json +++ b/package.json @@ -38,6 +38,10 @@ "tsx": "^4.20.3", "typescript": "^5.9.2" }, + "keywords": ["pi-package"], + "pi": { + "extensions": ["./packages/coding-agent/examples/extensions"] + }, "engines": { "node": ">=20.0.0" }, diff --git a/packages/coding-agent/examples/extensions/README.md b/packages/coding-agent/examples/extensions/README.md index a997e6aa3f..175d588297 100644 --- a/packages/coding-agent/examples/extensions/README.md +++ b/packages/coding-agent/examples/extensions/README.md @@ -2,16 +2,21 @@ Example extensions for pi-coding-agent. -## Usage +## Install ```bash -# Load an extension with --extension flag -pi --extension examples/extensions/permission-gate.ts +# Install all examples as a pi package +pi install git:github.com/badlogic/pi-mono -# Or copy to extensions directory for auto-discovery +# Or load a single extension for a one-off test +pi -e ./packages/coding-agent/examples/extensions/hello.ts + +# Or copy individual extensions to your extensions directory cp permission-gate.ts ~/.pi/agent/extensions/ ``` +Extensions with external dependencies (`with-deps/`, `custom-provider-*/`, `sandbox/`) need `npm install` in their directory before use. + ## Examples ### Lifecycle & Safety