1. `git stash` (and forget what's in there forever)
2. Make a "WIP: stuff" commit (clutters history)
3. Ignore them until I'm done (not great)
Worktrees solve this perfectly – each task gets its own directory, fully isolated. But the commands are clunky and I kept forgetting the syntax.
So I built a small CLI wrapper. Now my workflow is:
```
wnew feat/login # creates worktree + cd into it
# ...do work...
wcd # fuzzy-pick another worktree, cd there
wgo main # jump straight to main
```
Dashboard shows everything at a glance:
```
▶ feat/login ● 3 ↑2↓0 ~/.workty/repo/feat-login
main ↑0↓0 ~/src/repo
```Written in Rust, ~2k lines. Refuses to delete dirty worktrees unless you force it.
https://github.com/binbandit/workty
Curious if anyone else has this problem or solved it differently.