feat(website): serve /llms.txt and raw markdown for docs

Adds an llms.txt at the site root with a static product preamble so
LLMs can answer "what is Paseo" without following any links, plus a
curated index of docs, alternatives, and the 38 agent pages. Doc pages
now expose Copy/View as markdown buttons and a raw .md version at
<path>.md following the llms.txt convention.

Also skips the canonical-host redirect for localhost so the dev server
stops punting every request to production.
This commit is contained in:
Mohamed Boudra
2026-05-24 21:38:33 +07:00
parent 4c97ff8fa0
commit ba724956df
5 changed files with 144 additions and 1 deletions
+2
View File
@@ -1,5 +1,6 @@
import { createFileRoute } from "@tanstack/react-router";
import { DocsMarkdown } from "~/components/docs-markdown";
import { DocsMarkdownActions } from "~/components/docs-markdown-actions";
import { DocsSourceFooter } from "~/components/docs-source-footer";
import { getDoc } from "~/docs";
import { pageMeta } from "~/meta";
@@ -30,6 +31,7 @@ function RenderedDoc({ slug }: { slug: string }) {
return (
<>
<DocsMarkdownActions content={doc.content} markdownHref={`/docs/${slug}.md`} />
<DocsMarkdown>{doc.content}</DocsMarkdown>
<DocsSourceFooter doc={doc} />
</>
@@ -1,5 +1,6 @@
import { createFileRoute } from "@tanstack/react-router";
import { DocsMarkdown } from "~/components/docs-markdown";
import { DocsMarkdownActions } from "~/components/docs-markdown-actions";
import { DocsSourceFooter } from "~/components/docs-source-footer";
import { getDoc } from "~/docs";
import { pageMeta } from "~/meta";
@@ -23,6 +24,7 @@ function DocsIndex() {
if (!doc) return <p className="text-muted-foreground">Doc not found.</p>;
return (
<>
<DocsMarkdownActions content={doc.content} markdownHref="/docs.md" />
<DocsMarkdown>{doc.content}</DocsMarkdown>
<DocsSourceFooter doc={doc} />
</>