|
|
|
@@ -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
|
|
|
|
|
|
|
|
|
|