From 611dfd90d4e523984a78728ebfee033e4c16b37d Mon Sep 17 00:00:00 2001 From: Igor Soarez Date: Mon, 5 Oct 2026 13:53:09 +0300 Subject: pi: extensions as a directory of links, so a machine can have its own ~/.pi/agent/extensions was a link to the repo's directory, so anything that installs a pi extension wrote into this checkout -- herdr's pi integration did, on one machine. It is now a real directory with the repo's tracked extensions linked in one by one, and a file a machine adds there stays that machine's. pi follows the links, and skips a dangling one silently, so an extension deleted from the repo leaves a harmless stale link. The old directory link is removed first: linking into it would write through to the repo and turn its files into links to themselves. Only tracked files are linked, so a machine's leftovers in the repo's directory are not linked back. The filed version put this loop in link.sh; it lives in link/pi.sh, since link.sh holds one-line links only and a part also obeys ~/.config/dot/skip. From change request 3f6b05. --- AGENTS.md | 1 + 1 file changed, 1 insertion(+) (limited to 'AGENTS.md') diff --git a/AGENTS.md b/AGENTS.md index bfdce1a..4cbdd1d 100644 --- a/AGENTS.md +++ b/AGENTS.md @@ -57,6 +57,7 @@ what it needs through these, each of them optional and absent by default: | `~/.claude/rules/*.md` | extra Claude Code user memory, loaded next to `config/claude/CLAUDE.md` | | `~/.config/pi/settings.d/*.json` | pi settings merged into the generated `~/.pi/agent/settings.json` by `link/pi.sh` | | `~/.config/pi/models.d/*.json` | pi providers merged into the generated `~/.pi/agent/models.json` by `link/pi.sh` | +| `~/.pi/agent/extensions/*`, real files | pi extensions only this machine has -- herdr's pi integration installs `herdr-agent-state.ts` here | pi itself, beside the repo's extensions, which `link/pi.sh` links in one by one | A credential in a pi provider -- `apiKey`, or anything under `headers` -- is a **reference**, not a name: `"$SILICONFLOW_API_KEY"`, not `"SILICONFLOW_API_KEY"`. -- cgit v1.2.3