Skip to main content
Glama

wtx

MCPサーバー内蔵のGitワークツリーマネージャー。 ターミナルから独立したワークスペースを作成、確認、クリーンアップできます。または、AIコーディングエージェントに任せることもできます。

CI npm license


並列AIコーディングエージェントは、git stashのやりくりを時代遅れにしましたが、生のgit worktree add ../foo -b foo && cd ../foo && cp ../.env .を1日に5回も繰り返すのは、誰もやりたくない面倒な作業です。wtxはワークツリーを人間にもエージェントにもたった一言で完結するワークフローに変えます:

$ wtx new fix-login
✔ created worktree fix-login
  path:   ~/code/myapp/.worktrees/fix-login
  branch: wt/fix-login (new)
  copied: .env, .env.local

エージェントはMCPを通じて同じ力を手に入れます:

{ "name": "create_worktree", "arguments": { "name": "fix-login", "setup": "npm install" } }

wtxを選ぶ理由

  • ひとつのツール、ふたつのインターフェース。 あなた向けの高速CLIと、Claude Code、Cursor、Codex、その他MCP対応エージェント向けのMCPサーバー(wtx mcp)。

  • 依存ゼロ。 gitにシェルアウトするだけの単一Node.jsバイナリ。監査するものもなく、壊れるものもありません。

  • 衛生面にも配慮。 すべてのワークツリーでディスク使用量と最終アクティビティを表示します。wtx clean --dry-runで、古くなったnode_modulesのクローンによる数ギガバイトを回収できます。

  • デフォルトで安全。 ダーティなワークツリーの削除を拒否し、メインチェックアウトには一切触れず、完全にマージ済みのブランチのみを削除し、.git/info/excludeで.worktrees/を非表示にします(.gitignoreを汚しません)。

  • 必要なものをすべて同梱。 新しいワークツリーにenvファイルをコピーし、プロジェクトのセットアップフックを自動実行します。

Related MCP server: worktree-tools-mcp

インストール

npm install -g wtx        # or: brew install wtx (planned)

Node.js ≥ 18 と、モダンなgitが必要です。

クイックスタート

$ cd myapp
$ wtx new feat-search          # isolated workspace at .worktrees/feat-search on branch wt/feat-search
$ cd $(wtx path feat-search)   # jump in
$ wtx ls                       # see every workspace, its state and size
NAME       BRANCH         STATUS       AGE      SIZE     PATH
myapp*     main           ✓ clean      2d ago   412 MB   ~/code/myapp
feat-api   wt/feat-api    ● dirty (1)  3h ago   38 MB    ~/code/myapp/.worktrees/feat-api
$ wtx clean --dry-run          # preview reclaimable space
· feat-api (branch merged, 38 MB)
would free: 38 MB · kept 0 worktree(s)

コマンド

コマンド

説明

wtx new <name>

.worktrees/<name>をブランチwt/<name>で作成し、envファイルをコピー、セットアップフックを実行

wtx ls

ワークツリーの一覧表:ブランチ、ahead/behind、ダーティ状態、最終コミットからの経過、ディスク使用量

wtx rm <name> [--force]

ワークツリーを削除。ダーティなら拒否。マージ済みブランチを削除

wtx clean [--dry-run] [--stale-days <n>]

ブランチが完全にマージ済みおよび/または非アクティブなワークツリーを削除

wtx open [name]

ワークツリー内で$SHELLを起動(--printでパスを表示するだけ)

wtx path [name]

ワークツリーの絶対パスを表示(シェルスクリプトに便利)

wtx mcp

stdio上でMCPサーバーとして実行

グローバルフラグ:--json(機械可読な出力)、--base <ref>、--setup <cmd>、--no-copy、--no-setup。

AIエージェンシから使う(MCP)

MCPクライアントの設定に追加します:

// e.g. claude_desktop_config.json / opencode.json / .mcp.json
{
  "mcpServers": {
    "wtx": { "command": "npx", "args": ["-y", "wtx", "mcp"] }
  }
}

サーバーはlist_worktrees、create_worktree、remove_worktree、clean_worktreesの4つのツールを公開します。すべて任意のrepo_pathを受け付けます。指定しない場合はサーバーの作業ディレクトリが使われます。レスポンスはJSONなので、エージェントはメインチェックアウトでブランチを切り替えることなく、作成 → 作業 → 削除の流れを連結できます。

エージェントへのプロンプト例:"developをベースにoauth-fixというワークスペースを作成し、その中でpnpm installを実行して、パスを教えてください。"

設定

リポジトリルートにwtx.config.json(または.wtxrc)を置きます:

{
  "dir": ".worktrees",
  "copyFiles": [".env", ".env.local"],
  "setup": "pnpm install",
  "branchPrefix": "wt/"
}

キー

デフォルト

意味

dir

.worktrees

ワークツリーの配置先。リポジトールートからの相対パス(.git/info/excludeに自動追加)

copyFiles

[".env", ".env.local"]

メインチェックアウトから各新規ワークツリーにコピーされるファイル

setup

(なし)

新規ワークツリーの作成後にその中で実行されるシェルコマンド

branchPrefix

wt/

wtx newで作成するブランチのプレフィックス

安全モデル

  • メインワークツリーはrmやcleanで削除されることはありません。

  • ダーティなワークツリーはcleanで常に保持され、rmには--forceが必要です。

  • ブランチは、デフォルトブランチ(origin/HEAD → main → masterの順にフォールバック)に完全にマージ済みの場合のみ削除されます。

  • ワークツリーのディレクトリは.worktrees/配下に置かれ、.git/info/excludeで除外されるため、.gitignoreには一切触れません。

  • 名前はサニタイズされ、../evilのようなトラバーサルは拒否されます。

比較

生のgit worktree

TUIマネージャー

wtx

一発作成 + envコピー + セットアップフック

✗

一部

✓

ワークツリーごとのディスク使用量と鮮度

✗

まれ

✓

すべて機械可読な--json出力

✗

✗

✓

コーディングエージェント向けMCPサーバー

✗

✗

✓

ランタイム依存ゼロ

該当なし

✗(通常は重い)

✓

開発

git clone https://github.com/willkhinz/wtx && cd wtx
npm install
npm test        # build + 32 integration/unit tests
node dist/src/cli.js help

アーキテクチャ: src/core.ts (エンジン)、src/cli.ts (人間向けUI)、src/mcp.ts (エージェント向けUI)。MCP実装は依存ゼロの改行区切り JSON-RPC 2.0です。

ロードマップ

  • wtx exec <name> -- <cmd>:すべてのワークツリーでコマンドを実行

  • ワークツリーごとにtmux/iTermセッションを起動

  • Homebrew formula

  • GitHub Action: PRにワークツリーごとのプレビューをコメント

ライセンス

MIT

Related MCP Connectors

Related MCP Servers