# 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

```sh
sudo av install brew:gci
```

Additional install commands:

### macOS

- Homebrew (100%):

```sh
brew install gci
```

  Evidence: local Homebrew formula metadata

### Linux

- Nix (92%):

```sh
nix profile install nixpkgs#gci
```

  Evidence: nixpkgs package indexes: pkgs/by-name/gc/gci/package.nix from https://api.github.com/repos/NixOS/nixpkgs/git/trees/master?recursive=1

## Package facts

- **Package key:** brew:gci
- **Package manager:** Homebrew
- **Package manager page:** <https://formulae.brew.sh/formula/gci>
- **Version:** 0.14.0
- **Source summary:** Control Golang package import order and make it always deterministic
- **Homepage:** <https://github.com/daixiang0/gci>
- **Repository:** <https://github.com/daixiang0/gci>
- **Upstream docs:** <https://github.com/daixiang0/gci#readme>
- **License:** BSD-3-Clause
- **Source archive:** <https://github.com/daixiang0/gci/archive/refs/tags/v0.14.0.tar.gz>
- **Generated:** 2026-07-08T07:18:31+00:00

## Executables

- gci (cli)
- gci (alias)

## Build dependencies

- go

## Install behavior

- Post-install hook: not defined
- Bottle: available on arm64_linux, arm64_sequoia, arm64_sonoma, arm64_tahoe, sonoma, x86_64_linux

## Freshness

- Page generated: 2026-07-08
- Package-manager version: 0.14.0
- Local data: ok
- Upstream repository: https://github.com/daixiang0/gci
- Upstream latest detected: v0.14.0 (current)
- info: No package-manager update timestamp was available.
## 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.

### Sources

- <https://api.github.com/repos/daixiang0/gci>
- <https://api.github.com/repos/daixiang0/gci/releases?per_page=100>
- <https://github.com/daixiang0/gci>
- <https://raw.githubusercontent.com/daixiang0/gci/master/.golangci.yml>
- <https://raw.githubusercontent.com/daixiang0/gci/master/README.md>


## Security Notes

narrow executable package without higher-risk signals.

- **Geiger risk:** green / low
- narrow executable package without higher-risk signals

## Source Database Details

- **Source Database:** Homebrew formula API
- **Tap:** homebrew/core
- **Full Name:** gci
- **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:** head, stable

## Other Package-Manager Records

- Nix - gci: normalized package name match | nixpkgs package indexes: pkgs/by-name/gc/gci/package.nix from https://api.github.com/repos/NixOS/nixpkgs/git/trees/master?recursive=1


## Related links

- [Source-control packages](https://www.automicvault.com/pkg/source-control-tools/) - Belongs to a source-control command family.
- [Terminal utility packages](https://www.automicvault.com/pkg/terminal-utilities/) - Matched terminal and command-line workflow metadata.
- [Text processing packages](https://www.automicvault.com/pkg/text-processing-tools/) - Matched text, document, or structured-data processing metadata.
- [Developer build packages](https://www.automicvault.com/pkg/developer-build-tools/) - Matched build, compiler, generator, or developer workflow metadata.
- [go](https://www.automicvault.com/pkg/brew/go/) - Build dependency declared by Homebrew.
- [cljfmt](https://www.automicvault.com/pkg/brew/cljfmt/) - Shares av.db curated category or tags: cli, code-style, developer-tools, formatter, formatters.
- [gnu-indent](https://www.automicvault.com/pkg/brew/gnu-indent/) - Shares av.db curated category or tags: cli, code-style, developer-tools, formatter, formatters.
- [golines](https://www.automicvault.com/pkg/brew/golines/) - Shares av.db curated category or tags: cli, developer-tools, formatter, go.
- [shfmt](https://www.automicvault.com/pkg/brew/shfmt/) - Shares av.db curated category or tags: cli, developer-tools, formatter, formatters, go.
- [snakefmt](https://www.automicvault.com/pkg/brew/snakefmt/) - Shares av.db curated category or tags: cli, code-style, developer-tools, formatter, formatters.
- [stylish-haskell](https://www.automicvault.com/pkg/brew/stylish-haskell/) - Shares av.db curated category or tags: cli, code-style, developer-tools, formatter, formatters.
- [stylua](https://www.automicvault.com/pkg/brew/stylua/) - Shares av.db curated category or tags: cli, code-style, developer-tools, formatter, formatters.
- [yapf](https://www.automicvault.com/pkg/brew/yapf/) - Shares av.db curated category or tags: cli, code-style, developer-tools, formatter, formatters.

## Combined YAML source

View the package source record on GitHub. [combined/gci.yml](https://github.com/automic-vault/db/blob/main/combined/gci.yml)


## Sources

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