worktree-manager
Health Gecti
- License — License: MIT
- Description — Repository has a description
- Active repo — Last push 0 days ago
- Community trust — 53 GitHub stars
Code Basarisiz
- 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 Gecti
- Permissions — No dangerous permissions requested
Bu listing icin henuz AI raporu yok.
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.
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.
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
- Create a Workspace — Point to your project directory or create a new one
- Add Projects — Import repos via GitHub shorthand (
owner/repo), SSH, or HTTPS - 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 developersPrerequisites: 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.
- Fork the repo
- Create your branch (
git checkout -b feature/amazing-feature) - Commit your changes
- Push to the branch
- Open a Pull Request
License
If Worktree Manager saves you time, consider giving it a star!
Yorumlar (0)
Yorum birakmak icin giris yap.
Yorum birakSonuc bulunamadi