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

Installs BB.TUI into a project

Imports the package's formatter rules and prints a launch notice for
the configured robot module.

When no robot module is present yet, the installer offers to compose
`bb.install` to scaffold one. Pass `--auto-bb` to skip the prompt in
non-interactive contexts.

With `--ssh`, the installer appends a supervised `{BB.TUI, robot: …}`
child to the application that boots an SSH daemon on application
start. Use this when the dashboard should be reachable remotely.

With `--nerves`, the installer registers `BB.TUI.subsystem/1` under
`config :nerves_ssh, :subsystems` in `config/runtime.exs`. Use this
on Nerves devices that already run `nerves_ssh` so the dashboard
rides on the existing daemon instead of opening a second SSH port.

Without `--ssh` or `--nerves`, no supervision is wired up: launch
the dashboard on demand with `mix bb.tui` or `BB.TUI.run/1` from
IEx. Auto-claiming the local terminal would fight an IEx session
for stdin/stdout.

## Examples

```bash
mix igniter.install bb_tui
mix igniter.install bb_tui --robot MyApp.Arm
mix igniter.install bb_tui --auto-bb
mix igniter.install bb_tui --ssh
mix igniter.install bb_tui --ssh --port 2222
mix igniter.install bb_tui --ssh --user pilot --password secret
mix igniter.install bb_tui --nerves
```

## Options

* `--robot` - The robot module (defaults to `{AppPrefix}.Robot`).
* `--auto-bb` - When the robot module is missing, compose `bb.install`
  without prompting.
* `--ssh` - Append a supervised SSH-mode `{BB.TUI, …}` child to the
  application's supervision tree. Idempotent.
* `--port` - SSH daemon port (default `2222`). Ignored without `--ssh`.
* `--user` - SSH username (default `admin`). Ignored without `--ssh`.
* `--password` - SSH password (default `admin`). Ignored without `--ssh`.
* `--nerves` - Append `BB.TUI.subsystem(<Robot>)` to
  `config :nerves_ssh, :subsystems` in `config/runtime.exs`. Idempotent.

---

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