mcpField
T
tmux-terminal

tmux-terminal

github.com/mikeyobrien開発3.2k40 回インストール2 週間前に更新
リポジトリ

tmux-terminal について

tmux-terminalは、TUI操作や長時間プロセスの管理、出力の取得に使うターミナルセッション用スキルです。tmuxでキー入力を送り、画面を読み取り、セッションを維持します。

主な機能

  1. 01デタッチしたtmuxセッションの作成
  2. 02コマンドやキー入力の送信
  3. 03ターミナル画面出力の取得
  4. 04長時間プロセスの維持と停止
  5. 05TUIの操作と確認

活用シーン

  1. 01ralph-tuiなどの対話型CLIのテスト
  2. 02サーバーやループ処理のバックグラウンド実行
  3. 03QAレポート用のリアルタイム出力収集

インストール

コマンドをコピーしてターミナルで実行します。

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

インストール後、Claude Code で/tmux-terminalを入力して読み込まれたか確認します。

詳細

tmux-terminal

概要

tmux を使用して、ralph-tui などの TUI ワークフローを含む対話型ターミナルセッションを操作します。tmux を使うと、キー入力を送信し、画面出力をキャプチャして、手順の合間もプロセスを実行し続けられます。

使用する場面

  • ralph-tui や対話型 CLI プロンプトをテストする場合
  • 長時間実行するプロセス(ウェブサーバー、ループ、ウォッチモード)を管理する場合
  • QA レポート用にターミナルのライブ出力をキャプチャする場合
  • 画面を再描画するアプリケーションを操作する場合

前提条件

  • tmux がインストールされていること(macOS ではプリインストールされています)

確認します:

tmux -V

基本コマンド

デタッチ状態のセッションを作成します:

tmux new-session -d -s <name>

コマンドを送信します(実行するには Enter を追加します):

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

画面出力をキャプチャします:

tmux capture-pane -t <name> -p

完了したらセッションを終了します:

tmux kill-session -t <name>

特殊キー

キー名を指定して send-keys を使用します:

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

例:

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

TUI の操作パターン

ralph-tui を起動する
tmux new-session -d -s ralph-tui
tmux send-keys -t ralph-tui "cargo run -p ralph-tui" Enter
TUI 内を移動する
tmux send-keys -t ralph-tui Down
tmux send-keys -t ralph-tui Enter
画面をキャプチャして解析する
tmux capture-pane -t ralph-tui -p -S -200

画面の出力が多い場合は、-S -200 を使用して直近の 200 行をキャプチャします。

長時間実行するプロセスの管理

  • サーバーやループは tmux セッション内で起動し、実行し続けるようにします。
  • capture-pane を使用して状態を確認します(「listening」や「ready」というテキストを探します)。
  • C-c を押してから kill-session を実行し、正常に停止します。

例:

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

注意事項

  • セッション名は短く、一意なものにします。
  • バックグラウンドプロセスが残らないよう、セッションは必ずクリーンアップします。
  • 出力が空に見える場合は、少し待ってからもう一度キャプチャします。

コメント