Allgemeine Einführung
CodeWeaver ist ein Kommandozeilen-Tool, mit dem eine Codebasis in ein einziges, leicht zu navigierendes Markdown-Dokument gewebt werden kann. Es erzeugt eine strukturierte Darstellung der Dateihierarchie eines Projekts, indem es Verzeichnisse rekursiv durchsucht und den Inhalt jeder Datei in Codeblöcke einbettet. Das Tool wurde mit dem Ziel entwickelt, die gemeinsame Nutzung der Codebasis und die Informationsextraktion zu vereinfachen, und eignet sich besonders gut, um die Informationen der Codebasis für KI/ML-Codeanalysetools zur Verarbeitung bereitzustellen.

Hier ist ein Beispiel für eine Generation: https://github.com/tesserato/CodeWeaver/blob/main/codebase.md
Funktionsliste
- Umfassende Generierung von Code-Basis-DokumentationGenerieren Sie eine Markdown-Datei, die die Verzeichnis- und Dateistruktur des Projekts in einem übersichtlichen Baumformat darstellt.
- Code Einbettung von InhaltenEinbettung des vollständigen Inhalts jeder Datei in das generierte Markdown-Dokument, mit Syntaxhervorhebung auf der Grundlage der Dateierweiterung.
- Flexible PfadfilterungIgnoriermuster mit regulären Ausdrücken definieren, um den Ausschluss bestimmter Dateien und Verzeichnisse zu ermöglichen (z. B. .git, Build-Produkte, bestimmte Dateitypen).
- Optionale RoutenaufzeichnungOption zum Speichern separater Listen eingeschlossener und ausgeschlossener Dateipfade in einer Datei zur detaillierten Nachverfolgung und Fehlersuche bei Ignorierregeln.
- Einfache BefehlszeilenschnittstelleBietet eine intuitive Befehlszeilenschnittstelle mit unkomplizierten Anpassungsoptionen.
Hilfe verwenden
Einbauverfahren
Installation mit Go
Wenn Sie die Go-Sprachumgebung installiert haben, können Sie den folgenden Befehl ausführen, um die neueste Version von CodeWeaver zu installieren:
go install github.com/tesserato/CodeWeaver@latest
Oder installieren Sie die angegebene Version:
go install github.com/tesserato/CodeWeaver@vX.Y.Z
Laden Sie die vorkompilierte ausführbare Datei herunter
Laden Sie die entsprechende vorkompilierte ausführbare Datei von der Release-Seite herunter.
Falls gewünscht, können Sie diechmod
um der ausführbaren Datei Ausführungsrechte zu erteilen:
chmod +x codeweaver
Verwendungsprozess
Hilfe bekommen
Führen Sie den folgenden Befehl aus, um Hilfe zu erhalten:
codeweaver -h
praktische Anwendung
Führen Sie den folgenden Befehl aus, um das Dokument zu erstellen:
codeweaver [options]
Beschreibung der Optionen
Optionen (wie bei Computersoftware-Einstellungen) | Beschreibungen | Standardwert |
---|---|---|
-dir | Das Stammverzeichnis, das durchsucht und protokolliert werden soll. | Aktuelles Verzeichnis (...) |
-Ausgabe | Gibt den Namen der Markdown-Datei aus. | codebase.md |
-ignore "" | Durch Kommata getrennte Liste von Mustern für reguläre Ausdrücke, um bestimmte Pfade auszuschließen. | .git.* |
-included-paths-file | Speichert die Datei, die die Liste der Pfade im Dokument enthält. | nicht haben |
-ausgenommene-Pfade-Datei | Datei, die die Liste der Pfade enthält, die aufgrund der Ignorierregel ausgeschlossen wurden. | nicht haben |
-Hilfe | Diese Hilfemeldung anzeigen und beenden. | nicht haben |
Anwendungsbeispiel
Dokumentation für das aktuelle Verzeichnis generieren
./codeweaver
Dieser Befehl erstellt eine Datei im aktuellen Verzeichnis mit dem Namencodebase.md
Datei, die die Struktur und den Inhalt des aktuellen Verzeichnisses und seiner Unterverzeichnisse aufzeichnet (exclude entspricht dem Standard-Ignore-Muster).\.git.*
(der Weg).
Verschiedene Eingabeverzeichnisse und Ausgabedateien angeben
./codeweaver -dir=my_project -output=project_docs.md
Dieser Befehl verarbeitet diemy_project
und speichern Sie das Dokument im Verzeichnisproject_docs.md
.
Bestimmte Dateitypen und Verzeichnisse ignorieren
./codeweaver -ignore="\.log,temp,build" -output=detailed_docs.md
Das Beispiel erzeugtdetailed_docs.md
mit Ausnahme aller Namen, die.log
undtemp
vielleichtbuild
von Dateien oder Verzeichnissen. Muster für reguläre Ausdrücke werden durch Kommas getrennt.
Führen einer Liste der eingeschlossenen und ausgeschlossenen Pfade
./codeweaver -ignore="node_modules" -included-paths-file=included.txt -excluded-paths-file=excluded.txt -output=code_overview.md
Mit diesem Befehl wird diecode_overview.md
und speichert die Liste der enthaltenen Pfade in der Dateiincluded.txt
zurückzuführen sein wird aufnode_modules
Die Liste der Pfade, die durch das Ignoriermuster ausgeschlossen werden, wird in der Dateiexcluded.txt
.