For Developers

Run the ANS reference implementation end-to-end in under 60 seconds using the prompt below with any LLM coding assistant.

Works with
GeminiGemini
ClaudeClaude
Codex / OpenAICodex
Quickstart prompt — paste into any LLM
You are a senior Go engineer setting up the godaddy/ans reference implementation
(Agent Name Service: a registry + transparency log for verifying AI agents by name)
from a clean checkout. Work autonomously, verify each step before moving on, and
stop to report if a hard prerequisite is missing rather than guessing around it.

GOAL
Clone https://github.com/agentnameservice/ans and run the README "Quickstart (60 seconds)"
end-to-end until the offline verifier prints a VERIFIED receipt.

PREREQUISITES — check these FIRST, report exact versions, do not proceed if unmet:
  - Go 1.26+        (`go version`)
  - openssl         (`openssl version`)
  - curl            (`curl --version`)
  - jq              (`jq --version`)
If any are missing, stop and tell me which, with the install command for this OS.
Do NOT auto-install system packages without asking.

STEPS (run from a clean working directory):
  1. git clone https://github.com/agentnameservice/ans && cd ans
  2. make build
       → expect bin/ans-ra, bin/ans-tl, bin/ans-verify, bin/ans-dns to exist afterward.
  3. scripts/demo/start.sh
       → starts the RA (:18080) and TL (:18081) daemons against ./data/demo.
       → confirm both ports are listening before continuing (curl http://localhost:18080/docs
         and http://localhost:18081/docs should respond).
  4. scripts/demo/run-lifecycle.sh
       → registers an agent and verifies the receipt end-to-end.

SUCCESS CRITERIA (this is the only thing that counts as "done"):
The final lines of run-lifecycle.sh must show the offline verify stage passing, e.g.:
       ━━━ 13. Offline verify (bin/ans-verify) ━━━
         ✓ Fetched N verification key(s) from /root-keys
         ✓ <bytes> (Content-Type: application/scitt-receipt+cose)
         ✓ VERIFIED (kid <hex> matched key directly)
Paste the last ~15 lines of output verbatim as proof.

TEARDOWN:
After confirming success, run scripts/demo/stop.sh to stop the daemons. Do NOT run
`stop.sh --clean` (that wipes ./data/demo) unless I ask.

CONSTRAINTS:
  - Do not modify any source, config, or script files. This is a read-only setup run.
    If a step fails, diagnose and report — don't patch the repo to force it green.
  - These are dev binaries on localhost; don't expose ports publicly or change configs.
  - The quickstart uses the `noop` DNS verifier by default — that's expected; do not
    switch to the `lookup`/ans-dns path unless I explicitly ask for local DNS testing.

ON FAILURE (for any step):
  Report: the command, exit code, full stderr, and your best hypothesis. Common cases:
   - `make build` fails on Go version → confirm Go 1.26+; report the actual version.
   - start.sh: port already in use → check for a stale daemon on 18080/18081, report PID.
   - run-lifecycle.sh hangs/fails partway → capture which numbered stage (━━━ N. …) it
     died on and the surrounding output.
  Do not retry blindly more than once; bring me the diagnosis.

FINAL REPORT:
  1. Prereq versions.
  2. Confirmation that all 4 binaries built.
  3. The verbatim VERIFIED success block.
  4. Any deviations, warnings, or manual interventions.

Reference implementation: github.com/agentnameservice/ans