From twig
Guides twig CLI usage for git worktree management: create parallel branches, carry or sync uncommitted changes, overlay files, list, and clean worktrees.
npx claudepluginhub 708u/twig --plugin twigThis skill is limited to using the following tools:
twig is a CLI tool that simplifies git worktree workflows by automating branch
Manages git worktrees via unified bash script for parallel development: creates isolated feature environments, lists/switches status, copies .env files, cleans up merged/stale worktrees.
Provides expert guidance on @desplega.ai/wts CLI for managing Git worktrees: create/switch/delete with tmux and Claude Code integration, GitHub PR creation, and cleanup of merged branches.
Manages Git worktrees: create, list, switch, and delete for parallel branch work in a single repository. Activates on worktree-related tasks.
Share bugs, ideas, or general feedback.
twig is a CLI tool that simplifies git worktree workflows by automating branch creation, symlinks, and change management in a single command.
| Command | Purpose |
|---|---|
twig init | Initialize twig configuration |
twig add <name> | Create a new worktree with symlinks |
twig remove <branch>... | Remove worktrees and their branches |
twig list | List all worktrees |
twig clean | Remove unneeded worktrees |
twig sync | Sync symlinks and submodules to worktrees |
twig overlay | Temporarily overlay another branch's files |
Create a new worktree for a feature branch:
twig add feat/new-feature
This creates a worktree at the configured destination directory, creates a new branch if it doesn't exist, and sets up symlinks.
When you realize current work should be on a different branch:
twig add feat/correct-branch --carry
The --carry flag moves uncommitted changes to the new worktree.
The source worktree becomes clean.
When you want changes in both the current and new worktree:
twig add feat/experiment --sync
The --sync flag copies uncommitted changes to both worktrees.
When you want to carry only certain files:
twig add feat/new --carry --file "*.go" --file "cmd/**"
Remove worktrees for branches that have been merged:
twig clean
This shows candidates and prompts for confirmation. Use --yes to skip
the prompt.
Temporarily apply another branch's file contents:
twig overlay feat/x --target main
# ... test in main worktree ...
twig overlay --restore --target main
Include dirty (uncommitted) files from the source worktree:
twig overlay feat/x --target main --dirty
# ... test including uncommitted changes ...
twig overlay --restore --target main
This also works when source and target are at the same commit (only dirty files are applied).
Remove a worktree even with uncommitted changes:
twig remove feat/abandoned -f
Use -ff to also remove locked worktrees.
see ./references/configuration.md
For detailed information on each command, refer to: