worktree-util

command module
v0.1.0 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Feb 3, 2026 License: MIT Imports: 10 Imported by: 0

README ΒΆ

Worktree Util

Worktree Util Logo

Release Test Go Report Card

A simple TUI (Terminal User Interface) for managing Git worktrees, built with Go and Bubble Tea.

Features

  • πŸ“‹ List all git worktrees in your repository
  • βž• Add new worktrees with custom branches (auto-organized in .worktrees/ folder)
  • πŸ—‘οΈ Remove worktrees safely
  • 🎨 Beautiful terminal interface with keyboard navigation
  • ⚠️ Smart error handling with helpful messages
  • πŸš€ Simple workflow - just enter a branch name, path is auto-generated

Installation

Homebrew (macOS/Linux)
brew install abtris/tap/worktree-util
Download Binary

Download the latest release for your platform from the releases page.

Build from Source
git clone https://github.com/abtris/worktree-util.git
cd worktree-util
go build -o worktree-util

Usage

Run the tool from within a git repository:

./worktree-util
Keyboard Shortcuts
List View
  • a - Add a new worktree
  • d - Delete selected worktree
  • r - Refresh the list
  • ↑/↓ - Navigate through worktrees
  • q - Quit
Add Worktree View
  • Enter - Create the worktree
  • Esc - Cancel and return to list
Delete Confirmation
  • y - Confirm deletion
  • n or Esc - Cancel deletion

Requirements

  • Go 1.21 or higher
  • Git installed and available in PATH
  • Must be run from within a git repository

How It Works

The tool uses git worktree commands under the hood:

  • git worktree list --porcelain - to list worktrees
  • git worktree add - to create new worktrees
  • git worktree remove - to delete worktrees
Auto-Generated Paths

When you create a new worktree, you only need to provide the branch name. The tool automatically:

  1. Creates a .worktrees/ directory in your repository root (if it doesn't exist)
  2. Sanitizes the branch name (e.g., feature/new-feature β†’ feature-new-feature)
  3. Creates the worktree at .worktrees/<sanitized-branch-name>

This keeps all your worktrees organized in one place!

Example Workflow

  1. Run ./worktree-util in your git repository
  2. Press a to add a new worktree
  3. Enter the branch name (e.g., feature/new-feature)
  4. Watch the path auto-generate (e.g., .worktrees/feature-new-feature)
  5. Press Enter to create
  6. The new worktree will appear in the list

Your worktrees will be organized like this:

my-repo/
β”œβ”€β”€ .git/
β”œβ”€β”€ .worktrees/
β”‚   β”œβ”€β”€ feature-new-feature/
β”‚   β”œβ”€β”€ bugfix-123/
β”‚   └── experiment-api/
β”œβ”€β”€ src/
└── README.md

License

MIT

worktree-util

Documentation ΒΆ

The Go Gopher

There is no documentation for this package.

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL