worktree-manager

mcp
Security Audit
Fail
Health Pass
  • License — License: MIT
  • Description — Repository has a description
  • Active repo — Last push 0 days ago
  • Community trust — 53 GitHub stars
Code Fail
  • rm -rf — Recursive force deletion command in .github/workflows/release.yml
  • process.env — Environment variable access in .github/workflows/release.yml
  • fs module — File system access in .github/workflows/release.yml
  • rm -rf — Recursive force deletion command in package.json
  • network request — Outbound network request in packages/mcp/package-lock.json
  • network request — Outbound network request in packages/mcp/package.json
Permissions Pass
  • Permissions — No dangerous permissions requested

No AI report is available for this listing yet.

SUMMARY

Visual Git Worktree manager for parallel branch development. Multi-repo workspaces, smart symlinks, built-in terminal, browser remote access, and AI-ready MCP integration. Built with Tauri 2 + React + Rust.

README.md
Worktree Manager

Worktree Manager

The missing GUI for Git Worktrees.

Work on multiple branches simultaneously, across multiple repos, without stash, clone, or context-switching pain.

Desktop app + browser remote access. Built with Tauri 2, React 19, and Rust.

License: MIT
GitHub release
CI

Download |
Documentation |
MCP Integration |
中文


The Problem

You're deep in a feature branch. Fifteen files changed. Dev server running. Then Slack pings: production is down.

Traditional workflow: git stash → switch branch → npm install (different lockfile) → wait for rebuild → fix the bug → switch back → git stash pop → pray for no conflicts → restart dev server. 15 minutes minimum, while production burns.

With Worktree Manager: click "New Worktree", type hotfix-payment, done. Your feature branch dev server keeps running. Dependencies are shared via symlink — instant setup. Fix, push, archive. 30 seconds of switching cost.

Key Features

Parallel Branch Development

Work on multiple branches at the same time in isolated directories. Each worktree has its own file tree, but shares the same .git data. No cloning, no stashing.

Multi-Repo Workspaces

Group related repositories (frontend + backend + shared libs) into a single workspace. Create a worktree and all repos switch together — no more "I forgot to switch the API repo" debugging sessions.

Smart Symlinks

Automatically symlink node_modules, .next, vendor, target, and other heavy directories when creating worktrees. Zero extra disk space. Zero dependency reinstall time.

One-Click Git Operations

Sync with base branch, merge to test, pull, push — all from the UI. Real-time diff stats show how many commits you're ahead/behind. Batch-trigger operations across all projects in a worktree.

Built-in Terminal

Full terminal emulator (xterm.js + PTY) per worktree. Split your workflow without leaving the app. Shell integration, search, voice input, and per-project terminal tabs.

Browser Remote Access

Share your workspace over the network. Password-protected, with optional ngrok tunneling for public access. View code, run terminal commands, and manage worktrees from any browser — no client installation needed.

IDE Integration

One-click open in VS Code, Cursor, or IntelliJ IDEA. Auto-detects installed editors with native app icons.

Safe Archiving

When a branch is done, archive the worktree. Pre-archive checks catch uncommitted changes, unpushed commits, and running processes. Restore anytime with one click.

AI-Ready (MCP)

Built-in Model Context Protocol server lets AI assistants (Claude Code, Cursor, Codex) create worktrees, check status, and run git operations through natural language.

Tag-Based Organization

Tag projects by team, domain, or stack. Filter and batch-select by tags when creating worktrees. Visual tag chips throughout the UI.

Quick Start

Download (Recommended)

Grab the latest release for your platform:

Platform Download
macOS .dmg
Windows -setup.exe
Linux .AppImage / .deb

Only requirement: Git 2.0+. No Node.js or Rust needed at runtime.

Get Started in 3 Steps

  1. Create a Workspace — Point to your project directory or create a new one
  2. Add Projects — Import repos via GitHub shorthand (owner/repo), SSH, or HTTPS
  3. Create Worktrees — Click "+", name your branch, select projects, go

How It Works

Worktree Manager builds on Git's native git worktree feature, which lets you check out multiple branches into separate directories while sharing a single .git database.

workspace/
├── .worktree-manager.json        # Workspace config
├── projects/                     # Main repos (base branches)
│   ├── frontend/
│   └── backend/
└── worktrees/                    # Your worktrees
    ├── feature-checkout-v2/
    │   ├── projects/
    │   │   ├── frontend/         # ← git worktree (own branch)
    │   │   │   └── node_modules  # ← symlink to main
    │   │   └── backend/
    │   ├── .claude -> ../../.claude       # Shared files
    │   └── CLAUDE.md -> ../../CLAUDE.md
    └── hotfix-payment/
        └── ...

Shared items (.claude, CLAUDE.md, config files) are automatically symlinked across all worktrees so AI assistants and tooling configs stay in sync.

Configuration

Workspace Config (.worktree-manager.json)

{
  "name": "My Project",
  "worktrees_dir": "worktrees",
  "linked_workspace_items": [".claude", "CLAUDE.md"],
  "tags": [
    { "id": "fe", "name": "Frontend", "color": "#3B82F6" },
    { "id": "be", "name": "Backend", "color": "#10B981" }
  ],
  "projects": [
    {
      "name": "web-app",
      "base_branch": "main",
      "test_branch": "test",
      "merge_strategy": "merge",
      "linked_folders": ["node_modules", ".next"],
      "tags": ["fe"]
    }
  ]
}

Adding Projects

Format Example
GitHub shorthand facebook/react
SSH [email protected]:facebook/react.git
SSH (custom port) ssh://[email protected]:1022/org/repo.git
HTTPS https://github.com/facebook/react.git

Building from Source

For contributors and developers

Prerequisites: Node.js 20+, Rust 1.70+ (install), Git 2.0+

git clone https://github.com/guoyongchang/worktree-manager.git
cd worktree-manager
npm install

# Development
npm run build && npm run tauri dev

# Production build
npm run tauri build

# Verify command contracts (IPC ↔ HTTP sync)
npm run contracts

See TESTING.md for the testing strategy.

Tech Stack

Layer Technology
Framework Tauri 2
Frontend React 19 + TypeScript 5
Styling Tailwind CSS 4 + Radix UI
Build Vite 7
Backend Rust (axum, git2, tokio)
Terminal xterm.js + portable-pty

Contributing

Contributions are welcome! Please open an issue first to discuss what you'd like to change.

  1. Fork the repo
  2. Create your branch (git checkout -b feature/amazing-feature)
  3. Commit your changes
  4. Push to the branch
  5. Open a Pull Request

License

MIT


If Worktree Manager saves you time, consider giving it a star!

Report Bug ·
Request Feature ·
Documentation

Reviews (0)

No results found