{
  "meta": {
    "title": "developer-ai.txt Specification",
    "description": "The canonical specification for developer-ai.txt files - technical context for AI systems.",
    "version": "1.8.0",
    "versionDate": "2026-05-11",
    "canonicalUrl": "https://www.ai-visibility.org.uk/specifications/developer-ai-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": "developer-ai.txt",
    "location": "Website root directory",
    "urlPattern": "https://example.com/developer-ai.txt",
    "mimeType": "text/plain",
    "encoding": "UTF-8",
    "purpose": "Provide technical context about the website and organisation's technical landscape. Helps AI systems assisting developers understand the platform, available integrations, and technical boundaries.",
    "targetAudience": "AI systems helping developers integrate, understand, or work with the organisation's technical offerings",
    "format": {
      "type": "Structured text",
      "description": "Section-based plain text with bracketed section headers",
      "syntax": {
        "sections": "[section-name]",
        "comments": "# Comment text",
        "keyValue": "key: value",
        "lists": "- list item",
        "urls": "Full URLs for technical resources",
        "markdownHyperlinks": {
          "format": "[Link Text](url)",
          "description": "Recommended format for documentation links, resource lists, and related file references. Provides AI systems with anchor text context about each link's purpose.",
          "example": "- [API Reference](https://api.example.com/docs)"
        }
      }
    },
    "sections": {
      "required": [
        {
          "name": "[overview]",
          "description": "High-level technical overview of the website/platform",
          "fields": [
            {
              "field": "platform",
              "description": "Primary platform or technology"
            },
            {
              "field": "purpose",
              "description": "What the technical infrastructure supports"
            }
          ]
        },
        {
          "name": "[public-api]",
          "description": "API availability and access information",
          "fields": [
            {
              "field": "available",
              "description": "Whether a public API exists (yes/no)"
            },
            {
              "field": "documentation",
              "description": "URL to API documentation if available"
            },
            {
              "field": "access",
              "description": "How to request API access"
            }
          ],
          "note": "Include even if no public API exists - explicitly stating 'no public API' is valuable"
        },
        {
          "name": "[public-areas]",
          "description": "Publicly accessible technical areas",
          "format": "List of public URLs with descriptions"
        }
      ],
      "recommended": [
        {
          "name": "[authentication]",
          "description": "Authentication requirements for different areas",
          "fields": [
            {
              "field": "method",
              "description": "Authentication method(s) used"
            },
            {
              "field": "public-access",
              "description": "What's accessible without authentication"
            }
          ]
        },
        {
          "name": "[private-areas]",
          "description": "Areas requiring authentication (no sensitive details)",
          "format": "General descriptions of authenticated areas"
        },
        {
          "name": "[integration]",
          "description": "Integration capabilities",
          "fields": [
            {
              "field": "partners",
              "description": "Partner integration availability"
            },
            {
              "field": "webhooks",
              "description": "Webhook availability"
            },
            {
              "field": "data-export",
              "description": "Data export capabilities"
            }
          ]
        },
        {
          "name": "[technical-contact]",
          "description": "Contact for technical queries",
          "fields": [
            {
              "field": "email",
              "description": "Technical contact email"
            },
            {
              "field": "documentation",
              "description": "Link to technical documentation"
            }
          ]
        }
      ],
      "optional": [
        {
          "name": "[stack]",
          "description": "Technology stack overview (public-facing only)",
          "format": "List of technologies used"
        },
        {
          "name": "[rate-limits]",
          "description": "Rate limiting policies",
          "fields": [
            {
              "field": "policy",
              "description": "General rate limiting approach"
            }
          ]
        },
        {
          "name": "[status]",
          "description": "System status information",
          "fields": [
            {
              "field": "status-page",
              "description": "URL to status page"
            }
          ]
        },
        {
          "name": "[metadata]",
          "description": "File metadata",
          "fields": [
            {
              "field": "version",
              "description": "Version of this developer-ai.txt file"
            },
            {
              "field": "last-updated",
              "description": "Date of last update"
            }
          ]
        }
      ]
    },
    "securityConsiderations": [
      "Never include credentials, API keys, or secrets",
      "Do not expose internal architecture details",
      "Only describe publicly-known technical information",
      "Do not include internal hostnames or IP addresses",
      "Avoid details that could aid attacks"
    ],
    "validation": {
      "rules": [
        "MUST include [overview] section",
        "MUST include [public-api] section (even if stating 'none available')",
        "MUST include [public-areas] section",
        "MUST be valid UTF-8 encoded plain text",
        "Section headers MUST use square brackets",
        "URLs MUST be valid and publicly accessible"
      ],
      "commonErrors": [
        "Missing required sections",
        "Including sensitive technical details",
        "Outdated API or documentation URLs",
        "Unclear about what is public vs private",
        "Missing explicit 'no public API' statement when applicable"
      ]
    },
    "relationships": {
      "llms.txt": "General organisation information should be consistent",
      "identity.json": "Organisation details must match",
      "robots.txt": "Technical access rules should not contradict"
    }
  },
  "example": {
    "url": "https://www.ai-visibility.org.uk/specifications/examples/developer-ai.txt",
    "business": "Horizon Strategic Consulting"
  },
  "versionHistory": [
    {
      "version": "1.8.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.7.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.6.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.5.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.4.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.3.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.2.0",
      "date": "2026-02-25",
      "changes": "Added guidance to use markdown hyperlink format [Link Text](url) for documentation links, resource lists, and related file references. Helps AI coding assistants provide labelled, contextual links."
    },
    {
      "version": "1.0.0",
      "date": "2026-01-12",
      "changes": "Initial specification release. Defines developer-ai.txt structure for technical context."
    }
  ]
}
