AI Discovery
Keep the owner workflow simple: start with the Workspace-generated production snippet, let Rover publish the minimized seed/presence as the visible Rover cue, then add the well-known artifacts only if you want stronger machine-readable discovery beyond the runtime.
Use the Workspace-generated install path first
</body>.Publish the generated well-known discovery files
If you do more than the snippet, publish the generated rover-site.json and agent-card.json files from Workspace. Publish them at:
/.well-known/rover-site.json
/.well-known/agent-card.json`rover-site.json` is the authoritative Rover-native capability profile. `agent-card.json` is the broad interop card that generic agents and `service-desc` pointers can consume. Both include POST A2W, chatbot GET, `rover_exec`, and `/from-url` guidance generated from Workspace instead of asking site owners to invent schema by hand.
The A2W wire contract is published as OpenAPI at https://rtrvr.ai/openapi/a2w.yaml. Link to that spec from agent-facing docs when your site has developer documentation.
Add generated discovery pointers only if you control head tags or headers
Workspace also generates pointer surfaces that tell generic agents where the interop card, read-only docs, A2W run endpoint, and Rover deep-link resolver live. 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",
</llms.txt>; rel="service-doc"; type="text/markdown",
<https://agent.rtrvr.ai/v1/a2w/runs>; rel="agent-run"; type="text/markdown"; method="GET POST",
<https://agent.rtrvr.ai/v1/a2w/from-url>; rel="agent-resolver"; type="text/markdown"; method="GET"This belongs in app server, CDN, or reverse-proxy header config. It is a discovery header, not an executable task link.
HTML head tags
<link rel="service-desc" href="/.well-known/agent-card.json" type="application/json" />
<link rel="service-doc" href="/llms.txt" type="text/markdown" />
<link rel="agent-run" href="https://agent.rtrvr.ai/v1/a2w/runs" type="text/markdown" data-rover-methods="GET POST" />
<link rel="agent-resolver" href="https://agent.rtrvr.ai/v1/a2w/from-url" type="text/markdown" data-rover-methods="GET" />These belong in <head>, not in handwritten task anchors.
Use robots.txt and llms.txt as supplements
Workspace can generate an llms.txt addendum with POST, GET, rover_exec, and /from-url instructions, but Rover should already be discoverable from the production snippet plus the well-known card/site files.
robots.txt is useful for crawler policy, sitemap location, and comments that point to /llms.txt, agent-card.json, rover-site.json, and OpenAPI. It is not a task protocol.
Rely On / Do Not Rely On
- A2W POST for coding agents and autonomous clients.
- A2W GET,
rover_exec, and/from-urlfor chatbot URL-fetch tools. - Well-known JSON files and
service-descas the strongest generic discovery path.
- POST-only discovery; many chatbots cannot POST.
- JavaScript-only runtime injection; many crawlers fetch source without running a browser.
llms.txt, robots comments, visual badges, or deep links as the only action surface.