my-pi 0.1.7 → 0.1.8
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +104 -45
- package/dist/api-BRTlqVR4.js +2545 -0
- package/dist/api-BRTlqVR4.js.map +1 -0
- package/dist/api.js +1 -1
- package/dist/index.js +25 -2
- package/dist/index.js.map +1 -1
- package/package.json +13 -9
- package/src/extensions/{chain.test.ts → chain/index.test.ts} +1 -1
- package/src/extensions/{chain.ts → chain/index.ts} +1 -1
- package/src/extensions/{confirm-destructive.test.ts → confirm-destructive/index.test.ts} +1 -1
- package/src/extensions/{hooks-resolution.test.ts → hooks-resolution/index.test.ts} +1 -1
- package/src/extensions/{config.test.ts → manager/config.test.ts} +3 -0
- package/src/extensions/{config.ts → manager/config.ts} +13 -4
- package/src/extensions/{extensions.test.ts → manager/index.test.ts} +1 -1
- package/src/extensions/{prompt-presets.test.ts → prompt-presets/index.test.ts} +72 -1
- package/src/extensions/{prompt-presets.ts → prompt-presets/index.ts} +372 -43
- package/src/extensions/{working-indicator-config.test.ts → working-indicator/config.test.ts} +1 -1
- package/src/extensions/{working-indicator.test.ts → working-indicator/index.test.ts} +1 -1
- package/src/extensions/{working-indicator.ts → working-indicator/index.ts} +1 -1
- package/dist/api-DrJVpmLQ.js +0 -5443
- package/dist/api-DrJVpmLQ.js.map +0 -1
- package/dist/telemetry-db-BnenoOSj.js +0 -250
- package/dist/telemetry-db-BnenoOSj.js.map +0 -1
- package/dist/telemetry-schema.sql +0 -68
- package/src/extensions/filter-output.test.ts +0 -174
- package/src/extensions/filter-output.ts +0 -257
- package/src/extensions/lsp.test.ts +0 -550
- package/src/extensions/lsp.ts +0 -1044
- package/src/extensions/mcp.test.ts +0 -30
- package/src/extensions/mcp.ts +0 -411
- package/src/extensions/recall.test.ts +0 -26
- package/src/extensions/recall.ts +0 -69
- package/src/extensions/skills.ts +0 -564
- package/src/extensions/telemetry-config.test.ts +0 -96
- package/src/extensions/telemetry-config.ts +0 -80
- package/src/extensions/telemetry-db.test.ts +0 -315
- package/src/extensions/telemetry-db.ts +0 -513
- package/src/extensions/telemetry-schema.sql +0 -68
- package/src/extensions/telemetry.test.ts +0 -225
- package/src/extensions/telemetry.ts +0 -885
- package/src/mcp/client.test.ts +0 -217
- package/src/mcp/client.ts +0 -318
- package/src/mcp/config.test.ts +0 -201
- package/src/mcp/config.ts +0 -129
- package/src/skills/config.test.ts +0 -58
- package/src/skills/config.ts +0 -70
- package/src/skills/importer.test.ts +0 -301
- package/src/skills/importer.ts +0 -221
- package/src/skills/manager.ts +0 -222
- package/src/skills/scanner.ts +0 -275
- /package/src/extensions/{confirm-destructive.ts → confirm-destructive/index.ts} +0 -0
- /package/src/extensions/{handoff.ts → handoff/index.ts} +0 -0
- /package/src/extensions/{hooks-resolution.ts → hooks-resolution/index.ts} +0 -0
- /package/src/extensions/{extensions.ts → manager/index.ts} +0 -0
- /package/src/extensions/{session-name.ts → session-name/index.ts} +0 -0
- /package/src/extensions/{working-indicator-config.ts → working-indicator/config.ts} +0 -0
package/README.md
CHANGED
|
@@ -160,7 +160,7 @@ Query and export helpers:
|
|
|
160
160
|
|
|
161
161
|
Schema notes:
|
|
162
162
|
|
|
163
|
-
- source of truth: `src/
|
|
163
|
+
- source of truth: `packages/pi-telemetry/src/schema.sql`
|
|
164
164
|
- current telemetry schema version: `1`
|
|
165
165
|
- schema version is tracked with `PRAGMA user_version`
|
|
166
166
|
- unversioned local telemetry databases are initialized/upgraded to v1
|
|
@@ -169,7 +169,6 @@ Schema notes:
|
|
|
169
169
|
downgrading
|
|
170
170
|
- opens the database in WAL mode: `PRAGMA journal_mode = WAL`
|
|
171
171
|
- waits up to 5s on lock contention: `PRAGMA busy_timeout = 5000`
|
|
172
|
-
- packaged builds ship the schema as `dist/telemetry-schema.sql`
|
|
173
172
|
|
|
174
173
|
CLI flags `--telemetry` and `--no-telemetry` override only the current
|
|
175
174
|
process. `/telemetry on` and `/telemetry off` update the saved default
|
|
@@ -342,17 +341,26 @@ In interactive mode:
|
|
|
342
341
|
- `/skills sync <key|name>` — sync an imported skill to its upstream
|
|
343
342
|
- `/skills refresh` — rescan skill directories
|
|
344
343
|
- `/skills defaults <all-enabled|all-disabled>` — set default policy
|
|
345
|
-
- `/preset` — open the prompt preset manager (base presets +
|
|
346
|
-
|
|
347
|
-
- `/preset
|
|
348
|
-
|
|
349
|
-
|
|
350
|
-
- `/preset
|
|
351
|
-
|
|
352
|
-
|
|
353
|
-
- `/preset
|
|
354
|
-
|
|
355
|
-
- `/preset
|
|
344
|
+
- `/prompt-preset` — open the prompt preset manager (base presets +
|
|
345
|
+
layers); `/preset` is a short alias
|
|
346
|
+
- `/prompt-preset help` — show examples and common prompt preset
|
|
347
|
+
commands
|
|
348
|
+
- `/prompt-preset <name>` — activate a base preset or toggle a layer
|
|
349
|
+
- `/prompt-preset base <name>` — activate a base preset directly
|
|
350
|
+
- `/prompt-preset enable <layer>` / `/prompt-preset disable <layer>` —
|
|
351
|
+
toggle a prompt layer directly
|
|
352
|
+
- `/prompt-preset edit <name>` — edit or create a project preset in
|
|
353
|
+
`.pi/presets/<name>.md`
|
|
354
|
+
- `/prompt-preset edit-global <name>` — edit or create a global preset
|
|
355
|
+
in `~/.pi/agent/presets/<name>.md`
|
|
356
|
+
- `/prompt-preset export-defaults` — copy built-in presets to editable
|
|
357
|
+
global Markdown files
|
|
358
|
+
- `/prompt-preset export-defaults project` — copy built-in presets to
|
|
359
|
+
editable project Markdown files
|
|
360
|
+
- `/prompt-preset delete <name>` — delete a project-local preset
|
|
361
|
+
- `/prompt-preset reset <name>` — remove a project-local override and
|
|
362
|
+
fall back to user/built-in if available
|
|
363
|
+
- `/prompt-preset clear` — clear the active base preset and all layers
|
|
356
364
|
- `/chain` — inspect or switch the active agent chain
|
|
357
365
|
- `/agents` — list discovered agent definitions
|
|
358
366
|
- `/lsp status|list|restart` — inspect or restart language server
|
|
@@ -441,11 +449,30 @@ Preset sources are merged in this order:
|
|
|
441
449
|
|
|
442
450
|
1. built-in defaults
|
|
443
451
|
2. `~/.pi/agent/presets.json`
|
|
444
|
-
3.
|
|
452
|
+
3. `~/.pi/agent/presets/*.md`
|
|
453
|
+
4. `.pi/presets.json`
|
|
454
|
+
5. `.pi/presets/*.md`
|
|
445
455
|
|
|
446
456
|
Project presets override global/default presets with the same name.
|
|
447
|
-
Strings are treated as base presets by default. Object entries
|
|
448
|
-
`kind: "base"` or `kind: "layer"`.
|
|
457
|
+
Strings in JSON are treated as base presets by default. Object entries
|
|
458
|
+
may set `kind: "base"` or `kind: "layer"`. Markdown preset files use
|
|
459
|
+
the filename as the preset name and optional frontmatter:
|
|
460
|
+
|
|
461
|
+
```markdown
|
|
462
|
+
---
|
|
463
|
+
kind: base
|
|
464
|
+
description: Short, direct, no fluff
|
|
465
|
+
---
|
|
466
|
+
|
|
467
|
+
Be concise and direct.
|
|
468
|
+
```
|
|
469
|
+
|
|
470
|
+
Use `/prompt-preset export-defaults` to copy built-in presets to
|
|
471
|
+
`~/.pi/agent/presets/*.md` for editing, or
|
|
472
|
+
`/prompt-preset export-defaults project` to write `.pi/presets/*.md`.
|
|
473
|
+
`/prompt-preset edit <name>` writes a project Markdown preset;
|
|
474
|
+
`/prompt-preset edit-global <name>` writes a global one. `/preset` is
|
|
475
|
+
a short alias for `/prompt-preset`.
|
|
449
476
|
|
|
450
477
|
CLI layering is supported too:
|
|
451
478
|
|
|
@@ -502,10 +529,10 @@ clients.
|
|
|
502
529
|
|
|
503
530
|
## Session Recall
|
|
504
531
|
|
|
505
|
-
The recall
|
|
506
|
-
user references prior work or when historical
|
|
507
|
-
help. It also triggers
|
|
508
|
-
start when the local recall database exists.
|
|
532
|
+
The recall package nudges the model to use `pnpx pirecall` or
|
|
533
|
+
`npx pirecall` when the user references prior work or when historical
|
|
534
|
+
project context would help. It also triggers `pirecall sync --json` on
|
|
535
|
+
session start and shutdown when the local recall database exists.
|
|
509
536
|
|
|
510
537
|
## Session Handoff
|
|
511
538
|
|
|
@@ -518,38 +545,70 @@ file that can be piped into a new session:
|
|
|
518
545
|
pnpx my-pi@latest < handoff-1234567890.md
|
|
519
546
|
```
|
|
520
547
|
|
|
548
|
+
## Reusable Pi packages
|
|
549
|
+
|
|
550
|
+
This repo is a pnpm workspace. The `my-pi` harness depends on reusable
|
|
551
|
+
Pi packages via `workspace:*`, and those packages can also be
|
|
552
|
+
published and installed into vanilla `pi` independently:
|
|
553
|
+
|
|
554
|
+
```bash
|
|
555
|
+
pi install npm:@spences10/pi-redact
|
|
556
|
+
pi install npm:@spences10/pi-telemetry
|
|
557
|
+
pi install npm:@spences10/pi-mcp
|
|
558
|
+
pi install npm:@spences10/pi-lsp
|
|
559
|
+
pi install npm:@spences10/pi-skills
|
|
560
|
+
pi install npm:@spences10/pi-recall
|
|
561
|
+
pi install npm:@spences10/pi-nopeek
|
|
562
|
+
```
|
|
563
|
+
|
|
564
|
+
- [`@spences10/pi-redact`](./packages/pi-redact/README.md) — output
|
|
565
|
+
redaction and `/redact-stats`
|
|
566
|
+
- [`@spences10/pi-telemetry`](./packages/pi-telemetry/README.md) —
|
|
567
|
+
local SQLite telemetry and `/telemetry`
|
|
568
|
+
- [`@spences10/pi-mcp`](./packages/pi-mcp/README.md) — MCP server
|
|
569
|
+
integration and `/mcp`
|
|
570
|
+
- [`@spences10/pi-lsp`](./packages/pi-lsp/README.md) — LSP-backed
|
|
571
|
+
diagnostics and symbol tools
|
|
572
|
+
- [`@spences10/pi-skills`](./packages/pi-skills/README.md) — skill
|
|
573
|
+
management, import, and sync
|
|
574
|
+
- [`@spences10/pi-recall`](./packages/pi-recall/README.md) — pirecall
|
|
575
|
+
reminder and background sync
|
|
576
|
+
- [`@spences10/pi-nopeek`](./packages/pi-nopeek/README.md) — nopeek
|
|
577
|
+
reminder for secret-safe environment loading
|
|
578
|
+
|
|
579
|
+
Each package README is the entry point for install instructions,
|
|
580
|
+
commands, runtime behavior, and development notes.
|
|
581
|
+
|
|
521
582
|
## Project Structure
|
|
522
583
|
|
|
523
584
|
```
|
|
524
585
|
src/
|
|
525
|
-
index.ts
|
|
526
|
-
api.ts
|
|
586
|
+
index.ts CLI entry point (citty + pi SDK)
|
|
587
|
+
api.ts Programmatic API (create_my_pi + re-exports)
|
|
527
588
|
extensions/
|
|
528
|
-
|
|
529
|
-
|
|
530
|
-
|
|
531
|
-
|
|
532
|
-
|
|
533
|
-
|
|
534
|
-
|
|
535
|
-
|
|
536
|
-
|
|
537
|
-
|
|
538
|
-
|
|
539
|
-
|
|
540
|
-
|
|
541
|
-
|
|
542
|
-
|
|
543
|
-
|
|
544
|
-
manager.ts Skill enable/disable state management
|
|
545
|
-
scanner.ts Skill discovery across sources
|
|
546
|
-
config.ts Persistent skills config (~/.config/my-pi/)
|
|
589
|
+
manager/ Built-in extension manager and config
|
|
590
|
+
chain/ Agent chain pipelines
|
|
591
|
+
handoff/ Session context export
|
|
592
|
+
prompt-presets/ Runtime prompt preset selection and editing
|
|
593
|
+
session-name/ Session auto-naming
|
|
594
|
+
confirm-destructive/ Destructive action confirmations
|
|
595
|
+
hooks-resolution/ Claude-style hook resolution
|
|
596
|
+
working-indicator/ Streaming indicator customization
|
|
597
|
+
packages/
|
|
598
|
+
pi-redact/ Installable Pi package for output redaction
|
|
599
|
+
pi-telemetry/ Installable Pi package for SQLite telemetry
|
|
600
|
+
pi-mcp/ Installable Pi package for MCP integration
|
|
601
|
+
pi-lsp/ Installable Pi package for LSP tools
|
|
602
|
+
pi-skills/ Installable Pi package for skill management
|
|
603
|
+
pi-recall/ Installable Pi package for pirecall reminders
|
|
604
|
+
pi-nopeek/ Installable Pi package for nopeek reminders
|
|
547
605
|
.pi/
|
|
548
606
|
agents/
|
|
549
|
-
*.md
|
|
550
|
-
agent-chain.yaml
|
|
551
|
-
presets.json
|
|
552
|
-
|
|
607
|
+
*.md Agent definitions (frontmatter + system prompt)
|
|
608
|
+
agent-chain.yaml Chain pipeline definitions
|
|
609
|
+
presets.json Optional project prompt presets (JSON)
|
|
610
|
+
presets/*.md Optional project prompt presets (Markdown files)
|
|
611
|
+
mcp.json Project MCP server config
|
|
553
612
|
```
|
|
554
613
|
|
|
555
614
|
## Development
|