{
  "meta": {
    "title": "llm.txt Specification",
    "description": "The canonical specification for llm.txt files - compatibility variant for AI systems requesting this filename.",
    "version": "1.7.0",
    "versionDate": "2026-05-11",
    "canonicalUrl": "https://www.ai-visibility.org.uk/specifications/llm-txt/",
    "publisher": {
      "name": "365i",
      "url": "https://www.365i.co.uk/"
    },
    "license": {
      "name": "Creative Commons Attribution 4.0 International",
      "identifier": "CC-BY-4.0",
      "url": "https://creativecommons.org/licenses/by/4.0/"
    },
    "datePublished": "2026-01-12T00:00:00Z",
    "dateModified": "2026-05-11T00:00:00Z",
    "language": "en-GB"
  },
  "specification": {
    "filename": "llm.txt",
    "location": "Website root directory",
    "urlPattern": "https://example.com/llm.txt",
    "mimeType": "text/plain",
    "encoding": "UTF-8",
    "purpose": "Provide compatibility for AI systems that request the singular 'llm.txt' filename variant.",
    "relationship": {
      "primarySpec": "llms.txt",
      "primarySpecUrl": "https://www.ai-visibility.org.uk/specifications/llms-txt/",
      "note": "llm.txt should redirect to llms.txt (301 redirect). This maintains a single source of truth and is correctly followed by major AI crawlers."
    },
    "format": {
      "type": "Markdown",
      "description": "Structured Markdown text following llmstxt.org convention",
      "note": "See llms.txt specification for complete format details"
    },
    "implementation": {
      "recommendation": "Configure a 301 redirect from /llm.txt to /llms.txt",
      "recommendedMethod": "Server redirect",
      "methods": [
        {
          "method": "Server redirect",
          "description": "Configure HTTP 301 redirect from llm.txt to llms.txt (recommended)",
          "recommended": true,
          "examples": {
            "apache": "Redirect 301 /llm.txt /llms.txt",
            "nginx": "location = /llm.txt { return 301 /llms.txt; }",
            "iis": "<rule name=\"Redirect llm.txt\"><match url=\"^llm\\.txt$\" /><action type=\"Redirect\" url=\"/llms.txt\" redirectType=\"Permanent\" /></rule>"
          }
        },
        {
          "method": "Symbolic link",
          "description": "Create llm.txt as a symbolic link to llms.txt",
          "recommended": false
        },
        {
          "method": "Duplicate files",
          "description": "Maintain two separate files with identical content",
          "recommended": false
        }
      ]
    },
    "validation": {
      "rules": [
        "SHOULD return HTTP 301 redirect to /llms.txt",
        "Redirect target MUST be accessible and return HTTP 200",
        "Redirected content MUST follow llms.txt specification"
      ]
    },
    "relationships": {
      "llms.txt": "Primary specification - content must be identical",
      "llms.html": "Should present equivalent information in HTML format",
      "identity.json": "Should have consistent identity information"
    }
  },
  "example": {
    "url": "https://www.ai-visibility.org.uk/specifications/examples/llm.txt",
    "business": "Horizon Strategic Consulting",
    "note": "Example content is identical to llms.txt example"
  },
  "versionHistory": [
    {
      "version": "1.7.0",
      "date": "2026-05-11",
      "changes": "Phase 6 standardisation release. Added /specifications/roadmap/ (theme-pegged forward plan with Active/Next/Future/On hold status flags), /specifications/extensions/ (rules for experimental x- prefixed files and the promotion path), and /specifications/i18n-a11y/ (multi-language publication, locale-tagged identity fields, RTL handling, accessibility of llms.html). Added the Discovery: directive to the robots-ai.txt specification (publishers MAY advertise AI Discovery Files on the same host). Added a formal media-type stance to the HTTP behaviour page (existing IANA types, no bespoke registrations). Expanded the file integrity and signing section on the security and privacy page with four candidate mechanisms, cross-cutting concerns, and interim publisher / consumer guidance. The Discovery: directive is the only normative addition to publisher behaviour; all other additions are forward-looking documentation."
    },
    {
      "version": "1.6.0",
      "date": "2026-05-11",
      "changes": "Phase 5 standardisation release. Added /specifications/related-standards/ (positioning vs llmstxt.org, IETF AI Preferences, robots.txt, Schema.org, BCP 14, JSON Schema 2020-12, SemVer) and /specifications/implementations/ (public record of conformant implementations, IETF-style). Added an explicit llmstxt.org backward-compatibility statement to the llms.txt specification. Added a formal multi-domain and subdomain scoping rule to both the llms.txt and identity.json specifications (host-scoped files, cross-host identity asserted via sameAs). No normative requirements changed for existing publishers; the new scoping rules formalise behaviour the specification already implied."
    },
    {
      "version": "1.5.0",
      "date": "2026-05-11",
      "changes": "Phase 4 standardisation release. Added /specifications/processing-model/ (seven-stage algorithm for conformant consumers), /specifications/consumer-guidance/ (what AI systems should do with AI Discovery Files), /specifications/test-vectors/ (canonical test suite framing), and reference-implementation framing on the AI Visibility Checker. No normative requirements changed."
    },
    {
      "version": "1.4.0",
      "date": "2026-05-11",
      "changes": "Phase 3 standardisation release. Added /specifications/versioning/ (Semantic Versioning 2.0.0 commitments, deprecation timeline, lifecycle), /specifications/governance/ (proposal lifecycle, editorial process, working principles), /specifications/security-privacy/ (trust model, content-injection patterns, GDPR considerations, integrity primitives roadmap), and /specifications/http-behaviour/ (status codes, redirects, soft-404 detection, caching, rate limits). No normative requirements changed."
    },
    {
      "version": "1.3.0",
      "date": "2026-05-11",
      "changes": "Phase 2 standardisation release. Added formal conformance specification (Essential / Recommended / Complete classes). Published machine-readable registry at /specifications/registry.json, spec meta-schema, and validator-output schema. Introduced versioned JSON Schema URLs (/v1/) alongside unversioned 'latest' aliases. Added optional BCP 47 language declaration field across all applicable AI Discovery Files. No normative requirements changed."
    },
    {
      "version": "1.2.0",
      "date": "2026-05-10",
      "changes": "Phase 1 standardisation release. Added 'Status of This Document' block (Stable). Normalised normative requirement keywords to uppercase per RFC 2119 and RFC 8174. Added References section linking to /specifications/conventions/ and /licensing/. No normative requirements changed."
    },
    {
      "version": "1.1.1",
      "date": "2026-02-13",
      "changes": "Added AI Visibility Directory registration guidance. Minor documentation update."
    },
    {
      "version": "1.1.0",
      "date": "2026-01-14",
      "changes": "Version alignment with llms.txt 1.1.0. As a compatibility variant, this file inherits all requirements from the llms.txt specification including optional sections and content restrictions."
    },
    {
      "version": "1.0.0",
      "date": "2026-01-12",
      "changes": "Initial publication. Documents llm.txt as a compatibility variant of llms.txt."
    }
  ]
}
