DalaDev.Tui (dala_dev v0.4.0)

Copy Markdown View Source

Terminal-based interactive dashboard for dala_dev.

dala_dev.tui provides a navigable two-panel TUI for interacting with the dala_dev toolkit — manage devices, run Mix tasks, inspect logs, and trigger deployments — all without leaving the terminal.

Usage

Add dala_dev to your dependencies (it already is if you're in a dala project):

def deps do
  [
    {:dala_dev, "~> 0.3"}
  ]
end

Then run:

mix dala_dev.tui

Features

  • Device panel: List discovered Android/iOS devices with node info, dist ports, connection status
  • Tasks panel: Browse and run mix dala.* tasks
  • Output panel: View results from task runs
  • Debug panel: Inspect remote nodes — dala/OTP version, screen info, memory usage, latency
  • Status bar: Real-time connection info, dala version, OTP version
  • Deploy: Trigger mix dala.deploy with device selection
  • Logs: Stream logs from connected devices
  • Help overlay: Keyboard reference

Keybindings

KeyAction
j / Move selection down
k / Move selection up
h / Focus navigation panel
l / Focus detail panel
EnterSelect / run action
EscGo back / close overlay
rRefresh device list
dDeploy to selected device
sStream logs from selected device
?Toggle help overlay
qQuit

Architecture

The TUI follows the same pattern as ash_tui:

Summary

Functions

Launches the dala_dev TUI dashboard.

Functions

explore(opts \\ [])

@spec explore(keyword()) :: :ok

Launches the dala_dev TUI dashboard.

Starts the ExRatatui application which renders the two-panel interface. Blocks until the user quits (presses q).

Options

  • :test_mode{width, height} tuple for headless testing (optional)
  • :name — register the app under a named process (optional)

Examples

DalaDev.Tui.explore()