A beautiful TUI for managing git worktrees across multiple repositories
tasktree-manager is a terminal user interface (TUI) application for managing development tasks that span multiple git repositories. Create tasks, organize worktrees, and track status across your entire codebase—all from a beautiful, keyboard-driven interface inspired by lazygit.
- 🎯 Task-Based Workflow - Group related worktrees across multiple repositories
- 🌳 Git Worktree Management - Create, delete, and manage worktrees seamlessly
- 📊 Real-Time Status - See uncommitted changes, branch info, and sync status at a glance
- 🔀 Sorting & Grouping - Sort tasks by name/date/status, group worktrees by dirty/clean
- 🎨 Beautiful Themes - 7 built-in themes via Command Palette (Ctrl+P)
- ⌨️ Keyboard-First - Navigate and control everything without touching the mouse
- 🚀 Fast & Responsive - Parallel git operations with loading indicators
- 🔧 Flexible Configuration - TOML config file, custom keybindings, environment variables
| Indicator | Meaning |
|---|---|
● red |
Uncommitted changes |
◆ blue |
Has CLAUDE.md file |
⟳ magenta |
Claude Code session running |
! yellow |
Claude Code session waiting for input |
✓ green |
Clean worktree / Claude session ended |
✗ N red |
N files changed |
↑N green |
N commits ahead of remote |
↓N yellow |
N commits behind remote |
# Using pipx (recommended)
pipx install tasktree-managerSee the Installation Guide for other methods and platform-specific instructions.
tasktree-managerOn first run, you'll configure:
- Repositories Directory: Where your git repos live (e.g.,
~/repos) - Tasks Directory: Where worktrees will be created (e.g.,
~/tasks)
- Create a task - Press
n, enter task name, select repositories - Work on code - Press
efor editor,gfor lazygit, orEnterfor shell - Push changes - Press
pto push all worktrees - Delete task - Press
dwhen finished
For detailed workflows and examples, see the User Guide.
Complete guides:
- Installation Guide - Platform-specific setup, system requirements, troubleshooting
- User Guide - Workflows, keyboard shortcuts, tips and best practices
- Configuration Reference - All config options, keybindings, themes
- Troubleshooting Guide - Common issues and solutions
Quick Reference:
| Key | Action | Key | Action |
|---|---|---|---|
n |
New task | g |
Open lazygit |
a |
Add repo | e |
Open editor |
d |
Delete task | o |
Open folder |
p |
Push all | P |
Pull all |
c |
Claude (resume) | C |
Claude (new) |
r |
Refresh | s |
Sort tasks |
S |
Group worktrees | m |
Messages |
Enter |
Open shell | Tab |
Next panel |
? |
Show help | q |
Quit |
Themes: Press Ctrl+P to switch between 7 built-in themes (textual-dark, nord, gruvbox, tokyo-night, monokai, dracula, textual-light).
tasktree-manager uses git worktrees to create isolated working directories for each task. Work on multiple branches simultaneously without stashing or context switching.
Directory Structure:
~/repos/ # Your git repositories (never modified)
├── backend/
└── frontend/
~/tasks/ # Task worktrees (managed by tasktree-manager)
├── FEAT-123/
│ ├── backend/ # Worktree on branch FEAT-123
│ └── frontend/ # Worktree on branch FEAT-123
└── BUG-456/
└── backend/
Learn more in the User Guide.
See CONTRIBUTING.md for detailed development setup and guidelines.
Quick Start:
git clone https://github.com/yourusername/tasktree-manager.git
cd tasktree-manager
mise install
mise run install
mise run testCommon Commands:
mise run dev # Run with dev console
mise run test # Run tests
mise run lint:fix # Auto-fix lint issuesContributions welcome! See CONTRIBUTING.md for guidelines.
Quick contribution steps:
- Fork and create feature branch
- Make changes and add tests
- Run
mise run testandmise run lint - Submit pull request
- Python 3.10+ (3.13+ recommended)
- Git 2.0+
- 256-color terminal
- Unix-like OS (macOS, Linux, WSL2)
See Installation Guide for detailed requirements and setup.
Common issues and quick fixes:
- "No repositories found" - Check
repos_dirin config contains git repos - "Worktree creation failed" - Verify base branch exists and you have permissions
- Theme not changing - Use
Ctrl+Pto select theme, or check config file permissions - Command not found - Run
pipx ensurepathand restart terminal
For comprehensive troubleshooting, see the Troubleshooting Guide.
Current: v0.2.0 - Configuration system, themes, comprehensive documentation
Upcoming:
- v0.3.0 - Search/filter, task templates, archiving
- v0.4.0 - JIRA integration, git hooks, automation
- v1.0.0 - Stable release
See ROADMAP.md and CHANGELOG.md for details.
MIT License - see LICENSE for details.
Made with ❤️ by developers, for developers | ⭐ Star this repo