Surfaces

TUI

roder-tui is the reference terminal client. It uses Ratatui and crossterm, but it talks to the runtime through the same local app-client path a desktop or automation client can use.

What it shows

  • Streaming assistant output and tool-call timeline.
  • Approval prompts and policy-mode state.
  • Provider, model, session, command, mode, and agent choices through the command palette.
  • Diff previews for file changes with keyboard-driven accept/reject handling.
  • Dynamic workflow trigger hints, approval previews, and run progress below the composer.
  • Shell and exec sessions as one timeline entry, with streamed stdin updates folded into the open detail view.
  • Status segments contributed by built-ins and extensions.
  • Mouse selection, scroll, hover, and clickable timeline interactions as they land.

Why it is a client

The TUI should not be the only owner of runtime state. Keeping it as a client of roder-app-server means terminal, desktop, test harness, and future IDE surfaces can share protocol methods and event semantics.