Releases: sindrej/treeswitch
Releases · sindrej/treeswitch
Release list
v1.1.1
Fixed
- Reset to main now works for the common layout where
mainlives in the project's primary checkout (not a separate worktree). Previously every repo was skipped with "no worktree on its main branch". It now switches the primary checkout to the default branch and starts from there; if the switch can't happen (conflicting uncommitted changes, or the branch is checked out in another worktree) the repo is skipped with a clear notification — never forced.
Full changelog: v1.1.0...v1.1.1
v1.1.0
Visual setup — no config file to hand-edit
- ➕ Add repo — native Finder folder picker + prompts for name, port, and start command; validates it's a git checkout and writes the config for you. Available on first run (a welcome screen replaces the old "No config found" dead-end) and from the footer.
- ✎ Edit repo — the same prompts, pre-filled. The config key stays stable, so running state and the PR cache survive.
- ✕ Remove repo — confirm, then drop it from the menu only. Your repo, its worktrees, and any running server are left untouched.
Compatibility & robustness
- Menu-bar title falls back to a
⎇text glyph on non-SwiftBar hosts (xbar), so it's never a blank/unclickable entry. - Edit/Remove rewrite the config canonically and keep a
config.zsh.bak. - Fixed the Remove confirmation dialog never appearing (AppleScript quote/newline escaping).
Full changelog: v1.0.0...v1.1.0
v1.0.0
First public release.
treeswitch is a macOS menu-bar tool (SwiftBar plugin) for switching your local dev servers between git worktrees.
Features
- A submenu per configured repo listing its git worktrees, with a ✓ on the one that's running.
- Click a worktree to kill that repo's server and relaunch it from the chosen worktree — headless, in its own process group (clean kill of the whole tree), with per-launch log rotation.
- ↩ Reset to main — one click switches every repo back to its default-branch worktree.
- GitHub PR numbers next to worktree branches (via
gh, cached + background-refreshed; works with GitHub Enterprise). - Dirty / ahead-behind hints, failure notifications, Stop all, restart, open-in-browser.
install.sh/uninstall.shand a non-destructivesmoke-test.sh.
Requirements
macOS, SwiftBar, zsh, git; gh optional (for PR numbers).