@vanillagreen/pi-extension-manager
v1.2.1
Published
Pi package manager with update/uninstall actions plus a separate schema-driven settings editor for vstack packages.
Maintainers
Readme
pi-extension-manager

Pi package manager and separate settings editor for vstack-installed Pi packages.
Install
Via npm:
pi install npm:@vanillagreen/pi-extension-managerVia vstack:
cargo install --git https://github.com/vanillagreencom/vstack.git vstack
vstack add vanillagreencom/vstack --pi-extension pi-extension-manager --harness pi -yRestart Pi after installation.
Commands
| Command | Action |
| --- | --- |
| /extensions | Open the package manager: browse packages, enable/disable, inspect install source, uninstall, and run available updates. |
| /extensions:settings | Open the settings editor for packages that expose vstack settings. |
| /extensions:enable | Recovery command available only when the manager is disabled; re-enable it, then run /reload. |
UI notes
/extensionsshows installed packages only. Selecting a package shows status, source path, install source (NPM,Vstack, orUnknown), versions, update state, and declared extension entrypoints.- Active/inactive/broken status is shown with
●/○/×; packages with a newer version showUpdate Needed. alt+xenables/disables the selected package,alt+uupdates a package when an update is available,alt+duninstalls, andalt+aopens diagnostics/audit. In diagnostics,backspacereturns to the package list.alt+shift+eandF11open the extension manager popup;alt+shift+sandF12open the settings popup./extensions:settingsstarts withAll, then one tab per package with settings. Type to filter,Enterto toggle/edit, andEscto cancel. The popup keeps a fixed height and pads blank space under short filtered lists.- Inline setting editors support cursor movement:
←/→,Home/End,alt+←/alt+→word movement,Backspace/Delete, andCtrl+Uclear. - For packages declaring
pi.appendSysteminpackage.json, enabling/disabling and uninstalling syncs the corresponding block in the scope'sAPPEND_SYSTEM.md(added on enable/install, removed on disable/uninstall).
Settings are stored under vstack.extensionManager in Pi settings.json files so they do not collide with Pi's top-level extensions array.
Runtime limits
Pi does not currently expose APIs to add a native tab to its built-in settings UI or unload an already-loaded extension module. Package enable/disable and package updates therefore take effect after /reload or restart when live unloading is not possible.
