pi-tui-commands
v0.1.0
Published
Interactive / command registry for pi — register any TUI tool as a slash command with binary-availability checks
Maintainers
Readme
pi-tui-commands
Interactive / command registry for pi. Register any TUI
tool (lazygit, nvim, htop, …) as a slash command that suspends pi while it
runs and restores pi when you quit.
/tuicmd Open the interactive manager
/tuicmd add htop Register /htop as a commandFeatures
- Interactive UI —
/tuicmdopens a searchable toggle list (like/scoped-models) showing all known tools, their install status (✓/✗), and your enabled set. - Binary checks — Toggling a tool ON first checks if the binary exists on PATH. If not found, you get a message with a link to report the issue.
- Custom commands — Register anything with
/tuicmd add <name> [cmd]. - Persistent — Your enabled set and custom commands survive restarts
(stored in
~/.pi/agent/tui-commands.json).
Install
pi install git:github.com/<your-org>/pi-tui-commandsThen /reload inside pi and run /tuicmd.
Usage
| Command | What it does |
| ------------------------ | ---------------------------- |
| /tuicmd | Open interactive toggle list |
| /tuicmd add lg lazygit | Register /lg → lazygit |
| /tuicmd rm lg | Remove /lg |
| /lazygit | (if enabled) Run lazygit |
In the TUI:
- Enter toggles a tool ON/OFF
- / fuzzy-searches by name
- Esc closes
How it works
When you toggle a tool ON, the extension:
- Checks
which <binary>to verify it's installed - Registers
/toolnameas a pi command viapi.registerCommand() - The command handler calls
ctx.ui.custom()to stop the TUI, spawns the process withstdio: "inherit", and restarts the TUI after the process exits
Development
git clone <url>
cd pi-tui-commands
pi -e ./extensions/tui-commands/index.tsLicense
MIT
