diff --git a/prisma/seed.ts b/prisma/seed.ts index 72e044e..910c955 100644 --- a/prisma/seed.ts +++ b/prisma/seed.ts @@ -60,41 +60,22 @@ const SUGGESTED_QUESTIONS: Record = { "Comment le quantifiez-vous (temps, qualité, vélocité) ?", "L'IA est-elle un levier stratégique pour l'équipe ?", ], - risks: [ - "Quelles précautions prenez-vous (sécurité, confidentialité, biais) ?", - "Y a-t-il des règles partagées ou une doctrine ?", - "Comment gérez-vous les risques liés aux données sensibles ?", - ], alignment: [ "Comment vous assurez-vous que le code généré respecte vos standards ?", + "Comment intégrez-vous les NFR (perf, sécurité, observabilité...) dans le contexte pour l'IA ?", "Avez-vous des garde-fous pour l'alignement archi ?", "Comment gérez-vous le rework quand l'IA sort du cadre ?", ], - code_quality: [ - "Quelle qualité de code attendez-vous des sorties IA ?", - "Comment validez-vous la maintenabilité ?", - "Avez-vous des exemples où le code généré était fragile ?", - ], quality_usage: [ "Utilisez-vous l'IA pour les tests ? Comment ?", "Et pour la revue de code ou le refactoring ?", "L'IA est-elle un levier pour améliorer la qualité globale ?", ], - capitalization: [ - "Comment capitalisez-vous les prompts, rules, skills et bonnes pratiques ?", - "Y a-t-il une base partagée (rules, skills, wiki) ?", - "Comment partagez-vous les retours d'expérience ?", - ], learning: [ "Comment l'IA vous aide-t-elle à monter en compétence ?", "Utilisez-vous l'IA pour comprendre des patterns ou concepts ?", "Évitez-vous la dépendance passive (copier-coller sans comprendre) ?", ], - measurement: [ - "Comment mesurez-vous l'usage et l'impact de l'IA ?", - "Avez-vous des indicateurs ou du feedback utilisateur ?", - "Comment pilotez-vous l'adoption et l'amélioration ?", - ], cost_control: [ "Suivez-vous les coûts d'usage IA (tokens, API, abonnements) ?", "Avez-vous des budgets ou limites par équipe/projet ?", @@ -124,20 +105,12 @@ const RUBRICS: Record = { "1:Statique — usage figé, pas de recherche ni d'expérimentation;2:Occasionnel — quelques essais ponctuels, pas de démarche structurée;3:Curieux — suit des sources (web, X, communautés), teste de temps en temps;4:Actif — teste régulièrement workflows et astuces, identifie ce qui améliore contexte/pertinence;5:Explorateur — veille continue, validation systématique, adoption des pratiques qui font la différence", impact: "1:Aucun — pas d'impact visible sur la delivery;2:Marginal — gain de temps perçu mais non quantifié;3:Accélération — vélocité accrue, moins de tâches répétitives;4:Gain mesurable — métriques (temps, qualité, vélocité) documentées;5:Levier clair — IA comme levier stratégique, pilotage de l'adoption, ROI démontré", - risks: - "1:Aucune — pas de considération des risques (sécurité, confidentialité, biais);2:Sensibilisation — conscience des risques, pas de processus formalisé;3:Bonnes pratiques — précautions appliquées (données, prompts, sanitization);4:Règles partagées — règles d'usage, checklist, validation des données;5:Doctrine — politique de sécurité IA, gouvernance, revue des risques", alignment: "1:Hors standards — code généré souvent non conforme, rework systématique;2:Rework lourd — modifications importantes nécessaires pour aligner;3:Cohérent — code généralement aligné, quelques ajustements;4:Aligné — prompts et garde-fous pour respecter standards et archi;5:Quasi conforme — sorties quasi conformes, validation automatisée possible", - code_quality: - "1:Peu maintenable — code fragile, difficile à faire évoluer;2:Correct fragile — fonctionne mais cas limites non gérés;3:Maintenable — code propre, testable, évolutif;4:Propre structuré — patterns respectés, séparation des responsabilités;5:Quasi senior — qualité équivalente à un code produit par un dev senior", quality_usage: "1:Rarement — utilisation peu fréquente pour la qualité;2:Tests simples — génération de tests unitaires basiques;3:Tests utiles — tests pertinents, couverture, refacto assistée;4:Refacto guidée — IA pour identifier du code à améliorer, suggérer des refactorings;5:Levier qualité — IA intégrée dans la boucle qualité (review, dette technique, standards)", - capitalization: - "1:None — pas de capitalisation, tout est dans la tête ou éparpillé;2:Informel — notes personnelles, partage oral;3:Bonnes pratiques — document informal, exemples partagés;4:Base prompts — bibliothèque de prompts, wiki interne;5:Wiki & REX — base documentée, retours d'expérience, amélioration continue", learning: "1:Dépendance — copier-coller sans comprendre, risque de régression;2:Apprentissage limité — utilisation pour débloquer mais compréhension superficielle;3:Compréhension — IA pour comprendre les concepts, valider sa compréhension;4:IA pour patterns — utilisation pour apprendre des patterns, architectures, bonnes pratiques;5:Accélérateur de progression — IA comme outil de montée en compétence structurée", - measurement: - "1:Aucun suivi — pas de mesure de l'usage ou de l'impact;2:Perception — sentiment d'impact, pas de données;3:Feedback — retours utilisateurs, observations qualitatives;4:Indicateurs simples — métriques d'usage (adoption, volume), premiers KPIs;5:Pilotage structuré — tableau de bord, suivi de l'adoption, pilotage de l'amélioration", cost_control: "1:Inconscient — pas de visibilité sur les coûts, usage sans limite;2:Aware — conscience des coûts, pas de suivi ni de budget;3:Suivi basique — métriques de consommation (tokens, API), pas d'alertes;4:Piloté — budgets par équipe/projet, alertes, arbitrage modèles/qualité;5:Optimisé — optimisation continue (contexte, batch, modèles), ROI coût documenté", }; @@ -145,7 +118,7 @@ const RUBRICS: Record = { const TEMPLATES_DATA = [ { id: "full-15", - name: "Full - 18 dimensions", + name: "Full - 14 dimensions", dimensions: [ { id: "tools", @@ -183,41 +156,21 @@ const TEMPLATES_DATA = [ title: "Exploration & veille (workflows, astuces, pertinence)", rubric: RUBRICS.exploration, }, - { - id: "risks", - title: "Gestion risques & sécurité", - rubric: RUBRICS.risks, - }, { id: "alignment", title: "Alignement archi & standards", rubric: RUBRICS.alignment, }, - { - id: "code_quality", - title: "Qualité du code généré", - rubric: RUBRICS.code_quality, - }, { id: "quality_usage", title: "Usage pour la qualité (tests, review)", rubric: RUBRICS.quality_usage, }, - { - id: "capitalization", - title: "Capitalisation & partage", - rubric: RUBRICS.capitalization, - }, { id: "learning", title: "Montée en compétence via IA", rubric: RUBRICS.learning, }, - { - id: "measurement", - title: "Mesure & pilotage", - rubric: RUBRICS.measurement, - }, { id: "cost_control", title: "Maîtrise des coûts", @@ -268,6 +221,14 @@ async function main() { }, }); } + // Supprime les dimensions retirées du template + const currentSlugs = t.dimensions.map((d) => d.id); + await prisma.templateDimension.deleteMany({ + where: { + templateId: template.id, + slug: { notIn: currentSlugs }, + }, + }); } // Bootstrap demo data uniquement si la DB est vide