Command palette actions
bb 0.43.3SDK 0.4.104pinned e865697 (desktop-v0.43.3)
Registers a command with app.commands.register and adds a row under Plugins in bb's quick command palette. With this, a plugin can:
What it gives you
- Supply the row's label and run behavior; bb owns matching, ordering, and recency
- Offer a defaultShortcut with key and optional mod, meta, control, alt, and shift modifiers; mod means Command on macOS and Control elsewhere
- Let users bind or rebind every command in Keyboard Settings; conflicts offer Replace binding or Cancel, and conflicting plugin defaults stay unbound
- Keep saved bindings across reloads and disable/re-enable using plugin:<plugin-id>/<command-id>; palette and keyboard invocation share availability and error handling
- Migrate slots.commandPaletteAction to commands.register with the same fields; the old method remains a deprecated alias
- Read the current thread and project, and hide the row when it is unavailable
- Open one of the plugin's own thread side-panel tabs when a thread is on screen
API
Each symbol links to the pinned commit it was read at.
PluginAppBuilder.commandspropertyPluginAppCommandsinterfacePluginCommandRegistrationinterfacePluginCommandContextinterfacePluginCommandShortcutinterface
The brief is Markdown, written for a coding agent: what the capability is, where it registers, every SDK symbol with a pinned permalink, the rules that bite, and what done means.