macOS
brew install goctllocal Homebrew formula metadata
brew
Generates server-side and client-side code for web and RPC services. Version 1.10.1 via Homebrew; verified from local package data.
install
brew install goctllocal Homebrew formula metadata
nix profile install nixpkgs#goctlnixpkgs package indexes · pkgs/by-name/go/goctl/package.nix · source: api.github.com
overview
Generates server-side and client-side code for web and RPC services
history
goctl is the code-generation CLI for the go-zero Go microservices framework. It turns go-zero's API and RPC descriptions into server code, client code, models, Dockerfiles, Kubernetes manifests, templates, and other project scaffolding.
The go-zero repository was created in August 2020. Its README says the framework grew from an early 2018 transition from a Java and MongoDB monolith to Go microservices, with goctl serving as the code-generation tool around go-zero's API description syntax.
goctl evolved as a tool module inside the go-zero repository. Official documentation describes it as go-zero's code generation tool for HTTP services, gRPC services, models, Dockerfiles, Kubernetes manifests, and related workflow tasks.
go-zero became a large Go framework project, with GitHub repository metadata showing more than thirty thousand stars by June 2026. goctl's adoption is tied to that framework: users installing go-zero for API and RPC services also install goctl to generate the boilerplate that keeps services consistent.
Distribution follows both Go and package-manager norms. The official README documents `go install github.com/zeromicro/go-zero/tools/goctl@...`, Homebrew installation with `brew install goctl`, and a Docker image path.
Typical usage begins by creating a `.api` file, running `goctl api go -api ... -dir ...`, and then running the generated Go service. The README's quick start shows goctl generating handler, logic, config, service-context, and type files for an HTTP API.
The CLI reference groups goctl commands around API generation, RPC generation, model generation, Docker, Kubernetes, environment checks, config, templates, naming style, Swagger, upgrades, migration, shell completion, and bug reporting.
Package nerds care about goctl because it is a generator packaged separately from the framework it serves. That split lets a team pin or install the CLI through Homebrew, Go tooling, or Docker while generated services depend on normal Go modules.
It is also a good example of spec-driven development in a package ecosystem: the `.api` file becomes a compact source artifact, and goctl expands it into a repeatable service layout.
security posture
broad file, network, media, or database tool signal.
blue risk · medium confidence · tool
Before unattended agent use, check whether the tool reads plaintext credentials, writes remote state, publishes artifacts, or shells out to plugins.
executables
| Command | Kind | Exposure | Note |
|---|---|---|---|
goctl | cli | global executable |
freshness
These signals separate page generation age, package-manager activity, and upstream release comparison. Version lag is warned only when an evidence URL and comparable versions are present.
https://github.com/zeromicro/go-zero
install metadata
| Package key | brew:goctl |
|---|---|
| Version | 1.10.1 |
| Package manager | Homebrew |
| Package manager page | https://formulae.brew.sh/formula/goctl |
| Homepage | https://go-zero.dev |
| Repository | https://github.com/zeromicro/go-zero |
| Upstream docs | https://go-zero.dev/getting-started/installation/goctl |
| License | MIT |
| Source archive | https://github.com/zeromicro/go-zero/archive/refs/tags/tools/goctl/v1.10.1.tar.gz |
| Build dependencies | go |
| Bottle | available (on arm64_linux, arm64_sequoia, arm64_sonoma, arm64_tahoe, sonoma, x86_64_linux) |
| Homebrew post-install | not defined |
| Service | none declared |
registry facts
| Source Database | Homebrew formula API |
|---|---|
| Tap | homebrew/core |
| Full Name | goctl |
| Version Scheme | 0 |
| Revision | 0 |
| Head Version | HEAD |
| Bottle Stable Root URL | https://ghcr.io/v2/homebrew/core |
| Deprecated | no |
| Disabled | no |
| Keg Only | no |
| URL Keys |
|
source database matches
Matches are pulled from external package-manager indexes and kept separate from local Automic Vault package links.
goctl
nix profile install nixpkgs#goctlsource trail
This page is generated by av-web from the private package SQLite artifact built by scripts/generate-pkg-sqlite.py.
View the package source record on GitHub.