CodeDocumentation¶
CodeDocumentation erzeugt aus Quellcode-Repositorien einen vollständigen Satz an Markdown-Dokumenten, der als erste Entwurfsfassung in Projekt-Repositorien einfließt und dort manuell weitergepflegt wird. Die Anwendung verarbeitet Python- und PHP-Projekte, die als lokales Verzeichnis, ZIP-Datei oder über die GitLab-API bereitgestellt werden, und kombiniert deterministische Code-Analyse mit zwei getrennten Sprachmodell-Stufen: einem schnellen Modell für die parallele Analyse einzelner Dateien und einem Thinking-Modell für die zusammenhängende Erzeugung der Dokumente.
Auf einen Blick¶
- Aus einem Repository in einem Durchgang einen vollständigen Dokumentationssatz mit README, Architektur, API-Referenz, Konfigurations- und Installationsanleitung sowie Highlights erzeugen
- Quellcode wahlweise als lokales Verzeichnis, hochgeladenes ZIP-Archiv oder direkt aus GitLab beziehen, ohne den Code lokal auschecken zu müssen
- Mehrsprachige Projekte (Python und PHP, einzeln oder kombiniert) in einem zusammenhängenden Dokumentensatz abbilden
- Endpunkte und Routen aus FastAPI-, Flask-, Laravel- und Symfony-Codebasen automatisch erfassen, mit Methode, Pfad, Parametern und zugeordnetem Handler
- Zwei separat konfigurierbare Sprachmodell-Endpunkte für Analyse und Erzeugung verbinden, einschließlich solcher mit Thinking-Modus
- Erzeugte Dokumente in der Oberfläche als Markdown vorschauen und gesammelt als ZIP-Archiv herunterladen
- Den Lauf über einen begleitenden Generierungs-Report mit Laufzeit, Modellaufrufen und Token-Verbrauch nachvollziehen
Highlights¶
Im Unterschied zu einem direkten LLM-Prompt auf einer Codebasis trennt CodeDocumentation deterministische Strukturanalyse, parallelisierte Datei-Bewertung und narrative Texterzeugung in eine mehrstufige Pipeline. Diese Trennung verbessert die Genauigkeit der erfassten Strukturen, hält die Laufzeit für mittelgroße Projekte beherrschbar und erlaubt die getrennte Auswahl von Modellen für unterschiedliche Aufgaben.
- Dreistufige Pipeline statt monolithischem Prompt — Eine deterministische Inspektionsphase erfasst Sprachen, Frameworks, Abhängigkeiten und Konfigurationen ohne Modellaufruf. Erst die nachgelagerten Phasen ziehen Sprachmodelle hinzu. Grundlegende Faktenangaben hängen dadurch nicht von einer Modellausgabe ab.
- Zwei getrennt konfigurierbare Sprachmodelle — Ein schnelles Modell verarbeitet die Datei-Analysen parallel, ein langsameres Modell mit Thinking-Modus erzeugt die Fließtext-Abschnitte der Dokumente. Beide Endpunkte werden unabhängig konfiguriert; ihr Zusammenspiel reduziert die Gesamtlaufzeit gegenüber einem reinen Thinking-Lauf erheblich.
- Framework-spezifische Extraktoren — Für FastAPI, Flask, Laravel und Symfony liefern dedizierte Extraktoren strukturierte Endpunkt-Listen einschließlich Methode, Pfad, Pfad-Parametern und Handler. Andere Python- und PHP-Projekte werden über einen generischen Regex-Extraktor abgedeckt.
- Mehrsprachige Projekte als Regelfall — Codebasen mit gemischten Stacks wie Flask plus Laravel werden in einem zusammenhängenden Dokumentensatz behandelt. Sprachen und Frameworks werden gewichtet, Endpunkte aus mehreren Quellen zusammengeführt.
- Anbindung an drei Quellen — Lokales Verzeichnis, ZIP-Upload und GitLab-Repository über REST-API, einschließlich der Auswahl von Branch oder Tag.
- Session-gebundenes Token-Handling — GitLab-Personal-Access-Tokens verbleiben ausschließlich im Session-Status der Oberfläche. Sie werden nicht auf die Festplatte geschrieben, nicht in Logs übernommen und nicht in die erzeugten Dokumente aufgenommen.
- Endpunkt-Deduplizierung und Zusammenführung — Aus deterministischer Extraktion und Modell-Analyse hervorgegangene Endpunkte werden über Methode und Pfad dedupliziert und in einem gemeinsamen API-Katalog gruppiert.
- Mermaid-Diagramme ohne Nacharbeit — Architektur- und Komponenten-Übersichten werden direkt als Mermaid-Code in die Dokumente eingebettet und in der Vorschau gerendert.
- Erweiterbarkeit über dokumentierte Schnittstelle — Neue Frameworks werden durch eine zusätzliche Extractor-Klasse und einen Erkennungseintrag eingebunden, ohne dass die übrige Pipeline angepasst werden muss.
- Nachvollziehbare Läufe — Jeder Generierungslauf erzeugt zusätzlich einen Report mit Laufzeit, Anzahl der Modellaufrufe je Modellrolle und verbrauchten Tokens.