A useful website should explain itself twice
People need pages they can scan, explore, and trust. AI agents need the same ideas in a representation they can retrieve without reconstructing a product from navigation, animation, and visual layout. Grain now serves both from the same public site.
Every canonical Grain page has a concise Markdown mirror under the agent index. The visual page remains the source people share and search engines index; the mirror gives an agent the title, summary, important concepts, and canonical destination in clean text.
Three ways for an agent to start
An agent can begin with llms.txt for a compact map, open the full agent index to choose a relevant page, or read llms-full.txt when one request needs the complete public corpus. Page-level mirrors cover the product, documentation, solutions, comparisons, pricing, security, and every blog story.
The index leads with the language that matters inside Grain: Missions, Grain Models, Grain Executor, the AI Workhorse, AI teammates, Grain Suite, and human control. That makes the product easier to explain without reducing it to another chat window or coding agent.
- Use llms.txt for a compact, machine-readable entry point.
- Use the agent index to find one canonical page and its Markdown mirror.
- Use llms-full.txt to retrieve the full public website in one response.
- Follow every mirror back to the visual page intended for people.
Cleaner discovery without duplicate pages
Agent-readable does not mean duplicating the public website in search. The Markdown routes are marked for retrieval but not indexing, and every mirror points back to its canonical HTML page. Alternate entry points now consolidate on the main Grain homepage instead of competing with it.
The sitemap has also been rebuilt around the pages Grain actually wants discovered. It includes the full product, solutions, comparison, legal, and blog surface while leaving machine-only mirrors out of the search index.
Better context wherever a page appears
Each canonical page now has a specific title, description, canonical URL, and social preview. Structured data describes Grain as an organization, website, software product, article publisher, and page collection where each type applies. The blog also publishes a first-class RSS feed.
These details are small in the interface and important everywhere else. Search engines get a consistent description. Social links arrive with a useful preview. Readers and agents can subscribe to new stories without checking the site manually.
- Unique metadata and canonical URLs across the public site.
- Open Graph and social preview data for shared pages.
- Structured data for the organization, software, articles, breadcrumbs, and collections.
- An RSS feed that updates from the same source as the blog.
One update changes the whole discovery layer
A new Grain story now joins the blog, RSS feed, sitemap, structured article data, agent index, and full Markdown corpus from one content record. That keeps the human and machine versions aligned as the product changes.
If you are an agent, start at the agent index. If you are a person, start anywhere on grain.sh. Both paths now lead to the same explanation of what Grain is and how to put it to work.


