# Install goat with Homebrew, apk, MacPorts, Nix

General purpose AT Protocol CLI in Go. Version 0.2.3 via Homebrew; verified from local package data.

## Install

```sh
sudo av install brew:goat
```

Additional install commands:

### macOS

- Homebrew (100%):

```sh
brew install goat
```

  Evidence: local Homebrew formula metadata

- MacPorts (94%):

```sh
sudo port install goat
```

  Evidence: MacPorts ports tree: graphics/goat/Portfile from https://api.github.com/repos/macports/macports-ports/git/trees/master?recursive=1

### Linux

- apk (92%):

```sh
sudo apk add goat
```

  Evidence: Alpine Linux edge package indexes: goat from https://dl-cdn.alpinelinux.org/alpine/edge/testing/x86_64/APKINDEX.tar.gz

- Nix (92%):

```sh
nix profile install nixpkgs#goat
```

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

## Package facts

- **Package key:** brew:goat
- **Package manager:** Homebrew
- **Package manager page:** <https://formulae.brew.sh/formula/goat>
- **Version:** 0.2.3
- **Source summary:** General purpose AT Protocol CLI in Go
- **Homepage:** <https://github.com/bluesky-social/goat>
- **Repository:** <https://github.com/bluesky-social/goat>
- **Upstream docs:** <https://github.com/bluesky-social/goat#readme>
- **License:** MIT OR Apache-2.0
- **Source archive:** <https://github.com/bluesky-social/goat.git>
- **Generated:** 2026-07-08T18:08:21+00:00

## Executables

- goat (cli)
- goat (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.2.3
- Local data: ok
- Upstream repository: https://github.com/bluesky-social/goat
- info: No package-manager update timestamp was available.
- info: No cached GitHub release or tag data was available.
## Project history and usage

goat is the Bluesky Social Go command-line tool for the AT Protocol, described by its README as a general-purpose atproto CLI similar in spirit to curl. It gives developers and operators a shell-native way to inspect records, stream the firehose, work with PLC identity data, migrate accounts, administer PDS instances, and call XRPC endpoints.

### Project history

The AT Protocol project emerged from Bluesky's protocol work: Bluesky described its spring 2022 ADX work as the first iteration, then announced the Authenticated Transfer Protocol on October 18, 2022. The protocol centers on portable identities, signed repositories, federation, Lexicon schemas, and HTTP/WebSocket synchronization.

goat was forked from the Bluesky indigo codebase in August 2025 and had its first tagged release, v0.1.0, on August 12, 2025. Subsequent releases added and reorganized account, PDS admin, lexicon, dependency, and XRPC capabilities while tracking the evolving indigo SDK.

### Adoption history

goat serves the AT Protocol developer and operations community rather than end users of the Bluesky app. The surrounding ecosystem had already encouraged third-party work: by October 2023, Bluesky documentation described developers building bots, clients, feed generators, and future applications on atproto.

The Homebrew formula packages goat as a direct CLI install path for users who want an atproto toolbox without building from source. Its README also documents prebuilt binaries, Debian/Ubuntu packages, and go install.

### How it is used

goat is used to resolve identities, list and fetch at:// records, export repositories and blobs, inspect PLC history, tail PLC operations, subscribe to relay firehose events, post through Bluesky APIs, manage lexicons, and make XRPC query or procedure calls. Some commands are public; account-modifying commands require login with an app password.

### Why package nerds care

goat is interesting to package maintainers because it turns a fast-moving protocol stack into a reproducible local executable. For developers exploring atproto, it is the low-friction bridge between shell workflows, jq pipelines, Go-based SDK code, and network services such as PDSes, relays, PLC, Lexicon, and XRPC.

Its presence in package managers is also a sign of the AT Protocol ecosystem maturing beyond one hosted application: protocol developers need inspection, migration, and admin tools just as much as client libraries.

### Timeline

- 2022: Bluesky announced ADX had become the Authenticated Transfer Protocol.
- 2023: Bluesky documentation invited developers to build bots, clients, feeds, and other projects on atproto.
- 2025: goat was forked from indigo and tagged v0.1.0.
- 2025: goat v0.2.0 added more lexicon management commands and required Go 1.25.
- 2026: goat v0.2.3 added the first version of the xrpc subcommand.

### Related projects

- goat is closely related to the AT Protocol, Bluesky, indigo, Personal Data Servers, relays, PLC identity infrastructure, Lexicon schemas, and the XRPC HTTP API model.

### Sources

- <https://atproto.com/guides/overview>
- <https://bsky.social/about/blog/10-18-2022-the-at-protocol>
- <https://docs.bsky.app/blog/building-on-atproto>
- <https://docs.bsky.app/docs/advanced-guides/atproto>
- <https://github.com/bluesky-social/goat>
- <https://raw.githubusercontent.com/bluesky-social/goat/main/CHANGELOG.md>
- <https://raw.githubusercontent.com/bluesky-social/goat/main/README.md>


## Security Notes

narrow executable package without higher-risk signals.

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


## Configuration and credential file locations

These source-backed paths show where this package keeps local settings or durable credentials. Automic Vault can use them as review targets for secret scanning, migration, and command approval.


## Credential files

- Unix: $XDG_STATE_HOME/goat/auth-session.json, ~/.local/state/goat/auth-session.json
## Source Database Details

- **Source Database:** Homebrew formula API
- **Tap:** homebrew/core
- **Full Name:** goat
- **Version Scheme:** 0
- **Revision:** 0
- **Bottle Stable Root URL:** <https://ghcr.io/v2/homebrew/core>
- **Deprecated:** no
- **Disabled:** no
- **Keg Only:** no
- **URL Keys:** stable

## Other Package-Manager Records

- Nix - goat: normalized package name match | nixpkgs package indexes: pkgs/by-name/go/goat/package.nix from https://api.github.com/repos/NixOS/nixpkgs/git/trees/master?recursive=1
- apk - goat - 0.2.3-r0: normalized package name match | Alpine Linux edge package indexes: goat from https://dl-cdn.alpinelinux.org/alpine/edge/testing/x86_64/APKINDEX.tar.gz | Go AT protocol CLI tool | https://github.com/bluesky-social/goat
- apk - goat-doc - 0.2.3-r0: normalized package name match | Alpine Linux edge package indexes: goat-doc from https://dl-cdn.alpinelinux.org/alpine/edge/testing/x86_64/APKINDEX.tar.gz | Go AT protocol CLI tool (documentation) | https://github.com/bluesky-social/goat
- MacPorts - goat: normalized package name match | MacPorts ports tree: graphics/goat/Portfile from https://api.github.com/repos/macports/macports-ports/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.
- [Language runtime packages](https://www.automicvault.com/pkg/language-runtime-packages/) - Matched language runtime, compiler, or interpreter metadata.
- [Networking and protocol packages](https://www.automicvault.com/pkg/networking-protocol-tools/) - Matched network, protocol, or remote-service metadata.
- [go](https://www.automicvault.com/pkg/brew/go/) - Build dependency declared by Homebrew.
- [gost](https://www.automicvault.com/pkg/brew/gost/) - Shares av.db curated category or tags: cli, go, networking.
- [libcoap](https://www.automicvault.com/pkg/brew/libcoap/) - Shares av.db curated category or tags: cli, networking, protocols.
- [liblo](https://www.automicvault.com/pkg/brew/liblo/) - Shares av.db curated category or tags: cli, networking, protocols.
- [mihomo](https://www.automicvault.com/pkg/brew/mihomo/) - Shares av.db curated category or tags: cli, go, networking.
- [nak](https://www.automicvault.com/pkg/brew/nak/) - Shares av.db curated category or tags: cli, go, networking.
- [trojan-go](https://www.automicvault.com/pkg/brew/trojan-go/) - Shares av.db curated category or tags: cli, go, networking.
- [usbredir](https://www.automicvault.com/pkg/brew/usbredir/) - Shares av.db curated category or tags: cli, networking, protocols.
- [zns](https://www.automicvault.com/pkg/brew/zns/) - Shares av.db curated category or tags: cli, go, networking.
- [mqtt](https://www.automicvault.com/pkg/npm/mqtt/) - Local package facts share a topical domain. Shared terms: cli, networking, protocol, protocols.
- [glider](https://www.automicvault.com/pkg/brew/glider/) - Both packages touch the same language runtime or ecosystem. Shared terms: cli, go, networking, protocols.

## Combined YAML source

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


## Sources

- Nucleus package database
- Geiger risk classifier
- package-page enrichment
- curated configuration and credential file locations
- 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
