[ 02 ] · inside the window
Built for the day your work spans four repos.
GitHub Desktop, Tower, and Fork are all one-repo-at-a-time. If your work spans services + shared libs + infra, you end up scripting your own "checkout feature/x everywhere" flow. Overgit fills that gap with two orthogonal ideas — workspaces for durable groupings, worksets for tickets — without ever writing inside .git.
01
Workspaces — durable groupings of repos
A workspace is an identity-bearing bucket: "these repos are Platform," "these are Payments." It's the sidebar's collapsible section and the target for bulk actions across the whole group. Permanent. A repo can live in many workspaces — small shared libs are the common case.
02
Worksets — tickets you can resume across repos
A workset is a transient unit of in-flight work: "ship the auth migration across api-gateway, billing-svc, and ledger-core this week." Bound to a feature branch. Sits above the workspace list in the sidebar, waiting for you to pick up where you left off. Archive when shipped. Reset when done.
03
Overlay, not metadata
Overgit never writes inside .git. No manifest, no .overgit folder, no synthetic root, no special config. Workspaces and worksets live in overgit's settings file, not in your repos. Stop using overgit any time and your repos behave the same in any other tool.
04
Workspace-wide actions
Fetch every repo in a workspace. Status every repo. Reset every repo to its default branch — fan-out fetch → switch → hard-reset to origin/<default> across the whole group. Workspace-wide PR list via gh pr list --json merged into one view.
05
Workset spin-up
Pick the repos the ticket touches. Sync each to its default → pull → create the feature branch — all in one workflow. Per-repo outcomes if any of them fail. Stop scripting for d in */; do git checkout ….
06
Workset archive — done means done, not gone
Shipped the ticket? Archive the workset. It vanishes from the active sidebar into a collapsed "Archived" section. The repos on disk are unchanged — overgit just stops surfacing the grouping. Reactivate any time. Three weeks later, when oncall asks "how did we ship that?", it's right there.
07
Workset reset — clean teardown
One action fans out fetch → switch back to origin/<default> → hard-reset → delete the workset's bound branch across every member. Cleans up the whole feature in one shot. Same surface as workspace reset, scoped to just the repos the workset touched.
08
Smart reset safety
Both reset flows detect repos with commits not on origin/<default> and stop before the hard-reset would erase them. You get a [force reset (lose N)] / [skip] choice per repo, with the commit count visible. Never a silent disaster.
09
Workset-wide commit & push
Type a message once, commit every dirty member, push every branch — per-repo outcomes if any of them fail. Same surface for fetch-all and "open PRs everywhere" via gh, scoped to the workset.
10
Branch picker, with brains
⌘B opens a searchable popover. Local + remote branches grouped, ↑↓/Enter, inline create-branch with optional sync-and-pull, per-branch cherry-pick with commit-list multi-select.
11
Command palette
⌘K opens a context-aware palette: switch / create branches, jump to repos, workspaces, and worksets, search files, run repo actions (stage all, fetch, pull, push, AI review).
12
AI review & suggest
Detects claude, codex, and gemini. Pipes diffs into the chosen CLI in non-interactive mode. Suggest drafts a conventional-commit message from the staged diff and drops it into the commit input.
13
Per-repo tabs & branch graph
Changes / History / Files / Graph / Stash. Multi-select with checkboxes, bulk action bar (Stage / Stash / Discard). File editor sandboxed to registered repos with hljs syntax highlighting. Per-lane colored branch graph with ref labels.
14
Keyboard first · your CLI auth
⌘K palette · ⌘B branches · ⌘N new branch · ⌘1–4 tabs · ⌘R refresh · ⌘\ sidebar · ⌘, settings. Whatever auth your claude, codex, gemini, and gh already have is the auth Overgit uses. Nothing leaves your machine via Overgit.
15
Clone from your forge
The clone sheet has source tabs: paste a URL as before, or browse the repos your existing credentials can already reach — GitHub via your gh login (orgs and collaborator repos included), GitLab via glab or your credential helper, Bitbucket via your credential helper. Filter, hit enter, and the URL and folder name fill themselves in. An https/ssh toggle that remembers.
Overgit never asks for, stores, or transmits a token of its own — it reuses what is already on the machine, and no credential is exposed to the renderer. A forge with no usable credential tells you the exact command that fixes it.