CLI & Interactive Shell

Exhaustive reference for command-line flags, interactive REPL slash commands, terminal ANSI UI controls, and signal handlers.

Command Line Flags & Modes

`tacet-cli` provides flexibility for both interactive terminal usage and headless CI scripting:

  • --version: Prints the exact crate build version, git commit hash, and target architecture.
  • --model : Overrides default catalog model selection for a single invocation.
  • --engine : Selects the model engine provider (defaults to auto).
  • --json: Formats output as a structured JSON object containing generated text, tool invocation traces, and execution latency numbers.
  • --verbose: Displays internal router trigger scores, token count budgets, and skill injection states.
  • tacet why : Microsecond diagnostic command that reports exact trigger scores and catalog tool budget without launching model sockets.

Interactive Shell Slash Commands

Inside the interactive REPL (`tacet`), the following slash commands provide session control:

  • /config: Opens the interactive settings menu to select local model packages, search backends, and addon permission gates.
  • /help: Displays available shell commands, shortcut keys, and active tool catalog details.
  • /clear: Clears current screen buffer while keeping conversation context in memory.
  • /history: Displays past prompt entries saved in ~/.config/tacet/history.
  • /tools: Lists all 24 loaded tools, 5 permission addons, and active MCP servers.
  • /session: Displays current session ID, token usage statistics, and active memory store keys.

Input Stream Locking & Signal Trap Safety

Tacet uses `crossterm` to lock terminal input during model token generation. Keys pressed while the model is responding are held in an input buffer rather than interweaving with generated text (`tacet> kindHello! How can I help you?`). Pressing Ctrl-D with an active draft prompt clears the input field rather than terminating the session.