This repository contains my public JavaScript/TypeScript packages published via npm (using Bun and/or npm).
Right now it contains Pi extension packages.
Adds autocomplete for !<command> in Pi.
- Fast suggestions from a built-in command list
- Optional shell-history command indexing via env flag
Adds a brave_search tool to Pi for up-to-date web search.
- Uses Brave Search API
- Supports query options like country/language/freshness/safesearch
- Includes status/test helper commands
Runs Pi ! / !! commands through fish shell.
- Fish as default shell backend
- Configurable shell path via env var
Adds lightweight memory commands and a memory tool.
/rememberto append notes/memory-searchto search memory filesremember_notetool for agent use
Adds local notes management inside Pi.
- Create, list, read, update, delete notes
- Fuzzy note lookup and quick status command
- Optional rule-note injection into prompt
Adds quick commands to toggle plan mode in Pi.
/plan-onto enable plan mode/plan-offto disable plan mode/plan-toggleto switch current state
Enhanced footer/status line for Pi sessions.
- Git status snapshot (branch, dirty state, sync, operations)
- Token/cost/context usage telemetry in footer
/git-footer-refreshcommand
Undo support for Pi write/edit file mutations.
- Per-session undo stack
/reverse-last [count]command- Optional state directory override via env var
Protective confirmation layer for risky operations.
- Confirmation prompts for dangerous bash commands
- Protected-path checks for
write/edit - Auto-block behavior in non-interactive mode
Usage analytics command for Pi session history.
- Daily token graph (
/stats,/stats N,/stats all) - Input/output/cache breakdown
- Top model usage summary
Shared helpers used by multiple Pi extensions.
- Agent-dir resolution (
PI_CODING_AGENT_DIRaware) - Environment boolean parsing
- Agent-relative path resolution
check-publish-readiness.sh– validates package metadata, extension entries, dry-run publish, registry/version status, and local-vs-npm packed contentspublish-packages.sh– plans/applies publish actions dynamically for all package foldersbump-package-versions.sh– checks npm published versions first and enforces the next release version for changed packages (+0.0.1, rolling*.9to next minor.0; bumps up or reduces down only when needed)release-workflow.sh– orchestrates release checks:--checkreports required bumps,--planincludes bump planning, and--publishapplies required bumps before publishingsync-dotfiles-extension-symlinks.sh– ensures~/.dotfiles/.pi/agent/extensions/*.tsare symlinks to canonicalpi-extension-*/index.tsfiles; renames non-symlink files to.hardcoded.<timestamp>.bak
- Registry: npm
- Client: npm by default; bun is the fallback publisher when available
- Installation for users remains standard npm registry usage, e.g.:
pi install npm:@firstpick/pi-extension-notes