Template
chore: YAML-Schemas in Dateiköpfe, tibi-types auf 4c55f82
deploy to production / deploy (push) Successful in 43s
deploy to production / deploy (push) Successful in 43s
- yaml-language-server-Schema direkt in jeder api-YAML statt .vscode/yaml.schemas-Mapping (exakter pro Datei, kein Glob-Rätsel) - erweiterte meta.agent-Doku in den Collections - tibi-types-Submodul auf 4c55f82 (meta.agent- + meta.query-Schemas)
This commit is contained in:
1 parent
7ef080ba88
commit
45a021fb53
10 files changed
+18
-21
No files matched your search
+3
-2
@@ -1,3 +1,4 @@
|
||||
# yaml-language-server: $schema=../tibi-types/schemas/config/project.schema.json
|
||||
namespace: __TIBI_NAMESPACE__
|
||||
|
||||
meta:
|
||||
@@ -8,8 +9,8 @@ meta:
|
||||
lookup: "content: blocks.heroImage.image:medialib, blocks.image:medialib; navigation: elements.page:content; comments via aggregate on comment.contentId"
|
||||
rendering: "App.svelte loads getCachedEntries(content, {lang, path, active:true} + lookup); BlockRenderer maps Hero/Features/Richtext/Accordion/ContactForm; images only via widgets/MedialibImage.svelte"
|
||||
designGuide: "Future free code/HTML blocks: add block type in content.blocks (type + fields with dependsOn $parent.type), Svelte component in frontend/src/blocks/ + case in BlockRenderer.svelte, keep admin preview contract; Svelte 5 runes ($props/$state/$derived, never destructure block), SSR-safe (window guards), MedialibImage is the only image boundary (file.src or data URI, no ?filter on data URIs), Tailwind v4 canonical (bg-linear-to-*, aspect-video/square else arbitrary, trailing ! e.g. bg-brand-600!), i18n via svelte-i18n ($_), always pass foreignMedia lookup explicitly"
|
||||
workflows: ["Create page (name, path, lang, translationKey, active:true) -> fill blocks -> link navigation -> verify /de plus /api/content?lookup -> respect SSR cache (POST creates, PUT/DELETE invalidate via clear_cache hooks)", "Upload image (medialib file {src:data URI, path}) -> put ID into heroImage.image or blocks.image -> verify with lookup (file.src must be <field>/<name>)"]
|
||||
hints: ["Public reads need active:true plus publication window (filter_public)", "path pattern ^/[a-z0-9-/]*$ (lowercase, no umlauts)", "translationKey+lang and path+lang are unique: always set translationKey, else second doc collides on null/de", "File upload: {src:'data:<mime>;base64,...', path:'n.jpg'} (path optional); stored {src:'<field>/n.jpg', type}; never {filename,data}, never file as plain string", "Reads with select/projection excluding file.data (else context bloat); file.src is enough", "SSR cache lives in ssr collection with dependencies content:<id>/content:*/medialib:*/navigation:*/comment:*; after manual MCP writes use ssr?clear=1 if needed"]
|
||||
workflows: ["Create page (name, path, lang, translationKey, active:true) -> fill blocks -> link navigation -> set active:true on touched navigation/medialib docs -> verify /de plus anonymous SSR (navigation count>0, _lookup resolved) -> respect SSR cache (POST creates, PUT/DELETE invalidate via clear_cache hooks)", "Upload image (medialib file {src:data URI, path} + active:true) -> put ID into heroImage.image or blocks.image -> verify with anonymous lookup (file.src must be <field>/<name>), PAT-only success is not sufficient"]
|
||||
hints: ["Public reads need active:true plus publication window (filter_public) – applies to content AND navigation AND medialib. Navigation/medialib schemas declare no active field, yet anonymous/SSR queries return empty without it: always store active:true on those docs too (accepted as extra field). Symptom of missing flag: header/footer nav count 0 and medialib lookups unresolved (plain IDs, no _lookup) although PAT reads succeed", "path pattern ^/[a-z0-9-/]*$ (lowercase, no umlauts)", "translationKey+lang and path+lang are unique: always set translationKey, else second doc collides on null/de", "File upload: {src:'data:<mime>;base64,...', path:'n.jpg'} (path optional); stored {src:'<field>/n.jpg', type}; never {filename,data}, never file as plain string", "Reads with select/projection excluding file.data (else context bloat); file.src is enough", "SSR cache lives in ssr collection with dependencies content:<id>/content:*/medialib:*/navigation:*/comment:*; after manual MCP writes use ssr?clear=1 if needed", "Verify public rendering via anonymous SSR HTML (window.__SSR_CACHE__: navigation count>0, heroImage/image with _lookup), never trust PAT-only lookups"]
|
||||
imageUrl:
|
||||
eval: "$projectBase + '_/assets/img/admin-pic.svg'"
|
||||
i18n:
|
||||
|
||||
Reference in new issue
Block a user