go.mod
gozo dev
gozo build
gozo env
gozo deploy
gozo status
gozo
gozo

the joy of go, handled.

gozo is one binary that gives go projects the workflow of vercel cli. run it in any repo and it knows the module, the workspace, the toolchain and where you deploy.

$ gozo deploy --prod> deploying api to kubernetes (production)✓ docker 27.1.0✓ deployed ghcr.io/acme/api:3f9c2a1 [42s]! 2 dependencies can be updatedhttps://api.acme.dev

stdout is the result. stderr is the story.

the rule every gozo command follows

dev that knows your repo.

  • env files layered: .env, .env.local, then .env.production.
  • compose services started before your app is.
  • rebuild and restart on every save, with the build error inline.
gozo dev
$ gozo dev> detected ./cmd/api> loaded .env, .env.local (6 vars)> ready! http://localhost:8080 [1.2s]> handler.go changed, rebuilt [0.4s]

one report for the whole workspace.

  • toolchain, go.mod, go.work, tidy and cgo checked together.
  • check, test and build run across every module in go.work.
  • outdated dependencies and stray replace directives called out.
gozo doctor
$ gozo doctor✓ go toolchain 1.25.1✓ go 1.25.1 satisfies go directive 1.24✓ go.work covers 3 modules! 2 dependencies can be updated✗ cgo enabled but c compiler gcc is not on path
a blurred figure waiting at a crossing under a teal evening sky
the crossingwaiting on the light with nothing left to carry.

deploy, then go home.

  • link a directory to docker or kubernetes once.
  • deploy, watch logs, roll back to the last good one.
  • every deployment recorded, so rollback is one command.
deploy targets
$ gozo rollback> rolling api back to 8c1d0f4 (2h ago)✓ rollout complete [9s]$ gozo status✓ api healthy, 3/3 ready since 9s

built for agents too.

  • every command answers in json with a schema id.
  • exit codes mean the same thing everywhere: 0, 1 or 2.
  • ci and coding agents are detected, so nothing waits on a prompt.
for agents
$ gozo status --json{
  "schema": "gozo.status/v1",
  "project": "api",
  "target": "kubernetes",
  "healthy": true,
  "ready": 3,
  "desired": 3
}
18commands, one binary
3platforms, one npm package
0runtime dependencies
two blurred figures walking into warm last light
last lightthat's how things ship before dinner.

you don't need a platform team.
you don't need a makefile.
just gozo deploy and go home.

npm i -g gozo-cli

orbun add -g gozo-cli·cargo install gozo·curl -fsSL https://raw.githubusercontent.com/PunGrumpy/gozo/main/install.sh | sh