AI Discovery
Keep the owner workflow simple: start with the Workspace-generated production snippet, add the well-known card if you want stronger generic-agent discovery, and treat everything else as optional.
Use the Workspace-generated install path first
</body>.Publish the generated well-known card
If you do one extra thing beyond the snippet, make it the generated agent-card.json file from Workspace. Publish it at:
/.well-known/agent-card.jsonThis is the cleanest additional discovery surface because it stays generated from Workspace instead of asking site owners to invent schema by hand.
Add `service-desc` only if you control head tags or headers
Workspace also generates pointer surfaces that tell agents where the well-known card lives. Use one of these if you control HTML head output or server/CDN headers:
HTTP `Link` header
Link: </.well-known/agent-card.json>; rel="service-desc"; type="application/json"This belongs in app server, CDN, or reverse-proxy header config.
HTML head tag
<link rel="service-desc" href="/.well-known/agent-card.json" type="application/json" />This belongs in <head>, not in the Rover boot snippet.
Treat `llms.txt` as a supplement
Workspace can generate an llms.txt addendum, but Rover should already be discoverable from the production snippet and the well-known card. Use it only if you specifically want that extra machine-readable surface.