Erstellung einer interaktiven Code-Karte mit Codex

Erfahren Sie, wie Sie mit Codex eine interaktive Karte Ihres Codes erstellen, die Moduländerungen und Abhängigkeiten nachverfolgt.
Erstellung einer interaktiven Code-Karte mit Codex
Bitten Sie Codex, eine interaktive Karte Ihres Repositorys zu erstellen, und markieren Sie anschließend, welche Module seit der Generierung geändert wurden.
Durch Klicken auf ein beliebiges Modul können Sie dessen aufrufende Komponenten, Abhängigkeiten, Hauptausführungsflüsse, zugehörige Tests und unterstützende Daten aus dem Quellcode anzeigen.
Codex generiert:
docs/codemap/codemap.htmldocs/codemap/codemap.jsondocs/codemap/codemap.lock
Vollständiger Prompt
Analysieren Sie die aktuelle Codebasis. Ändern Sie keinen Produktcode. Erstellen oder aktualisieren Sie nur Dateien unter docs/codemap/.
Ignorieren Sie Vendor-, Build-, Dist-, Cache- und andere generierte Verzeichnisse.
Wenn docs/codemap/ bereits existiert, vergleichen Sie zunächst die vorhandene codemap.lock mit dem aktuellen Repo und listen Sie die geänderten Module auf. Regenerieren Sie dann diese drei Dateien gemeinsam:
docs/codemap/codemap.html
Erstellen Sie eine vollständig eigenständige interaktive Code-Karte, die direkt im Browser geöffnet werden kann. Beinhaltet:- Hauptmodule, Dienste, Datenbanken, Warteschlangen und externe Abhängigkeiten
- Nicht mehr als 20 primäre Knoten; gruppieren Sie Low-Level-Dateien unter ihrem übergeordneten Modul
- Aufrufe und Datenflüsse zwischen Modulen
- Die 3–5 wichtigsten End-to-End-Flows
- Ein klares Dark Theme standardmäßig
- Systemgrenzen und die wichtigsten Datenflüsse sichtbar auf dem ersten Bildschirm
- Farblich kodierte Modultypen mit einer einfachen Legende
- Automatische Layouts, die kreuzende Kanten minimieren
- Durch Klicken auf ein Modul werden seine Upstream-Aufrufer, Downstream-Abhängigkeiten, zugehörigen Tests und die Flüsse, zu denen es gehört, hervorgehoben
- Durch Auswählen eines Flusses wird sein vollständiger Pfad hervorgehoben
- Such-, Filter-, Zoom- und Drag-Steuerung
Zeigen Sie oben den Namen des Repos, die Generierungszeit und den Commit an, aus dem sie generiert wurde.
docs/codemap/codemap.json
Verwenden Sie diese Struktur:JSON{ "generated_at": "", "generated_from_commit": "", "scope": [], "nodes": [], "edges": [], "flows": [] }Jeder Knoten muss enthalten:
- id
- path
- role
- entrypoints
- tests
- constraints
- evidence
Jede Kante muss enthalten:
- from
- to
- type
- evidence
Der Typ darf nur sein:
- imports
- calls
- reads
- writes
- publishes
- subscribes
Jeder Flow muss enthalten:
- trigger
- steps
- outcome
Jeder Schritt muss auf eine bestehende Node-ID verweisen. Hängen Sie den entsprechenden Quellpfad und das Symbol an jeden Knoten und jede Kante an. Markieren Sie jede Beziehung ohne Quellennachweis als unknown. Raten Sie nicht.
docs/codemap/codemap.lock
Verwenden Sie parsbares JSON, um Folgendes aufzuzeichnen:- den aktuellen Commit
- ob das Arbeitsverzeichnis uncommitted Änderungen hat
- die Generierungszeit
- den gescannten Scope
- ausgeschlossene Verzeichnisse
- den Fingerprint-Algorithmus
- einen deterministischen Fingerprint für jedes Top-Level-Modul, berechnet aus seinen getrackten Dateipfaden und aktuellen Dateiinhalten
Wenn keine vorhandene
codemap.lockgefunden wird, behandeln Sie jedes Modul als neu und generieren Sie die vollständige Karte.Überprüfen Sie am Ende, dass:
codemap.jsonerfolgreich geparst wird- jeder Node-Pfad existiert und jedes Evidence-Symbol im Quellcode gefunden werden kann
- jede Kante und jeder Flow-Schritt auf einen bestehenden Node verweist
codemap.htmlundcodemap.jsondieselben Nodes, Edges und Flows verwendencodemap.lockmit dem aktuellen Commit, dem Zustand des Arbeitsverzeichnisses und den Modulfingerprints übereinstimmt- jede Beziehung ohne Quellennachweis als unknown markiert ist
Diese drei Dateien müssen immer gemeinsam aus dem aktuellen Repo generiert werden. Bearbeiten Sie niemals nur eine davon manuell.
Zeigen Sie abschließend an:
- erstellte oder geänderte Dateien
- veraltete Module
- verbleibende Unknowns
- Validierungsergebnisse
- den vollständigen Diff
Zusätzliche Regel
Fügen Sie in AGENTS.md eine Regel hinzu, um die Code-Karte stets mit dem Repository synchronisiert zu halten:
Vergleichen Sie zu Beginn jeder codeändernden Aufgabe das aktuelle Repo mit docs/codemap/codemap.lock.
Verwenden Sie vor der Änderung eines Moduls docs/codemap/codemap.json, um drei Fragen zu beantworten:
Warum das wichtig ist
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.
In der Community diskutieren
Teile deine Fragen und Erkenntnisse mit Entwicklern