<?xml version="1.0" encoding="utf-8"?><?xml-stylesheet type="text/xsl" href="rss.xsl"?>
<rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:content="http://purl.org/rss/1.0/modules/content/">
    <channel>
        <title>Quill Cronwall Blog</title>
        <link>https://docusaurus.onrender.com/blog</link>
        <description>Quill Cronwall Blog</description>
        <lastBuildDate>Wed, 30 Jul 2025 00:00:00 GMT</lastBuildDate>
        <docs>https://validator.w3.org/feed/docs/rss2.html</docs>
        <generator>https://github.com/jpmonette/feed</generator>
        <language>en</language>
        <item>
            <title><![CDATA[Will New LLM Standards Shape the Future of Documentation?]]></title>
            <link>https://docusaurus.onrender.com/blog/new-llm-standards</link>
            <guid>https://docusaurus.onrender.com/blog/new-llm-standards</guid>
            <pubDate>Wed, 30 Jul 2025 00:00:00 GMT</pubDate>
            <description><![CDATA[New standards like `llms.txt` and Model Context Protocol are emerging to help documentation teams provide clearer, machine-readable context to LLMs—bridging the gap between how humans and AI consume documentation.]]></description>
            <content:encoded><![CDATA[<p>Large language models (LLMs) have forever changed how users interact with API documentation. Blindly following LLM-generated instructions rather than reading the documentation is becoming the norm...</p>
<p>Increasingly, documentation maintainers must cater to this shift toward LLM-driven development, while still providing material useful to human readers. The problem is that LLMs ingest documentation during <a href="https://dataheroes.ai/glossary/llm-training/" target="_blank" rel="noopener noreferrer"><em>training</em></a>, so by the time they are deployed, LLMs often spit out responses based on documentation that is long out-of-date. Some LLMs attempt to solve this issue by scraping the latest version of a documentation site for current information, but those sites are built for humans, not AI. Sites <a href="https://arstechnica.com/ai/2025/03/devs-say-ai-crawlers-dominate-traffic-forcing-blocks-on-entire-countries/" target="_blank" rel="noopener noreferrer">often block bot traffic</a>, or are too large to be parsed in their entirety, which can cause LLMs to <a href="https://www.ibm.com/think/topics/ai-hallucinations" target="_blank" rel="noopener noreferrer">hallucinate</a>. This creates a gap between how humans and LLMs understand the context behind documentation—and there still isn’t a standard way of bridging that gap. Or is there?</p>
<h2 class="anchor anchorWithStickyNavbar_LWe7" id="llmstxt">llms.txt<a href="https://docusaurus.onrender.com/blog/new-llm-standards#llmstxt" class="hash-link" aria-label="Direct link to llms.txt" title="Direct link to llms.txt">​</a></h2>
<p>A proposed solution for creating docs for consumption by LLMs and humans is to include an <a href="https://llmstxt.org/" target="_blank" rel="noopener noreferrer"><code>llms.txt</code></a> file in the root of a website. For example, <a href="https://docs.anthropic.com/llms.txt" target="_blank" rel="noopener noreferrer"><code>https://docs.anthropic.com/llms.txt</code></a>. According to <a href="http://llmstxt.org/" target="_blank" rel="noopener noreferrer">llmstxt.org</a>, <code>llms.txt</code> is a Markdown file that “offers brief background information, guidance, and links to detailed Markdown files”. The Markdown files described are duplicates of each page on the same URL with the <strong>.md</strong> extension added (For example, <a href="http://docs.freestyle.sh/git" target="_blank" rel="noopener noreferrer">docs.freestyle.sh/git</a> becomes <a href="http://docs.freestyle.sh/git.md" target="_blank" rel="noopener noreferrer">docs.freestyle.sh/git.md</a>).</p>
<p><em>Why go through the trouble of serving two versions of the same page</em>?</p>
<p>LLMs can get confused by the mess of HTML, CSS, and JavaScript that make up the human-readable part of documentation sites. Markdown is <a href="https://medium.com/@wetrocloud/why-markdown-is-the-best-format-for-llms-aa0514a409a7" target="_blank" rel="noopener noreferrer">a lot easier for an LLM to parse</a>. So why call it <code>llms.txt</code> if under the hood the file is actually a Markdown file (<strong>.md</strong>)?</p>
<p><code>llms.txt</code> was inspired by <strong>robots.txt</strong>, a file originally included in websites to advise web crawlers (and recently generative AI bots) which pages they should or should not access. In other words, a <strong>robots.txt</strong> file directs bot traffic like a traffic cop with no real authority and <strong>llms.txt</strong> functions within the traffic rules as a city map for LLMs to read at <em>inference</em> time: when a user requests assistance, and an LLM scans a website for the latest documentation.</p>
<p>In short, the benefits for documentation owners adopting the <code>llms.txt</code> standard are:</p>
<ol>
<li>LLMs will have a better context for providing solutions directly from documentation, possibly cutting down on hallucinations.</li>
<li>LLMs can easily display up-to-date documentation by directly handing a user Markdown versions of pages.</li>
<li>Documentation can be continually optimized for human readers without the need for unnatural wording or formatting.</li>
</ol>
<p>Implementing the <code>llms.txt</code> standard is simple for documentation websites built on static site generators like <a href="https://docusaurus.io/" target="_blank" rel="noopener noreferrer">Docusaurus</a> or <a href="https://www.mkdocs.org/" target="_blank" rel="noopener noreferrer">MkDocs</a>, where docs are written in Markdown. Just add routes for the Markdown (.md) versions of pages in the site’s routing logic.
For sites built on <a href="https://www.madcapsoftware.com/products/flare/" target="_blank" rel="noopener noreferrer">MadCap Flare</a> using XML files, the good news is that converting XML to Markdown is straightforward. Tools like <a href="https://pandoc.org/" target="_blank" rel="noopener noreferrer">Pandoc</a> can automate conversion between file formats.</p>
<p><code>llms.txt</code> is a standard for providing context to all LLMs that scan the web. There’s also a new standard for providing context for documentation in AI-powered code editors like <a href="https://cursor.com/" target="_blank" rel="noopener noreferrer">Cursor</a>.</p>
<h2 class="anchor anchorWithStickyNavbar_LWe7" id="mcp---model-context-protocol">MCP - Model Context Protocol<a href="https://docusaurus.onrender.com/blog/new-llm-standards#mcp---model-context-protocol" class="hash-link" aria-label="Direct link to MCP - Model Context Protocol" title="Direct link to MCP - Model Context Protocol">​</a></h2>
<p><a href="https://modelcontextprotocol.io/introduction" target="_blank" rel="noopener noreferrer">Model Context Protocol</a> (MCP) has been called the “USB-C port for AI applications” by Anthropic, the protocol’s corporate backer and the company behind <a href="https://www.anthropic.com/claude" target="_blank" rel="noopener noreferrer">Claude</a>. Introduced in November 2024, MCP extends the capabilities of an LLM by allowing a standard connection for an LLM to access additional tools, data, and templates. Simply put, Model Context Protocol provides an API for LLMs to do much more than just search the web and generate text output.</p>
<p>How can MCP make a documentation site better? <a href="https://modelcontextprotocol.io/docs/learn/server-concepts" target="_blank" rel="noopener noreferrer">MCP servers</a> can give greater context to client LLMs through <a href="https://modelcontextprotocol.io/docs/learn/server-concepts#resources-context-data" target="_blank" rel="noopener noreferrer">Resources</a>—any data that gives an LLM more background information to help process the current query. Resources could be anything from database schema files to server logs, and in the case of documentation, Resources could be docs in Markdown format (much like the <code>llms.txt</code> standard).</p>
<p>MCP also introduces <a href="https://modelcontextprotocol.io/docs/learn/server-concepts#tools-ai-actions" target="_blank" rel="noopener noreferrer">tools</a>, or AI actions, which can be used to test API calls and code snippets. These actions allow developers to quickly validate new integrations, and provide helpful suggestions when a user encounters errors.</p>
<p>While it sounds futuristic, using MCP in the real world requires a significant investment in development and testing. Take <a href="https://docs.freestyle.sh/blog/docs-revamp#talking-directly-to-agents" target="_blank" rel="noopener noreferrer">Freestyle docs</a> as an example. It took the company two iterations to successfully launch two simple MCP tools. <code>listDocs</code>, which lists all available documentation, and <code>getDocById</code>, which fetches a docs file by its ID. Additionally, with multiple code editors supporting MCP differently, documentation teams may need to create separate MCP implementations for each code editor (<a href="https://docs.cursor.com/en/tools/developers#mcp" target="_blank" rel="noopener noreferrer">Cursor</a>, <a href="https://code.visualstudio.com/docs/copilot/chat/mcp-servers#_url-handler" target="_blank" rel="noopener noreferrer">VSCode</a>, <a href="https://github.com/voideditor/void#readme" target="_blank" rel="noopener noreferrer">Void</a>, etc.). After all that, the user still has to install your MCP integration. If you don’t advertise your MCP integration well, it may never be used.</p>
<h2 class="anchor anchorWithStickyNavbar_LWe7" id="to-conclude">To Conclude<a href="https://docusaurus.onrender.com/blog/new-llm-standards#to-conclude" class="hash-link" aria-label="Direct link to To Conclude" title="Direct link to To Conclude">​</a></h2>
<p>New LLM standards relevant to documentation teams essentially do the same thing: they provide additional context to LLMs through extra Markdown content. In a way, these standards encourage stewards of documentation to spoon-feed LLMs raw data, without the guarantee that their users will enjoy better interactions with their documentation. LLM standards <a href="https://wordlift.io/blog/en/mastering-llms-txt-for-genai-optimized-indexing" target="_blank" rel="noopener noreferrer">are marketed</a> as an extension of SEO, <a href="https://en.wikipedia.org/wiki/Search_engine_optimization" target="_blank" rel="noopener noreferrer">search engine optimization</a>, a way to increase "discoverability in AI-powered search experiences", but LLM standards are really a reaction to the fact that <a href="https://www.zyte.com/blog/web-scraping-challenges" target="_blank" rel="noopener noreferrer">web scraping is hard</a>.</p>
<p>Supporting these standards, especially Model Context Protocol, isn't <a href="https://superagi.com/step-by-step-guide-to-deploying-mcp-servers-on-cloud-platforms-like-aws-and-azure/" target="_blank" rel="noopener noreferrer">cheap</a>. Providing free labor to LLM vendors is unlikely to change that, because the standards discussed here are fairly new (less than a year old as of this writing).</p>
<p>LLM standards are primarily adopted by organizations with deep pockets and high LLM usage. For more modest documentation efforts, the return on investment is likely small, or nonexistent. However, as these standards mature and more tooling is built around them, smaller teams may soon find it practical to adopt <code>llms.txt</code> or the Model Context Protocol.</p>
<p>Despite <a href="https://spectrum.ieee.org/llm-benchmarking-metr" target="_blank" rel="noopener noreferrer">recent leaps in LLM performance</a>, human expertise is still needed to ensure accuracy and clarity in documentation. LLM standards may eventually redefine the role of documentation maintainers, shifting their focus towards curating context and guiding LLM outputs. But for now, documentation experts can still do what they do best: write for humans.</p>]]></content:encoded>
        </item>
    </channel>
</rss>