afauth is the reference AFAuth agent as a single static Go binary. It does everything the TypeScript SDK does on the agent side — generate a key, link to a human, sign up, make signed requests, invite an owner — with no code to write. Reach for it to try AFAuth from a terminal, script a service from a shell or CI job, or run an agent from a stack that isn’t JavaScript.
For a step-by-step walkthrough see Build an agent (CLI); to get the binary see Install.
The shape of it
attested_only, so you link to a human once; after that, afauth signup and afauth call mint short-lived per-service attestations for you.
Commands
Identity & keys
Link to a human
Interact with a service
Hand off ownership
Where state lives
The CLI keeps everything under~/.afauth/ (overridable with $AFAUTH_HOME):
key.json— the agent’s keypair, the sole credential for pre-claim operations. Back it up withafauth keys export --out <file>.trust.json— the human-link binding (chmod 600).
--help for the authoritative flags on your installed version.
Where to next
Build an agent (CLI)
The end-to-end walkthrough.
Install
Homebrew, install script, or
go install.Link your agent to a human
The trust-attestor flow in depth.
Build with the SDK instead
@afauthhq/agent for embedding in a TypeScript app.