Files
harness-tools/README.md
T
2026-08-24 16:33:11 -04:00

63 lines
1.9 KiB
Markdown

# harness-tools
Personal extensions and skills for [Pi](https://github.com/earendil-works/pi-mono).
## Included extensions
- **effort-controls** — `/effort` reasoning-level selection and `/fast` priority mode for eligible OpenAI models.
- **update** — `/update` and `--update` support for updating Pi and configured Pi packages.
## Repository layout
```text
docs/ Usage guides
extensions/ Pi extensions
profiles/nono/ Repo-managed nono profiles, symlinked into ~/.config/nono/profiles
skills/ Pi skills (one directory with a SKILL.md per skill)
```
The root `package.json` exposes the extensions and skills as a single Pi package.
## Nono sandbox
See [`docs/nono.md`](docs/nono.md) for `pi-local` usage, profile settings, Internet tiers, multi-repository access, and the `nono-profiles` editing skill.
## Install locally
```bash
pi install /absolute/path/to/harness-tools
```
For a one-off development run:
```bash
pi -e ./extensions/effort-controls
pi -e ./extensions/update
```
## Development
Node.js 22.19 or newer is required by the current Pi development dependencies.
```bash
npm install
npm run typecheck
```
Extensions are TypeScript modules loaded directly by Pi; no build step is required.
Repository-managed global instructions, skills, and extension exposure are declared in [`config/pi-links.json`](config/pi-links.json) and reconciled by one script:
```bash
./scripts/pi-links.mjs check
./scripts/pi-links.mjs sync --dry-run
./scripts/pi-links.mjs sync
./scripts/pi-links.mjs prune --dry-run
```
The repository-local `manage-pi-links` skill applies this workflow. Global instructions are linked to Pi and Codex as `AGENTS.md`; Claude receives a `CLAUDE.md` that imports the shared instructions. The manager preserves unrelated global resources and refuses unmanaged destination collisions. Run `/reload` after changing active Pi instruction, skill, or extension exposure.
## License
MIT