Add get_commands RPC for headless clients (#995)

* Add get_commands RPC for headless clients

Headless clients like Emacs can now query which commands are available.
Previously they could only discover file-based prompt templates by
scanning the filesystem; extension commands and skills were invisible.

The response includes each command's name, description, and source
(extension, template, or skill). Commands appear in the same order
as the TUI's autocomplete: extension commands first, then templates,
then skills.

Built-in TUI commands (/settings, /fork, etc.) are excluded since
they require the interactive UI. Commands like /compact have dedicated
RPC equivalents instead.

* Add location and path to get_commands response

Clients can show where commands come from (user/project/path) and
display file paths in tooltips. The data is already available on
templates and skills - just exposing it.
This commit is contained in:
Daniel Nouri 2026-01-28 02:34:15 +01:00 committed by GitHub
parent c67b582fc4
commit 0ad189f12a
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
6 changed files with 135 additions and 3 deletions

View file

@ -11,7 +11,7 @@ export interface PromptTemplate {
name: string;
description: string;
content: string;
source: string; // e.g., "user", "project", "path", "inline"
source: string; // "user", "project", or "path"
filePath: string; // Absolute path to the template file
}