sylius-llms-txt — a map, not a catalogue.
llms.txt describes how the shop is built: categories, content and the machine-readable endpoints. Not every single product — the sitemap and taxon pages are there for that. llms-full.txt is bounded twice, stops between two entries rather than in the middle of one, and says that it stopped.
A complete catalogue turns into a truncated document
The obvious reading of llms.txt is a table of contents of all products. With ten thousand products that produces a document every crawler cuts off somewhere — and the shop does not decide where. That is why llms.txt is a map here: categories, content and the machine-readable endpoints. Products remain fully reachable via the sitemap and taxon pages, just through the routes built for that purpose.
llms-full.txt is bounded twice, by the product count and by a byte budget. Two limits because one alone does not hold: a product limit on its own says nothing about size when the descriptions are long, and a byte budget on its own produces an unpredictably long list when the descriptions are short. When the document reaches either limit, it stops between two entries and not in the middle of one — a half-written entry is indistinguishable from a complete one to a parser. And it says that it stopped, so that a client knows it is holding an excerpt.
It is served from the store only, never generated during the request. A document that iterates over the entire catalogue does not belong in the response path — there it is a lever with which the shop can be slowed down from outside, and by exactly the clients it was built for.
Source code & documentation
Composer package
MIT · Sylius 2.0+ · PHP 8.2+
composer require koh/sylius-llms-txt
Built, tested and released under MIT. Public distribution via Packagist is being prepared (coming soon).
Part of the family
MIT
This package belongs to koh/sylius-agent-ready — seventeen bundles that make a Sylius shop usable for AI agents. Each one is usable on its own.