{
  "input": "cursor.com",
  "target": "https://cursor.com/llms.txt",
  "ok": true,
  "fetch": {
    "requestedURL": "https://cursor.com/llms.txt",
    "finalURL": "https://cursor.com/llms.txt",
    "status": 200,
    "contentType": "text/plain; charset=utf-8",
    "bytes": 11255,
    "hasFullTxt": true
  },
  "report": {
    "source": "https://cursor.com/llms.txt",
    "document": {
      "title": "Cursor Documentation",
      "hasTitle": true,
      "titleLine": 1,
      "extraH1": 2,
      "hasSummary": false,
      "sections": [
        {
          "name": "Get Started",
          "optional": false,
          "line": 3
        },
        {
          "name": "Agent",
          "optional": false,
          "line": 20
        },
        {
          "name": "customizing",
          "optional": false,
          "line": 37
        },
        {
          "name": "cloud-agents",
          "optional": false,
          "line": 47
        },
        {
          "name": "Integrations",
          "optional": false,
          "line": 66
        },
        {
          "name": "SDK",
          "optional": false,
          "line": 81
        },
        {
          "name": "cli",
          "optional": false,
          "line": 86
        },
        {
          "name": "Account",
          "optional": false,
          "line": 101
        },
        {
          "name": "Get Started",
          "optional": false,
          "line": 132
        },
        {
          "name": "Headless",
          "optional": false,
          "line": 141
        },
        {
          "name": "Reference",
          "optional": false,
          "line": 146
        },
        {
          "name": "Getting started",
          "optional": false,
          "line": 158
        },
        {
          "name": "AI features",
          "optional": false,
          "line": 166
        },
        {
          "name": "Customization",
          "optional": false,
          "line": 191
        },
        {
          "name": "Models and usage",
          "optional": false,
          "line": 204
        },
        {
          "name": "Security and privacy",
          "optional": false,
          "line": 212
        },
        {
          "name": "Account and billing",
          "optional": false,
          "line": 221
        },
        {
          "name": "Integrations",
          "optional": false,
          "line": 243
        },
        {
          "name": "Troubleshooting",
          "optional": false,
          "line": 250
        },
        {
          "name": "Internationalization",
          "optional": false,
          "line": 260
        }
      ]
    },
    "findings": [
      {
        "id": "title-multiple",
        "severity": "error",
        "category": "structure",
        "title": "Multiple H1 headings",
        "detail": "Found 2 extra H1 heading(s). There must be exactly one.",
        "recommendation": "Keep a single H1 for the project name and demote the others to H2 (##)."
      },
      {
        "id": "summary-missing",
        "severity": "warning",
        "category": "structure",
        "title": "No blockquote summary",
        "detail": "A short blockquote (\u003e ...) right after the title gives LLMs essential context.",
        "recommendation": "Add a one- or two-sentence summary as a blockquote directly below the H1."
      },
      {
        "id": "sections-no-links",
        "severity": "warning",
        "category": "structure",
        "title": "Sections contain no links",
        "detail": "Found H2 sections but none contain a markdown link list.",
        "recommendation": "Populate each section with bullet links: - [Title](https://...): description."
      },
      {
        "id": "list-malformed",
        "severity": "warning",
        "category": "structure",
        "title": "Malformed list item(s) (200)",
        "detail": "Line(s): 5, 6, 7, 8, 9, 10, 11, 12, +192. e.g. \"- https://cursor.com/docs.md\"; \"- https://cursor.com/docs/get-started/quickstart.md\"; \"- https://cursor.com/docs/models-and-pricing.md\"",
        "recommendation": "Use the format: - [Link text](https://example.com): optional description.",
        "line": 5
      },
      {
        "id": "prose-after-section",
        "severity": "info",
        "category": "structure",
        "title": "Prose inside/after a section (2)",
        "detail": "Line(s): 262, 269. e.g. \"All documentation is available in multiple languages. To access a spec…\"; \"Available languages: cn, ja, zh-Hant, es, fr, pt-BR, ko, ru, tr, id, d…\"",
        "recommendation": "The spec keeps free prose above the first H2 section; sections should hold link lists.",
        "line": 262
      },
      {
        "id": "full-txt",
        "severity": "success",
        "category": "best",
        "title": "llms-full.txt found",
        "detail": "A companion llms-full.txt is also available — great for full-context consumption."
      }
    ],
    "scores": {
      "structure": 13,
      "links": -1,
      "bestPractices": 100,
      "overall": 30
    }
  },
  "linkStats": {
    "total": 0,
    "ok": 0,
    "redirect": 0,
    "broken": 0,
    "skipped": 0
  },
  "permalinkId": "r4fag7hlsmfa",
  "companions": [
    {
      "name": "robots.txt",
      "path": "/robots.txt",
      "present": true,
      "code": 200,
      "level": "standard",
      "detail": "2 Sitemap directives.",
      "recommend": "Allow AI search crawlers (OAI-SearchBot, Claude-SearchBot, PerplexityBot) for visibility; training opt-outs (GPTBot, Google-Extended) are a separate choice."
    },
    {
      "name": "sitemap.xml",
      "path": "/sitemap.xml",
      "present": true,
      "code": 200,
      "level": "standard",
      "detail": "Valid XML sitemap."
    },
    {
      "name": "RSS / Atom feed",
      "path": "/atom.xml",
      "present": true,
      "code": 200,
      "level": "standard",
      "detail": "Feed found at /atom.xml — a freshness signal for AI/search."
    },
    {
      "name": "ads.txt",
      "path": "/ads.txt",
      "present": true,
      "code": 200,
      "level": "standard",
      "detail": "245 authorized-seller records (IAB ads.txt)."
    },
    {
      "name": "security.txt",
      "path": "/.well-known/security.txt",
      "present": true,
      "code": 200,
      "level": "standard",
      "detail": "Has a Contact field (RFC 9116)."
    },
    {
      "name": "ai.txt",
      "path": "/ai.txt",
      "present": true,
      "code": 200,
      "level": "informational",
      "detail": "Present. Note: ai.txt is a non-standard, opt-in-only convention (no neutral spec)."
    },
    {
      "name": "A2A agent card",
      "path": "/.well-known/agent-card.json",
      "present": true,
      "code": 200,
      "level": "emerging",
      "detail": "Present but not valid JSON.",
      "recommend": "Ensure the agent card is valid JSON per the A2A spec."
    },
    {
      "name": "llms.json",
      "path": "/llms.json",
      "present": true,
      "code": 200,
      "level": "emerging",
      "detail": "Present but is not valid JSON.",
      "recommend": "Ensure /llms.json contains valid JSON."
    },
    {
      "name": "Markdown content negotiation",
      "path": "homepage",
      "present": false,
      "level": "emerging",
      "recommend": "Optionally serve a Markdown rendering of pages when Accept: text/markdown is requested, so AI agents get clean content."
    },
    {
      "name": "Content Signals",
      "path": "/robots.txt",
      "present": false,
      "level": "emerging",
      "recommend": "Optionally add a Content-Signal directive to robots.txt to declare permitted AI uses (e.g. search=yes, ai-train=no)."
    },
    {
      "name": "MCP server card",
      "path": "/.well-known/mcp.json",
      "present": true,
      "code": 200,
      "level": "informational",
      "detail": "Present but not valid JSON.",
      "recommend": "Ensure /.well-known/mcp.json contains valid JSON."
    },
    {
      "name": "API Catalog",
      "path": "/.well-known/api-catalog",
      "present": true,
      "code": 200,
      "level": "emerging",
      "detail": "Present, but not a valid RFC 9727 linkset (expected an \"item\" relation listing your APIs).",
      "recommend": "Serve it as a linkset (application/linkset+json) with an \"item\" relation per RFC 9727."
    },
    {
      "name": "OAuth discovery",
      "path": "/.well-known/oauth-protected-resource",
      "present": false,
      "level": "emerging",
      "recommend": "If agents need authenticated access, add OAuth discovery (/.well-known/oauth-protected-resource, RFC 9728)."
    },
    {
      "name": "Structured data (JSON-LD)",
      "path": "homepage",
      "present": true,
      "level": "standard",
      "detail": "JSON-LD present, including Organization and WebSite."
    },
    {
      "name": "Open Graph tags",
      "path": "homepage",
      "present": true,
      "level": "standard",
      "detail": "Open Graph tags present (controls link previews in AI/social)."
    },
    {
      "name": "Twitter Card",
      "path": "homepage",
      "present": true,
      "level": "standard",
      "detail": "Twitter Card metadata present."
    },
    {
      "name": "Canonical URL",
      "path": "homepage",
      "present": true,
      "level": "standard",
      "detail": "Canonical link present (avoids duplicate-content dilution)."
    },
    {
      "name": "hreflang",
      "path": "homepage",
      "present": true,
      "level": "standard",
      "detail": "hreflang annotations present (multilingual targeting)."
    },
    {
      "name": "FAQPage schema",
      "path": "homepage",
      "present": false,
      "level": "standard",
      "recommend": "If you have Q\u0026A content, add FAQPage JSON-LD so AI answer engines can cite it directly."
    },
    {
      "name": "AI file discovery hints",
      "path": "homepage",
      "present": false,
      "level": "emerging",
      "recommend": "Add \u003clink rel=\"alternate\" href=\"/llms.txt\"\u003e (and llms-full.txt) in \u003chead\u003e so crawlers discover your AI files."
    },
    {
      "name": "WebMCP browser tools",
      "path": "homepage",
      "present": false,
      "level": "informational",
      "detail": "Optional \u0026 experimental. Detects only declarative \u003cform toolname\u003e markup; imperative navigator.modelContext (JS) tools aren't visible to a server-side check."
    }
  ]
}
