One task, many repositories, one terminal.
wtui is a terminal UI for managing task-scoped Git worktrees across multi-repository and microservice codebases.
A feature rarely stays inside one repository. You create the same branch several times, arrange worktrees by hand, repeat sync and push commands, then remember which services are ready to merge.
wtui treats that work as one task. Pick the repositories once, then manage their worktrees, branches, validation, reviews, and releases from one screen.
- Task-scoped worktrees - create matching branches and worktrees across selected repositories.
- Multi-service operations - sync, push, validate, and inspect an entire task together.
- Git Flow support - use
git-flow,github-flow,gitlab-flow, or custom branch rules. - GitHub and GitLab workflows - create and merge PRs/MRs through
ghorglab. - Release orchestration - prepare per-service versions, promote to production, merge, and tag.
- Focused workspaces - generate a VS Code workspace and .NET solution for each task.
Download a binary from GitHub Releases, or install from source:
go install github.com/D1ssolve/wtui/cmd/wtui@latest- Create
~/.config/wtui/config.yaml:
root_dir: /Users/you/dev
tasks_root: /Users/you/dev/.tasks
editor: code
git_flow:
preset: git-flow- Start wtui:
wtui-
Press
i, enter a task ID, and select the repositories involved. -
Work from the generated task directory:
.tasks/PROJ-101/
├── gateway/
├── billing/
├── PROJ-101.code-workspace
└── PROJ-101.sln
Press ? inside wtui for context-aware keyboard help.
| Task workflow | Release workflow |
|---|---|
![]() |
![]() |
| Develop, sync, validate, and open reviews as one task. | Prepare versions, promote, merge, and tag from one release view. |
lazygitfor service-level Git operationsghfor GitHub pull requests and workflowsglabfor GitLab merge requests and pipelines
wtui detects available tools automatically. Press . to view current integration status.
- Git 2.5+
- Go 1.26.1+ when installing from source
- A true-color terminal is recommended
make test
make lint
make build

