pi-menu-tree
A hierarchical slash-command menu for Pi.
Package details
Install pi-menu-tree from npm and Pi will load the resources declared by the package manifest.
$ pi install npm:pi-menu-tree- Package
pi-menu-tree- Version
0.1.5- Published
- Aug 28, 2026
- Downloads
- 953/mo · 19/wk
- Author
- rperaza
- License
- MIT
- Types
- extension
- Size
- 19.3 KB
- Dependencies
- 0 dependencies · 2 peers
Pi manifest JSON
{
"extensions": [
"./extensions/index.ts"
]
}Security note
Pi packages can execute code and influence agent behavior. Review the source before installing third-party packages.
README
Pi Menu Tree
A hierarchical slash-command menu for Pi. It turns the flat / command list into keyboard-navigable categories without leaving the terminal.
Features
- 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.
Usage
- 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.
Installation
npm
After publishing:
pi install npm:pi-menu-tree
From a Git repository
pi install git:github.com/<YOUR_GITHUB_USER>/pi-menu-tree
Local development
pi install ./pi-menu-tree
Restart Pi or run /reload after installing or updating the package.
Publishing
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-tags
The tag must match the package version, for example v0.1.0.
How it works
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.
Compatibility
- 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.
Security
Pi extensions execute with your user permissions. Review the source before installing from a third-party repository.