Quickstart
Install garage, sign in, create a repository, and push your first commit.
Create a hello-world repository and push a README. Follow the walkthrough
yourself, or copy the setup prompt into a coding agent with terminal access.
You need Git, npm, and Node.js 24 or later.
Install the CLI
npm install --global @thegarage/cli
garage --versionThe second command prints the installed version.
Sign in
garage setupOpen the URL that the CLI prints. Approve the device request. The command also selects an active organization and configures Git credentials.
Confirm the current identity:
garage auth status --jsonCreate the repository
garage repos create hello-world
garage repos get hello-world --jsonThe second command returns the repository in your active organization.
Clone and commit
garage clone hello-world
cd hello-world
printf '# Hello\n' > README.md
git add README.md
git commit -m "Initial commit"
git push -u origin mainVerify the result
git log --oneline -1
git status --shortThe log contains Initial commit. The status command prints nothing because
the working tree is clean.
Copy this prompt into a coding agent that can run terminal commands. The agent pauses when you must approve the sign-in or choose a repository name.
This prompt signs in as you, on your machine. To give an agent its own credential instead, see Set up with a coding agent.
Set up a new garage repository and verify the first push.
Set up a new garage repository for me.
- Check that the machine has Git, npm, and Node.js 24 or later. If an item is missing, name every missing item and stop.
- Check whether the
garageCLI is installed. If it is missing, runnpm install --global @thegarage/cli. Then rungarage --version. - Run
garage auth status --json. If I am not signed in, rungarage setup --no-browser. Show me the authorization instructions. Wait for my approval before you continue. - Ask me for the repository name. Do not invent one.
- Before you create any file, confirm that no directory has that name. If that directory exists, stop. Do not overwrite it.
- Use my answer as
REPOSITORY_NAME. Rungarage repos create REPOSITORY_NAME. Verify it withgarage repos get REPOSITORY_NAME --json. Clone it withgarage clone REPOSITORY_NAME. - Go into the clone. Create
README.mdand write the repository name in it. Commit it with the messageInitial commit. Pushmaintoorigin. - Verify the result with
git log --oneline -1,git status --short, andgit remote get-url origin.
Never delete or overwrite a file. Never replace an existing Git remote. Never print a credential. Never create a share link. Report the repository name, the remote URL, the commit SHA, and the verification results.