Announcement·

llms.txt for StoatFlow: docs your AI agent can fetch

The StoatFlow documentation is now published as llms.txt, llms-full.txt, and raw markdown — the retrieval-side complement to the AI Assistant Skills pack. Nothing to install.

TL;DR

  • What: the StoatFlow documentation in machine-readable form — /llms.txt (index), /llms-full.txt (one bundle), and any page as raw markdown at /raw/<path>.md.
  • Install: nothing. Point your agent, or your retrieval pipeline, at the URL.
  • Scope: the eight documentation sections, published blog posts, and the changelog. Marketing pages stay out.
  • Freshness: regenerated on every docs deploy, so it cannot lag the site.
  • The catch: the full bundle is around 1.2 MB — roughly 300,000 tokens. Sized for retrieval, not for pasting into a 200K-token context.

The StoatFlow documentation is now published in a form an AI agent can fetch directly. stoatflow.io/llms.txt is a curated index of every documentation page; stoatflow.io/llms-full.txt is the same documentation concatenated into a single markdown file; and every indexed page is also served as raw markdown at /raw/<path>.md. There is nothing to install and no key to configure.

If the convention is new to you, Chrome's documentation puts it plainly:

The llms.txt file is an emerging convention used to provide a machine-readable summary of a website's content, specifically designed for LLMs and AI agents. Without this file, agents may spend more time crawling the site to understand its high-level structure and primary content.

Chrome for Developers, llms.txt

That last sentence is the whole value proposition. An agent that has to crawl a documentation site burns turns discovering structure before it can answer anything; one that fetches an index gets the map in a single request.

This is the other half of a pair. The AI Assistant Skills pack is a set of skills and editor rule files you install so your assistant writes correct StoatFlow instead of hallucinated Kafka Streams. That channel pushes — the rules land in the assistant's context before it writes a line. llms.txt pulls — the agent goes and gets the answer when it needs one.

Two channels, not one

Both exist because they fail differently.

The pack only works where it's installed, and only for the assistants it targets. Where it applies it is the stronger intervention: the rules are in context before the model starts generating, which is where they shift behaviour most.

llms.txt reaches everything else — an agent nobody configured, a retrieval pipeline building an internal knowledge base, a coding tool that follows URLs. It's weaker per interaction, because the model has to decide to look. It has no setup step to skip.

An assistant with both gets the rules that stop it reaching for org.apache.kafka.streams.*, and the page that says what barrier.max-interval-ms actually does.

What's published

URLContents
/llms.txtCurated index — every documentation page with its title and description, grouped by section. 65 links, 17 KB.
/llms-full.txtThe same pages concatenated into one markdown document. About 1.2 MB.
/raw/<path>.mdAny indexed page as raw markdown — for example /raw/docs/concepts/exactly-once.md.

Scope is the eight documentation sections — getting started, concepts, building topologies, configuration, running in production, operating, migration, reference — plus published blog posts and the changelog. Product and pricing pages stay out: they are marketing surfaces, and structured page content serialises poorly to markdown.

The format follows the llms.txt convention, which a growing number of documentation sites now publish. Nothing here is StoatFlow-specific: if your tooling already understands llms.txt from another vendor, it understands ours.

How it stays correct

Documentation that has drifted from the code is worse than none — it is wrong with authority, and an agent repeats it without the hesitation a human reader might feel. The skills pack fights that with drift checks and a version that matches the release. This side avoids it structurally instead: both files are generated from the same markdown that renders the site, in the same build, on every deploy. There is no second copy to maintain and no hand-written index to rot.

The weight moves to configuration, which is worth one caution if you are publishing your own. Every section we expose is declared explicitly, because a generator like this never executes the page components that enforce a site's own rules. It is also worth knowing that a filter which looks like it excludes drafts can quietly exclude everything else instead, depending on how an unset field is stored: in SQL, unset is not "false". We check by reading the generated files, not by trusting a green build.

What it doesn't do

The bundle is around 1.2 MB, roughly 300,000 tokens. That suits chunked retrieval and long-context models; it does not suit pasting into a 200K-token window. Use the index, or fetch the two or three /raw/ pages you actually need.

It is a pull channel. The agent has to decide to fetch it, and many won't unless told. If you want the rules in front of the model unconditionally, install the pack.

It covers the public API and the concepts, and nothing beneath them. StoatFlow's engine is obfuscated in the shipped jar; the documentation holds that same line, so the bundle explains what the API does and how the architecture works — never how the engine is implemented inside.

And it amplifies whatever the documentation says. A page that is wrong is now wrong at machine scale, republished on every deploy. That raises the bar on the docs themselves, which is our problem to stay on top of rather than one to discover later.

Where to go next

  • The index: stoatflow.io/llms.txt — start here, then fetch what you need.
  • The bundle: stoatflow.io/llms-full.txt — for retrieval pipelines.
  • The push-side channel and its per-editor install: AI assistants.
  • Something the docs get wrong? Reach out — a concrete miss is the most useful thing you can send, and it now propagates to every agent on the next deploy.

For the running commentary on how StoatFlow gets built, follow along on LinkedIn.