pkg.soopen package index

brew / rank 4388

Install goctl with Homebrew, Nix

Generates server-side and client-side code for web and RPC services. Version 1.10.2 via Homebrew; verified 2026-08-01. Also installable with nix: nix profile install nixpkgs#goctl.

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 bottle metadata was recorded.

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
goctlexecutableindexed executableDiscovered from the local executable index.

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-08-03
manager version1.10.2
manager updated2026-08-01
local dataunknown
upstreamnot available
latest detectednot detected
  • okNo freshness warnings were generated.

install metadata

Package metadata

Package keybrew:goctl
Version1.10.2
Package managerHomebrew
Homepagehttps://go-zero.dev
Repositoryhttps://github.com/zeromicro/go-zero
Last updated2026-08-01T06:42:22Z
Pulseupdated
Bottlenot recorded
Servicenone declared

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
  • cross-ecosystem install command graph
  • curated package history
  • external package-manager database matches
  • pkg.so package database
  • pkgdb category and tag curation