mcpField
T
tmux-terminal

tmux-terminal

github.com/mikeyobrienDevelopment3.2k40 installsUpdated 2w ago
Repository

About tmux-terminal

tmux-terminal is a skill for interactive terminal sessions, including TUI workflows, long-running processes, and output capture. It uses tmux to send keystrokes, read screen output, and keep sessions running.

Key features

  1. 01Create detached tmux sessions
  2. 02Send commands and keystrokes
  3. 03Capture terminal screen output
  4. 04Keep or stop long-running processes
  5. 05Interact with and inspect TUIs

Use cases

  1. 01Test interactive CLIs such as ralph-tui
  2. 02Run servers or loops in the background
  3. 03Collect live terminal output for QA reports

Install

Copy the command and run it in a terminal.

$npx skills add https://github.com/mikeyobrien/ralph-orchestrator --skill tmux-terminal

After installing, type/tmux-terminalin Claude Code to confirm it loaded.

Details

From the project README

tmux-terminal

Overview

Use tmux to drive interactive terminal sessions, including TUI workflows like ralph-tui. tmux lets you send keystrokes, capture screen output, and keep processes running between steps.

When to Use

  • Testing ralph-tui or any interactive CLI prompts
  • Managing long-running processes (web server, loops, watch mode)
  • Capturing live terminal output for QA reports
  • Interacting with applications that redraw the screen

Prerequisites

  • tmux installed (pre-installed on macOS)

Verify:

tmux -V

Core Commands

Create a detached session:

tmux new-session -d -s <name>

Send commands (append Enter to execute):

tmux send-keys -t <name> "<command>" Enter

Capture screen output:

tmux capture-pane -t <name> -p

Kill session when done:

tmux kill-session -t <name>

Special Keys

Use send-keys with key names:

  • Enter
  • C-c (Ctrl-C)
  • C-d (Ctrl-D)
  • Tab
  • Escape
  • Up, Down, Left, Right

Examples:

tmux send-keys -t <name> Up
tmux send-keys -t <name> C-c

TUI Interaction Patterns

Start ralph-tui
tmux new-session -d -s ralph-tui
tmux send-keys -t ralph-tui "cargo run -p ralph-tui" Enter
Navigate in TUI
tmux send-keys -t ralph-tui Down
tmux send-keys -t ralph-tui Enter
Capture and parse the screen
tmux capture-pane -t ralph-tui -p -S -200

Use -S -200 to capture the last 200 lines when the screen is noisy.

Long-Running Process Management

  • Start servers or loops in a tmux session to keep them alive.
  • Use capture-pane to confirm health (look for "listening" or "ready" text).
  • Stop cleanly with C-c then kill-session.

Example:

tmux new-session -d -s ralph-web
tmux send-keys -t ralph-web "cargo run -p ralph-cli -- web" Enter
tmux capture-pane -t ralph-web -p | rg -n "listening|ready"
tmux send-keys -t ralph-web C-c
tmux kill-session -t ralph-web

Notes

  • Keep session names short and unique.
  • Always clean up sessions to avoid leaking background processes.
  • If output looks empty, wait briefly and capture again.

Comments

Markdown supported