Smith::ChatCommands
Built-in slash commands for the interactive loop.
These must be resolved before Skills::Catalog#expand_prompt runs: the
skill catalog claims any /name that matches a skill, so a skill called
"plan" would otherwise shadow /plan. Built-ins win, and that precedence
is documented in the README.
The DEFINITIONS table is the single source of truth for parsing, for
/help and for the TUI's autocomplete popup — the three must not drift.
Constants
DEFINITIONS = [Definition.new(ChatCommand::Plan, "/plan", "Switch to plan mode (research only)"), Definition.new(ChatCommand::Normal, "/normal", "Leave plan mode"), Definition.new(ChatCommand::Clear, "/clear", "Clear the context and the screen"), Definition.new(ChatCommand::Context, "/context", "Show where the context window goes"), Definition.new(ChatCommand::Rewind, "/rewind", "Undo this session back to its start"), Definition.new(ChatCommand::Sessions, "/sessions", "List saved sessions"), Definition.new(ChatCommand::Resume, "/resume", "Switch to another session", argument: "<session>", requires_argument: true), Definition.new(ChatCommand::Rename, "/rename", "Rename the current session", argument: "<name>", requires_argument: true), Definition.new(ChatCommand::Help, "/help", "Show this list"), Definition.new(ChatCommand::Quit, "/quit", "End the session")]
Class methods
definitions
Sourceparse(input : String) : Invocation | Nil
Source