Automic VaultAutomic Vault

brew

Install gci with Homebrew, Nix

Control Golang package import order and make it always deterministic. Version 0.14.0 via Homebrew; verified from local package data.

install

Additional install commands

macOS

Homebrewverified · 100%
brew install gci

local Homebrew formula metadata

Linux

Nixverified · 92%
nix profile install nixpkgs#gci

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

overview

Package summary

Control Golang package import order and make it always deterministic

Commands and aliases

  • gci

history

Project history and usage

GCI is a Go command-line formatter focused on deterministic import ordering. Its README describes it as a tool that controls Go package import order and makes that order deterministic.

The project exists in the same formatting niche as gofmt and goimports, but its distinguishing feature is configurable import sections for teams that want more structure than default Go formatting provides.

Project history

The official GitHub repository was created on July 15, 2020, and the first listed GitHub release, v0.1, was published on July 21, 2020.

The README documents steady feature evolution in the 0.x line, including C import block handling since v0.9.0 and a v0.10.0 command-line change requiring repeated -s/--section flags for multiple sections.

Adoption history

GCI adoption is clearest in Go tooling workflows rather than end-user applications. Its README points CI users toward golangci-lint, and the repository includes a .golangci.yml that enables the gci linter alongside gofmt, gofumpt, and goimports.

Official GitHub repository metadata showed several hundred stars and dozens of forks by mid-2026, a modest but real signal for a specialized Go formatter.

How it is used

The README recommends installing with go install github.com/daixiang0/gci@latest or with an explicit version. The CLI provides print, write, list, and diff modes so it can either report formatting drift or rewrite files in place.

GCI groups imports into sections such as standard, default, custom prefix, blank, dot, alias, and localmodule. Local module detection reads go.mod or go.work in the directory where gci is invoked.

Why package nerds care

GCI is package-nerd relevant because import sorting is a tiny behavior that creates outsized diff churn in Go repositories. Pinning a deterministic formatter in package managers and CI makes formatting a reproducible build-adjacent rule instead of a reviewer preference.

Its section model gives teams a stricter import taxonomy than goimports alone, which makes it useful in repositories that care about separating standard-library, third-party, local-module, and custom-prefix imports.

Timeline

  • 2020: Repository created on July 15
  • 2020: v0.1 released on July 21
  • 2022: v0.9.0 released on November 25
  • 2023: v0.10.0 released on March 10
  • 2026: v0.14.0 released on February 28

Related projects

  • The README explicitly positions GCI near goimports by noting that it allows more custom formatting than goimport does.
  • The repository configuration and README connect GCI to golangci-lint, gofmt, gofumpt, and goimports in normal Go CI formatting workflows.

security posture

Risk level: green

narrow executable package without higher-risk signals.

Risk classifier

green risk · low confidence · appliance

Why

  • narrow executable package without higher-risk signals

Signals

  • metadata:no-higher-risk-signals

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
gcicliglobal 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 version0.14.0
manager updated
local dataok
upstreamcurrent
latest detectedv0.14.0

https://github.com/daixiang0/gci

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

install metadata

Package metadata

Package keybrew:gci
Version0.14.0
Package managerHomebrew
Package manager pagehttps://formulae.brew.sh/formula/gci
Homepagehttps://github.com/daixiang0/gci
Repositoryhttps://github.com/daixiang0/gci
Upstream docshttps://github.com/daixiang0/gci#readme
LicenseBSD-3-Clause
Source archivehttps://github.com/daixiang0/gci/archive/refs/tags/v0.14.0.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 Namegci
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%

gci

nix profile install nixpkgs#gci
  • normalized package name match
  • Matched by: Gci
nixpkgs package indexes · api.github.com · nixpkgs package indexes: pkgs/by-name/gc/gci/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