A hierarchical slash-command menu for Pi. It turns the flat / command list into keyboard-navigable categories without leaving the terminal.
- Shows a category menu immediately when you type
/. - Groups commands into Native commands, Extensions, Skills, and Prompt templates.
- Opens each group as an inline submenu beneath Pi's editor.
- Uses
Escfor navigation: submenu → root menu → editor. - Preserves Pi's native command and path autocomplete when you type a command directly, such as
/modelor/skill:typescript.
- Type
/in Pi. The root menu opens immediately. - Use
↑/↓andEnterto select a category. - Select a command from its submenu.
- The command is placed in the editor. Press
Enteronce to run it, exactly as with Pi's native autocomplete.
⚙ Native commands
🧩 Extensions
🧠 Skills
📋 Prompt templates
Press Esc in a submenu to return to the categories, or press Esc in the root menu to close it.
After publishing:
pi install npm:pi-menu-treepi install git:github.com/<YOUR_GITHUB_USER>/pi-menu-treepi install ./pi-menu-treeRestart Pi or run /reload after installing or updating the package.
The GitHub Actions workflow publishes when a version tag is pushed. It uses npm trusted publishing (OIDC), so no long-lived npm token is stored in GitHub.
Before the first release, configure joisephdev/pi-menu-tree as a trusted publisher for this package in npm. Then publish a release by updating version in package.json and pushing its matching tag:
npm version 0.1.0
# Review the generated commit and tag.
git push origin main --follow-tagsThe tag must match the package version, for example v0.1.0.
Pi Menu Tree decorates the active editor through Pi's public editor API. It retains the underlying editor's styling and application shortcuts, delegating all autocomplete except the exact / input, which opens this package's menu tree.
- Pi with extension support.
- Node.js 20 or later.
- Compatible with custom editors such as
@sting8k/pi-droid-styling; install Pi Menu Tree after the styling extension so it can decorate that editor.
Pi extensions execute with your user permissions. Review the source before installing from a third-party repository.