Avec une IA
Construire avec Kreiz et une IA.
Kreiz a été conçu pour être construit avec une IA. Le Core est stable et documenté ; le Project est un petit code lisible. Décrivez ce que vous voulez : l'IA exécute dans le Project, vous gardez la décision.
Le rôle de chacun
La répartition est simple : votre IA travaille dans le Project, Kreiz garde le moteur. Vous gardez la décision.
Précision importante : utilisez un assistant ou agent IA qui peut lire et modifier le dossier de votre projet — Codex, Claude Code, Cursor, Windsurf ou un autre agent compatible. Une conversation IA sans accès aux fichiers peut vous conseiller, mais ne peut pas modifier le Project.
Ce que votre IA peut faire
- Créer le frontend et les pages
- Créer les types de contenu et leurs champs
- Créer les formulaires
- Adapter la direction artistique
- Connecter les composants
- Améliorer la navigation
- Créer de nouveaux layouts
- Ajouter des fonctionnalités dans le Project
Ce que votre IA doit éviter
- Modifier
packages/coresans nécessité absolue - Sortir de l'API publique de
@kreiz/core - Mélanger le contenu et la présentation
- Casser Save ≠ Publish (écrire dans les données publiées)
- Contourner les migrations Drizzle
Ces limites ne réduisent pas l'IA : les garde-fous du Core — authentification, CSRF, publication, médias, validation — sont écrits une fois pour tous et couverts par sa suite de tests. La mise en production reste ensuite une affaire de configuration, décrite dans Déployer ; les conditions exactes sont listées dans la pageProduction readiness (ouvre GitHub dans un nouvel onglet) du dépôt.
Le prompt maître
Copiez ce prompt au début de votre session, puis remplacez les passages entre chevrons. Il fixe le cadre Kreiz : où travailler, quoi ne pas toucher, comment travailler, quand s'arrêter.
Vous n'avez pas besoin de comprendre ce bloc. Copiez-le tel quel dans un assistant qui a accès au dossier de votre projet — une conversation IA sans accès aux fichiers ne peut pas modifier le Project.
Prompt maître Kreiz
Tu travailles dans un projet Kreiz. Kreiz est un moteur éditorial pour Astro, organisé en monorepo pnpm : - packages/core contient le moteur (@kreiz/core). Si une modification de packages/core semble nécessaire, arrête-toi : explique précisément pourquoi le Project ne suffit pas et attends mon accord explicite avant de toucher au Core. - apps/<votre-app> est mon site : c'est ici que tout se passe. - Utilise uniquement l'API publique de @kreiz/core (@kreiz/core, /content, /forms, /media, /seo, /analytics, /data). Pas d'import profond dans le Core. Commence par lire l'existant : - l'application sous apps/<votre-app> (types de contenu, formulaires, templates, pages, styles, schéma) ; - les patterns du Project et les exemples d'apps/demo ; - la documentation utile dans docs/ (build-a-project.md, api.md, configuration.md). Méthode de travail : - une demande à la fois, sans anticiper la suite ; - avant tout changement conséquent, propose-moi un plan bref et attends mon accord ; - exécute les validations pertinentes (typecheck, build, lint) ; - si le changement est visuel, vérifie le rendu dans le navigateur, desktop et mobile ; - à la fin, liste les fichiers modifiés. Cadre à respecter : - Les types de contenu se déclarent en code (src/content-types/) ; le back-office est généré à partir de ces déclarations. - Les templates (src/templates/) rendent les données ; le même template sert au site public et à la preview de l'admin. - Les pages publiques vivent dans src/pages/ et prérendent les contenus publiés (createContentReader). Respecte le modèle Save ≠ Publish : n'écris jamais directement dans les données publiées. - Le schéma de base appartient à l'app (src/schema.ts + drizzle). Ne contourne pas les migrations. - Le contenu et la présentation restent séparés. Le design m'appartient : propose-moi une direction avant de coder une page importante. Sans mon accord explicite, jamais : commit, push, déploiement, modification d'un secret, déclenchement d'une action externe. Mon site : <nom du site>. Public visé : <qui visite le site>. Je veux créer : <décrivez les pages, les types de contenu, le ton, le style>.
Exemples de demandes
Si vous ne savez pas quoi demander, partez d'une de ces phrases. Une demande à la fois reste le plus efficace : l'IA crée, vous vérifiez dans le back-office et sur le site, puis vous enchaînez.
« Crée un site pour un garage automobile avec : Accueil, Services, Véhicules, À propos, Contact. »
« Ajoute un type de contenu Réalisation avec : titre, description, galerie, date, client. »
« Refais la page d'accueil dans un style éditorial premium. »
« Ajoute un formulaire de demande de devis. »
« Ajoute une section équipe modifiable depuis Kreiz. »
« Ajoute une page FAQ. »
Trois briefs complets, à copier puis adapter
Pour les tâches plus larges, un brief structuré évite les allers-retours : le contexte, les limites, et ce qui doit être vérifié à la fin.
Brief complet — Créer un site
Crée un site pour un garage automobile. Public : particuliers locaux. Pages : Accueil, Services, Véhicules, À propos, Contact. Contenus éditables : Services, Véhicules, Actualités. Style : sobre, professionnel, local, pas de look SaaS. Contraintes : - ne modifie pas le Core ; - utilise les types de contenu Kreiz ; - garde le site responsive ; - vérifie SEO et navigation ; - lance build et tests pertinents. Avant de modifier : résume ton plan.
Brief complet — Ajouter un type de contenu
Ajoute un type de contenu Réalisation. Champs : - titre (fourni par Kreiz, ne pas le redéclarer) - résumé - description riche - client - date - image de couverture - galerie si supportée par le Project Route : /realisations/[slug] Créer : - déclaration du type - page publique - template - listing si nécessaire Vérifier : - admin, Save, Preview, Publish - page publique - SEO - build Ne modifie pas le Core.
Brief complet — Refaire une page
Refais la page d'accueil dans un style éditorial premium. Conserver : - contenu existant - navigation - SEO - routes - types de contenu - formulaires Modifier uniquement : - composition - typographie - spacing - composants visuels - responsive Ne touche pas au Core. Avant de coder : analyse la page actuelle et propose un plan court. Après : vérifie le rendu desktop + mobile et lance le build.
Demander juste
- Décrivez d'abord les pages et le contenu, le style ensuite : l'ordre naturel d'un site.
- Nommez les types de contenu comme vous voulez les voir dans l'admin —Réalisations, Services, Équipe… ce sont les libellés du back-office.
- Dites ce qui ne change pas : « ne touche pas à
packages/core» est une phrase que votre IA doit entendre souvent. - Sachez reconnaître la fin d'une tâche. Après l'ajout d'un type de contenu par exemple, la chaîne complète doit passer : formulaire admin, sauvegarde, preview, publication, page publique, SEO, build — et navigation si une page s'y ajoute.
Et si un changement vous échappe, tout se vérifie : le contenu vit dans le back-office, le design dans votre Project, etle Core est sur GitHub (ouvre GitHub dans un nouvel onglet) pour comprendre la mécanique.