Skip to content

Commit 0949db9

Browse files
cbrobergclaude
andcommitted
feat(F75): AI-friendly docs tools + ai.webhouse.app subdomain + rewritten guide
Bumped @webhouse/cms 0.2.13 → 0.2.17 to unlock F121 Next.js helpers. The docs site was missing llms.txt, sitemap.xml, and robots.txt entirely — all 404 in production — so docs.webhouse.app wasn't dogfooding its own AI-friendly tooling. Fixed. New on docs.webhouse.app: - /llms.txt (cmsLlmsTxt index) - /llms-full.txt (cmsLlmsFullTxt full content export) - /sitemap.xml (cmsSitemap — docs + changelog, hreflang EN/DA) - /robots.txt (cmsRobots — maximum strategy, all AI bots allowed) ai.webhouse.app subdomain wired up: - DNS CNAME ai → cms-docs.fly.dev (TTL 300) - Fly.io cert added for ai.webhouse.app - src/proxy.ts rewrites ai.webhouse.app/* → /ai/* (root → /ai) - /ai and /ai/* on docs.webhouse.app still work for direct access Rewrote content/docs/ai-builder-guide.json (EN + DA) to cover the new AI Builder Site: one URL for any AI, Step 0-9 walkthrough, all 21 modules, machine-readable endpoints, platform compatibility, fallback chain (ai.webhouse.app → GitHub raw → local CLAUDE.md). Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
1 parent c65e9b8 commit 0949db9

11 files changed

Lines changed: 117 additions & 26 deletions

File tree

content/docs/ai-builder-guide-da.json

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -6,16 +6,16 @@
66
"translationGroup": "7634eb7c-76c4-4515-a4a3-9e50ec8df096",
77
"data": {
88
"title": "AI Builder Guide",
9-
"description": "20 modulære dokumentationsmoduler der følger med npm-pakken — designet til AI-agenter der bygger sites.",
10-
"content": "## Hvad er AI Builder Guide?\n\nHver `@webhouse/cms` npm-pakke leveres med en omfattende AI builder guide i `packages/cms/CLAUDE.md`. Det er et modulært dokumentationssystem designet specifikt til AI-kodningsassistenter (Claude Code, Cursor, GitHub Copilot) der skal læse det når de bygger sites.\n\nNår du opretter et nyt projekt, refereres guiden i dit projekts `CLAUDE.md`-fil, hvilket giver AI-assistenter øjeblikkelig kontekst om hvordan de arbejder med CMS'et.\n\n## Sådan fungerer det\n\nGuiden er opdelt i **20 fokuserede moduler**, der hver dækker ét emne. AI-assistenter indlæser moduler on-demand i stedet for at læse alt på én gang.\n\n```\ndocs/ai-guide/\n index.md → Navigation + hurtig beslutningsmatrix\n 01-getting-started.md → Scaffolding + første kørsel\n 02-config-reference.md → cms.config.ts reference\n 03-field-types.md → Alle 22 felttyper\n 04-blocks.md → Bloksystem\n 05-richtext.md → TipTap editor, funktioner, markdown-lagring\n 06-storage-adapters.md → Filsystem, GitHub, SQLite, Supabase\n 07-content-structure.md → Dokument-JSON-format\n 08-nextjs-patterns.md → Loader-funktioner, sider, ISR\n 09-cli-reference.md → Alle CLI-kommandoer\n 10-config-example.md → Komplet real-world konfiguration\n 11-api-reference.md → ContentService API\n 12-admin-ui.md → Admin-arkitektur\n 13-site-building.md → Kritiske mønstre + almindelige fejl\n 14-relationships.md → Relationer, opløsning, reverse lookups\n 15-seo.md → Meta, JSON-LD, sitemap, robots.txt\n 16-images.md → WebP, responsive, next/image\n 17-i18n.md → Sprog, oversættelse, hreflang\n 18-deployment.md → Vercel, Fly.io, Docker\n 19-troubleshooting.md → Almindelige fejl + løsninger\n 20-interactives.md → Datadrevne embeds\n```\n\n## Hurtigreferencen\n\nIndeksmodulet inkluderer et **hurtigreferencekort** som AI-assistenter kan læse på sekunder:\n\n- **Dokument-JSON-format** — slug, status, data, id, _fieldMeta\n- **Alle felttyper** — en-linjes sammenfatning af hver\n- **Collection-definitionsskabelon** — klar til at kopiere\n- **5 kritiske regler:**\n 1. Angiv altid storage-adapter (standard er SQLite, ikke filsystem)\n 2. image-gallery-værdier skal være `{ url, alt }[]`-objekter\n 3. Filtrer altid på `status === \"published\"`\n 4. Brug `BASE`-variabel til alle interne links\n 5. Slug i JSON skal matche filnavn\n\n## Hentning af moduler\n\nModuler kan hentes fra GitHub ved build-tid eller runtime:\n\n```typescript\nconst MODULE_BASE = \"https://raw.githubusercontent.com/webhousecode/cms/main/docs/ai-guide\";\n\nasync function loadGuide(module: string) {\n const res = await fetch(`${MODULE_BASE}/${module}`);\n return res.text();\n}\n```\n\n## Moduloversigt\n\n### Kernekonfiguration (Modul 1-2)\nScaffold, installér og konfigurér. `cms.config.ts` er den eneste kilde til sandhed for dit indholdsschema.\n\n### Indholdsmodellering (Modul 3-7)\nFelttyper, blokke, richtext-editor, lagringsbackends og JSON-dokumentformatet.\n\n### Framework-integration (Modul 8-11)\nNext.js-mønstre, CLI-kommandoer, et komplet real-world konfigurationseksempel og den programmatiske ContentService API.\n\n### Admin & Building (Modul 12-13)\nAdmin-UI-arkitektur og de kritiske site-building-mønstre der forhindrer almindelige fejl.\n\n### Avancerede emner (Modul 14-20)\nRelationer, SEO, billedbehandling, internationalisering, udrulning, fejlfinding og interaktive embeds.\n\n## Brug af guiden i dit projekt\n\nNår du opretter et nyt site, genererer scaffolderen en `CLAUDE.md` der refererer guiden. AI-assistenter der læser denne fil får øjeblikkelig kontekst om dit CMS-setup.\n\n## Hvorfor dette er vigtigt\n\nTraditionel CMS-dokumentation er skrevet til mennesker. AI builder guiden er skrevet til **AI-agenter der genererer kode**:\n\n- **Struktureret til maskinlæsning** — konsistent markdown, kodeblokke med sprogtags\n- **Klar til copy-paste** — hvert mønster inkluderer kørbar kode\n- **Fejlforebyggelsesfokuseret** — kritiske regler fremhævet, almindelige fejl dokumenteret\n- **Modulær indlæsning** — agenter læser kun hvad de har brug for",
9+
"description": "Et dedikeret site på ai.webhouse.app plus 21 modulære docs — enhver AI-kodningsassistent får én URL til at bygge med @webhouse/cms.",
10+
"content": "## Én URL til enhver AI\n\nNår en udvikler beder en AI-kodningsassistent (Claude Code, Cursor, Copilot, Gemini, Windsurf) om at bygge et website med **@webhouse/cms**, kan de nu bare sige:\n\n> \"Brug https://ai.webhouse.app til at bygge det.\"\n\nAI'en henter den URL og får en **selvstændig Step 0–9 walkthrough**: tjek miljø → scaffold → plan med brugeren → rediger `cms.config.ts` → opret indhold → wire rendering → SEO → deploy → aflever tilbage. Siden leveres som `text/markdown` uden visuel pynt — skræddersyet til LLM-forbrug.\n\nAlle 21 dybdemoduler ligger på `ai.webhouse.app/ai/{slug}` hvis AI'en har brug for mere om et specifikt emne.\n\n## Hvad findes på ai.webhouse.app\n\n| URL | Formål |\n|-----|--------|\n| `/ai` | Selvguidet Step 0–9 walkthrough. **Start her.** |\n| `/ai/01-getting-started` | Scaffolding + første kørsel |\n| `/ai/02-config-reference` | `defineConfig`, `defineCollection`, options |\n| `/ai/03-field-types` | Alle 21 felttyper |\n| `/ai/04-blocks` | Bloksystem (hero, features, CTA-sektioner) |\n| `/ai/05-richtext` | TipTap-editor, indlejret medie |\n| `/ai/06-storage-adapters` | Filsystem, GitHub, SQLite |\n| `/ai/07-content-structure` | Dokument-JSON-format, content-layout |\n| `/ai/08-nextjs-patterns` | Sider, layouts, loader-funktioner |\n| `/ai/09-cli-reference` | Alle CLI-kommandoer |\n| `/ai/10-config-example` | Komplet real-world `cms.config.ts` |\n| `/ai/11-api-reference` | Programmatisk ContentService-brug |\n| `/ai/12-admin-ui` | CMS admin setup, Docker, npx |\n| `/ai/13-site-building` | Almindelige fejl, mønstre, rendering |\n| `/ai/14-relationships` | Indholdsrelationer, opløsning, reverse lookups |\n| `/ai/15-seo` | Metadata, JSON-LD, AI SEO |\n| `/ai/16-images` | Billedhåndtering, responsive, next/image |\n| `/ai/17-i18n` | Flersproget, locale-routing, oversættelse |\n| `/ai/18-deployment` | Vercel, Netlify, GitHub Pages, Fly.io, Cloudflare |\n| `/ai/19-troubleshooting` | Almindelige fejl, debugging, FAQ |\n| `/ai/20-interactives` | Datadrevet interaktivt indhold |\n| `/ai/21-framework-consumers` | Non-TS backends (Java, .NET, PHP, Python, Ruby, Go) |\n| `/ai/llms.txt` | llms.txt-standard (til LLM-crawlere) |\n| `/ai/manifest.json` | JSON-manifest med alle moduler + beskrivelser |\n| `/ai/index.json` | Sorteret modulliste |\n\nAlle svar sætter `X-Robots-Tag: noindex` — AI-sitet indekseres ikke af traditionelle søgemaskiner. Det er lavet til maskiner.\n\n## Hvorfor et dedikeret AI-site?\n\nDe 21 moduler findes allerede på [GitHub raw](https://raw.githubusercontent.com/webhousecode/cms/main/docs/ai-guide/index.md), men det er ikke nok:\n\n1. **Discoverability** — én pæn URL er lettere at huske og skrive end en dyb GitHub-sti.\n2. **Rate-limits** — GitHub raw throttler ved 60 requests/time uden auth. En ny AI-session der henter flere moduler rammer det hurtigt.\n3. **Platform-forskelle** — ikke alle AI-værktøjer har ergonomisk URL-fetch til GitHub-stier, men stort set alle kan hente en almindelig URL som `ai.webhouse.app`.\n4. **Selvguidet startpunkt** — det eksisterende indeks er en modulliste. Det antager AI'en allerede ved hvad `@webhouse/cms` er. Den nye `/ai`-walkthrough er skrevet til en blank AI-session — **\"du er en AI, følg disse skridt, hvis du mangler X så hent Y\"**.\n5. **Maskinlæsbare endpoints** — AI-platforme forventer i stigende grad `llms.txt`, struktureret manifest-JSON og versioning. GitHub raw markdown giver ikke noget af det.\n\n## Walkthrough'en (`/ai`)\n\nWalkthrough'en er struktureret som en **procedure**, ikke en reference:\n\n```\nStep 0 — Tjek miljø\nStep 1 — Scaffold projektet (npm create @webhouse/cms@latest)\nStep 2 — Forstå modellen (dokument-JSON, cms.config.ts, felttyper)\nStep 3 — Plan sitet med brugeren (5 spørgsmål)\nStep 4 — Rediger cms.config.ts (kind + description kræves per collection)\nStep 5 — Opret startindhold\nStep 6 — Wire rendering (Next.js / statisk / non-TS consumer)\nStep 7 — SEO (hvis relevant)\nStep 8 — Deploy\nStep 9 — Aflever tilbage til brugeren\n\nTroubleshooting — førstegangsløsninger\nDybdemodul-indeks\nIkke-forhandlelige regler (8 regler fra CLAUDE.md kritiske regler)\n```\n\nAI'en kan gennemføre en basis-build **fra ende til anden uden at hente andre moduler**. Dybere moduler er kun til specifikke emner (i18n, kompleks SEO, non-TS backend).\n\n## Sådan bruger du det\n\nI ethvert AI-kodningsværktøj indsæt:\n\n```\nByg mig et website med @webhouse/cms. Start med at hente https://ai.webhouse.app\n```\n\nAI'en vil:\n\n1. Hente `/ai` og følge Step 0 (tjekker `node --version`, spørger hvor den skal scaffolde)\n2. Køre `npm create @webhouse/cms@latest` (Step 1)\n3. Forklare modellen og planlægge med dig (Step 2–3)\n4. Redigere `cms.config.ts`, oprette indhold, wire rendering (Step 4–6)\n5. Hente specifikke dybdemoduler efter behov (SEO, i18n, deployment)\n6. Aflevere et kørende lokalt site med deploy-hooks konfigureret\n\nIngen manuel CLAUDE.md-opsætning, ingen copy-paste-konfiguration fra Stack Overflow, ingen \"hvor skal jeg starte?\"-forvirring.\n\n## Virker med enhver AI-platform\n\nHele sitet er almindelig `text/markdown` og `application/json` — alle AI-kodningsassistenter forstår det:\n\n- **Claude Code** — `WebFetch`-værktøjet henter URL'en; det lange kontekstvindue klarer hele walkthrough'en\n- **Cursor / Windsurf** — indsæt URL'en; inline-chatten henter den\n- **GitHub Copilot** — chatten understøtter URL-kontekst; hent `/ai` ind i prompten\n- **Gemini (IDE-udvidelser)** — URL-bevidst chat henter markdown'en\n- **Enhver fremtidig platform** — så længe den understøtter URL-fetch, virker det\n\n## Maskinlæsbare endpoints\n\nTil programmatisk brug (MCP-servere, agent-frameworks, CI-pipelines):\n\n```bash\n# Fuldt JSON-manifest med alle moduler + beskrivelser + endpoints\ncurl https://ai.webhouse.app/ai/manifest.json\n\n# Almindelig sorteret modulliste\ncurl https://ai.webhouse.app/ai/index.json\n\n# llms.txt-standard (til LLM-crawlere)\ncurl https://ai.webhouse.app/ai/llms.txt\n```\n\nEksempel på `manifest.json`:\n\n```json\n{\n \"name\": \"@webhouse/cms AI Builder Site\",\n \"version\": \"0.1.0\",\n \"entry\": \"https://ai.webhouse.app/ai\",\n \"modules\": [\n { \"slug\": \"01-getting-started\", \"url\": \"...\", \"description\": \"New project, first setup\" },\n ...\n ],\n \"endpoints\": {\n \"walkthrough\": \"https://ai.webhouse.app/ai\",\n \"llms_txt\": \"https://ai.webhouse.app/ai/llms.txt\",\n \"manifest\": \"https://ai.webhouse.app/ai/manifest.json\"\n }\n}\n```\n\n## Kanonisk kilde + fallbacks\n\nHvis `ai.webhouse.app` ikke er tilgængelig, ligger den kanoniske markdown i CMS-monorepoet og serveres fra GitHub raw:\n\n```\nhttps://raw.githubusercontent.com/webhousecode/cms/main/docs/ai-guide/index.md\nhttps://raw.githubusercontent.com/webhousecode/cms/main/docs/ai-guide/01-getting-started.md\n...\n```\n\nEthvert scaffoldet projekt leveres også med `packages/cms/CLAUDE.md` (slank indeks, ~180 linjer) der refererer de samme moduler. AI'en har derfor tre redundante stier til samme indhold:\n\n1. `https://ai.webhouse.app` (dette site — primær)\n2. GitHub raw (fallback, rate-limited)\n3. Lokal `packages/cms/CLAUDE.md` i `node_modules/@webhouse/cms` (offline)\n\n## Dogfooding\n\nAI Builder Site er selv bygget med `@webhouse/cms` — det ligger som en route-gruppe (`src/app/ai/*`) på [docs.webhouse.app](https://docs.webhouse.app), som er fuldstændigt CMS-drevet. Ét site, to målgrupper: `/docs` for mennesker, `/ai` for AI-agenter. Samme indholdsmodel, samme deploy-pipeline.\n\nDenne side (den du læser lige nu) er et dokument i `docs`-collection'en, gemt som JSON i `content/docs/ai-builder-guide.json`. Den forklarer det companion-AI-site der ligger ved siden af. Selvrefererende, fuldt editerbar via admin-UI'et og tilgængelig på både engelsk og dansk.\n\n## Ikke-forhandlelige regler\n\nWalkthrough'en indprenter otte regler AI-sessioner skal følge når de bygger med `@webhouse/cms`:\n\n1. Hver collection SKAL have `kind` og `description`\n2. `cms.config.ts` SKAL erklære `storage` eksplicit (standard er SQLite)\n3. NAVNGIV ALDRIG en collection `site-settings`, `settings`, `config`, `admin`, `media`, `interactives`\n4. `image-gallery`-værdier SKAL være `{ url, alt }[]` — aldrig plain strings\n5. Dokumenter SKAL have `_fieldMeta: {}`\n6. Slug SKAL matche filnavnet\n7. Filtrér altid på `status === \"published\"` ved rendering\n8. BRUG ALDRIG CDN-scripts (Tailwind, Bootstrap) i statiske builds — kun inline CSS\n\nDe regler forebygger de mest almindelige AI-genererede fejl vi har set i tidlige builds.",
1111
"category": "concepts",
1212
"order": 3,
1313
"_seo": {
1414
"metaTitle": "AI Builder Guide — webhouse.app Docs",
15-
"metaDescription": "20 modulære dokumentationsmoduler der følger med npm-pakken — designet til AI-agenter der bygger sites."
15+
"metaDescription": "ai.webhouse.app er en selvguidet walkthrough-site til enhver AI-kodningsassistent der bygger med @webhouse/cms. Én URL, Step 0-9, alle 21 moduler, llms.txt + manifest.json."
1616
}
1717
},
1818
"_fieldMeta": {},
1919
"createdAt": "2026-03-30T11:04:41.760Z",
20-
"updatedAt": "2026-03-30T11:04:41.760Z"
21-
}
20+
"updatedAt": "2026-04-16T00:00:00.000Z"
21+
}

0 commit comments

Comments
 (0)