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.