The
Elixir
Manual

Terminalwire streams a command-line app straight from your Phoenix or Plug server to your users’ machines over a single WebSocket. Instead of building an API and shipping a separate client, you write your CLI in your app, calling your contexts, Ecto, and business logic directly, and it runs on the user’s workstation with access to their terminal, files, and browser.

It fits the BEAM well: each connection is a supervised process and your CLI handler runs in its own task. The Elixir server is at feature parity with Rails and speaks the same wire protocol as the v2 Go client. It’s open source at terminalwire/elixir, published on Hex, with docs on HexDocs.

Each chapter below walks you through adding Terminalwire to an Elixir app and building command-line apps for your users.

Elixir
Stream a CLI straight from your Phoenix or Plug app—no API required

Table of Contents