goat
brew install goat
v0.2.3
MIT OR Apache-2.0
General purpose AT Protocol CLI in Go
37
30-day installs · #5335
103
90-day · #5515
357
365-day · #5912
199
★ GitHub stars · updated 2mo ago
Build dependencies
Links
- https://github.com/bluesky-social/goat
- GitHub: bluesky-social/goat
- Brew formula source: Formula/g/goat.rb
Raw metadata
{
"aliases": [],
"alternatives": [],
"build_dependencies": [
"go"
],
"categories": [],
"caveats": null,
"conflicts_with": [],
"dependencies": [],
"deprecated": 0,
"deprecation_reason": null,
"desc": "General purpose AT Protocol CLI in Go",
"disable_reason": null,
"disabled": 0,
"enrichment_fetched_at": "2026-06-20T23:38:16+00:00",
"first_seen": "2026-06-20T23:34:18+00:00",
"full_name": "goat",
"github_default_branch": "main",
"github_last_commit_at": "2026-06-13T02:11:17Z",
"github_readme_excerpt": "`goat`: Go AT protocol CLI tool\n===============================\n\nThis is a general purpose [atproto](https://atproto.com) CLI tool, sort of like `curl`. You can fetch `at://` URIs, monitor the full-network firehose, migrate accounts, administer PDS instances, and more.\n\n## Install\n\nIf you use [homebrew](https://formulae.brew.sh/formula/goat), you can install directly:\n\n```bash\nbrew install goat\n```\n\nPre-built binaries and Debian/Ubuntu packages are available under [Releases](https://github.com/bluesky-social/goat/releases/tag/v0.2.0).\n\nIf you have the Go toolchain installed and configured correctly, you can directly build and install the tool for your local account:\n\n```bash\ngo install github.com/bluesky-social/goat@latest\n```\n\n## Usage\n\n`goat` is relatively self-documenting via help pages:\n\n```bash\ngoat --help\ngoat bsky -h\ngoat help bsky\n# etc\n```\n\nMost commands use public APIs and don\u0027t require authentication. Some commands, like creating records, require an atproto account. You can log in using an \"app password\" with `goat account login -u \u003chandle\u003e -p \u003cpassword\u003e`.\n\nWARNING: `goat` will store both the app password and authentication tokens in the current users home directory, in cleartext. `goat account logout` will wipe the file. Intention is to eventually support configuration via environment variables to keep sensitive state in a password manager or otherwise not-cleartext-on-disk.\n\nSome commands output JSON, and you can use tools like `jq` to process them.\n\n## Examples\n\nResolve an account\u0027s identity in the network:\n\n```bash\n$ goat resolve wyden.senate.gov\n{\n \"id\": \"did:plc:ydtsvzzsl6nlfkmnuooeqcmc\",\n \"alsoKnownAs\": [\n \"at://wyden.senate.gov\"\n ],\n \"verificationMethod\": [\n {\n \"id\": \"did:plc:ydtsvzzsl6nlfkmnuooeqcmc#atproto\",\n \"type\": \"Multikey\",\n \"controller\": \"did:plc:ydtsvzzsl6nlfkmnuooeqcmc\",\n \"publicKeyMultibase\": \"zQ3shuMW7q4KBdsFcdvebGi2EVv8KcqS24tF9Pg7Wh5NLB2NM\"\n }\n ],\n \"service\": [\n {\n \"id\": \"#atproto_pds\",\n ",
"github_repo": "bluesky-social/goat",
"github_stars": 199,
"github_topics": [],
"homepage": "https://github.com/bluesky-social/goat",
"homepage_og_description": null,
"homepage_og_image": null,
"homepage_title": null,
"installs_30d": 37,
"installs_365d": 357,
"installs_90d": 103,
"keg_only": 0,
"keg_only_reason": null,
"last_seen": "2026-06-20T23:34:18+00:00",
"license": "MIT OR Apache-2.0",
"llm_generated_at": null,
"llm_model": null,
"name": "goat",
"oldnames": [],
"one_liner": null,
"optional_dependencies": [],
"rank_30d": 5335,
"rank_365d": 5912,
"rank_90d": 5515,
"raw_hash": "361b7802cec6855f",
"recommended_dependencies": [],
"revision": 0,
"ruby_source_path": "Formula/g/goat.rb",
"tap": "homebrew/core",
"test_dependencies": [],
"uses_from_macos": [],
"version_head": null,
"version_stable": "0.2.3",
"versioned_formulae": [],
"why_use_this": null
}