Aller au contenu

Skills Celuga

celuga-add-block

Ajouter un bloc au page builder d'un site create-celuga.

Quand : Ajouter un bloc au page builder d’un site create-celuga.

Portée : projet (.agents/skills, déjà livré par create-celuga) · Fichiers : 1

Copier le bloc et le coller dans un terminal. Il recrée tous les fichiers du skill.

dir=".agents/skills/celuga-add-block" # depuis la racine du projet
mkdir -p "$dir"
cat > "$dir/SKILL.md" <<'CELUGA_SKILL_EOF'
---
name: celuga-add-block
description: Ajouter un bloc au page builder Celuga avec champs Payload, rendu Astro/React, traduction, SEO, cache et fixture Storybook.
---
# Ajouter un bloc Celuga
Inspectez `packages/site-contracts/src/content.ts`, `packages/site-contracts/src/sections.ts`, `apps/cms/src/fields/index.ts`, `apps/web/src/components/Blocks.tsx`, `apps/web/src/lib/page-builder.ts`, `apps/cms/src/seo/document.ts`, `packages/site-contracts/src/i18n.ts` et `apps/web/src/stories/fixtures.ts`. Cherchez `temoignages` dans ces fichiers pour suivre un bloc complet.
1. Ajoutez une entrée au catalogue partagé et une définition Payload aux libellés français. Marquez seulement les feuilles textuelles traduisibles comme localisées. Le contrat est terminé quand le catalogue et les champs acceptés par Payload ont les mêmes identifiants.
2. Ajoutez le rendu SSR et, seulement si une interaction l’exige, un îlot ciblé. Traitez les relations dans `prepareBlocks`, avec dégradation limitée au bloc et dépendances de cache explicites. Le contrat est terminé quand la page reste exploitable si la donnée annexe échoue.
3. Ajoutez l’extraction de texte et de structure à l’analyse SEO ainsi que la règle de complétude linguistique. Le rendu et l’analyse doivent parcourir les mêmes contenus visibles.
4. Ajoutez une fixture Storybook et un test de contrat qui prouve catalogue → fixture → rendu → analyse. Un nouveau bloc persisté crée des tables Payload et exige une migration : suivez toujours `celuga-change-schema`. Vérifiez les options de section dans `sections.ts`, notamment le fond par défaut et l’ancre ; ajoutez-y le bloc seulement si son fond par défaut doit être particulier. Terminez par `bun run generate` et `bun run verify`.
Utilisez le bloc Témoignages comme référence exécutable, et le bloc Dernières actualités (`apps/cms/src/modules/actualites/block.ts`) pour un bloc qui charge une relation.
CELUGA_SKILL_EOF
SKILL.md
---
name: celuga-add-block
description: Ajouter un bloc au page builder Celuga avec champs Payload, rendu Astro/React, traduction, SEO, cache et fixture Storybook.
---
# Ajouter un bloc Celuga
Inspectez `packages/site-contracts/src/content.ts`, `packages/site-contracts/src/sections.ts`, `apps/cms/src/fields/index.ts`, `apps/web/src/components/Blocks.tsx`, `apps/web/src/lib/page-builder.ts`, `apps/cms/src/seo/document.ts`, `packages/site-contracts/src/i18n.ts` et `apps/web/src/stories/fixtures.ts`. Cherchez `temoignages` dans ces fichiers pour suivre un bloc complet.
1. Ajoutez une entrée au catalogue partagé et une définition Payload aux libellés français. Marquez seulement les feuilles textuelles traduisibles comme localisées. Le contrat est terminé quand le catalogue et les champs acceptés par Payload ont les mêmes identifiants.
2. Ajoutez le rendu SSR et, seulement si une interaction l’exige, un îlot ciblé. Traitez les relations dans `prepareBlocks`, avec dégradation limitée au bloc et dépendances de cache explicites. Le contrat est terminé quand la page reste exploitable si la donnée annexe échoue.
3. Ajoutez l’extraction de texte et de structure à l’analyse SEO ainsi que la règle de complétude linguistique. Le rendu et l’analyse doivent parcourir les mêmes contenus visibles.
4. Ajoutez une fixture Storybook et un test de contrat qui prouve catalogue → fixture → rendu → analyse. Un nouveau bloc persisté crée des tables Payload et exige une migration : suivez toujours `celuga-change-schema`. Vérifiez les options de section dans `sections.ts`, notamment le fond par défaut et l’ancre ; ajoutez-y le bloc seulement si son fond par défaut doit être particulier. Terminez par `bun run generate` et `bun run verify`.
Utilisez le bloc Témoignages comme référence exécutable, et le bloc Dernières actualités (`apps/cms/src/modules/actualites/block.ts`) pour un bloc qui charge une relation.