# `mix bb.tui`
[🔗](https://github.com/mcass19/bb_tui/blob/v0.3.0/lib/mix/tasks/bb.tui.ex#L1)

Starts the terminal dashboard for a Beam Bots robot.

    $ mix bb.tui --robot MyApp.Robot

The dashboard connects to a running robot's supervision tree and
displays safety controls, runtime state, joint positions, event
stream, and available commands.

## Options

  * `--robot` — (required) The robot module to connect to.
  * `--node` — (optional) Connected remote node atom. When set, the
    TUI renders on the local terminal but pulls all data and dispatches
    all commands across distribution. The dev node must already be
    connected to the remote node (e.g. via `--sname`/`--name` and
    `Node.connect/1`).
  * `--ssh` — (optional) Start an SSH daemon instead of a local
    terminal. Each connecting SSH client gets its own isolated
    dashboard session.
  * `--port` — (optional) TCP port for the SSH daemon (default 2222).
    Ignored unless `--ssh` is set.

## Examples

    # Local
    $ mix bb.tui --robot MyApp.Robot

    # Remote — render here, data from there
    $ iex --name dev@127.0.0.1 --cookie secret -S mix bb.tui \
        --robot MyApp.Robot --node robot@192.168.1.42

    # SSH daemon — accessible from any SSH client
    $ mix bb.tui --robot MyApp.Robot --ssh
    $ mix bb.tui --robot MyApp.Robot --ssh --port 3333

## Keybindings

### Global

  * `q` — quit
  * `Tab` — cycle active panel
  * `?` — toggle help overlay
  * `a` — arm robot
  * `d` — disarm robot
  * `f` — force disarm (error state only)

### Events panel

  * `j` / `Down` — scroll down
  * `k` / `Up` — scroll up
  * `Enter` — show event details
  * `p` — pause / resume stream
  * `c` — clear events

### Commands panel

  * `j` / `Down` — select next command
  * `k` / `Up` — select previous command
  * `Enter` — execute selected command

### Joints panel

  * `j` / `Down` — select next joint
  * `k` / `Up` — select previous joint
  * `l` / `Right` — increase position (1% step)
  * `h` / `Left` — decrease position (1% step)
  * `L` — increase position (10% step)
  * `H` — decrease position (10% step)

### Parameters panel

  * `j` / `Down` — select next parameter
  * `k` / `Up` — select previous parameter
  * `l` / `Right` — increase value (+1 int, +0.1 float)
  * `h` / `Left` — decrease value (-1 int, -0.1 float)
  * `L` — increase value x10
  * `H` — decrease value x10
  * `Enter` — toggle boolean parameter

---

*Consult [api-reference.md](api-reference.md) for complete listing*
