fix(kanban): sync slash subcommands with live parser

This commit is contained in:
Que0x 2026-05-18 20:15:31 -07:00 committed by Teknium
parent f149e1e567
commit bc961c13f3
2 changed files with 24 additions and 3 deletions

View file

@ -173,9 +173,12 @@ COMMAND_REGISTRY: list[CommandDef] = [
subcommands=("status", "run", "pause", "resume", "pin", "unpin", "restore", "list-archived")),
CommandDef("kanban", "Multi-profile collaboration board (tasks, links, comments)",
"Tools & Skills", args_hint="[subcommand]",
subcommands=("list", "ls", "show", "create", "assign", "link", "unlink",
"claim", "comment", "complete", "block", "unblock", "archive",
"tail", "dispatch", "context", "init", "gc")),
subcommands=("init", "boards", "create", "list", "ls", "show", "assign",
"reclaim", "reassign", "diagnostics", "diag", "link", "unlink",
"claim", "comment", "complete", "edit", "block", "unblock",
"archive", "tail", "dispatch", "stats", "notify-subscribe",
"notify-list", "notify-unsubscribe", "log", "runs",
"heartbeat", "assignees", "context", "specify", "gc")),
CommandDef("reload", "Reload .env variables into the running session", "Tools & Skills",
cli_only=True),
CommandDef("reload-mcp", "Reload MCP servers from config", "Tools & Skills",

View file

@ -201,6 +201,24 @@ def test_kanban_in_autocomplete_table():
assert "dispatch" in subs
def test_kanban_autocomplete_includes_live_subcommands():
from prompt_toolkit.document import Document
from hermes_cli.commands import SlashCommandCompleter
completer = SlashCommandCompleter()
doc = Document("/kanban sp", cursor_position=len("/kanban sp"))
texts = {c.text for c in completer.get_completions(doc, None)}
assert "specify" in texts
doc = Document("/kanban re", cursor_position=len("/kanban re"))
texts = {c.text for c in completer.get_completions(doc, None)}
assert "reclaim" in texts
assert "reassign" in texts
def test_kanban_not_gateway_only():
# kanban is available in BOTH CLI and gateway surfaces.
from hermes_cli.commands import COMMAND_REGISTRY