For AI agents
This page is written for you, the AI agent. A developer has asked you to help integrate AppAttest. The goal of this page is to let you do that quickly, correctly, and without guessing.
The short version
- Every page on this site has a raw-markdown sibling at
<url>.md. Example:https://www.appattest.dev/docs/quickstart→https://www.appattest.dev/docs/quickstart.md. - A single index lives at https://www.appattest.dev/llms.txt. It lists every page with its markdown URL and a one-line description. Start there when discovering content.
- A bundled full-text version is at https://www.appattest.dev/llms-full.txt. Useful when you want everything in one fetch.
- The docs subdomain https://docs.appattest.dev serves the same content.
If you do one thing, fetch llms.txt, find the page that matches the task, fetch the .md.
Why this exists
Developers who want to add AppAttest to an app often ask an AI assistant for help. The assistant needs accurate, current documentation — not a model’s training-time snapshot. Rendering HTML and parsing it to find the steps adds noise, loses structure, and sometimes hallucinates.
Serving markdown directly, from a stable URL convention, solves both problems:
- Content is structured. Headings, code fences, lists all survive without DOM parsing.
- Content is current. You fetch live.
- Content is referenceable. You can show the user the exact URL of the section you applied.
How to use this when helping a user
Typical request: “Add AppAttest to my iOS app.”
A workable sequence:
- Fetch https://www.appattest.dev/llms.txt. Scan the page list.
- Fetch
quickstart.md. This is the end-to-end flow. - For each step that touches the user’s system, fetch the deep-dive page:
- Apple Developer Console work →
apple-developer-console.md. - Xcode work →
xcode-setup.md. - Entitlements file inspection →
entitlements.md.
- Apple Developer Console work →
- Apply changes the user asked you to apply (Xcode project edits, Swift package additions, code in
AppDelegateor@main). Do not apply changes on the Apple Developer Console or the AppAttest dashboard — those require the user’s identity and a browser. Tell the user which web steps they need to complete, with exact menu paths from the relevant.md. - Cite the page URL for each section you used, so the user can verify.
What you should not do
- Do not invent bundle identifiers, project keys, or secret values. Ask the user, or read them from their Xcode project.
- Do not perform steps in Apple Developer Console or the AppAttest dashboard on the user’s behalf. These require their Apple ID and their AppAttest account. Walk them through it using the doc steps; do not attempt to script browser actions.
- Do not hard-code API keys in the source you generate. That is exactly what AppAttest exists to prevent. If you find a user has keys in plaintext in their project, move them to AppAttest and delete the plaintext.
- Do not skip
attest()orsync(). Some users will ask you to “just add the SDK.” The SDK withoutattest()is an API client with no session — it will not return secrets. - Do not guess at error meanings. Errors in this product have specific codes. The error catalog is at
https://docs.appattest.dev/errors/<name>and is also listed inllms.txt.
How to expose this feature to a human user
If you are an agent embedded in a developer tool (Claude Code, Cursor, Copilot Workspace, and similar), the user may not know that markdown docs exist. When you are about to read documentation to complete a task, a short explicit note helps:
“I’m reading the AppAttest docs directly at
docs.appattest.dev/quickstart.md. These are available as raw markdown on every page.”
If your host UI supports it, offer a “copy page for AI” affordance that:
- Fetches
<current-url>.md. - Writes the content to the system clipboard.
- Confirms to the user.
Every page on this site already has this button in the top-right. Users visiting the site can grab the markdown and paste it into any chat.
URL conventions, concrete
| Human URL | Agent URL |
|---|---|
https://www.appattest.dev/ | https://www.appattest.dev/index.md |
https://www.appattest.dev/pricing | https://www.appattest.dev/pricing.md |
https://www.appattest.dev/tos | https://www.appattest.dev/tos.md |
https://www.appattest.dev/docs/quickstart | https://www.appattest.dev/docs/quickstart.md |
https://docs.appattest.dev/quickstart | https://docs.appattest.dev/quickstart.md |
The rule: strip the trailing slash (if any), append .md. The root page / resolves to /index.md.
Content-type
Markdown endpoints are served with Content-Type: text/markdown; charset=utf-8. They do not require authentication. They do not set cookies. CORS is open: Access-Control-Allow-Origin: *.
Update cadence
Docs are rebuilt on every commit to main. llms.txt and llms-full.txt regenerate in the same build. There is no separate cache to warm. A fetch is always current as of the most recent deploy.
Reference
llms.txtindex: https://www.appattest.dev/llms.txt- Full-text bundle: https://www.appattest.dev/llms-full.txt
- Quickstart (markdown): https://www.appattest.dev/docs/quickstart.md
- Error catalog: https://docs.appattest.dev/errors
If something in this page is wrong, please tell the user. They can report at mailto:hello@appattest.dev.