Hi, I'm Utpal. I use these Pi Coding Agent extensions in my daily workflow.
I'm making them open source so you can use them or adapt them to your own setup.
- pi-focus-mode keeps prompts and assistant replies visible while hiding tool activity and optionally thinking. View demo.
- pi-prompt-stash saves your half-written prompt when Pi goes off track or asks a question. Restore it when you're ready to continue. View demo.
Each extension under packages/ has its own npm name and version and publishes independently. The workspace root is private and is never published.
Install pi-focus-mode from npm:
pi install npm:@utpalsinghdev/pi-focus-modeInstall pi-prompt-stash:
pi install npm:@utpalsinghdev/pi-prompt-stashUse Node.js 22.19 or newer, npm, and Git:
git clone https://github.com/utpalsinghdev/pi-extensions.git
cd pi-extensions
npm ci --ignore-scripts
npm run focusThis starts the workspace's local Pi with only pi-focus-mode loaded. No global Pi installation or personal extensions are required. Use Pi's normal /login command if model credentials are not configured.
If Pi is already installed, you can load the source directly without installing workspace development tools:
pi --no-extensions --extension ./packages/pi-focus-modeTo try prompt stash instead, run npm run stash. See its README for isolated manual testing without touching personal prompts.
These commands do not add extensions to your saved Pi package settings. Pi loads the TypeScript source directly; no build is required.
See Contributing for setup, checks, and adding an extension.
pi-extensions/
├── docs/
│ ├── designs/pi-focus-mode.md
│ └── publishing.md
├── packages/
│ ├── pi-prompt-stash/
│ │ ├── assets/pi-prompt-stash-demo.gif
│ │ ├── extensions/index.ts
│ │ ├── lib/
│ │ ├── test/
│ │ ├── package.json
│ │ ├── LICENSE
│ │ └── README.md
│ └── pi-focus-mode/
│ ├── assets/
│ │ ├── pi-focus-mode-demo.gif
│ │ └── pi-focus-mode-demo.mp4
│ ├── extensions/index.ts
│ ├── lib/render-adapter.ts
│ ├── test/render-adapter.test.ts
│ ├── package.json
│ ├── LICENSE
│ └── README.md
├── scripts/
├── CONTRIBUTING.md
├── LICENSE
├── package.json
├── package-lock.json
└── tsconfig.json
Each extension publishes separately. Public npm packages with the pi-package keyword are eligible for the Pi package catalog.
Package manifests stay private until release metadata and publication are approved. See Publishing extensions for release steps.
MIT.