enable auto-discovery for pi extensions by removing explicit extension list

This commit is contained in:
2026-03-05 13:16:56 +00:00
parent 8db0e98f4b
commit 17563547d8
3 changed files with 19 additions and 12 deletions
+10
View File
@@ -49,3 +49,13 @@ sigil unlink ~/.config/wezterm/wezterm.lua
# Editing dotfiles
When editing dotfiles, it is preferred to add/edit the files in this project directly, instead of going to the source. this way we can then use sigil apply --prune, and everything will be synced, even when there are new files.
# pi extensions
Extensions live in `pi/files/agent/extensions/`.
**Discovery quirk:** If `package.json` has a `pi.extensions` field, pi **only** loads those listed extensions and skips auto-discovery of `*.ts` files. To enable auto-discovery (load all `.ts` files including symlinks), either:
- Remove the `extensions` field entirely: `"pi": {}`
- Or delete `package.json` if you don't need npm dependencies
Multi-file extensions (directories) need an `index.ts` entry point (or `package.json` with `pi.extensions` pointing to the entry file).
+8
View File
@@ -0,0 +1,8 @@
import type { ExtensionAPI } from "@mariozechner/pi-coding-agent";
import lspHookFactory from "./lsp.js";
import lspToolFactory from "./lsp-tool.js";
export default function (pi: ExtensionAPI) {
lspHookFactory(pi);
lspToolFactory(pi);
}
+1 -12
View File
@@ -19,17 +19,6 @@
"@types/node": "^25.3.3",
"typescript": "^5.7.0"
},
"pi": {
"extensions": [
"./custom-provider-anthropic/index.ts",
"./lsp/lsp.ts",
"./lsp/lsp-tool.ts",
"./matugen-theme-watch/index.ts",
"./pi-web-access/index.ts"
],
"skills": [
"./pi-web-access/skills"
]
},
"pi": {},
"packageManager": "pnpm@10.28.2+sha512.41872f037ad22f7348e3b1debbaf7e867cfd448f2726d9cf74c08f19507c31d2c8e7a11525b983febc2df640b5438dee6023ebb1f84ed43cc2d654d2bc326264"
}