DOCS / REPOSITORIES
Add repositories
Repositories enter Birch explicitly — there is no background folder scanner watching your disk. You add each repository yourself, either by registering an existing local checkout or by cloning a remote URL, and Birch never touches a folder you didn’t point it at.
The Add repository dialog
Section titled “The Add repository dialog”Open the dialog from either entry point:
- the Add repository button in the header of the Repositories dashboard, or
- the + button next to Repositories in the sidebar (always visible).
The dialog (“Add Repository”) covers both ways in: “Register a local repository or clone a remote.” Switch between the two with the Local path / Clone URL tabs.
Add an existing checkout (Local path)
Section titled “Add an existing checkout (Local path)”Type or Browse… to the repository’s folder (for example /Users/you/dev/my-repo).
The folder must contain a .git directory.
Registering changes nothing about the checkout: your remotes, branches, hooks, and working tree stay exactly as they are. Birch simply records the repository so it appears in the sidebar and on the dashboard.
Clone a remote (Clone URL)
Section titled “Clone a remote (Clone URL)”Three fields:
| Field | What it takes |
|---|---|
| URL | The remote’s clone URL, e.g. https://github.com/org/repo.git (SSH URLs work too) |
| Into | The parent directory to clone under (e.g. ~/dev), with a Browse… button |
| Name | The folder name for the new clone |
Press Add to clone and register in one step. As the dialog notes, agent workspaces are later created as isolated worktrees of this clone — see the worktree-first model.
New repository
Section titled “New repository”The New-repository dialog initializes a brand-new git repository: a folder (with
Browse…), a Default branch name (default main), and a .gitignore
template — None, .NET, Node, or Python.
Migrate to the worktree layout
Section titled “Migrate to the worktree layout”The migration dialog converts a regular clone into a bare repository plus a primary worktree on the default branch — the layout described in the worktree-first model. It shows the original repository, origin URL, and default branch read-only, lets you edit the bare repository path and the primary worktree path, and preserves the original folder unless you opt in via Remove original directory after migration. A dirty working tree blocks the migration: “Working tree has uncommitted changes. Commit or stash them before migrating.”
Remove a repository
Section titled “Remove a repository”Right-click a repository row in the sidebar and choose Remove…. The confirmation dialog shows the repository’s path and offers one checkbox:
- Also delete the folder from disk — off by default. Left off, Birch only forgets the repository; every file on disk stays untouched, and you can re-add the checkout later.
RECENT vs ALL REPOSITORIES in the sidebar
Section titled “RECENT vs ALL REPOSITORIES in the sidebar”The sidebar groups your repositories into two sections:
- RECENT — repositories where an agent workspace has had activity in the last 14 days, sorted alphabetically by name.
- ALL REPOSITORIES — everything else.
When no repository qualifies as recent, the grouping disappears and you get one flat list. Every repository row keeps an always-visible + button that launches a new agent workspace, and clicking the row itself opens that repository’s repository page.