logo hsb.horse
← Zur Blog-Übersicht

Blog

generate-project-summary.py mit Bun + TypeScript neu umgesetzt

Eine Neuimplementierung eines Python-Skripts zur Projektzusammenfassung in Bun + TypeScript. Warum ich dafür ein portables Binary für LLM-Kontext gebaut habe.

Veröffentlicht:

Ich habe ein Python-Skript, das Projektstruktur und Dateiinhalte zusammenfasst, mit Bun + TypeScript neu implementiert.

Ursprüngliche Referenzen

Anlass und Hintergrund

  • Ich bin nicht besonders fit in Python
  • Ich wollte üben, fremden Code aus einer anderen Sprache in JS/TS neu umzusetzen
  • Mit JS und TS kenne ich mich ganz gut aus
  • Ich wollte ein CLI, das den Repository-Inhalt für LLMs in eine Datei bündelt
  • Es sollte als portables ausführbares Binary plattformübergreifend nutzbar sein

Quellcode

mktbsh/generate-project-summary.js: Inspired by https://github.com/Olemi-llm-apprentice/generate-project-summary

Technischer Aufbau

SpracheTypeScript
PaketmanagerBun
JS-RuntimeBun
Linter/FormatterBiome
EditorVS Code

Stolperstein / offener Punkt

Ich hatte Mühe, mit Buns eingebauter Glob-API das gewünschte Verhalten zu erreichen, und bin schließlich auf minimatch ausgewichen.

Wichtige Implementierungspunkte

  1. Single File Executable: Mit Buns --compile-Option ein ausführbares Binary erzeugen
  2. Glob-Verarbeitung: Dateien mit minimatch filtern
  3. LLM-orientierte Ausgabe: Projektstruktur und Dateiinhalte in einer Markdown-Datei zusammenführen

Zusammenfassung

Durch die Neuimplementierung des Python-Skripts konnte ich mein Verständnis von TypeScript und Bun vertiefen.

Da das Tool als ausführbares Binary verteilt werden kann, ist keine Node.js-Installation nötig, was die Nutzung plattformübergreifend vereinfacht.

Wenn ein LLM ein ganzes Repository lesen soll, lässt sich damit der nötige Kontext einfach erzeugen.