docs(agent): meta.agent Anleitungen plus Design-Guide für freie Blöcke
deploy to production / deploy (push) Successful in 43s

Ohne Repo verständlich: Routen, Lookup-Pfade, Upload-Format src/path, translationKey-Falle, SSR-Cache, Tailwind/Svelte-Regeln.
This commit is contained in:
2026-10-05 18:30:22 +00:00
parent 9819e38b08
commit 7ef080ba88
6 changed files with 47 additions and 0 deletions
+10
View File
@@ -30,6 +30,16 @@ meta:
- group: seo
label: { de: "SEO", en: "SEO" }
viewHint: cards
agent:
purpose: "CMS pages rendered by App.svelte + BlockRenderer (hero, features, richtext, accordion, contact-form)."
instructions: "Required: name, path, lang. Always set translationKey (unique per lang, avoids null/de collision) and active:true for public. path pattern ^/[a-z0-9-/]*$. Blocks: hero needs headline + heroImage.image (medialib ID); richtext needs text + imagePosition none/left/right + image (medialib ID, only shown when lookup resolves file.src); features needs featureBoxes[{icon,title,text}] with icon in lightning/palette/database/globe/monitor/flask; accordion needs accordionItems[{question,answer,open}]; contact-form needs headline + anchorId. Always request lookup blocks.heroImage.image:medialib,blocks.image:medialib."
fieldHints:
path: "lowercase, e.g. /ueber-uns; stored without language prefix"
translationKey: "required, e.g. home/ueber-uns/kontakt; unique per lang"
blocks: "type selects visible fields via dependsOn $parent.type"
examples: [{ name: "Startseite", path: "/", lang: "de", translationKey: "home", active: true }]
workflows: ["filter before create (path+lang) to stay idempotent; 409 means exists", "after PUT/DELETE verify /de and /api/content?lookup; SSR invalidates via clear_cache hooks"]
hints: ["richtext image only renders when _lookup.image.file.src exists", "hero fallback is gradient when no image"]
hooks:
get: