Automic VaultAutomic Vault

brew

Install goctl with Homebrew, Nix

Generates server-side and client-side code for web and RPC services. Version 1.10.1 via Homebrew; verified from local package data.

install

Additional install commands

macOS

Homebrewverified · 100%
brew install goctl

local Homebrew formula metadata

Linux

Nixverified · 92%
nix profile install nixpkgs#goctl

nixpkgs package indexes · pkgs/by-name/go/goctl/package.nix · source: api.github.com

overview

Package summary

Generates server-side and client-side code for web and RPC services

Commands and aliases

  • goctl

history

Project history and usage

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.

Project history

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.

Adoption history

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.

How it is used

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.

Why package nerds care

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.

Timeline

  • 2018: go-zero's README describes the internal microservices transition that motivated the framework.
  • 2020-08: go-zero GitHub repository created.
  • 2025-10: goctl v1.9.2 release tag published under tools/goctl.
  • 2026-02: goctl v1.10.0 release tag published.
  • 2026-03: goctl v1.10.1 release tag published.

Related projects

  • go-zero is the framework goctl serves.
  • Protocol Buffers and gRPC are part of the RPC generation workflow.
  • mcp-zero, ai-context, and zero-skills are related go-zero projects for AI-assisted framework-compliant development.

security posture

Risk level: blue

broad file, network, media, or database tool signal.

Risk classifier

blue risk · medium confidence · tool

Why

  • broad file, network, media, or database tool signal

Signals

  • text:client,server

Install behavior

  • No Homebrew post-install hook is recorded in formula metadata.
  • Homebrew bottle metadata is available for 6 platform targets.
  • Build metadata lists 1 build dependencies.

Recommended review

Before unattended agent use, check whether the tool reads plaintext credentials, writes remote state, publishes artifacts, or shells out to plugins.

executables

Installed executables

CommandKindExposureNote
goctlcliglobal executable

freshness

Version and 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.

page generated2026-07-08
manager version1.10.1
manager updated
local dataok
upstreamcurrent
latest detectedtools/goctl/v1.10.1

https://github.com/zeromicro/go-zero

  • infoNo package-manager update timestamp was available.low confidence

install metadata

Package metadata

Package keybrew:goctl
Version1.10.1
Package managerHomebrew
Package manager pagehttps://formulae.brew.sh/formula/goctl
Homepagehttps://go-zero.dev
Repositoryhttps://github.com/zeromicro/go-zero
Upstream docshttps://go-zero.dev/getting-started/installation/goctl
LicenseMIT
Source archivehttps://github.com/zeromicro/go-zero/archive/refs/tags/tools/goctl/v1.10.1.tar.gz
Build dependenciesgo
Bottleavailable (on arm64_linux, arm64_sequoia, arm64_sonoma, arm64_tahoe, sonoma, x86_64_linux)
Homebrew post-installnot defined
Servicenone declared

registry facts

Source database details

Source DatabaseHomebrew formula API
Taphomebrew/core
Full Namegoctl
Version Scheme0
Revision0
Head VersionHEAD
Bottle Stable Root URLhttps://ghcr.io/v2/homebrew/core
Deprecatedno
Disabledno
Keg Onlyno
URL Keys
  • head
  • stable

source database matches

Other package-manager records

Matches are pulled from external package-manager indexes and kept separate from local Automic Vault package links.

Nix95%

goctl

nix profile install nixpkgs#goctl
  • normalized package name match
  • Matched by: Goctl
nixpkgs package indexes · api.github.com · nixpkgs package indexes: pkgs/by-name/go/goctl/package.nix from https://api.github.com/repos/NixOS/nixpkgs/git/trees/master?recursive=1

source trail

Generated from repository data

This page is generated by av-web from the private package SQLite artifact built by scripts/generate-pkg-sqlite.py.

Used sources

  • Geiger risk classifier
  • Nucleus package database
  • av.db category and tag curation
  • cross-ecosystem install command graph
  • curated package history
  • external package-manager database matches
  • package relationship graph
  • package version freshness
  • package-page enrichment