Frontile

LLMs.txt

Every page of these docs is published twice: once as the HTML you are reading, and once as plain Markdown for anything that would rather not parse a single-page app. Alongside them sits an index and a set of bulk files, following the llms.txt standard.

All of it is generated by the documentation build, so nothing drifts from the site.

Which file to use

Start with /llms.txt. It fits in any context window and links to everything else.

File Contents Approx. tokens
/llms.txt Index, with a description per component 3K
/llms-components.txt Every component page in full 230K
/llms-theming.txt Theming, design tokens, configuration 31K
/llms-migrations.txt Migration guides 28K
/llms-full.txt Everything 302K

llms-full.txt exceeds most context windows and is rarely the right choice. Reach for the narrowest file that covers the task: an agent building a form never needs the migration prose.

Per-page Markdown mirrors

Any page URL plus .md returns that page as Markdown:

/docs/components/buttons/button      →  the HTML page
/docs/components/buttons/button.md   →  the same content, as Markdown

The mirror is the full page, not a summary. Component pages carry the generated API table: every argument, its type, its default, and a Deprecated marker with the migration instruction where one applies. The <Signature /> tag is expanded into a real Markdown table before export, so nothing arrives as an unresolved component tag.

Fetch the .md. Fetching the HTML and stripping tags is slower and loses the API table.

What the index contains

Every page, grouped by section, each linking to its .md mirror:

## Buttons

- [Button](/docs/components/buttons/button.md): The base pressable action, with colors, variants, and sizes.
- [Chip](/docs/components/buttons/chip.md): A compact label for statuses, filters, and removable tags.

Component entries carry a one-line description, so an agent can usually pick the right component without fetching anything. Guide pages are listed without one.

The file opens with a preamble covering the conventions most often got wrong, and marks deprecated sections so Forms (Legacy) is not mistaken for current Forms.

Using it with your tools

Claude Code

Point it at the index and let it follow the links, fetching .md pages on demand:

Use Frontile documentation from https://frontile.dev/llms.txt

Put that line in your project's CLAUDE.md to apply it to every session. The Frontile skill does this and more, without the manual step.

Cursor

Add the URL to your project context with @Docs:

@Docs https://frontile.dev/llms.txt

Note: Type the @ by hand. Pasting it stops Cursor from recognising it as a context reference. See Cursor's @Docs guide.

Windsurf

Add a line to .windsurfrules so it applies to every conversation:

#docs https://frontile.dev/llms.txt

ChatGPT, Claude, and other chat tools

Paste a .md URL and ask about that component:

https://frontile.dev/docs/components/forms/select.md
How do I make this filter as the user types?

For a whole topic, llms-components.txt fits in a 200K-token context. llms-full.txt generally does not.

Anything else

These are static text files over HTTPS with no authentication, so curl, fetch, or a scheduled job all work:

curl https://frontile.dev/docs/components/buttons/button.md

The component inventory

/component-inventory.json lists every current component with its path and one-line description, the same data behind the components overview . Useful when something needs the catalogue as structured data rather than prose. Legacy packages are excluded from it.

Version-matched origins

These files are built per version, so each documentation origin serves its own. Only versions built after the export existed have them:

Origin Agent surface
next.frontile.dev Yes
frontile.dev From 0.18 onward
v0.16.frontile.dev No

Note: An origin without these files answers with the site's HTML shell and HTTP 200, not a 404. Check the body rather than the status code: Markdown that starts with <!DOCTYPE html> is a failed fetch.

For anything version-sensitive, such as an argument's exact type or whether it is deprecated, read node_modules/frontile/declarations/**/*.d.ts in the consuming app instead. That is exact for the installed version by construction.

Found a problem?

If an agent generates wrong Frontile code and the cause is something these files say, or fail to say, that is a documentation bug worth reporting. Open an issue.

Released under MIT License - Created by Josemar Luedke