Lovable

Lovable

Make a Lovable project agent-ready: robots.txt, llms.txt, sitemap, and MCP endpoints.

Lovable projects are TanStack Start apps. AIScan grades them like any other SPA-style framework: most static signals live in public/, dynamic ones (sitemap, share cards, JSON-LD) live in route files. AIScan.site itself is a Lovable project — every example below is what runs in production here.

Files in public/

Drop these files at the project root and Lovable serves them from the site root automatically:

  • public/robots.txt — with explicit AI bot blocks and a Sitemap: line.
  • public/llms.txt and public/llms-full.txt — an index plus a fuller dump for agents that want everything in one go.
  • public/CLAUDE.md — the human-friendly instructions for Claude Code-style agents.
  • public/aiscan-skill.json — your Agent Skill descriptor.
  • public/.well-known/api-catalog — RFC 9727 catalog if you expose an API.
  • public/.well-known/mcp/server-card.json — your MCP server card.

Dynamic sitemap

Use a server route at src/routes/sitemap[.]xml.ts so the sitemap stays in sync with whatever rows live in your database. See the file in this repo for a working example.

Set per-route metadata via head() in createFileRoute. Each shareable route needs its own title, description, og:title, og:description, and canonical. AIScan checks these on every scan of your homepage; deeper pages benefit at share time.

export const Route = createFileRoute("/about")({
  head: () => ({
    meta: [
      { title: "About — Acme" },
      { name: "description", content: "How Acme came to be." },
      { property: "og:title", content: "About — Acme" },
      { property: "og:description", content: "How Acme came to be." },
      { property: "og:url", content: "https://acme.com/about" },
    ],
    links: [{ rel: "canonical", href: "https://acme.com/about" }],
  }),
  component: AboutPage,
});

MCP & .well-known

Add a server route at src/routes/api/mcp.ts (HTTP transport) and publish a card atpublic/.well-known/mcp/server-card.json. AIScan.site exposes its scanner this way — see MCP Server.

Prompt to ship it

Paste this into Lovable's chat after running AIScan on your project:

Take my AIScan report and apply every failing fix.
Use the project's existing /public/ directory for robots.txt, llms.txt,
CLAUDE.md, aiscan-skill.json, and .well-known files. If a fix needs a
server route, put it under src/routes/ following the TanStack Start
file convention. Don't change unrelated code. Show me the diff first.