README.md
1 # Command Center 2 3 A scrollable overview of available /commands (from extensions, prompts, skills, and optionally† built-ins) shown as a widget above the editor. The editor stays fully interactive; you can keep the widget open while typing and submitting commands. 4 5 <p align="center"> 6 <img width="333" alt="command center demo" src="https://github.com/user-attachments/assets/f9ed3649-ac5b-4658-836b-86091e4985a1" /> 7 </p> 8 9 ## Usage 10 11 - Command: `/command-center` (toggle) 12 - Default shortcuts: `Ctrl+/` toggles, `Shift+Up` / `Shift+Down` scroll 13 - Shortcut bindings are configurable in `config.json` 14 15 ## Configuration 16 17 1. Copy `config.json.example` → `config.json` 18 2. Edit `config.json` to your preferences 19 3. Run `/reload` 20 21 ### Recommended defaults 22 23 #### Hide built-ins (†) 24 25 By default, this extension excludes built-in interactive commands because: 26 - Built-ins are already discoverable via the editor’s native `/` autocomplete (with descriptions) 27 - Keeping a built-in list inside this extension requires manual maintenance as pi evolves 28 29 If you still want them, set: 30 31 ```json 32 { 33 "display": { "includeBuiltins": true } 34 } 35 ``` 36 37 #### Widget height 38 39 You can force a fixed widget height (rows): 40 41 ```json 42 { 43 "layout": { "height": 14 } 44 } 45 ``` 46 47 Suggested values: 48 - Small terminals: **20–30** rows 49 - Larger terminals: increase as you like 50 51 Notes: 52 - The widget height is clamped so the editor always has some space 53 - If pi can’t determine terminal height, Command Center assumes a fallback terminal height of **54** rows 54 (so the effective maximum widget height is typically **48** rows due to reserved editor space) 55 56 If `layout.height` is `null` or omitted, the widget auto-sizes based on terminal height. 57 58 ### Keybindings 59 60 All shortcuts are configured here (strings are pi key ids): 61 62 ```json 63 { 64 "keybindings": { 65 "toggle": "ctrl+/", 66 "scrollUp": "shift+up", 67 "scrollDown": "shift+down", 68 "scrollPageUp": null, 69 "scrollPageDown": null 70 } 71 } 72 ``` 73 74 Set any binding to `null` to disable it.