workmux とは
workmux はブランチ 1 本をワークスペース 1 つに変えます。workmux add ひとつで git worktree を作り、対応する tmux ウィンドウを開き、新しいチェックアウトに足りないファイル(.env や資格情報)をコピーし、入れ直したくないもの(node_modules)にシンボリックリンクを張り、セットアップコマンドを実行して、指定したペイン配置まで組み立てます。workmux merge はそれを一手で巻き戻します。ブランチをマージし、worktree を削除し、ウィンドウを閉じ、ローカルブランチを消す。stash も、ブランチの切り替えも、次の作業を塞ぐ中途半端なチェックアウトも要りません。
⚡ workmux の主な機能
🌿 ブランチごとに 1 ウィンドウ
workmux add は worktree と tmux ウィンドウを同時に作ります。タスクの切り替えはタブの切り替えになり、シェルもエディタも開発サーバーもそれぞれ独立します。
🧰 ちゃんと動く worktree
作りたての worktree は壊れた状態から始まります。workmux は設定ファイルをコピーし、依存にシンボリックリンクを張り、post_create コマンドを実行して、新しいチェックアウトをすぐ使える状態にします。
🤖 エージェントを並行で
worktree ごとに 1 つずつ、複数の AI コーディングエージェントを同時に走らせ、状態を tmux のウィンドウ名、TUI ダッシュボード、あるいはライブのサイドバーで追えます。
🧹 後片付けは 1 コマンド
workmux merge はブランチをマージしたうえで worktree、tmux ウィンドウ、ローカルブランチを削除します。workmux remove はマージせずに片付けます。
📄 YAML で設定
既定値はグローバルな config.yaml に、ペイン配置・フック・ファイル操作はプロジェクトごとの .workmux.yaml に。モノレポ向けの入れ子にも対応します。
🖥️ tmux だけではありません
tmux が既定のバックエンドで、kitty、WezTerm、Zellij も対応済みです。いま使っているターミナルにワークフローのほうが合わせます。
apt upgrade を実行するだけで、常に最新版を使い続けられます。
📦 deb.griffo.io からインストールする
ステップ 1: リポジトリを追加する
sudo install -d -m 0755 /etc/apt/keyrings
curl -fsSL https://deb.griffo.io/EA0F721D231FDD3A0A17B9AC7808B4DD62C41256.asc | sudo gpg --dearmor --yes -o /etc/apt/keyrings/deb.griffo.io.gpg
echo "deb [signed-by=/etc/apt/keyrings/deb.griffo.io.gpg] https://deb.griffo.io/apt $(lsb_release -sc 2>/dev/null) main" | sudo tee /etc/apt/sources.list.d/deb.griffo.io.list > /dev/null
sudo apt updateinstall -d -m 0755 /etc/apt/keyrings
curl -fsSL https://deb.griffo.io/EA0F721D231FDD3A0A17B9AC7808B4DD62C41256.asc | gpg --dearmor --yes -o /etc/apt/keyrings/deb.griffo.io.gpg
echo "deb [signed-by=/etc/apt/keyrings/deb.griffo.io.gpg] https://deb.griffo.io/apt $(lsb_release -sc 2>/dev/null) main" | tee /etc/apt/sources.list.d/deb.griffo.io.list > /dev/null
apt update🆓 ずっと無料のミラーがあります。 deb-free.griffo.io は、アカウントもサブスクリプションもなしでパッケージをずっと無料で配布しています。上流より最大2か月遅れ、セキュリティ修正は即座に公開されます。現在収録しているのは cliamp、Ghostty、lazydocker、Oh My Posh と Zed です。workmux は含まれていないため、今日入手する方法は上のリポジトリだけですが、ご要望があれば追加できます。
ステップ 2: workmux をインストールする
# 最新の workmux をインストール
sudo apt install workmux
# tmux は既定のバックエンドですが「推奨」止まりです。
# kitty、WezTerm、Zellij でも動くからです
sudo apt install tmux
# インストールを確認
workmux --version# 最新の workmux をインストール
apt install workmux
# tmux は既定のバックエンドですが「推奨」止まりです。
# kitty、WezTerm、Zellij でも動くからです
apt install tmux
# インストールを確認
workmux --versionステップ 3: 最初の worktree
# 任意: このプロジェクト用の .workmux.yaml を書く
cd ~/src/my-project
workmux init
# tmux の中から: ブランチ、worktree、ウィンドウ、ペインを 1 コマンドで
workmux add new-feature
# 作業が終わったら: マージしてまとめて片付け
workmux merge
# bash、zsh、fish の補完はパッケージに同梱
workmux --help🎯 基本的な使用例
日々の流れ:
# ブランチ、worktree、tmux ウィンドウを作る
workmux add fix-login
# 既存のブランチは名前で拾われます
workmux add existing-work
# 既定とは違うベースから枝分かれする
workmux add hotfix --base production
# プルリクエストを専用の worktree に取り出す
workmux add --pr 123
# 進行中のものを一覧する
workmux list
# マージしてすべて撤収
workmux merge
# あるいはマージせずに捨てる
workmux remove fix-loginウィンドウ、ペイン、復旧:
# 切り替えずにウィンドウだけ作る
workmux add docs-pass --background
# worktree とブランチは残してウィンドウだけ閉じる
workmux close docs-pass
# あとでまた開く
workmux open docs-pass
# tmux やマシンが落ちたあと、全ウィンドウを作り直す
workmux resurrect
# どこからでも worktree に入る
cd "$(workmux path fix-login)"エージェントを並行で走らせる:
# エージェント用のステータスフックとスキルを入れる
workmux setup
# エージェントへのプロンプト付きで worktree を始める
workmux add add-tests --prompt "パーサーのユニットテストを追加して"
# すべてのエージェントを 1 つの TUI で見る
workmux dashboard
# または tmux にライブのステータスサイドバーを出す
workmux sidebar
# 動いているエージェントに指示を送る
workmux send add-tests "エラー経路もカバーして"
# そのエージェントが終わるまで待つ
workmux wait add-tests🔧 ツール連携
workmux は、あなたがすでに使っている道具の上にあえて乗ります:
- git: worktree はふつうの
git worktreeのチェックアウトなので、gitもフックも CI も、変わったものは何も見ません - tmux: worktree ごとに 1 ウィンドウ。名前はブランチから取り、ペイン配置は自動で適用されます
- kitty、WezTerm、Zellij: tmux を使っていない場合の、対応済みの代替バックエンド
- コーディングエージェント: Claude Code をはじめ、上流が対応するエージェント向けのステータス追跡、プロンプト送信、スキル導入
- お使いのシェル: bash、zsh、fish の補完はこのパッケージに同梱。
alias wm='workmux'は上流おすすめの短縮形です
🚀 deb.griffo.io を選ぶ理由
- 公式 Ubuntu: workmux をパッケージ化していないので、素のシステムでは
apt install workmuxが失敗します - cargo install workmux: 最新ではありますが、マシンごとに Rust のコンパイルが要り、apt の外に置かれ、シェル補完も付きません
- 上流のインストールスクリプト: 手軽ですが、パッケージマネージャの外からシステムに書き込み、独自の周期で自分を更新します
- deb.griffo.io: 最新版を自動更新でお届け
- ✅ apt で入る唯一の場所: workmux は Debian にも Ubuntu にも収録されていません。このリポジトリが上流公式のビルドをパッケージ化しています
- ✅ エージェント対応は毎週動く: workmux が追跡・操作できるエージェントはリリースごとに変わります。最新かどうかが、機能が使えるか存在しないかの分かれ目です
- ✅ 自動更新: 上流のリリースから数時間以内にパッケージを更新
- ✅ 完全なパッケージ: 上流のバイナリを
/usr/bin/workmuxに、加えて bash、zsh、fish の補完 - ✅ 正直な依存関係: パッケージは
gitに依存し、tmuxは推奨にとどめています。kitty、WezTerm、Zellij も対応バックエンドだからです - ✅ 2 つのアーキテクチャ: amd64 と arm64。どちらも静的リンクなので、同じパッケージがどのスイートでも動きます
- ✅ マルチディストリビューション: Ubuntu 22.04、24.04、25.10、26.04 で動作
- ✅ 手間のかからない運用: 更新は通常の apt コマンドだけ
📦 パッケージのビルドリポジトリ
Ubuntu パッケージは、この GitHub リポジトリで自動的にビルド・管理されています:
- 🧩 workmux-debian - 最新リリースのビルド
🔗 関連パッケージ
deb.griffo.io では、こちらも配布しています:
- lazygit - 各 worktree の中の git 作業を担うターミナル git UI
- GitUI - もう一つの高速なターミナル git クライアント。こちらの流儀が好みなら
- Zellij - マルチプレクサのバックエンドとして、tmux の対応済みの代替
- Serie - そのブランチが実際に何をしたのかを読み直すためのコミットグラフ