$ cat ~/map/pi-extensions-milanglacier.md
pi-extensions (milanglacier)
Eight independently installable pi extensions in one monorepo: plan mode, dynamic subagent workflows, background tasks, per-session model switching.
extensions✓ Sep 22
Facts
- repository
- github.com/milanglacier/pi-extensions ↗
- GitHub Stars
- ★ 0
- Forks
- 0
- license
- —
- npm / mo
- —
- last push
- Oct 16, 2026
install
Each extension installs on its own: pi install npm:<package> or pi install github:milanglacier/<repo> — the README links every extension's repository from the monorepo index## TL;DR
A monorepo of eight independently installable pi extensions: /plan structured planning, /workflow JavaScript subagent orchestration, background tasks with a dashboard, a minimal permission layer, /session-model, /regenerate, automatic theme switching, and a Gemini BLOCK_NONE patch.
## Key points
- $Planning and orchestration: pi-plan-mode injects a planning prompt and exposes planning tools directly on the main conversation — no separate planner subagent — with planning state resumable across sessions; pi-dynamic-workflow has the model author a small JavaScript orchestration script on the fly and fan it out into isolated pi subagent subprocesses via /workflow, where failed subagents yield null instead of rejecting the batch.
- $Background tasks: pi-background-tasks adds the bg_task and bg_status tools, a /bg slash command, and a multi-pane dashboard on Ctrl+Shift+B for spawning, watching, and stopping tracked background processes, with persistent log files and follow-up wakeups when a watched task emits output or exits.
- $Permission policies: pi-minimal-permission-system guards the built-in read, edit, write, and bash tools with global and project-local policies, including read-only access to sensitive paths; MCP and extension tools are intentionally out of scope.
- $Session-scoped conveniences: pi-session-model switches the active model and optional thinking level for the current session only via /session-model, touching no global defaults; pi-regenerate-last-response adds /regenerate (shorthand /reg), branching back to the preceding user message and re-triggering the agent.
- $Environment and provider tweaks: pi-theme-switcher flips the terminal theme between dark and light from environment variables (PI_AGENT_THEME, THEME_MODE) or time of day, with a configurable night window; pi-gemini-patch forces BLOCK_NONE across Gemini safety categories by merging settings into the request config object (OpenRouter Gemini models excluded).
- $Monorepo layout: every top-level directory is a git submodule pointing at its own repository, so each extension typechecks and tests independently and installs one at a time.
## FAQ
Q Is there a single package that installs all eight?
No — the README documents per-extension installation (pi install npm:<package> or pi install github:milanglacier/<repo>); the monorepo is a development index of git submodules, not a distribution package.
Q Does the permission extension cover MCP tools?
No — pi-minimal-permission-system intentionally limits itself to the built-in read, edit, write, and bash tools; MCP and extension tools are out of scope.
Q Can the Gemini patch be toggled off?
There is no toggle — if the extension is loaded, the patch applies to matching requests, and OpenRouter Gemini models are excluded entirely.
## References
## Related entries
$ pi-extensions (ZhenHuangLab)
Seven npm-published pi extensions in one workspace: context recall, per-model prompts, X search, LaTeX math, tool-call folding.
$ pi-extensions (narumiruna)
TypeScript monorepo of pi coding agent extensions for planning, browser control, Git workflows, and observability.
$ pi-extensions (nicknisi)
Nick Nisi's pnpm monorepo of independently installable pi coding agent packages.
## Guides
Last updated: Sep 22, 2026