@vanillagreen/pi-extension-manager

Pi package manager with update/uninstall actions plus a separate schema-driven settings editor for vstack packages.

Packages

Package details

extension

Install @vanillagreen/pi-extension-manager from npm and Pi will load the resources declared by the package manifest.

$ pi install npm:@vanillagreen/pi-extension-manager
Package
@vanillagreen/pi-extension-manager
Version
1.3.2
Published
Jun 12, 2026
Downloads
875/mo · 297/wk
Author
vanillagreencom
License
MIT
Types
extension
Size
299.9 KB
Dependencies
0 dependencies · 2 peers
Pi manifest JSON
{
  "extensions": [
    "./extensions/extension-manager.ts"
  ],
  "image": "https://raw.githubusercontent.com/vanillagreencom/vstack/main/pi-extensions/pi-extension-manager/assets/extension-manager-popup.png"
}

Security note

Pi packages can execute code and influence agent behavior. Review the source before installing third-party packages.

README

pi-extension-manager

Extension Manager browser and settings editor

Package manager and settings editor for Pi packages installed by vstack, npm, git, or local path.

Highlights

  • Browse, enable, disable, update, and uninstall packages from one popup.
  • Separate settings editor with one tab per package that exposes vstack settings from user/global and project scopes.
  • Diagnostics view shows status, source, install method, versions, and update state.
  • Optional notification at session start when newer versions are available.

Install

Via npm:

pi install npm:@vanillagreen/pi-extension-manager

Via vstack:

cargo install --git https://github.com/vanillagreencom/vstack.git vstack
vstack add vanillagreencom/vstack --pi-extension pi-extension-manager --harness pi -y

Restart Pi after installation.

Commands

Command Action
/extensions Open the package manager.
/extensions:settings Open the settings editor.
/extensions:enable Recovery command when the manager is disabled.

Each popup documents its own keys in the footer.

Status icons: active, inactive, × broken. Packages with newer versions show Update Needed.

Settings

Open /extensions:settings; settings appear under the Extension Manager tab.

Project settings in .pi/settings.json apply only after Pi marks the workspace trusted; before trust, vstack Pi extensions read user/global settings only.

Setting What it does
Enable manager UI Expose /extensions and the manager UI. /extensions:enable is always available as recovery.
Default save scope Where setting edits are written when scope is ambiguous (project or user).
Notify on extension updates Post a one-line notification at session start listing extensions with newer versions.

Glyph style: each package exposes glyphStyle (unicode default, ascii for terminal-safe chrome). @vanillagreen/pi-tool-renderer.globalGlyphStyleOverride=ascii forces ASCII chrome across vstack Pi extensions while leaving tool/model/user content unchanged.

Notes

Package enable/disable and updates take effect after /reload or restart — Pi doesn't currently support unloading already-loaded extensions. Project-scope settings and packages are shown only when Pi reports the current project as trusted; untrusted projects use user/global settings only. npm update/uninstall actions run inside Pi's scope-local npm directory (<scope>/npm), matching Pi 0.75+ user package installs under ~/.pi/agent/npm/. Command execution resolves Windows npm-family shims without requiring external runtime dependencies.

Git package entries are inspected only under Pi's managed clone root (<scope>/git/<host>/<repo>). Entries with unsafe host or path components are shown as broken instead of reading package metadata from outside that root.