{
  "report": "The Markdown Layer: State of Markdown 2026",
  "version": "1.0",
  "sourceCutoff": "2026-09-30",
  "sources": [
    {
      "id": "A1",
      "title": "What's Inside a GitHub Repository? An Empirical Study on the Contents of 10K Projects",
      "authors": [
        "Andre Hora",
        "João Eduardo Montandon",
        "Diego Elias Costa"
      ],
      "url": "https://arxiv.org/html/2605.16701v2",
      "identifier": "arXiv:2605.16701v2",
      "versionDate": "2026-07-13",
      "observationLabel": "2026 snapshot; 2016/2021 surviving subsets",
      "type": "repository observational study",
      "sample": {
        "n": 10000,
        "frameN": 116013,
        "minimumStars": 100,
        "minimumCommits": 100,
        "activeDuring": 2026,
        "nonFork": true,
        "historicalDenominators": {
          "2016": 2591,
          "2021": 6371
        }
      },
      "metrics": {
        "README.md": 9532,
        "CONTRIBUTING.md": 3170,
        "CHANGELOG.md": 2787,
        "CODE_OF_CONDUCT.md": 1625,
        "SECURITY.md": 1354,
        ".md extension": 9860
      },
      "countUnit": "repositories with filename or extension anywhere in collected tree",
      "independentReproduction": false,
      "accessedAt": "2026-09-30"
    },
    {
      "id": "A2",
      "title": "What 7,370 popular GitHub repositories put in AGENTS.md and CLAUDE.md",
      "authors": [
        "Stride Research"
      ],
      "url": "https://www.stride.page/research/agents-md-claude-md-study-2026",
      "methodologyUrl": "https://www.stride.page/research/agents-md-claude-md-study-2026/methodology",
      "observationDate": "2026-09-27",
      "type": "commercial observational report",
      "sample": {
        "n": 7370,
        "minimumStars": 5000,
        "nonFork": true,
        "nonArchived": true,
        "pushedSince": "2026-06-29"
      },
      "metrics": {
        "anyInstructionFile": 2463,
        "AGENTS.md": 1864,
        "CLAUDE.md": 1415,
        "both": 1013
      },
      "independentReproduction": "published CSV aggregates only; source text and census completeness not audited",
      "accessedAt": "2026-09-30"
    },
    {
      "id": "A3",
      "title": "Agentic Much? Adoption of Coding Agents on GitHub",
      "authors": [
        "Romain Robbes",
        "Théo Matricon",
        "Thomas Degueule",
        "Andre Hora",
        "Stefano Zacchiroli"
      ],
      "url": "https://arxiv.org/html/2601.18341v2",
      "doi": "10.1145/3822180",
      "versionDate": "2026-04-08",
      "observationDate": "2026-02-21",
      "type": "heuristic observation with modeled high scenario",
      "sample": {
        "n": 128018,
        "minimumStars": 10,
        "minimumNonBlankNonCommentLines": 5000,
        "minimumCommits": 100,
        "nonFork": true,
        "selectionActivity": "at least one commit in preceding three months"
      },
      "metrics": {
        "detectedAdopters": 28418,
        "conservativePercent": 22.2,
        "modeledHighPercent": 28.66
      },
      "rangeIsConfidenceInterval": false,
      "independentReproduction": false,
      "accessedAt": "2026-09-30"
    },
    {
      "id": "A4",
      "title": "Configuring Agentic AI Coding Tools: An Exploratory Study",
      "authors": [
        "Matthias Galster",
        "Seyedmoein Mohsenimofidi",
        "Jai Lal Lulla",
        "Muhammad Auwal Abubakar",
        "Christoph Treude",
        "Sebastian Baltes"
      ],
      "url": "https://fis.uni-bamberg.de/bitstreams/4561b69d-4b79-4d54-ae36-e4da1136efc0/download",
      "extendedUrl": "https://arxiv.org/html/2602.14690v5",
      "doi": "10.1145/3805760.3814887",
      "artifactScanDate": "2026-02-02",
      "type": "configuration observation",
      "sample": {
        "engineeredCandidateN": 32564,
        "detectedAdopterN": 2853,
        "earlierUncleanedN": 2926
      },
      "metrics": {
        "withContextFiles": 2586,
        "contextPercentAmongDetectedAdopters": 90.6
      },
      "independentReproduction": false,
      "accessedAt": "2026-09-30",
      "extendedVersionDate": "2026-06-30"
    },
    {
      "id": "A5",
      "title": "On the Impact of AGENTS.md Files on the Efficiency of AI Coding Agents",
      "authors": [
        "Jai Lal Lulla",
        "Seyedmoein Mohsenimofidi",
        "Matthias Galster",
        "Jie M. Zhang",
        "Sebastian Baltes",
        "Christoph Treude"
      ],
      "url": "https://arxiv.org/html/2601.20404v2",
      "versionDate": "2026-03-30",
      "type": "paired efficiency experiment",
      "sample": {
        "repositories": 10,
        "tasks": 124,
        "manualSanityCheckedTasks": 50,
        "model": "gpt-5.2-codex",
        "harness": "Codex CLI",
        "maximumChangedLines": 100,
        "maximumChangedFiles": 5
      },
      "metrics": {
        "runtimeMedianWithoutSeconds": 98.57,
        "runtimeMedianWithSeconds": 70.34,
        "runtimeReductionPercent": 28.64,
        "outputTokensMedianWithout": 2925,
        "outputTokensMedianWith": 2440,
        "outputTokenReductionPercent": 16.58,
        "totalTokensMedianWithout": 223707,
        "totalTokensMedianWith": 226582
      },
      "independentReproduction": false,
      "accessedAt": "2026-09-30"
    },
    {
      "id": "A6",
      "title": "Evaluating AGENTS.md: Are Repository-Level Context Files Helpful for Coding Agents?",
      "authors": [
        "Thibaud Gloaguen",
        "Niels Mündler-Sasahara",
        "Mark Niklas Müller",
        "Veselin Raychev",
        "Martin Vechev"
      ],
      "url": "https://arxiv.org/html/2602.11988v3",
      "versionDate": "2026-09-29",
      "type": "revised benchmark preprint",
      "sample": {
        "SWEbenchLite": {
          "tasks": 300,
          "repositories": 11
        },
        "CTXbench": {
          "tasks": 138,
          "repositories": 12
        },
        "language": "Python",
        "modelHarnessConfigurations": 4,
        "completionsPerCondition": 1
      },
      "metrics": {
        "generatedMeanCostIncreasePercentSWE": 20,
        "generatedMeanCostIncreasePercentCTX": 23,
        "successPNoneVsGeneratedSWE": 0.87,
        "successPNoneVsGeneratedCTX": 0.37,
        "successPNoneVsDeveloperCTX": 0.21,
        "successPGeneratedVsDeveloperCTX": 0.038
      },
      "independentReproduction": false,
      "accessedAt": "2026-09-30"
    },
    {
      "id": "A7",
      "title": "Markdown Mayhem: Taming the Agentic Documentation Explosion",
      "authors": [
        "Harsha Kokel"
      ],
      "url": "https://harshakokel.com/pdf/MarkdownMayhem.pdf",
      "type": "workshop position paper",
      "accessedAt": "2026-09-30",
      "additionalUrl": "https://research.ibm.com/publications/markdown-mayhem-taming-the-agentic-documentation-explosion"
    },
    {
      "id": "A8",
      "title": "Current instruction format and loading documentation",
      "authors": [
        "AGENTS.md project",
        "Anthropic"
      ],
      "type": "technical documentation",
      "accessedAt": "2026-09-30",
      "url": "https://agents.md/",
      "additionalUrl": "https://code.claude.com/docs/en/memory#agentsmd"
    },
    {
      "id": "W01",
      "title": "Chrome I/O 2026 recap",
      "url": "https://developer.chrome.com/blog/extensions-io-2026",
      "type": "platform_primary",
      "accessedAt": "2026-09-30",
      "sourceDate": "2026-05-22",
      "supportedClaim": "Monthly developer registrations more than doubled over the preceding year; 17% of extensions created for the Chrome Web Store in that year use AI.",
      "limits": "No underlying counts, AI coding definition, geography or registration-to-publication conversion supplied. Ecosystem context, not document-export demand or the share of all installed extensions."
    },
    {
      "id": "W02",
      "title": "Chrome-Stats category benchmarks",
      "url": "https://chrome-stats.com/blog/2026/07/31/chrome-web-store-category-benchmarks",
      "type": "original_third_party_analysis",
      "accessedAt": "2026-09-30",
      "sourceDate": "2026-07-31",
      "supportedClaim": "July 31 snapshot: 246,421 listed, same-day-refreshed MV3 extensions; 243,723 have displayed-user values. Workflow & Planning has 41,758 listings, 16.9% of the catalog and 43.9% of the summed displayed-user values.",
      "limits": "One-day cross-section excluding themes, apps, MV2, removed and stale records. Rounded, overlapping user values are not unique people, installs, growth or export demand. The source table was transcribed; the underlying row-level corpus was not independently reproduced."
    },
    {
      "id": "W03",
      "title": "Chrome-Stats methodology",
      "url": "https://chrome-stats.com/methodology",
      "type": "provider_primary_methodology",
      "accessedAt": "2026-09-30",
      "sourceDate": null,
      "supportedClaim": "The provider collects and normalizes public marketplace pages, categories, search results and sitemaps; snapshots can omit or lag listings.",
      "limits": "The vendor describes its own collection. No independent completeness audit was performed."
    },
    {
      "id": "W04",
      "title": "CommonMark 0.31.2 specification",
      "url": "https://spec.commonmark.org/0.31.2/",
      "type": "technical_primary",
      "accessedAt": "2026-09-30",
      "sourceDate": "2024-01-28",
      "supportedClaim": "Markdown uses readable structured plain text; parser implementations historically diverged. CommonMark defines parsing through rules and examples.",
      "limits": "A specification is not usage-growth evidence. Source portability does not guarantee rendering parity."
    },
    {
      "id": "W05",
      "title": "GitHub Flavored Markdown specification",
      "url": "https://github.github.com/gfm/",
      "type": "technical_primary",
      "accessedAt": "2026-09-30",
      "sourceDate": "2019-04-06",
      "supportedClaim": "GFM extends CommonMark with tables, task lists, strikethrough and autolinks. GitHub applies additional processing and sanitization.",
      "limits": "Mermaid and KaTeX are not universal Markdown grammar features. Version 0.29-gfm is dated 2019, not a new 2026 specification."
    },
    {
      "id": "W06",
      "title": "About repository READMEs",
      "url": "https://docs.github.com/en/repositories/managing-your-repositorys-settings-and-features/customizing-your-repository/about-readmes",
      "type": "platform_primary",
      "accessedAt": "2026-09-30",
      "sourceDate": null,
      "supportedClaim": "GitHub surfaces a README from .github, root or docs, in that order; it supplies heading navigation and repository-relative link handling.",
      "limits": "The page does not measure adoption. Assets and links need a defined base location outside the repository context."
    },
    {
      "id": "W07",
      "title": "How Obsidian stores data",
      "url": "https://help.obsidian.md/Files+and+folders/How+Obsidian+stores+data",
      "type": "vendor_primary",
      "accessedAt": "2026-09-30",
      "sourceDate": null,
      "supportedClaim": "Notes are Markdown plain-text files in local vault folders and can be edited using other editors. Application settings and caches are separate.",
      "limits": "File portability alone does not preserve application features, plugins or link semantics. No market-share inference."
    },
    {
      "id": "W08",
      "title": "Pandoc: creating a PDF",
      "url": "https://pandoc.org/MANUAL.html#creating-a-pdf",
      "type": "technical_primary",
      "accessedAt": "2026-09-30",
      "sourceDate": null,
      "supportedClaim": "PDF output uses an engine and an intermediate representation. LaTeX is the default; alternatives include HTML. Styling depends on the selected path.",
      "limits": "No universal output parity or automatic accessible-PDF guarantee."
    },
    {
      "id": "W09",
      "title": "CSS paged media",
      "url": "https://developer.mozilla.org/en-US/docs/Web/CSS/Guides/Paged_media",
      "type": "technical_documentation",
      "accessedAt": "2026-09-30",
      "sourceDate": null,
      "supportedClaim": "Paged layout includes margins, dimensions, breaks, headers and footers beyond continuous-screen formatting.",
      "limits": "Engine support differs. Documentation is not a benchmark of any MD2FILE mode."
    },
    {
      "id": "W10",
      "title": "W3C complex images",
      "url": "https://www.w3.org/WAI/tutorials/images/complex/",
      "type": "standards_guidance",
      "accessedAt": "2026-09-30",
      "sourceDate": null,
      "supportedClaim": "Complex charts and diagrams need a short identifying description and a fuller text equivalent. Structured text or data can supply that explanation.",
      "limits": "Alternative text or visual readability alone does not certify accessibility."
    },
    {
      "id": "W11",
      "title": "Export responses from Gemini Apps",
      "url": "https://support.google.com/gemini/answer/14184041?hl=en&co=GENIE.Platform%3DDesktop",
      "type": "vendor_primary",
      "accessedAt": "2026-09-30",
      "sourceDate": null,
      "supportedClaim": "Gemini can export a response to Docs and eligible tables to Sheets, with limitations. Destination-service terms apply.",
      "limits": "Availability depends on the app, account and Workspace settings. No adoption or usage-frequency inference."
    },
    {
      "id": "W12",
      "title": "Claude artifacts",
      "url": "https://support.claude.com/en/articles/17153992-what-are-artifacts-and-how-do-i-use-them",
      "type": "vendor_primary",
      "accessedAt": "2026-09-30",
      "sourceDate": null,
      "supportedClaim": "Current documentation describes document exports to Word, PDF, Markdown and Google Docs; legacy artifacts can be copied or downloaded.",
      "limits": "Feature evidence only. It does not establish prevalence or correctness of generated material."
    },
    {
      "id": "W13",
      "title": "Chrome extension permissions",
      "url": "https://developer.chrome.com/docs/extensions/develop/concepts/declare-permissions",
      "type": "platform_primary",
      "accessedAt": "2026-09-30",
      "sourceDate": null,
      "supportedClaim": "Host permissions can enable extension requests and page interaction. Processing location is separate from permission scope.",
      "limits": "Broad permissions alone are not proof of data collection or abuse."
    },
    {
      "id": "W14",
      "title": "MD2FILE Markdown extension listing",
      "url": "https://chromewebstore.google.com/detail/markdown-to-pdf-converter/mcajoeddbjfiaddbklgndfgidjghmgel",
      "type": "publisher_listing_on_platform",
      "accessedAt": "2026-09-30",
      "sourceDate": "2026-04-01",
      "supportedClaim": "The April 1 version 0.0.5 listing describes Markdown-to-PDF conversion, Mermaid, KaTeX, optional CJK and local processing.",
      "limits": "Publisher claims, not an independent audit of an installed release. Do not repeat unverified promises of perfect output, every diagram type, instant conversion, all Chromium browsers or user counts."
    },
    {
      "id": "W15",
      "title": "MD2FILE AI Chat Exporter listing",
      "url": "https://chromewebstore.google.com/detail/ai-chat-exporter/kjlienbdpiekecehoffjdlhmepfnpejl",
      "type": "publisher_listing_on_platform",
      "accessedAt": "2026-09-30",
      "sourceDate": "2026-05-18",
      "supportedClaim": "The May 18 version 0.0.3 listing describes selected-response, full-chat and last-N PDF exports, controls for including prompts and a free allowance.",
      "limits": "No contemporary runtime test of every advertised provider. No Markdown or DOCX output claim for this product. The free allowance can change; avoid a permanent quota promise."
    },
    {
      "id": "W16",
      "title": "AI Chat Exporter privacy policy",
      "url": "https://aiexportchat.com/privacy",
      "type": "publisher_policy",
      "accessedAt": "2026-09-30",
      "sourceDate": "2026-05-04",
      "supportedClaim": "The policy describes browser PDF processing and hosted account, billing and linking metadata. It states that exported chat content is not stored on the billing server.",
      "limits": "This does not mean zero network activity or that all data remains on the device. Remote assets can require requests."
    },
    {
      "id": "W17",
      "title": "MD2FILE web privacy policy",
      "url": "https://md2file.com/privacy-policy/",
      "type": "publisher_policy_and_source",
      "accessedAt": "2026-09-30",
      "sourceDate": null,
      "supportedClaim": "Standard editing and PDF generation do not upload or store document content on MD2FILE servers. Optional AI, accounts, payments and cloud integrations have separate handling.",
      "limits": "Usage metadata is logged and remote images may require requests. Do not describe the entire website as offline, request-free or completely private."
    },
    {
      "id": "M01",
      "title": "Markdown",
      "authors": [
        "John Gruber"
      ],
      "url": "https://daringfireball.net/projects/markdown/",
      "type": "format author documentation",
      "accessedAt": "2026-09-30",
      "limits": "Describes design intent; does not measure adoption."
    },
    {
      "id": "D01",
      "title": "MD2FILE September 2026 repository panel",
      "url": "https://md2file.com/research/markdown-layer/data/repository-panel.json",
      "type": "original purposive repository snapshot",
      "observationDate": "2026-09-30",
      "limits": "24 selected;21 complete;3 unknown. Popularity-based selection in four languages;not population-representative."
    },
    {
      "id": "G01",
      "title": "Git trees — GitHub REST API",
      "url": "https://docs.github.com/en/rest/git/trees?apiVersion=2022-11-28",
      "type": "technical primary documentation",
      "accessedAt": "2026-09-30",
      "limits": "API contract and truncation behavior; not an adoption study."
    },
    {
      "id": "G02",
      "title": "Searching for repositories",
      "url": "https://docs.github.com/en/search-github/searching-on-github/searching-for-repositories",
      "type": "technical primary documentation",
      "accessedAt": "2026-09-30",
      "limits": "Search syntax; results and rankings can change over time."
    }
  ]
}
