Mission : construire la base de connaissance persistante du projet
Je veux que tu génères la documentation persistante (CLAUDE.md hiérarchiques + dossier .claude/) de ce projet .NET, pour qu'à chaque future session tu aies immédiatement le contexte métier et technique sans avoir à réanalyser le repo.
Tu vas procéder en 5 phases. Tu t'arrêtes après chaque phase pour validation. Tu n'inventes JAMAIS d'information métier : si tu ne peux pas le déduire du code avec certitude, tu me poses la question.
Phase 1 — Découverte technique (autonome)
Explore le repo et établis :
- La stack précise (version .NET, framework web, ORM, base de données, libs notables type MediatR/FluentValidation/AutoMapper)
- Le pattern d'architecture (Clean Architecture, N-tier, Vertical Slices, modulaire, monolithe classique...)
- La structure des dossiers/projets et leur rôle
- Les points d'entrée (API, jobs, workers, front)
- Comment on build, test, lance en local, fait les migrations
- Les conventions de code visibles (nommage, organisation des fichiers, style de tests)
Restitue-moi un résumé structuré et demande-moi confirmation/correction avant de continuer.
Phase 2 — Cartographie des modules métier
Identifie les bounded contexts / modules / domaines fonctionnels présents dans le code (ex: Facturation, Contrats, Utilisateurs, Reporting...). Pour chacun :
- Son rôle apparent
- Son emplacement dans le repo
- Ses entités/aggregates principaux
- Ses dépendances vers d'autres modules
Présente-moi la carte. Je vais corriger les noms, regrouper, splitter, te dire ce qui est legacy, etc.
Phase 3 — Plan de documentation
Propose-moi une arborescence cible du type :
CLAUDE.md (racine, court, ~150 lignes max)
.claude/
domain/
glossary.md (langage métier)
business-rules.md (règles de gestion non-triviales)
workflows.md (parcours utilisateurs principaux)
architecture/
overview.md
patterns.md
adr/ (décisions architecturales)
src/Modules/<Module>/CLAUDE.md (un par bounded context)Adapte la structure à ce que tu as trouvé. Liste les fichiers que tu prévois de créer et ce qu'il y aura dans chacun. Attends mon GO.
Phase 4 — Interview métier ciblée
Pour tout ce que le code ne te permet pas de comprendre seul, tu me poses des questions, par lots de 5-7 max, en commençant par les plus importantes :
- Le métier en 2 phrases (qui utilise l'app, pour quoi faire)
- Les termes du jargon que tu vois dans le code mais dont le sens t'échappe
- Les règles de gestion bizarres ou non-évidentes que tu as repérées (
ifétranges, comportements conditionnels, etc.) - Les décisions historiques visibles ("pourquoi ce truc est fait comme ça ?")
- Les pièges connus / zones fragiles
- Les workflows critiques de bout en bout
Tu n'enchaînes pas les questions à l'aveugle : tu lis d'abord le code, tu formules des hypothèses, et tu me demandes de confirmer ou corriger plutôt que de demander à zéro.
Phase 5 — Génération
Une fois mes réponses obtenues, génère tous les fichiers en respectant ces règles.
CLAUDE.md racine (~150 lignes max)
À structurer dans cet ordre :
1. Protocole de travail (OBLIGATOIRE — tout en haut du fichier)
Section explicite avec ces règles formulées comme des instructions permanentes pour les sessions futures :
Protocole de travail — À LIRE ET APPLIQUER À CHAQUE SESSION
Avant toute tâche (analyse, dev, debug, review) :
- Identifie le ou les modules concernés par la demande
- Lis systématiquement et sans qu'on te le demande :
- Ce CLAUDE.md racine (déjà fait au démarrage)
- Le CLAUDE.md du/des module(s) concerné(s)
- Les fichiers pertinents dans
.claude/docs/domain/(glossary, business-rules, workflows) si la tâche touche au métier- Les fichiers pertinents dans
.claude/docs/architecture/si la tâche touche à la structure ou aux patterns- Les ADR liés s'il y en a
- Si une info te manque dans la doc, dis-le et propose une question avant de coder
Après toute modification de code significative, tu mets à jour la doc sans qu'on te le demande, dans le même commit logique :
- Nouveau terme métier introduit ou renommé →
glossary.md- Nouvelle règle de gestion ou modification d'une règle existante →
business-rules.md- Nouveau workflow ou changement de parcours →
workflows.md- Changement structurel dans un module (entité ajoutée, invariant modifié, dépendance changée) → CLAUDE.md du module
- Décision architecturale (choix de lib, pattern, structure) → nouvel ADR dans
.claude/docs/architecture/adr/- Nouveau pattern récurrent ou convention →
patterns.md- Nouvelle commande build/test/run → CLAUDE.md racine
Critère de "modification significative" : tout ce qu'un nouveau dev devrait savoir pour ne pas se planter. Renommer une variable locale = non. Ajouter un champ à une entité = oui. Changer la logique d'un calcul métier = oui. Ajouter un endpoint = oui.
Ce qui ne se logue PAS : corriger une faute d'orthographe, reformater/réindenter, renommer une variable locale, ou modifier du code sans aucun impact sur la logique métier ne nécessitent aucune mise à jour de la doc. La doc ne se met à jour que pour les changements significatifs ci-dessus — pas de bruit inutile.
Commentaires dans le code : par défaut, ne pas commenter. N'ajoute un commentaire que lorsqu'il apporte une info que le code ne dit pas déjà (un pourquoi, jamais un quoi). Quand tu en mets : 1 ligne, 2 grand maximum, toujours en anglais, le plus succinct possible. Ne commente jamais ligne par ligne, ni les évidences — utilise ta jugeote.
À la fin de chaque tâche de dev, tu listes explicitement les fichiers .md mis à jour, ou tu indiques "aucune mise à jour de doc nécessaire" en justifiant.
Si tu détectes une incohérence entre le code et la doc pendant une session, signale-la immédiatement et propose la correction.
2. Vue d'ensemble métier (3-5 lignes) 3. Stack et architecture (en bref) 4. Carte du repo (où trouver quoi) 5. Commandes utiles (build/test/run/migrations) 6. Conventions clés (inclure la règle de commentaires : par défaut aucun commentaire ; si nécessaire, 1-2 lignes max, en anglais, succinct, le pourquoi pas le quoi) 7. Règles immuables ("ne jamais X") 8. Imports @.claude/docs/... vers les docs détaillées 9. Imports @src/Modules/.../CLAUDE.md pour pointer les modules
Fichiers .claude/domain/
glossary.md: chaque terme métier avec définition + exemple + où c'est dans le codebusiness-rules.md: les règles de gestion avec leur "pourquoi"workflows.md: les parcours principaux en pseudo-séquence
Fichiers .claude/architecture/
overview.md: pattern général, flux d'une requête typique, couchespatterns.md: les patterns récurrents (ex: comment on ajoute une feature, comment on gère les erreurs, comment on teste, convention de commentaires)adr/: un ADR par décision structurante identifiée, format court (Contexte / Décision / Conséquences)
CLAUDE.md par module
- Court (~80 lignes)
- Rôle du module
- Entités principales et invariants
- Règles métier spécifiques au module
- Points d'attention / pièges
- Conventions locales si différentes de la racine
- Rappel en haut du fichier : "Ce fichier doit rester synchronisé avec le code du module. À mettre à jour à chaque changement structurel."
Règles de rédaction
- Pas de blabla, pas de paraphrase du code, pas de "ce projet est moderne et performant"
- Du concret : noms réels, chemins réels, exemples réels
- Si tu n'es pas sûr d'un fait, écris
[À CONFIRMER]plutôt qu'inventer - Pas de secrets, pas de connection strings, pas de clés API
À la fin, fais-moi un récap des fichiers créés et liste les [À CONFIRMER] que je dois reprendre.
Démarre la Phase 1 maintenant.

