work is a smarter cd for git worktrees, where the branch is the address. The place you meant to work is just a few keystrokes away.
Navigation is the whole remit. work provisions the worktree and hands it to whatever it opens on: your shell, or a command. The second form makes it a launcher for agentic work, one keystroke from a ticket to an agent running in its own checkout.
Build it from source. There is no package yet.
mise run install
Then one line in your shell's startup file:
source <(work init bash) # .bashrc
work init fish | source # config.fish
source <(work init zsh) # .zshrc, below compinit
git is the only dependency. Other tooling is reached for as needed. Every build and install task: mise tasks.
work
Choose from the repository's worktrees, its ready tickets and its open pull requests.
- With a worktree: what you set it to open on, a shell by default.
- Without one: the worktree is created first, then opens the same way.
work <name>
A worktree name, a ticket id or a pull request skips the chooser. See also the command line.
What ships is locked to the integrations named below, and a missing one fails its path rather than degrading it.
- The resolvers are
beadsandgithub. A ticket is a bead overbd; a pull request one oforigin's, fetched in that one forge's ref layout. - The agent opener is
claude. - The picker is
fzf. The no-argument form needs it.
MIT. See LICENSE.