Git workflow manager for feature branches using worktrees.
The fastest way to get started is using the dev container, which provides a pre-configured environment with Python, uv, and git.
-
Prerequisites:
- Install Docker Desktop
- Install VS Code
- Install the Dev Containers extension
-
Open in Container:
# Clone the repository git clone https://github.com/smorinlabs/worktreeflow.git cd worktreeflow # Open in VS Code code .
-
Reopen in Container:
- VS Code will detect the
.devcontainerconfiguration - Click "Reopen in Container" when prompted (or use Command Palette:
Dev Containers: Reopen in Container) - Wait ~30 seconds for the container to build and start
- VS Code will detect the
-
Start Using:
./wtf --help ./wtf doctor
- Go to the repository on GitHub
- Click the Code button → Codespaces tab → Create codespace on main
- Your browser opens with a fully configured VS Code environment
- Run
./wtf --helpto get started
Benefits: Zero local setup, works from any device with a browser.
If you prefer to run locally without Docker:
-
Prerequisites:
- Python 3.9+
- uv package manager
-
Install uv:
curl -LsSf https://astral.sh/uv/install.sh | sh -
Run the tool:
./wtf --help
The script automatically installs its dependencies via uv on first run.
# Check your environment
./wtf doctor
# Sync your fork's main branch
./wtf sync-main
# Create a new feature worktree
./wtf wt-new my-feature
# Publish your branch
./wtf wt-publish my-feature
# Create a pull request
./wtf wt-pr my-feature
# Update worktree with upstream changes
./wtf wt-update my-feature
# Clean up worktree after merge
./wtf wt-clean my-feature --confirmFor detailed documentation, run:
./wtf --help
./wtf tutorial
./wtf quickstartOnce published, you can install worktreeflow via pip or pipx:
# Using pipx (recommended for CLI tools)
pipx install worktreeflow
# Or using pip
pip install worktreeflow
# Or using uv
uv tool install worktreeflowThen use either the wtf or worktreeflow command:
# Short form
wtf --help
wtf doctor
# Full name (same functionality)
worktreeflow --help
worktreeflow doctorThe dev container includes:
- Python 3.12
- uv package manager
- git (latest)
- VS Code extensions: Ruff, Python, Pylance
- Auto-formatting on save
All dependencies are automatically installed via the wtf script's inline metadata.
-
Build the package:
uv build
This creates
dist/worktreeflow-0.1.0-py3-none-any.whlanddist/worktreeflow-0.1.0.tar.gz -
Test locally:
uv pip install dist/worktreeflow-0.1.0-py3-none-any.whl wtf --help
-
Publish to PyPI:
# First time: Get API token from https://pypi.org/manage/account/token/ # Then set it in your environment or use --token flag uv publish
This package supports two usage patterns:
-
Standalone script (via uv shebang):
./wtf --help
Dependencies are automatically installed from inline metadata.
-
Installed package (via PyPI):
pip install worktreeflow wtf --help # or worktreeflow --helpDependencies are installed from
pyproject.toml. Bothwtfandworktreeflowcommands are available after installation.