mcpField
C
cmux-cli

cmux-cli

github.com/robsonrung開発241 回インストール今日更新
リポジトリ

cmux-cli について

cmux-cliは、CLIからcmuxのワークスペース、パネル、ターミナルサーフェスを操作するスキルです。対象を明示して解決し、操作後の状態を照会してから結果を報告します。

主な機能

  1. 01フォーカス中のウィンドウやワークスペースを特定
  2. 02ワークスペース、ウィンドウ、サーフェスを指定
  3. 03ワークスペース、分割、パネルのフォーカスを管理
  4. 04ターミナルにテキストやキー入力を送信
  5. 05cmuxの状態照会で変更を検証

活用シーン

  1. 01指定したターミナルサーフェスにコマンドを送信
  2. 02依頼されたワークスペースパネルを作成またはフォーカス
  3. 03ステータス、進捗、通知を確認

インストール

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

$npx skills add https://github.com/robsonrung/rar-skills --skill cmux-cli

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

同梱ファイルagents/openai.yamlreferences/cli-reference.md

詳細

cmux CLI

モデルを選択する前に、ブランチを選択してください。このワークフローは、現在のコーディネーターと直接ツールを使って実行します。ワーカーへのディスパッチは行いません。

デフォルトのインターフェースとして cmux CLI を使用します。すべてのコマンドは、特定のワークスペース、パネル、またはサーフェスに対して実行されるものとして扱います。観測可能な動作を基準にします。対象を明示し、コマンドを実行してから、結果を確認できる cmux の状態を問い合わせてください。

コンテキストの確立

  1. cmux ping を実行します。失敗した場合は、cmux が利用できない、または応答していないと報告してください。ユーザーから依頼がない限り、インストール、ソケット設定の変更、別のターミナルマネージャーの使用は行わないでください。
  2. cmux identify --json を実行して、フォーカス中のウィンドウ、ワークスペース、パネル、サーフェスを取得します。リクエストでフォーカス中のものではなく特定のワークスペースが指定されている場合は、cmux current-workspace --json または cmux list-workspaces --json を使用してください。
  3. フォーカスされていない対象の場合は、JSON 出力から ID を特定し、ドキュメントに記載されたスコープフラグ --window、--workspace、または --surface を渡してください。参照 ID と UUID を区別する必要がある場合は、--id-format both を指定してください。

「検証する観測可能な動作は、サーフェス <id> がリクエストされた入力を受け取ることです」と伝えてください。新しい問い合わせで対象を確認できる場合は、以前のコマンドから対象を推測しないでください。

リクエストされた操作の実行

シェル呼び出しごとに cmux コマンドを1つ使用してください。ID の解析や状態の報告には、JSON 出力を優先してください。一般的でない操作の場合や、以下に正確なフラグが記載されていない場合は、このスキルのディレクトリにある references/cli-reference.md を参照してください。

ワークスペースとパネル
cmux new-workspace
cmux select-workspace --workspace <workspace-id>
cmux new-split right
cmux list-panels --json
cmux focus-panel --panel <surface-id>

new-split では left、right、up、down を指定できます。ユーザーがその状態変更をリクエストした場合にのみ、ワークスペースまたは分割を作成してください。close-workspace --workspace <workspace-id> を実行する前に、ワークスペースを特定し、閉じることについてユーザーの明示的な意思を確認してください。

ターミナル入力

対象がわかっている場合は、明示したサーフェスにテキストを送信してください。テキストを実行する意図がある場合は、Enter を別に送信してください。

cmux send --surface <surface-id> "npm test"
cmux send-key --surface <surface-id> enter

send はターミナル入力を変更し、send-key enter はそれを実行します。状態を確認するためだけに、ターミナルへコマンドを送信しないでください。まず cmux の問い合わせコマンドで確認してください。send-key では enter、tab、escape、backspace、delete および矢印キーを使用できます。

ステータス、進捗、ログ、通知

ステータスには、タスク固有の一意なキーを使用してください。そのキーが所有する状態のみをクリアしてください。ユーザーがタスクの状態報告を依頼した場合にのみ、ステータス、進捗、またはログを設定してください。通知の作成は、明示的に通知を依頼された場合に限ります。

cmux set-status task-build "running" --icon hammer --color "#ff9500" --priority 80
cmux set-progress 0.5 --label "Tests running"
cmux log --level progress --source task-build "Tests started"
cmux notify --title "Task complete" --body "Tests passed"

clear-notifications と clear-log は共有状態を削除します。どちらも明示的な依頼があった場合にのみ実行してください。結果のステータス、進捗、最近の操作コンテキストを報告するには、cmux sidebar-state を使用してください。

検証と報告

受け入れ条件は、コマンドが成功し、その後に独立した cmux の問い合わせでリクエストされた結果を確認できることです。

リクエストされた結果検証
ワークスペースが選択されたcmux current-workspace --json
分割またはフォーカス中のサーフェスが変更されたcmux list-panels --json および cmux identify --json
ステータスまたは進捗が更新されたcmux sidebar-state
通知が作成されたcmux list-notifications --json

ターミナル入力の場合は、対象と、送信した正確なテキストまたはキーを報告してください。ターミナルコマンド自体の出力を確認できない限り、そのコマンドが成功したとは主張しないでください。cmux コマンド、特定した対象、検証結果を報告してください。cmux がエラーを返した場合は、リクエストされた操作を中止し、エラーテキストを記載してください。

ソケットの境界

ユーザーがソケットによる自動化を明示的に依頼しない限り、CLI を使用してください。ソケットのリクエストの場合は references/cli-reference.md を参照し、id、method、params を含む JSON リクエストのみを使用してください。ユーザーの明示的な承認なしに CMUX_SOCKET_MODE=allowAll を有効にしたり、CMUX_SOCKET_PATH を変更したりしないでください。

コメント