Multi-repo Git workflows without the pain. Interactive TUI or fast CLI — your call.
Grab a binary from Releases, or build it yourself:
go install github.com/CheeziCrew/swissgit@latestDrop a .env next to the binary:
GITHUB_TOKEN=ghp_...
SSH_KEY=id_ed25519Run swissgit for the TUI, or pass a command for CLI mode.
swissgitFull interactive terminal UI — navigate commands, pick repos, fill forms, watch progress. Adapts to your terminal's color theme (base16).
Every command works with --all / -a to hit all repos in subdirectories.
swissgit status -a # What's dirty?
swissgit branches -a # What branches exist?
swissgit commit -m "fix stuff" -a # Stage, commit, push everywhere
swissgit pr -m "Title" -b feat-1 -a # Create PRs across repos
swissgit clone -o MyOrg -t my-team # Clone org (skips archived repos)
swissgit cleanup -a -d # Reset, pull main, prune branches
swissgit automerge -t "PR title" -a # Enable auto-merge (needs gh CLI)| What | Why | Required |
|---|---|---|
| Git | duh | Yes |
| SSH key on GitHub | Clone/push over SSH | Yes |
GITHUB_TOKEN |
PR creation, org clone, GitHub API | Yes |
gh CLI |
Automerge only | Only for automerge |
The .env file is loaded from the binary's directory, not your CWD. If using go run ., export the vars in your shell instead.
Theo the Cat — moral support department, head of naps division.
