Install
Install Goobers, then watch it work
Get the binary running and watch a complete run finish — curate, implement, review, merge-preview — before spending a single token, connecting a repository, or touching a model credential.
Git 2.17 or newer is required, with git worktree add and git worktree remove available: every repo-backed stage runs in a fresh
worktree, so the daemon needs both.
macOS / Linux
VERSION=v0.5.0
/bin/sh -c "$(curl -fsSL "https://github.com/Agent-Clubhouse/Goobers/releases/download/${VERSION}/install.sh")" \
-- "$VERSION"
The installer accepts an exact stable tag in vMAJOR.MINOR.PATCH format.
By default it only installs the binary and versioned docs; it never prompts or
configures an instance. To include setup, append --guided after the version argument.
Otherwise, continue with either the credential-free tour,
goobers init --demo ./demo-instance && goobers run demo ./demo-instance,
or repository setup, goobers init --guided. Guided setup proposes one
neighboring Goobers Instance and keeps active configuration and runtime state there;
pass --instance-path <path> to pin a custom durable location instead.
A separately reviewed configuration source is an advanced opt-in, not the default.
If opted-in guided setup fails or is canceled, the binary and docs are still
installed. Retry it with <binary> init --guided.
macOS binaries are Developer ID signed and notarized. No ticket is stapled to the bare binary, so notarization is an online Gatekeeper check, and the curl-pipe install above sets no quarantine attribute.
Windows (PowerShell)
$archive = Get-ChildItem .\goobers_*_windows_amd64.zip
$want = (Select-String -Path .\SHA256SUMS -Pattern ([regex]::Escape($archive.Name))).Line.Split(' ')[0]
$got = (Get-FileHash -Algorithm SHA256 $archive.FullName).Hash.ToLower()
if ($got -ne $want) { throw "CHECKSUM MISMATCH: $got != $want" }
"OK: checksum matches"
$dest = "$env:LOCALAPPDATA\Programs\goobers"
New-Item -ItemType Directory -Force -Path $dest | Out-Null
Expand-Archive -Path .\goobers_*_windows_amd64.zip -DestinationPath $dest -Force
$userPath = [Environment]::GetEnvironmentVariable('Path', 'User')
if ($userPath -notlike "*$dest*") {
[Environment]::SetEnvironmentVariable('Path', "$userPath;$dest", 'User')
}
No single-line installer exists for Windows: verify the checksum, then extract and
add to PATH, both shown above. goobers.exe is
Authenticode-signed via Azure Trusted Signing and RFC 3161 timestamped; the checksum
covers the exact published bytes (SHA256SUMS is recomputed after signing), not a
substitute for the signature. The full walkthrough is in
the Windows quickstart
.
The pinned installer downloads only the assets attached to v0.5.0, verifies the archive against SHA256SUMS before extracting anything, and installs the binary to $HOME/.local/bin (override with GOOBERS_INSTALL_DIR). The
versioned docs and onboarding payload land alongside it, under ~/.local/share/goobers/<version> — that copy, not this site, is your
reference for the exact release you're running.
Check it
goobers version
goobers completion --help goobers version confirms the binary you just installed is the one on PATH. Shell completion for bash, zsh, fish, and PowerShell is generated by goobers completion <shell>, if you want it.
Run the demo
The demo needs no repository, no provider credentials, no model spend, and makes no network writes. It runs entirely against mock providers.
goobers init --demo ./demo-instance
goobers run demo ./demo-instance
Keep the trailing path argument on both commands. run's default target is ., so calling it bare from outside ./demo-instance fails against
the wrong instance rather than finding the demo automatically.
Watch it in the portal
In a second terminal, open the operations portal against the same instance:
goobers dashboard ./demo-instance dashboard serves the portal on localhost and blocks until you
interrupt it. This is the first sight of the portal in this walkthrough, and it costs
nothing: no daemon required, nothing running that could spend a credential.
What you just saw
The run moved through curate, implement, and review, passed an automated review-verdict gate, and produced a merge-preview artifact — the same shape a
real run takes, with every stage mocked. A real run journal now sits on disk at demo-instance/gaggles/<gaggle>/runs/<run-id>/, readable with cat, jq, or the portal you just opened. Reading it
is its own page.
Platform notes
macOS. A stage runs as a subprocess of the daemon, and inherits the
daemon's PATH — not your interactive shell's dotfiles. Under a LaunchAgent
that distinction is easy to miss: Homebrew installs to /opt/homebrew/bin on
Apple silicon and /usr/local/bin on Intel, and a tool your shell finds fine
can still be missing from a stage.
Windows. Native Windows cannot enforce the demo's network isolation, so init --demo fails closed there by design. Run the demo inside WSL 2 instead —
goobers preflight checks the WSL 2 environment before you start. A repository
with largeRepo: true on native Windows has its own host-tuning notes,
linked from the product repo.
What ships per platform
One SHA256SUMS manifest covers every published archive. macOS binaries are
Developer ID signed and notarized; Windows binaries are Authenticode signed via Azure
Trusted Signing and RFC 3161 timestamped. Neither replaces verifying the checksum — the
signature proves who built it, the checksum proves you got exactly those bytes. There is
no scoop or winget package yet: both identities are reserved upstream, pending a tagged
release feed neither has today.
| Target | Published | Run by CI |
|---|---|---|
linux/amd64 | Yes | Yes — unit suite and the release smoke test |
darwin/arm64 | Yes | Yes — the macOS runtime jobs (Apple silicon runners) |
windows/amd64 | Yes | Yes — the required windows-smoke build+vet+runtime gate |
linux/arm64 | Yes | Yes — the native packaged smoke test (startup, checksum, version, quickstart init/validate), not the full OS-specific unit suite |
darwin/amd64 | Yes | Yes — the same native packaged smoke test coverage |
windows/arm64 | No | — not a published target until a real arm64 Windows build has run |
Next: connect a real repository and watch an agent open your first pull request.