pi-favorites-commands
Star and reorder your favorite slash commands in pi. Favorites appear at the top of the / autocomplete dropdown with a ★ glyph, in the order you choose.
Package details
Install pi-favorites-commands from npm and Pi will load the resources declared by the package manifest.
$ pi install npm:pi-favorites-commands- Package
pi-favorites-commands- Version
0.2.1- Published
- May 14, 2026
- Downloads
- not available
- Author
- alonmartin2222
- License
- MIT
- Types
- extension
- Size
- 23.1 KB
- Dependencies
- 0 dependencies · 1 peer
Pi manifest JSON
{
"extensions": [
"./extensions/slash-favorites.ts"
]
}Security note
Pi packages can execute code and influence agent behavior. Review the source before installing third-party packages.
README
pi-favorites-commands
Star and reorder your favorite slash commands in pi. Favorites appear at the top of the
/autocomplete dropdown with a ★ glyph, in the order you choose.
/favorites manager |
/ dropdown |
|---|---|
![]() |
![]() |
Why
Pi has a lot of slash commands once you install a few extensions, themes,
skills, and prompt templates. The autocomplete dropdown sorts them
alphabetically, which means /code and /session-diff — the two you
actually use ten times a day — live a long scroll away from /c.
This extension lets you star the commands you use most and reorder
them however you like. Stars are persisted to disk and survive /reload
and pi restarts.
Features
- ⭐ Star any slash command — built-ins (
/settings,/compact, …), extension commands, prompt templates, and skill commands all work. - 🔝 Favorites surface first when you type
/, in your custom order, each prefixed with a yellow ★ so they're easy to spot. - ↕️ Manual reorder with
⇧↑/⇧↓inside the manager — no alphabetical lock-in. - 🔎 Live filter — type to search the picker by command name or description.
- 💾 Persistent — saved to
~/.pi/agent/data/slash-favorites.jsonas a plain JSON array. Edit it by hand if you want. - 🪶 Zero runtime deps — pure TypeScript, uses only
@mariozechner/pi-coding-agentand@mariozechner/pi-tui(peer-provided by pi itself).
Install
pi install npm:pi-favorites-commands
Reload pi (/reload) or start a fresh session. The autocomplete provider
is installed automatically.
Usage
Manage stars
/favorites
Opens a centered overlay with every slash command in your session (built-ins + extension + prompt template + skill commands that pi itself reports).
| Key | Action |
|---|---|
↑ / ↓ |
Move cursor |
space |
Toggle ★ on current command |
⇧↑ / ⇧↓ |
Move the selected favorite up / down within the ★ section |
| Any text | Filter commands by name or description |
backspace |
Edit filter |
⏎ / esc |
Save & close |
Newly-starred commands are appended to the end of your favorites list
so you can decide where they belong. The numeric rank shown next to each
★ is the position you'll see them in when typing /.
Use the favorites
Just type /. Your starred commands are at the top of the dropdown, in
your order, each prefixed with a yellow ★. Unstarred commands follow
alphabetically.
Storage
Favorites live at:
~/.pi/agent/data/slash-favorites.json
It's a plain JSON array of command names in display order. Example:
[
"code",
"jira",
"session-diff",
"copy-response"
]
You can edit it by hand or sync it across machines via dotfiles.
How it works
Pi exposes hooks for extensions to replace the editor component. This
extension installs a CustomEditor subclass that pins its autocomplete
provider to a small wrapper around pi's built-in
CombinedAutocompleteProvider. The wrapper:
- Sorts the command list so favorites come first (in user order), then the rest alphabetically.
- Decorates each suggestion's
labelwith★for starred entries so the glyph appears next to the command in the dropdown — without affecting what actually gets inserted when you press⏎.
Pi's core re-installs the default autocomplete provider on several
internal events (theme changes, reload, etc.). The custom editor shadows
setAutocompleteProvider with an instance method that re-runs our sort
on every external call, so favorites stay pinned at the top even after
those events.
Caveats
- Pi's built-in slash command list is mirrored locally inside the extension (it isn't exported from the public API). If pi adds a new built-in, file an issue and I'll bump the mirror.
- Wrapping the autocomplete provider means per-command argument
autocomplete hooks (
getArgumentCompletions) are bypassed. Direct typing of/some-cmd <arg>still works — only the dropdown suggestions for arguments are affected.
Requirements
- pi (
@mariozechner/pi-coding-agent) - Node ≥ 20
License
MIT — see LICENSE.

