Introducing ygg
Since starting to use agentic coding tools like Claude Code, there has been an increasing need for being able to work on multiple things in parallell in the same repository. Doing that manually is a chore, since I have to manage git worktrees, copying .env files, setting up new terminals and things like that just to get started.
That's why I built ygg. It's a small CLI tool that brings worktrees together with Zellij. With ygg, I just run a command and I have a completely isolated environment in a new Zellij tab. It also handles the annoying parts—like automatically copying over my untracked files and .env files so I don't have to set up my environment from scratch every time I create a worktree.
Installing it pretty simple. If you're on macOS:
brew tap joch/ygg
brew install ygg
To spin up a new parallel workspace in a repository:
ygg new my-feature
This creates the worktree, sets up the Zellij tab, and drops you right in. When you're done, just run:
ygg remove
It cleans up the worktree and closes the tab.
I made a short video to show the overall workflow:
The project is available on GitHub. Any feedback is welcome!