Vibe code in parallel using git worktrees or clones.
██╗ ██╗ ██╗ ██████████╗
██║ ██║ ██║ ╚═══██╔═══╝
██║ ██╗ ██║ ██████╗ ██████╗ ██║ ██╗ ██║ ██████╗ ██╗ ██╗
██║████╗██║ ██╚═══██║ ██╔═══╝ █████╔╝ ██║ ██╔═══╝ ██╗ ██╔╝
███║ ███╔╝ ██████╔╝ ██║ ██╔═██╗ ██║ ██║ ████╔╝
╚══╝ ╚══╝ ╚═════╝ ╚═╝ ╚═╝ ╚═╝ ╚═╝ ╚═╝ ██╔╝
██ Vibe code in parallel using git worktrees or clones ██║
█████████████████████████████████████████████████████████║
╚════════════════════════════════════════════════════════╝
Work on multiple features in parallel — each in its own isolated worktree or clone, with Claude Code ready to go.
wk (or worktry) sets up your repo for parallel AI development:
- 🤖 Auto-configures Claude Code permissions in each worktree/clone
- 📁 Copies config files (
.env,.idea/) to new worktrees/clones - 🚀 Jump between worktrees or clones instantly (
wk 1,wk 2, etc.)
# Install dependencies
npm install -g @johnlindquist/worktree
# Install wk
git clone https://github.com/ovitrif/worktry.git
cd worktry && ./install.sh
# In your project (worktree mode)
cd your-project
wk init # Setup .worktreeinclude
wk config # Edit files to copy
wt setup feature -c # Create worktree with setup
wk 1 # Jump to worktree
wk 0 # Jump back to main
# Or for clone mode
wk init --clone # Setup for clones
gh repo clone user/repo repo-2
wk setup ../repo-2 # Apply setup to clone- Node.js (v18+) — nodejs.org
- worktree-cli —
npm install -g @johnlindquist/worktree ~/.local/binin your PATH
git clone https://github.com/ovitrif/worktry.git
cd worktry
./install.shThis installs:
wkscript to~/.local/bin/(withworktryalias)- Shell function to
~/.zshrc(or~/.bashrc) for navigation
cd your-project
wk init # Worktree mode (default)
wk init --clone # Clone modeWorktree mode creates:
.worktreeinclude— Patterns for files to copy (gitignore-style).worktree-setup.sh— Setup script (Claude permissions + file copying)worktrees.json— Hook forwt setupCLI
Clone mode creates:
.worktreeinclude— Patterns for files to copy.worktree-setup.sh— Setup script
wk config # or: wk cEdit .worktreeinclude with gitignore-style patterns:
# Files to copy to new worktrees/clones
# Files must ALSO be in .gitignore to be copied
.env
.env.local
.env.*
.idea/
**/.claude/settings.local.json
Note: Only files matching BOTH .worktreeinclude AND .gitignore are copied. This prevents accidentally duplicating tracked files.
wt setup feature-name -cCreates a worktree with:
- New branch
feature-name .claude/settings.local.jsonwith permissions- Copies of files from
copy-overlist
If you prefer cloning over worktrees:
gh repo clone user/repo repo-2 # Clone manually
wk setup ../repo-2 # Apply wk setup to clonewk 0 # Jump to main repo
wk 1 # Jump to first worktree/clone
wk 2 # Jump to second worktree/clone
wk go feature-name # Jump by branch name (worktree mode)
wk back # Jump back to main (alias: b)| Command | Alias | Description |
|---|---|---|
wk init |
i |
Initialize for worktree mode |
wk init --clone |
i -c |
Initialize for clone mode |
wk list |
ls, l |
List worktrees or clones |
wk go <name> |
— | Navigate to worktree by branch name |
wk back |
b |
Navigate back to main worktree |
wk config |
c |
Edit .worktreeinclude config |
wk setup <dir> |
s |
Apply wk setup to a clone |
wk new <name> [-b BASE] |
n |
Create worktree with setup |
wk 0-9 |
— | Navigate to worktree/clone by index |
wk --help |
-h |
Show help |
Note:
worktryis also available as an alias forwk.
| File | Description |
|---|---|
.worktreeinclude |
Patterns for files to copy (gitignore-style) |
.worktree-setup.sh |
Setup script (Claude permissions, file copying) |
worktrees.json |
Hook for wt setup CLI (worktree mode only) |
Contributions welcome! Feel free to:
- Fork the repo
- Create a feature branch
- Submit a PR
This project supports vibe-coding with AI agents. See AGENTS.md for project context and coding rules.
The Unlicense — Public domain. Do whatever you want.
See LICENSE.
