module

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
Source
parse(input : String) : Invocation | Nil
Source

Nested types