Créer une carte de code interactive avec Codex

Découvrez comment utiliser Codex pour générer une cartographie interactive de votre base de code, capable de suivre les modifications des modules et leurs dépendances.
Créer une carte de code interactive avec Codex
Demandez à Codex de créer une carte interactive de votre dépôt, puis identifiez les modules qui ont changé depuis sa génération.
En cliquant sur n'importe quel module, vous pouvez visualiser ses composants appelants, ses dépendances, ses principaux flux d'exécution, les tests associés ainsi que les données sources correspondantes.
Codex génère :
docs/codemap/codemap.htmldocs/codemap/codemap.jsondocs/codemap/codemap.lock
Prompt complet
Analysez la base de code actuelle. Ne modifiez pas le code produit. Créez ou mettez à jour uniquement les fichiers sous docs/codemap/.
Ignorez les répertoires vendor, build, dist, cache et autres dossiers générés.
Si docs/codemap/ existe déjà, comparez d'abord le fichier codemap.lock existant avec l'état actuel du dépôt et listez les modules ayant changé. Régénérez ensuite ces trois fichiers simultanément :
docs/codemap/codemap.html
Construisez une carte de code interactive entièrement autonome, ouvrable directement dans un navigateur. Incluez :- Les modules majeurs, services, bases de données, files d'attente et dépendances externes
- Pas plus de 20 nœuds primaires ; regroupez les fichiers de bas niveau sous leur module parent
- Les appels et flux de données entre les modules
- Les 3 à 5 flux de bout en bout les plus importants
- Un thème sombre clair par défaut
- Les limites système et les flux de données les plus critiques visibles dès le premier écran
- Des types de modules codés par couleur avec une légende simple
- Une mise en page automatique minimisant les croisements d'arêtes
- Le clic sur un module met en évidence ses appelants en amont, ses dépendances en aval, les tests associés et les flux auxquels il appartient
- La sélection d'un flux met en évidence son chemin complet
- Contrôles de recherche, filtrage, zoom et déplacement
En haut, affichez le nom du dépôt, l'heure de génération et le commit source.
docs/codemap/codemap.json
Utilisez cette structure :JSON{ "generated_at": "", "generated_from_commit": "", "scope": [], "nodes": [], "edges": [], "flows": [] }Chaque nœud doit inclure :
- id
- path
- role
- entrypoints
- tests
- constraints
- evidence
Chaque arête doit inclure :
- from
- to
- type
- evidence
Le type ne peut être que :
- imports
- calls
- reads
- writes
- publishes
- subscribes
Chaque flux doit inclure :
- trigger
- steps
- outcome
Chaque étape doit référencer un id de nœud existant. Attachez le chemin source et le symbole correspondant à chaque nœud et arête. Marquez toute relation sans preuve source comme « unknown ». Ne faites aucune supposition.
docs/codemap/codemap.lock
Utilisez un JSON analysable pour enregistrer :- Le commit actuel
- Si l'arbre de travail contient des modifications non commitées
- L'heure de génération
- Le périmètre scanné
- Les répertoires exclus
- L'algorithme d'empreinte digitale (fingerprint)
- Une empreinte déterministe pour chaque module de premier niveau, calculée à partir de ses chemins de fichiers suivis et du contenu actuel des fichiers
Si aucun
codemap.lockexistant n'est trouvé, traitez tous les modules comme nouveaux et générez la carte complète.À la fin, vérifiez que :
codemap.jsons'analyse correctement- Chaque chemin de nœud existe et chaque symbole de preuve est trouvable dans le code source
- Chaque arête et étape de flux référence un nœud existant
codemap.htmletcodemap.jsonutilisent les mêmes nœuds, arêtes et fluxcodemap.lockcorrespond au commit actuel, à l'état de l'arbre de travail et aux empreintes des modules- Toute relation sans preuve source est marquée comme « unknown »
Ces trois fichiers doivent toujours être générés ensemble à partir du dépôt actuel. Ne modifiez jamais manuellement un seul d'entre eux.
Enfin, affichez :
- Les fichiers créés ou modifiés
- Les modules obsolètes
- Les inconnus restants
- Les résultats de validation
- Le diff complet
Règle supplémentaire
Ajoutez une règle dans AGENTS.md pour maintenir la carte de code toujours synchronisée avec le dépôt :
Au début de chaque tâche impliquant une modification de code, comparez le dépôt actuel avec docs/codemap/codemap.lock.
Avant de modifier un module, utilisez docs/codemap/codemap.json pour répondre à trois questions.
Pourquoi c'est important
AnalyseThis approach helps maintain the relevance of code documentation, which is crucial for teamwork and reduces the risk of errors when making changes. Using an interactive code map simplifies understanding the project's structure.
Discuter dans la communauté
Partagez vos questions et vos idées avec les développeurs