wt is a CLI tool that simplifies git worktree management for parallel development workflows. It enables multiple agents or developers to work on separate features simultaneously with an intuitive interface and shell integration.
As a developer, I want the basic project structure and core git operations, so that I can build features on top
- Task 1.1: Set up project structure with pyproject.toml
- Task 1.2: Implement git operations module (git.py)
- Task 1.3: Implement configuration management (config.py)
- Task 1.4: Implement core worktree operations (worktree.py)
- Task 1.5: Add tests for core modules
As a user, I want to initialize and manage worktrees, so that I can work on multiple features
- Task 2.1: Implement
wt initcommand - Task 2.2: Implement
wt switchcommand (existing worktrees) - Task 2.3: Implement
wt switch -c(create new worktrees) - Task 2.4: Implement
wt listcommand - Task 2.5: Add tests for basic commands
As a user, I want to compare, delete, and check status of worktrees
- Task 3.1: Implement
wt diffcommand - Task 3.2: Implement
wt deletecommand with prompts - Task 3.3: Implement
wt statuscommand - Task 3.4: Add tests for management commands
As a user, I want to run commands in worktrees and clean up merged branches
- Task 4.1: Implement
wt runcommand - Task 4.2: Implement
wt cleancommand - Task 4.3: Implement
wt configcommand - Task 4.4: Add tests for advanced features
As a user, I want seamless shell integration, so that I can navigate worktrees easily
- Task 5.1: Implement
wt shell-initcommand - Task 5.2: Generate bash/zsh shell wrapper
- Task 5.3: Generate fish shell wrapper
- Task 5.4: Add --shell-helper flag for cd support
- Task 5.5: Test shell integration
As a user, I want helpful prompts and error messages
- Task 6.1: Implement user prompts module (prompts.py)
- Task 6.2: Add comprehensive error messages
- Task 6.3: Add progress indicators
- Task 6.4: Handle edge cases (spaces in paths, special characters)
As a developer, I want comprehensive documentation and tests
- Task 7.1: Write comprehensive test suite
- Task 7.2: Create README.md with usage examples
- Task 7.3: Create notes.md documenting implementation decisions
- Task 7.4: Update root README.md
- Task 7.5: End-to-end testing
- All commands work as specified in the spec
- Test coverage > 80%
- Shell integration works in bash, zsh, and fish
- Error messages are clear and actionable
- Configuration system works with both local and global configs
- Tool handles edge cases gracefully (uncommitted changes, conflicts, etc.)
- Python 3.10+
- Click for CLI framework
- Subprocess-based git operations (no gitpython dependency for simplicity)
- TOML configuration files
- Shell wrappers for cd integration
As a user, I want to sync worktrees with their upstream branches
- Task 8.1: Add git operations for stash, pull, and rebase
- Task 8.2: Implement sync_worktree method in worktree.py
- Task 8.3: Implement
wt synccommand in cli.py - Task 8.4: Add comprehensive tests for wt sync
- Task 8.5: Update documentation
wt clone- Clone with pre-configurationwt exec- Run command across all worktrees- Worktree templates
- Agent tracking
- Locking mechanism