chore: deploy published Pi extension packages

This commit is contained in:
jb
2026-09-01 18:02:16 -04:00
parent 72a1645fdb
commit 3b5a11c815
4 changed files with 39 additions and 37 deletions
+26 -23
View File
@@ -9,12 +9,9 @@ Personal [Pi](https://github.com/earendil-works/pi-mono) extensions, skills, glo
- global agent instructions for Pi, Codex, and Claude;
- 34 shared skills under `~/.agents/skills/`;
- the `manage-pi-links` and `nono-profiles` project-only skills under `.pi/skills/`;
- three global Pi extensions under `~/.pi/agent/extensions/`:
- **dictate**: local Linux voice dictation;
- **effort-controls**: `/effort` reasoning selection and `/fast` priority mode;
- **prompt-snippets**: per-message prompt rule toggles.
- no global Pi extension symlinks. Active extensions are installed separately as pinned Gitea npm packages.
The repository also contains `copy-all`, `file-search`, `interactive-subagents`, `lm-studio`, `native-hooks`, `subagents`, `todo-herdr`, `update`, and the private `workflow` extension, but the normal manifest does not install them globally. The `pptx`, `stop-slop`, `subagents`, and `xlsx` skills are also intentionally excluded. Archived resources under `__archived/` are never installed. Update `config/pi-links.json` deliberately if that policy changes.
The repository contains `copy-all`, `dictate`, `effort-controls`, `file-search`, `interactive-subagents`, `lm-studio`, `native-hooks`, `prompt-snippets`, `subagents`, `todo-herdr`, `update`, and the private `workflow` extension. The link manifest does not install any of them globally. The `pptx`, `stop-slop`, `subagents`, and `xlsx` skills are also intentionally excluded. Archived resources under `__archived/` are never installed. Update `config/pi-links.json` deliberately if that policy changes.
## Fresh-machine setup
@@ -79,7 +76,7 @@ Dictate currently targets `/run/user/1000/pi-dictate.sock` in both the extension
### 3. Install repository dependencies
The linked TypeScript extensions resolve runtime dependencies from this checkout, so `node_modules` is required even though the extensions have no build step:
The monorepo's typechecking, tests, packaging, and extension development require its Bun dependencies even though extensions ship as TypeScript source:
```bash
cd /srv/data/code/harness-tools
@@ -89,7 +86,7 @@ bun run typecheck
Use `bun install --frozen-lockfile` after pulling a lockfile change and plain `bun install` only when intentionally updating [`bun.lock`](bun.lock). Node.js and Bun must satisfy the versions in [`package.json`](package.json).
### 4. Install instructions, skills, and extensions
### 4. Install instructions and skills
Preview the exact changes first, then apply them:
@@ -100,7 +97,7 @@ cd /srv/data/code/harness-tools
./scripts/pi-links.mjs check
```
A successful check currently reports 44 links and zero local package entries. The manager:
A successful check currently reports 41 links and zero local package entries. The manager:
- preserves unrelated global resources;
- refuses to overwrite regular files, directories, or links owned outside this repository;
@@ -108,10 +105,12 @@ A successful check currently reports 44 links and zero local package entries. Th
Resolve any reported collision manually instead of deleting it blindly. Run `/reload` in an active Pi session, or restart Pi, after the sync.
The repository root is a private Bun workspace and is not installable as a Pi package. Use the curated `config/pi-links.json` policy for live development, or install one independently published `@jbcode/pi-*` package. See [Bun workspace packages and Gitea npm publishing](docs/npm-packages.md).
The repository root is a private Bun workspace and is not installable as a Pi package. The curated `config/pi-links.json` policy manages instructions and skills but deliberately exposes no extension symlinks. Install published `@jbcode/pi-*` packages for normal use; use explicit local paths only for temporary development. See [Bun workspace packages and Gitea npm publishing](docs/npm-packages.md).
### 5. Verify Pi
Install the desired pinned packages from [Optional Pi packages from Gitea](#optional-pi-packages-from-gitea), then start Pi:
```bash
pi
```
@@ -125,13 +124,15 @@ Inside Pi:
## Optional Pi packages from Gitea
The monorepo contains three optional packages that are not enabled by the curated link policy:
The currently published and deployed extension set is:
- `@jbcode/pi-interactive-subagents`;
- `@jbcode/pi-native-hooks`;
- `@jbcode/pi-todo-herdr`.
- `@jbcode/pi-dictate@0.1.0`;
- `@jbcode/pi-effort-controls@0.1.0`;
- `@jbcode/pi-prompt-snippets@0.1.0`;
- `@jbcode/pi-interactive-subagents@3.7.2`;
- `@jbcode/pi-todo-herdr@0.2.5`.
After publishing them, configure the scoped Gitea npm registry and install only the packages you want. Keep the token in the user environment or user-level npm configuration; never commit it:
Configure the scoped Gitea npm registry and install only the packages you want. Keep the token in the user environment or user-level npm configuration; never commit it:
```ini
@jbcode:registry=https://git.jb.codes/api/packages/jb/npm/
@@ -139,9 +140,11 @@ After publishing them, configure the scoped Gitea npm registry and install only
```
```bash
pi install npm:@jbcode/pi-interactive-subagents
pi install npm:@jbcode/pi-native-hooks
pi install npm:@jbcode/pi-todo-herdr
pi install npm:@jbcode/pi-dictate@0.1.0
pi install npm:@jbcode/pi-effort-controls@0.1.0
pi install npm:@jbcode/pi-prompt-snippets@0.1.0
pi install npm:@jbcode/pi-interactive-subagents@3.7.2
pi install npm:@jbcode/pi-todo-herdr@0.2.5
pi list
```
@@ -222,17 +225,17 @@ herdr status client
### Update or remove the Gitea packages
```bash
pi update npm:@jbcode/pi-interactive-subagents
pi update npm:@jbcode/pi-native-hooks
pi update npm:@jbcode/pi-todo-herdr
These installations are version-pinned. After publishing a new version, install that exact spec to replace the prior pin. Remove packages by npm identity:
```bash
pi remove npm:@jbcode/pi-dictate
pi remove npm:@jbcode/pi-effort-controls
pi remove npm:@jbcode/pi-prompt-snippets
pi remove npm:@jbcode/pi-interactive-subagents
pi remove npm:@jbcode/pi-native-hooks
pi remove npm:@jbcode/pi-todo-herdr
```
Run `/reload` after an update or removal.
Run `/reload` after a version change or removal.
### Imported source provenance