Génère un objet TypeScript Offre à partir d'un fichier offre existant dans docs/offres/. L'offre doit avoir atteint totalement le statut MUST-HAVE (17/17 checklist). Produit un bloc JSON en commentaire à la fin du fichier.
Tu génères un objet TypeScript conforme à l'interface Offre de src/lib/offres.ts à partir d'un fichier offre markdown existant.
docs/offres/$ARGUMENTS.mdstatut n'est pas must-have, delight ou publiable → Erreur : "L'offre n'a pas atteint le statut MUST-HAVE. Statut actuel : [statut]. Utilise /create-offre pour compléter les phases manquantes."checklist est à false → Erreur : "La checklist MUST-HAVE n'est pas complète. Critères manquants : [liste des clés à false]. Score qualité : [qualite]/10."import { type LucideIcon } from "lucide-react";
export interface Offre {
sku: string;
icon: LucideIcon;
title: string;
subtitle: string;
description: string;
audience: string;
douleurs: string[];
benefices: string[];
modalites: string[];
}
Utilise le sku du frontmatter. Vérifie qu'il respecte :
[A-Z]{3}-\d{2}-01titledate_creation-01 fixeSi le SKU est invalide, corrige-le et signale la correction.
Choisis une icône pertinente dans lucide-react. Icônes déjà utilisées :
User → Coaching individuel (CSI-25-01)Flame → Hot Sync (HSC-25-01)Users → Coaching d'équipe (CST-25-01)Lightbulb → Ateliers thématiques (TSX-25-01)Ne réutilise pas une icône déjà prise sauf si l'offre remplace explicitement une offre existante.
Extrais le contenu directement du fichier markdown :
| Champ | Source dans le fichier |
|---|---|
title | Frontmatter title ou titre H1 |
subtitle | Baseline (H2 sous le titre) |
description | Synthèse de "Vous reconnaissez cette situation ?" + "Ce qui change" — 2-3 phrases max |
audience | Section "A qui s'adresse" — une phrase en français qui nomme clairement le public cible et le bénéfice principal (ex: "Pour les managers de la Tech qui veulent arrêter de subir les contradictions et retrouver du sens dans leur rôle.") |
douleurs | Les tensions listées dans "Vous reconnaissez cette situation ?" — 4 à 6 items |
benefices | Les changements listés dans "Ce qui change" — 4 à 6 items |
modalites | Extraits de "Format" + phases du parcours — 4 à 6 items |
douleurs sont formulées dans le langage du client (avec "vous" ou "vos")benefices sont concrets et mesurablesmodalites sont factuelles (durées, formats, fréquences)CSI-25-01 — Coaching individuelHSC-25-01 — Hot SyncCST-25-01 — Coaching d'équipeTSX-25-01 — Ateliers thématiquesAjoute un commentaire HTML à la fin du fichier docs/offres/$ARGUMENTS.md contenant l'objet JSON :
<!-- OFFRE_OBJECT
{
"sku": "...",
"icon": "...",
"title": "...",
"subtitle": "...",
"description": "...",
"audience": "...",
"douleurs": [...],
"benefices": [...],
"modalites": [...]
}
-->
Le champ icon contient le nom de l'icône en string (ex: "Compass"), pas l'import.
Si un bloc <!-- OFFRE_OBJECT ... --> existe déjà dans le fichier, remplace-le.
Affiche un résumé :
src/lib/offres.ts avec l'import de l'icône