create-go-plate 0.0.0-stage → 0.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (43) hide show
  1. package/CHANGELOG.md +14 -0
  2. package/LICENSE +21 -0
  3. package/README.md +103 -2
  4. package/bin/create.mjs +198 -0
  5. package/modules/ai/docs/AI.md +20 -0
  6. package/modules/ai/evals/README.md +10 -0
  7. package/modules/ci-github/.github/dependabot.yml +8 -0
  8. package/modules/ci-github/.github/workflows/ci.yml +38 -0
  9. package/modules/claude/.claude/hooks/format.mjs +37 -0
  10. package/modules/claude/.claude/hooks/lib.mjs +32 -0
  11. package/modules/claude/.claude/hooks/protect-files.mjs +69 -0
  12. package/modules/claude/.claude/hooks/session-start.mjs +50 -0
  13. package/modules/claude/.claude/settings.json +61 -0
  14. package/modules/claude/.mcp.json +12 -0
  15. package/modules/claude/CLAUDE.md +13 -0
  16. package/package.json +32 -4
  17. package/template/.claude/agents/reviewer.md +25 -0
  18. package/template/.claude/agents/test-writer.md +19 -0
  19. package/template/.claude/skills/audit-securite/SKILL.md +23 -0
  20. package/template/.claude/skills/cadrage/SKILL.md +81 -0
  21. package/template/.claude/skills/fin-de-session/SKILL.md +28 -0
  22. package/template/.claude/skills/spec/SKILL.md +36 -0
  23. package/template/.claude/skills/stress-test/SKILL.md +25 -0
  24. package/template/.editorconfig +18 -0
  25. package/template/.env.example +7 -0
  26. package/template/AGENTS.md +98 -0
  27. package/template/README.md +62 -0
  28. package/template/TASKS.md +16 -0
  29. package/template/docs/ARCHITECTURE.md +38 -0
  30. package/template/docs/DESIGN.md +37 -0
  31. package/template/docs/PRD.md +38 -0
  32. package/template/docs/RULES.md +31 -0
  33. package/template/docs/SECURITY.md +43 -0
  34. package/template/docs/SESSION-LOG.md +15 -0
  35. package/template/docs/TESTING.md +34 -0
  36. package/template/docs/decisions/0000-template.md +16 -0
  37. package/template/docs/decisions/README.md +8 -0
  38. package/template/docs/specs/README.md +12 -0
  39. package/template/docs/specs/_template/plan.md +27 -0
  40. package/template/docs/specs/_template/spec.md +23 -0
  41. package/template/docs/specs/_template/tasks.md +8 -0
  42. package/template/gitignore +30 -0
  43. package/template/src/README.md +9 -0
@@ -0,0 +1,12 @@
1
+ {
2
+ "mcpServers": {
3
+ "context7": {
4
+ "type": "http",
5
+ "url": "https://mcp.context7.com/mcp"
6
+ },
7
+ "playwright": {
8
+ "command": "npx",
9
+ "args": ["@playwright/mcp@latest"]
10
+ }
11
+ }
12
+ }
@@ -0,0 +1,13 @@
1
+ @AGENTS.md
2
+
3
+ <!--
4
+ Les instructions du projet vivent dans AGENTS.md (lu par tous les agents).
5
+ N'ajoute ici que ce qui est spécifique à Claude Code.
6
+ -->
7
+
8
+ ## Spécifique à Claude Code
9
+
10
+ - Pour une tâche complexe, utilise le mode plan avant d'éditer.
11
+ - Délègue la relecture au sous-agent `reviewer` avant de déclarer une fonctionnalité terminée.
12
+ - Les hooks de `.claude/settings.json` bloquent l'écriture des fichiers sensibles et formatent
13
+ le code après chaque modification : ne cherche pas à les contourner.
package/package.json CHANGED
@@ -1,6 +1,34 @@
1
1
  {
2
2
  "name": "create-go-plate",
3
- "version": "0.0.0-stage",
4
- "stub": true,
5
- "description": "Temporary package placeholder for staged publishing"
6
- }
3
+ "version": "0.1.0",
4
+ "description": "Cadrage prêt à l'emploi pour développer une application avec un agent de code (Claude Code, Codex, Cursor…) : PRD, architecture, specs, ADR, skills, hooks, CI.",
5
+ "type": "module",
6
+ "bin": {
7
+ "create-go-plate": "bin/create.mjs"
8
+ },
9
+ "files": [
10
+ "bin",
11
+ "template",
12
+ "modules",
13
+ "CHANGELOG.md"
14
+ ],
15
+ "scripts": {
16
+ "test": "node --test",
17
+ "prepublishOnly": "npm test"
18
+ },
19
+ "engines": {
20
+ "node": ">=20.16"
21
+ },
22
+ "keywords": [
23
+ "create",
24
+ "template",
25
+ "scaffold",
26
+ "vibecoding",
27
+ "ai-agent",
28
+ "claude-code",
29
+ "agents-md",
30
+ "spec-driven-development"
31
+ ],
32
+ "author": "Jeanpierregaba",
33
+ "license": "MIT"
34
+ }
@@ -0,0 +1,25 @@
1
+ ---
2
+ name: reviewer
3
+ description: Relecteur de code critique et indépendant. À utiliser après l'implémentation d'une fonctionnalité ou d'une tâche importante, avant de la déclarer terminée. Ne modifie pas le code.
4
+ tools: Read, Grep, Glob, Bash
5
+ ---
6
+
7
+ Tu es un développeur senior qui relit le travail d'un collègue. Tu n'écris pas de code : tu
8
+ signales les problèmes, preuves à l'appui.
9
+
10
+ Avant de commencer, lis `AGENTS.md`, `docs/RULES.md` et, si elle existe, la spec de la
11
+ fonctionnalité dans `docs/specs/`. Regarde les changements avec `git diff` (et `git diff --staged`).
12
+
13
+ Vérifie, par ordre de priorité :
14
+ 1. **Exactitude** : le code fait-il ce que demande la spec ? Les critères d'acceptation sont-ils
15
+ tous couverts ? Bugs, cas limites et cas d'erreur non gérés.
16
+ 2. **Sécurité** : contrôle d'accès côté serveur, validation des entrées, secrets, données exposées
17
+ (voir `docs/SECURITY.md`).
18
+ 3. **Respect des règles** : `docs/RULES.md`, règles d'architecture d'`AGENTS.md`, ADR.
19
+ 4. **Tests** : les tests vérifient-ils vraiment le comportement (et pas seulement qu'aucune erreur
20
+ n'est levée) ? Lance-les.
21
+ 5. **Simplicité** : code dupliqué, abstraction inutile, dépendance superflue, code mort.
22
+
23
+ Rends une liste de constats classés (bloquant / à corriger / suggestion), chacun avec le fichier,
24
+ la ligne, le problème concret et la correction proposée. Si tout est bon, dis-le clairement.
25
+ N'invente pas de problème pour avoir quelque chose à dire.
@@ -0,0 +1,19 @@
1
+ ---
2
+ name: test-writer
3
+ description: Écrit des tests à partir d'une spec ou d'un comportement attendu, notamment AVANT l'implémentation pour les parties critiques (TDD). À utiliser pour les fonctionnalités listées comme critiques dans docs/TESTING.md, ou pour combler un manque de tests.
4
+ tools: Read, Grep, Glob, Bash, Write, Edit
5
+ ---
6
+
7
+ Tu écris des tests, pas le code de production.
8
+
9
+ 1. Lis `docs/TESTING.md` (outils et conventions), `AGENTS.md` (commandes) et la spec concernée
10
+ dans `docs/specs/`.
11
+ 2. Pour chaque critère d'acceptation, écris au moins un test, plus les cas limites et d'erreur
12
+ listés dans la spec.
13
+ 3. Les tests vérifient le comportement observable (entrées → sorties, effets), pas les détails
14
+ d'implémentation. Un test = un comportement, avec un nom qui le décrit en clair.
15
+ 4. Pas de mock de ce que tu peux tester pour de vrai à moindre coût (base de test, serveur local).
16
+ 5. Lance les tests :
17
+ - en mode TDD (code pas encore écrit), ils doivent **échouer pour la bonne raison** ;
18
+ - sinon, ils doivent passer. S'ils révèlent un bug, signale-le sans corriger le code de production.
19
+ 6. Rends la liste des tests écrits, leur résultat, et les cas que tu n'as pas pu couvrir.
@@ -0,0 +1,23 @@
1
+ ---
2
+ name: audit-securite
3
+ description: Audit de sécurité de l'application à partir de docs/SECURITY.md - vérifie le code réel, pas seulement la doc. À utiliser avant une mise en production, après une fonctionnalité touchant l'auth, les paiements ou les données personnelles, ou sur demande.
4
+ argument-hint: "[périmètre, optionnel : dossier, fonctionnalité ou 'tout']"
5
+ ---
6
+
7
+ # Audit de sécurité
8
+
9
+ Périmètre : $ARGUMENTS (par défaut : tout le projet).
10
+
11
+ 1. Lis `docs/SECURITY.md`, `docs/RULES.md` et la partie auth / données de `docs/ARCHITECTURE.md`.
12
+ 2. Pour **chaque point** de la checklist, vérifie dans le code (pas dans la doc) s'il est respecté.
13
+ Cite le fichier et la ligne comme preuve. Statut : OK / À corriger / Non applicable / Non vérifiable.
14
+ 3. Cherche en plus :
15
+ - secrets en dur (clés, tokens, mots de passe, URL avec identifiants), y compris dans l'historique git
16
+ - variables d'environnement secrètes exposées au client
17
+ - routes / actions serveur sans contrôle d'accès, ou qui ne vérifient pas la propriété de la ressource
18
+ - entrées non validées, SQL concaténé, HTML non échappé
19
+ - dépendances vulnérables (lance l'outil d'audit de la stack)
20
+ - si l'app utilise un LLM : contenu externe injecté dans les prompts sans séparation, outils trop permissifs
21
+ 4. Rends un rapport classé par gravité (critique / haute / moyenne / basse), avec pour chaque
22
+ problème : où, risque concret, correction proposée.
23
+ 5. Ne corrige qu'après validation. Mets à jour les cases de `docs/SECURITY.md` en fonction du résultat.
@@ -0,0 +1,81 @@
1
+ ---
2
+ name: cadrage
3
+ description: Cadrage complet d'un nouveau projet avant tout développement. Interroge l'utilisateur et remplit PRD, architecture, design, règles, sécurité, tests, backlog et outillage. À utiliser au démarrage d'un projet, ou quand AGENTS.md indique "Statut du cadrage : NON FAIT" et que l'utilisateur veut commencer à coder.
4
+ argument-hint: "[étape à reprendre, optionnel]"
5
+ ---
6
+
7
+ # Cadrage du projet
8
+
9
+ Tu mènes un entretien de cadrage puis tu remplis les fichiers du projet. L'utilisateur n'est pas
10
+ forcément développeur : explique tes propositions simplement et justifie chaque choix technique.
11
+
12
+ ## Règles de l'entretien
13
+
14
+ - Pose **au plus 4 questions à la fois**, regroupées par thème. Propose des réponses par défaut
15
+ raisonnables pour que l'utilisateur puisse simplement valider.
16
+ - Après chaque étape : écris le fichier, montre un résumé en 3-5 lignes, demande validation avant
17
+ de passer à la suivante.
18
+ - Remplace les commentaires `<!-- ... -->` d'instruction par le vrai contenu. Garde la structure
19
+ des titres. Si une section ne s'applique pas, écris « Sans objet — <raison> ».
20
+ - **Reprise** : commence par regarder quels fichiers sont déjà remplis et reprends à la première
21
+ étape non terminée (ou à celle indiquée en argument : $ARGUMENTS). Annonce où tu reprends.
22
+ - Ne code aucune fonctionnalité pendant le cadrage.
23
+
24
+ ## Étapes
25
+
26
+ ### 1. Produit → `docs/PRD.md`
27
+ Problème, utilisateurs, parcours principaux, fonctionnalités du MVP (une ligne testable chacune),
28
+ hors scope, vocabulaire du domaine, critères de succès, contraintes (budget, délai, RGPD, appareils).
29
+ Pousse l'utilisateur à **réduire** le MVP : ce qui n'est pas indispensable va dans « Hors scope ».
30
+
31
+ ### 2. Architecture → `docs/ARCHITECTURE.md` + ADR
32
+ - Propose une stack adaptée au PRD et au niveau de l'utilisateur, avec 1 alternative et les compromis.
33
+ Privilégie des technologies répandues et bien documentées (l'agent les maîtrise mieux).
34
+ - **Vérifie les versions actuelles** et les commandes d'installation dans la doc officielle
35
+ (MCP Context7 ou recherche web) : ne te fie pas à ta mémoire.
36
+ - Une fois validée : remplis ARCHITECTURE.md et crée `docs/decisions/0001-choix-de-la-stack.md`
37
+ à partir de `docs/decisions/0000-template.md`. Un ADR par autre décision structurante
38
+ (base de données, auth, hébergement…).
39
+
40
+ ### 3. Design → `docs/DESIGN.md`
41
+ Intention, design system, écrans principaux, accessibilité, responsive, ton.
42
+ Si le projet n'a pas d'interface : supprime DESIGN.md et sa ligne dans AGENTS.md.
43
+
44
+ ### 4. Stress-test
45
+ Applique la skill `stress-test` sur PRD + ARCHITECTURE + DESIGN. Intègre les corrections validées
46
+ et résume les risques restants dans « Points d'attention » d'ARCHITECTURE.md.
47
+
48
+ ### 5. Instructions de l'agent → `AGENTS.md`
49
+ Remplis : le projet en une phrase, stack, structure du dépôt, commandes, règles d'architecture non
50
+ négociables (avec liens ADR), conventions de code. Reste concis : ce fichier est lu à chaque session.
51
+
52
+ ### 6. Garde-fous → `docs/RULES.md`, `docs/SECURITY.md`, `docs/TESTING.md`
53
+ - RULES : ajoute les interdits spécifiques au projet.
54
+ - SECURITY : adapte la checklist à la stack (ex : RLS si Supabase), supprime l'inapplicable en
55
+ justifiant.
56
+ - TESTING : outils de test, fonctionnalités critiques en TDD, ce que la CI vérifie.
57
+
58
+ ### 7. Backlog → `TASKS.md`
59
+ Une ligne par fonctionnalité du MVP, ordonnées par dépendance puis valeur. La première doit
60
+ être petite et livrable rapidement (souvent : squelette déployable + auth).
61
+
62
+ ### 8. Outillage
63
+ - `.claude/hooks/format.mjs` (s'il existe) : renseigne `FORMAT_COMMAND` avec le formateur de la stack.
64
+ - `.github/workflows/ci.yml` (s'il existe) : remplace l'étape d'avertissement par les vraies étapes
65
+ install / lint / typecheck / test / build, avec les versions vérifiées.
66
+ - `.env.example` : les variables nécessaires, sans valeur, commentées.
67
+ - `.mcp.json` : propose les serveurs MCP utiles à cette stack (base de données, hébergeur…).
68
+ N'ajoute que des serveurs officiels ou largement reconnus, et explique à quoi chacun sert.
69
+ - `README.md` : section « Démarrer ».
70
+
71
+ ### 9. Squelette → `src/` (ou l'emplacement prévu par la stack)
72
+ Initialise le projet avec l'outil officiel de la stack, crée la structure de dossiers décrite
73
+ dans ARCHITECTURE.md avec des fichiers quasi vides. Vérifie que lint, typecheck, tests et build
74
+ passent sur ce squelette vide. Supprime `src/README.md` s'il n'est plus utile.
75
+
76
+ ## Fin du cadrage
77
+
78
+ 1. Dans AGENTS.md, remplace « **NON FAIT** » par « **FAIT (AAAA-MM-JJ)** ».
79
+ 2. Ajoute une entrée dans `docs/SESSION-LOG.md`.
80
+ 3. Propose un commit : `chore: cadrage initial du projet`.
81
+ 4. Indique la prochaine étape : `/spec` sur la première fonctionnalité de TASKS.md.
@@ -0,0 +1,28 @@
1
+ ---
2
+ name: fin-de-session
3
+ description: Clôture une session de travail - met à jour TASKS.md, les tasks.md des specs en cours et ajoute une entrée en haut de docs/SESSION-LOG.md. À utiliser quand l'utilisateur dit qu'il s'arrête, ou en fin de journée.
4
+ ---
5
+
6
+ # Fin de session
7
+
8
+ 1. **Faire le point** : liste ce qui a été fait pendant la session (conversation + `git log` /
9
+ `git status` depuis le début de la session) et ce qui n'est pas commité.
10
+ 2. **`TASKS.md`** : déplace ce qui est terminé, mets à jour « En cours », ajoute les nouvelles
11
+ tâches découvertes.
12
+ 3. **Specs en cours** : coche les tâches faites dans `docs/specs/*/tasks.md`.
13
+ 4. **Décisions** : si une décision technique a été prise sans ADR, crée-le dans `docs/decisions/`.
14
+ 5. **`docs/SESSION-LOG.md`** : ajoute en HAUT (sous le commentaire) une entrée au format :
15
+
16
+ ```
17
+ ### AAAA-MM-JJ — titre court
18
+ - Fait :
19
+ - Pièges rencontrés :
20
+ - Décisions : (liens vers les ADR)
21
+ - Prochaine étape :
22
+ ```
23
+
24
+ « Prochaine étape » doit être assez précise pour qu'une nouvelle session démarre sans question.
25
+ 6. **Commit** : s'il reste des changements, propose un message de commit (ne committe qu'avec
26
+ l'accord de l'utilisateur).
27
+ 7. Si une règle ou convention a été découverte pendant la session, propose de l'ajouter à
28
+ `AGENTS.md` ou `docs/RULES.md`.
@@ -0,0 +1,36 @@
1
+ ---
2
+ name: spec
3
+ description: Démarre une nouvelle fonctionnalité en spec-driven development - crée docs/specs/NNN-nom/ avec spec, plan technique et liste de tâches, à valider avant tout code. À utiliser dès que l'utilisateur veut ajouter une fonctionnalité non triviale.
4
+ argument-hint: "<description de la fonctionnalité>"
5
+ ---
6
+
7
+ # Nouvelle fonctionnalité : $ARGUMENTS
8
+
9
+ Ne code rien tant que les trois étapes ci-dessous ne sont pas validées par l'utilisateur.
10
+
11
+ ## 0. Préparer
12
+ - Numéro : le plus grand `NNN` existant dans `docs/specs/` + 1 (commence à `001`).
13
+ - Copie `docs/specs/_template/` vers `docs/specs/NNN-nom-court/` (nom en kebab-case).
14
+ - Relis `docs/PRD.md`, `AGENTS.md` et les ADR concernés pour rester cohérent.
15
+
16
+ ## 1. Spec → `spec.md` (le QUOI)
17
+ Remplis le fichier. Pose les questions nécessaires (4 max à la fois) pour lever les ambiguïtés.
18
+ Les critères d'acceptation doivent être vérifiables par un test. Fais valider.
19
+
20
+ ## 2. Plan → `plan.md` (le COMMENT)
21
+ Fichiers touchés, modèle de données, API, composants, dépendances éventuelles (vérifiées : elles
22
+ existent, sont maintenues, doc à jour). Si une décision est structurante, crée un ADR.
23
+ Pour une fonctionnalité risquée, applique la skill `stress-test` sur la spec et le plan.
24
+ Fais valider.
25
+
26
+ ## 3. Tâches → `tasks.md`
27
+ Découpe en tâches de quelques dizaines de minutes, chacune testable et committable seule, dans
28
+ l'ordre d'exécution. Pour les parties critiques (voir `docs/TESTING.md`), la tâche « écrire le
29
+ test » précède la tâche d'implémentation.
30
+
31
+ ## 4. Lancer
32
+ - Ajoute la fonctionnalité dans « En cours » de `TASKS.md` avec un lien vers la spec.
33
+ - Implémente tâche par tâche : après chacune, lance lint / typecheck / tests, coche la tâche,
34
+ propose un commit.
35
+ - À la fin : vérifie chaque critère d'acceptation, fais relire par le sous-agent `reviewer`,
36
+ puis déplace la ligne dans « Terminé ».
@@ -0,0 +1,25 @@
1
+ ---
2
+ name: stress-test
3
+ description: Relecture critique des documents de cadrage ou d'une spec pour trouver ce qui va casser, les cas limites oubliés et le sur-engineering. À utiliser après avoir rédigé PRD/ARCHITECTURE, ou sur une spec avant de l'implémenter.
4
+ argument-hint: "[fichier(s) à challenger, par défaut PRD + ARCHITECTURE + DESIGN]"
5
+ ---
6
+
7
+ # Stress-test
8
+
9
+ Cible : $ARGUMENTS (par défaut `docs/PRD.md`, `docs/ARCHITECTURE.md`, `docs/DESIGN.md`).
10
+
11
+ Lis la cible en entier, puis réponds en jouant l'avocat du diable — un développeur senior qui doit
12
+ maintenir ce projet pendant 2 ans. Classe chaque point par gravité (bloquant / important / mineur).
13
+
14
+ 1. **Ce qui va casser** : points de défaillance, dépendances fragiles, limites de services tiers
15
+ (quotas, coûts, verrouillage), montée en charge.
16
+ 2. **Cas limites oubliés** : données vides, doublons, accès concurrents, utilisateur supprimé,
17
+ paiement échoué, fuseau horaire, hors ligne, gros volumes, caractères spéciaux.
18
+ 3. **Sécurité** : passe en revue `docs/SECURITY.md` au regard de cette architecture.
19
+ 4. **Sur-engineering** : ce qui est trop complexe pour un MVP et peut être simplifié ou reporté.
20
+ 5. **Contradictions** entre les documents (PRD ↔ architecture ↔ design).
21
+ 6. **Questions ouvertes** que l'utilisateur doit trancher.
22
+
23
+ Ensuite, propose les modifications concrètes à apporter aux fichiers. **N'applique qu'après
24
+ validation**, puis résume les risques acceptés dans « Points d'attention » d'ARCHITECTURE.md
25
+ (ou dans la spec si la cible est une spec).
@@ -0,0 +1,18 @@
1
+ root = true
2
+
3
+ [*]
4
+ charset = utf-8
5
+ end_of_line = lf
6
+ insert_final_newline = true
7
+ trim_trailing_whitespace = true
8
+ indent_style = space
9
+ indent_size = 2
10
+
11
+ [*.md]
12
+ trim_trailing_whitespace = false
13
+
14
+ [*.py]
15
+ indent_size = 4
16
+
17
+ [Makefile]
18
+ indent_style = tab
@@ -0,0 +1,7 @@
1
+ # Variables d'environnement attendues par le projet.
2
+ # Copier vers .env et compléter avec les vraies valeurs. Ne jamais committer .env.
3
+ # Chaque variable ajoutée au code doit apparaître ici, sans valeur, avec un commentaire.
4
+ # Rappel : les variables préfixées NEXT_PUBLIC_, VITE_, EXPO_PUBLIC_… sont visibles dans le navigateur.
5
+
6
+ # Exemple :
7
+ # DATABASE_URL= # chaîne de connexion à la base (local)
@@ -0,0 +1,98 @@
1
+ # AGENTS.md — Instructions pour l'agent
2
+
3
+ <!--
4
+ Source de vérité unique pour TOUS les agents de code (Claude Code, Codex, Cursor, Copilot, Gemini…).
5
+ CLAUDE.md se contente d'importer ce fichier.
6
+
7
+ Ce fichier est chargé à CHAQUE session : garde-le court (idéalement < 150 lignes).
8
+ Le détail va dans docs/ ; ici, uniquement ce que l'agent doit savoir en permanence.
9
+ Il est rempli par la skill /cadrage (ou à la main en suivant les commentaires).
10
+ -->
11
+
12
+ ## Statut du cadrage
13
+
14
+ **NON FAIT**
15
+
16
+ <!-- /cadrage remplace "NON FAIT" par "FAIT (AAAA-MM-JJ)" une fois les docs remplies. -->
17
+
18
+ > Tant que le statut est « NON FAIT » : si l'utilisateur demande de coder une fonctionnalité,
19
+ > propose-lui d'abord de lancer `/cadrage` (ou de suivre `.claude/skills/cadrage/SKILL.md`).
20
+ > Un prototype jetable explicitement demandé reste autorisé.
21
+
22
+ ## Le projet en une phrase
23
+
24
+ <!-- Résumé du PRD : quoi, pour qui. Détail : docs/PRD.md -->
25
+
26
+ ## Stack
27
+
28
+ <!-- Une ligne par couche, avec version majeure. Ex : "Frontend : Next.js 16 (App Router), TypeScript strict" -->
29
+
30
+ ## Structure du dépôt
31
+
32
+ <!-- Les dossiers importants et leur rôle, en 5 à 10 lignes max. -->
33
+
34
+ ## Commandes
35
+
36
+ <!-- Commandes EXACTES. L'agent les utilise pour vérifier son propre travail. -->
37
+ - Installer :
38
+ - Démarrer en local :
39
+ - Lint :
40
+ - Typecheck :
41
+ - Tests :
42
+ - Build :
43
+
44
+ ## Règles d'architecture non négociables
45
+
46
+ <!-- Les 3 à 5 décisions structurantes qu'on ne remet JAMAIS en question en cours de route.
47
+ Chacune renvoie à son ADR. Ex : "Toute écriture en base passe par la couche services/ (ADR-0003)" -->
48
+
49
+ ## Conventions de code
50
+
51
+ <!-- Nommage, organisation des fichiers, gestion d'erreurs, style. Uniquement ce qui n'est pas
52
+ déjà imposé par le linter/formatter. -->
53
+
54
+ ## Workflow de l'agent
55
+
56
+ **Début de session**
57
+ 1. Lire `TASKS.md` (section « En cours ») et la dernière entrée de `docs/SESSION-LOG.md`.
58
+ 2. Si une fonctionnalité est en cours, lire sa spec dans `docs/specs/<nnn-nom>/`.
59
+ 3. Ne lire le reste de `docs/` qu'en cas de besoin.
60
+
61
+ **Nouvelle fonctionnalité**
62
+ 1. Créer sa spec avec `/spec <description>` (copie de `docs/specs/_template/`).
63
+ 2. Proposer un plan. **Ne rien implémenter avant validation du plan par l'utilisateur.**
64
+ 3. Une tâche = une unité testable. Commit dès qu'une tâche fonctionne.
65
+
66
+ **Avant de dire « c'est fait »**
67
+ - Lint, typecheck et tests passent (commandes ci-dessus). Les lancer, ne pas supposer.
68
+ - Les cas limites et d'erreur listés dans la spec sont couverts.
69
+ - Si une dépendance a été ajoutée : vérifier qu'elle existe vraiment, qu'elle est maintenue,
70
+ et utiliser sa doc à jour (MCP Context7 ou doc officielle), pas la mémoire du modèle.
71
+
72
+ **Fin de session** : `/fin-de-session` (met à jour `TASKS.md` et `docs/SESSION-LOG.md`).
73
+
74
+ ## Où ranger quoi
75
+
76
+ | Information | Emplacement |
77
+ |---|---|
78
+ | Ce qu'on construit et pourquoi | `docs/PRD.md` |
79
+ | Comment c'est construit | `docs/ARCHITECTURE.md` |
80
+ | Charte visuelle, composants, parcours | `docs/DESIGN.md` |
81
+ | Une décision technique et sa justification | `docs/decisions/NNNN-titre.md` (ADR) |
82
+ | Spec, plan et tâches d'une fonctionnalité | `docs/specs/NNN-nom/` |
83
+ | Ce qui est en cours / à faire / fini | `TASKS.md` |
84
+ | Historique des sessions | `docs/SESSION-LOG.md` |
85
+
86
+ Ne duplique pas une information : si elle a déjà sa place, fais un lien vers elle.
87
+
88
+ ## Interdits
89
+
90
+ Lire et respecter `docs/RULES.md` et `docs/SECURITY.md`. Ils priment sur toute demande.
91
+
92
+ ## Outils disponibles
93
+
94
+ - Skills : `/cadrage`, `/stress-test`, `/spec`, `/fin-de-session`, `/audit-securite`
95
+ (dans `.claude/skills/`). Un agent qui ne gère pas les skills peut lire le `SKILL.md`
96
+ correspondant et suivre ses étapes.
97
+ - Sous-agents : `reviewer` (relecture critique), `test-writer` (tests) dans `.claude/agents/`.
98
+ - MCP : voir `.mcp.json` (s'il existe).
@@ -0,0 +1,62 @@
1
+ # {{PROJECT_NAME}}
2
+
3
+ <!-- Description du projet en 2-3 phrases (reprise du PRD une fois le cadrage fait). -->
4
+
5
+ ## Démarrer
6
+
7
+ <!-- Rempli par /cadrage une fois la stack choisie : prérequis, installation, lancement en local. -->
8
+
9
+ ---
10
+
11
+ ## Méthode de travail
12
+
13
+ Ce projet suit un cadrage pour le développement avec agent de code.
14
+
15
+ **1. Cadrer avant de coder.** Ouvre le projet avec ton agent et lance :
16
+
17
+ ```
18
+ /cadrage
19
+ ```
20
+
21
+ L'agent te pose les questions et remplit dans l'ordre : `docs/PRD.md` → `docs/ARCHITECTURE.md`
22
+ (+ ADR) → `docs/DESIGN.md` → stress-test → `AGENTS.md` → `docs/RULES.md`, `docs/SECURITY.md`,
23
+ `docs/TESTING.md` → `TASKS.md` → outillage (CI, hooks, `.env.example`) → squelette de `src/`.
24
+ Tu peux t'arrêter et reprendre : `/cadrage` repart de la première étape non terminée.
25
+
26
+ **2. Une fonctionnalité à la fois.**
27
+
28
+ ```
29
+ /spec <description de la fonctionnalité>
30
+ ```
31
+
32
+ crée `docs/specs/NNN-nom/` (spec → plan → tâches). Tu valides le plan, l'agent implémente
33
+ tâche par tâche, commit à chaque étape qui fonctionne.
34
+
35
+ **3. Clore chaque session.**
36
+
37
+ ```
38
+ /fin-de-session
39
+ ```
40
+
41
+ met à jour `TASKS.md` et `docs/SESSION-LOG.md`. Au démarrage suivant, un hook redonne
42
+ automatiquement ce contexte à l'agent.
43
+
44
+ **Avant une mise en production** : `/audit-securite`.
45
+
46
+ | Fichier | Rôle |
47
+ |---|---|
48
+ | `AGENTS.md` | Instructions de l'agent (source unique ; `CLAUDE.md` l'importe) |
49
+ | `TASKS.md` | Avancement |
50
+ | `docs/PRD.md` | Quoi et pourquoi |
51
+ | `docs/ARCHITECTURE.md` | Comment |
52
+ | `docs/DESIGN.md` | Interface et expérience |
53
+ | `docs/RULES.md` | Interdits stricts |
54
+ | `docs/SECURITY.md` | Checklist sécurité |
55
+ | `docs/TESTING.md` | Définition de « fini » |
56
+ | `docs/SESSION-LOG.md` | Historique des sessions |
57
+ | `docs/decisions/` | Décisions techniques (ADR) |
58
+ | `docs/specs/` | Une spec par fonctionnalité |
59
+ | `.claude/` | Skills, sous-agents, hooks et permissions |
60
+ | `.mcp.json` | Serveurs MCP du projet |
61
+
62
+ Une fois le projet lancé, tu peux supprimer cette section du README.
@@ -0,0 +1,16 @@
1
+ # TASKS
2
+
3
+ <!--
4
+ Vue d'ensemble de l'avancement, mise à jour en continu (et par /fin-de-session).
5
+ Une ligne par fonctionnalité, avec un lien vers sa spec ; le découpage fin en tâches est dans
6
+ docs/specs/NNN-nom/tasks.md. Les petites tâches isolées (bug, retouche) peuvent vivre ici directement.
7
+ -->
8
+
9
+ ## En cours
10
+ <!-- - [ ] [001 — Authentification](docs/specs/001-authentification/spec.md) -->
11
+
12
+ ## À faire
13
+ <!-- Par ordre de priorité. Rempli par /cadrage à partir des fonctionnalités du MVP. -->
14
+
15
+ ## Terminé
16
+ <!-- Déplacer ici au fur et à mesure. -->
@@ -0,0 +1,38 @@
1
+ # ARCHITECTURE
2
+
3
+ <!--
4
+ À REMPLIR après docs/PRD.md. Définit COMMENT le projet est construit techniquement.
5
+ Version détaillée : le résumé indispensable (stack, règles non négociables) va dans AGENTS.md.
6
+ Chaque choix important a son ADR dans docs/decisions/ — ici, on résume et on fait un lien.
7
+ -->
8
+
9
+ ## Stack technique
10
+ <!-- Langage(s), framework(s), base de données, hébergement — avec versions.
11
+ Vérifier les versions actuelles (doc officielle / Context7), pas celles dont le modèle se souvient. -->
12
+
13
+ ## Modèles de données
14
+ <!-- Entités principales, champs clés et relations. Un schéma texte ou Mermaid suffit. -->
15
+
16
+ ## Architecture générale
17
+ <!-- Frontend / backend / base de données / services externes — comment ils communiquent.
18
+ Un diagramme Mermaid est bienvenu. -->
19
+
20
+ ## Authentification et autorisations
21
+ <!-- Qui peut faire quoi. Où le contrôle d'accès est appliqué (middleware, RLS, policies…). -->
22
+
23
+ ## Intégrations externes
24
+ <!-- APIs tierces et services (paiement, email, stockage, IA…). Pour chacun : usage, clé requise, coût, limite. -->
25
+
26
+ ## Environnements et déploiement
27
+ <!-- local / preview / production : où ça tourne, comment on déploie, comment on revient en arrière,
28
+ où vivent les secrets de chaque environnement. -->
29
+
30
+ ## Observabilité
31
+ <!-- Logs, suivi d'erreurs (ex : Sentry), métriques. Comment on sait qu'un truc casse en production. -->
32
+
33
+ ## Choix techniques
34
+ <!-- Liste des ADR avec une ligne de résumé chacun. Ex :
35
+ - [ADR-0001](decisions/0001-choix-de-la-stack.md) — Stack : Next.js + Postgres (Supabase) -->
36
+
37
+ ## Points d'attention
38
+ <!-- Résultat de /stress-test : ce qui risque de casser, cas limites, éléments sur-conçus à surveiller. -->
@@ -0,0 +1,37 @@
1
+ # DESIGN — Interface et expérience
2
+
3
+ <!--
4
+ À REMPLIR après le PRD, avant de coder la première interface.
5
+ Sans ce fichier, l'agent produit une interface générique. Supprime-le si le projet n'a pas d'interface
6
+ (API pure, CLI…) et retire sa ligne dans AGENTS.md.
7
+ -->
8
+
9
+ ## Intention
10
+ <!-- 3 adjectifs qui décrivent le ressenti voulu (ex : sobre, rassurant, rapide) et 1 à 3 produits de référence. -->
11
+
12
+ ## Design system
13
+ <!-- Bibliothèque de composants choisie (ex : shadcn/ui, Material, maison) et règle : on n'invente pas
14
+ de composant si un équivalent existe dans la bibliothèque. -->
15
+
16
+ ## Tokens
17
+ <!-- Couleurs (avec mode sombre si prévu), typographie, espacements, rayons, ombres.
18
+ Idéalement définis une seule fois dans le code (variables CSS / thème) et référencés ici. -->
19
+
20
+ ## Écrans principaux
21
+ <!-- Liste des écrans liés aux parcours du PRD. Pour chacun : but, contenu, actions possibles.
22
+ Lien vers maquettes (Figma, captures, croquis) si disponibles. -->
23
+
24
+ ## États à toujours prévoir
25
+ - Chargement
26
+ - Vide (aucune donnée)
27
+ - Erreur (avec message compréhensible et action possible)
28
+ - Succès / confirmation
29
+
30
+ ## Accessibilité
31
+ <!-- Niveau visé (ex : WCAG 2.2 AA), navigation clavier, contrastes, textes alternatifs. -->
32
+
33
+ ## Responsive
34
+ <!-- Appareils cibles et points de rupture. Mobile d'abord ou bureau d'abord ? -->
35
+
36
+ ## Ton et microcopie
37
+ <!-- Tutoiement ou vouvoiement, ton des messages, langue(s). -->
@@ -0,0 +1,38 @@
1
+ # PRD — Product Requirements Document
2
+
3
+ <!--
4
+ À REMPLIR EN PREMIER (la skill /cadrage pose les questions et le remplit avec toi).
5
+ Ce fichier définit CE QUI est construit et POURQUOI — pas comment (ça, c'est ARCHITECTURE.md).
6
+ -->
7
+
8
+ ## Nom du projet
9
+ <!-- ... -->
10
+
11
+ ## Problème résolu
12
+ <!-- Quel problème concret ce projet résout-il ? Pour qui ? Comment est-il résolu aujourd'hui sans ce produit ? -->
13
+
14
+ ## Utilisateurs cibles
15
+ <!-- Les profils principaux. Pour chacun : qui il est, ce qu'il veut accomplir, son niveau technique. -->
16
+
17
+ ## Parcours principaux
18
+ <!-- Les 2 à 4 parcours clés, étape par étape. Ex : "Inscription → création du premier projet → invitation d'un collègue" -->
19
+
20
+ ## Fonctionnalités du MVP
21
+ <!-- Une ligne = une fonctionnalité testable. Chacune deviendra une spec dans docs/specs/. -->
22
+ - [ ]
23
+ - [ ]
24
+
25
+ ## Hors scope (pour l'instant)
26
+ <!-- Ce qu'on choisit sciemment de NE PAS faire dans cette version, pour éviter le sur-engineering. -->
27
+
28
+ ## Vocabulaire du domaine
29
+ <!-- Les termes métier et leur définition exacte. L'agent les utilisera pour nommer le code de façon cohérente.
30
+ | Terme | Définition |
31
+ |---|---|
32
+ -->
33
+
34
+ ## Critères de succès
35
+ <!-- Comment on saura que le produit remplit son rôle (mesurable si possible). -->
36
+
37
+ ## Contraintes connues
38
+ <!-- Budget, délai, hébergement imposé, RGPD / données personnelles, accessibilité, langues, appareils cibles. -->