Organizations and repository names
How active organizations and bare repository names determine a target repository.
An organization is the namespace that contains a repository. The full identity
of a repository is therefore an organization slug and a repository name. One
example is acme/website.
Most CLI and SDK operations accept only the bare name:
website
The active organization supplies the missing namespace. This behavior keeps routine commands short. It also lets one bare name identify a different repository after the active organization changes.
CLI resolution
garage setup selects an organization during sign-in. Inspect or change it
with:
garage org list
garage org switch <slug>
A command such as garage repos get website resolves website inside that
organization. A command that you run inside a linked clone can also identify the
repository from its garage Git remote.
--repo <name> and GARAGE_REPO select a repository for commands that accept
repository context. They do not change the active organization.
SDK resolution
The authenticated SDK also accepts a bare repository name:
const repo = await garage('website', { token })
The organization context of the API key determines the namespace. The SDK
rejects a value such as acme/website, because it expects a bare name.
Explicitly addressed interfaces
A Git remote and a repository MCP endpoint contain the namespace in their URL. They always identify the same repository. They do not read the active organization of the CLI.