A powerful CLI tool for seamless parallel development with Git worktrees
ๆฅๆฌ่ช โข Installation โข Why Phantom? โข Basic Usage โข Documentation
Phantom is a powerful CLI tool that dramatically boosts your development productivity by making Git worktrees simple and intuitive. Run multiple tasks in isolated environments simultaneously and achieve true multitask development. Built for the next generation of parallel development workflows, including AI-powered coding with multiple agents.
- ๐ Simple worktree management - Create and manage Git worktrees with intuitive commands
- ๐ True multitasking - Create separate working directories per branch and run multiple tasks simultaneously
- ๐ฏ Execute commands from anywhere - Run commands in any worktree with
phantom exec <worktree> <command> - ๐ช Built-in tmux integration - Open worktrees in new panes or windows
- ๐ Interactive selection with fzf - Use built-in fzf option for worktree selection
- ๐ฎ Shell completion - Full autocomplete support for Fish, Zsh, and Bash
- ๐ GitHub Integration - Create worktrees directly from GitHub PRs and issues
- ๐ค MCP Integration - AI autonomously manages worktrees for parallel development
- โก Fast and lightweight - Minimal external dependencies
brew install aku11i/tap/phantomNote: Shell completions for Fish and Zsh are installed automatically with Homebrew. For Bash completion, see the Shell Completion section below.
npm install -g @aku11i/phantomGit worktrees are powerful but require manual management of paths and branches. Also, navigating between multiple worktrees is cumbersome. Phantom eliminates these problems:
# Without Phantom
git worktree add -b feature-awesome ../project-feature-awesome origin/main
cd ../project-feature-awesome
# With Phantom
phantom create feature-awesome --shellWhen you run phantom create feature-awesome, a new Git worktree named feature-awesome is created in .git/phantom/worktrees/.
All worktrees created with phantom are centrally managed in this location.
your-project/ # Git repository
โโโ .git/
โ โโโ phantom/
โ โโโ worktrees/ # Phantom-managed directory
โ โโโ feature-awesome/ # branch name = worktree name
โ โโโ bugfix-login/ # another worktree
โ โโโ hotfix-critical/ # yet another worktree
โโโ ...
You can also customize the worktree location using the worktreesDirectory configuration option in phantom.config.json. This allows you to store worktrees in any location you prefer.
This convention means you never need to remember worktree paths - just use the branch name for easy worktree operations.
Phantom provides perfect functionality as a command-line tool. Developers feel the trust and comfort of flying first class.
Phantom supports full shell completion for Fish, Zsh, and Bash. Use tab key to complete commands and worktree names.
When installed via Homebrew, completions for Fish and Zsh are installed automatically. For Bash, you need to manually set up the completion:
# Prerequisites: bash-completion v2 must be installed
# For Bash (add to your .bashrc or .bash_profile)
eval "$(phantom completion bash)"When creating worktrees, you can use tmux to open them in new windows or panes. This allows you to manage multiple work environments simultaneously.
# Create and open worktree in new window
phantom create feature-x --tmux
# Create with split panes
phantom create feature-y --tmux-vertical
phantom create feature-z --tmux-horizontal
# Open existing worktrees in tmux
phantom shell feature-x --tmux
phantom shell feature-y --tmux-v
# Result: Multiple worktrees displayed simultaneously, each allowing independent workPhantom works seamlessly with editors like VS Code and Cursor. You can specify an editor to open worktrees.
# Open with VS Code
phantom create feature --exec "code ."
# Or open existing worktree
phantom exec feature code .
# Open with Cursor
phantom create feature --exec "cursor ."
phantom exec feature cursor .Interactive search with fzf allows quick worktree selection.
# Open shell with fzf selection
phantom shell --fzf
# Delete with fzf selection
phantom delete --fzfPhantom provides a Model Context Protocol (MCP) server. AI coding assistants can autonomously create and manage worktrees to develop multiple features in parallel.
After completing the MCP server setup, try giving your AI agent a prompt like this. The AI agent will create two worktrees and implement Express and Hono apps in each.
Create 2 variations of a simple hello world app using Express and Hono, each in their own worktree. Make sure each can be started with npm start and served on a different URL.
See MCP Integration Guide for detailed setup and usage.
phantom create feature-awesome
phantom listphantom shell feature-awesome
# Start development work
# Exit the shell when done
exitphantom exec feature-awesome {command to run}
# Example: phantom exec feature-awesome npm run buildphantom delete feature-awesome- Getting Started - Common workflows and tips
- Commands Reference - All commands and options
- Configuration - Set up automatic file copying and post-create commands
- GitHub Integration - Work with GitHub pull requests and issues
- MCP Integration - AI-powered parallel development with Model Context Protocol
Contributions are welcome! See our Contributing Guide for:
- Development setup
- Code style guidelines
- Testing requirements
- Pull request process
MIT License - see LICENSE