--- description: Keep Meshkee static-image slots and their storefront catalog synchronized alwaysApply: true --- # Meshkee Static Images - Use the canonical contract at `https://api.meshkee.com/docs/website`; do not invent upload or dashboard APIs. - Fetch static-image slots once per page from `/api/v1/tenants/{domain}/website/static-images?pageKey={pageKey}`. - Match placeholders by `slot.key`. Use every image for `kind: "list"` and only the first image for `kind: "single"`. - Render `image.url` in an ``, use localized titles for content and `alt`, and wrap the image in an `` when `linkUrl` is present. - Keep local placeholder images when a slot is empty or the API request fails. - Keep `app/meshkee/static-image-slots/route.ts` synchronized with every static-image placeholder. - Whenever a placeholder's rendered dimensions or crop ratio change, update that slot's `aspectRatio` and `recommendedWidth` in the catalog. - Update `CONTEXT.md` when a prompt changes routes, API integrations, slot keys, or other project architecture.