Verwandeln Sie jeden GitHub -Repo oder -Fordner auf Ihrem Mac in eine einfache Textdatei, damit Sie sie in ein LLM (Claude, Chatgpt usw.) hochladen können, um über das Ganze im Kontextfenster zu argumentieren.
Mit LLMs wie Chatgpt und Claude können Sie Dateien hochladen, aber sie beschränken, wie viele Sie gleichzeitig hochladen können. Wenn Sie mit großen Codebasen mit unzähligen Dateien zu tun haben, können Sie sie nicht einfach direkt auf ein LLM hochladen. Sie müssen am Ende Rag -Techniken (Abrufenvergrößerungsgeneration) verwenden, die meiner Erfahrung nach nicht so effektiv sind wie das Hochladen von allem in das vollständige Kontextfenster - insbesondere wenn Sie über die Architektur architekturisch argumentieren oder das gesamte System verstehen müssen. Siehe Beispiel.
Codierungsassistenten wie Cursor sind Amazeballs, aber sie eignen sich besser für den täglichen Code-Abschluss und die Inline-Änderungen als für das Verständnis des Systems auf höherem Niveau.
AND / OR Bedingungen an, um genau das zu zielen, was Sie für eine fokussierte Analyse benötigen. Wählen Sie Ihr Abenteuer:
curl -fsSL https://raw.githubusercontent.com/mattmireles/flatty/main/install_flatty.sh | bash -s -- --quickcurl -fsSL https://raw.githubusercontent.com/mattmireles/flatty/main/install_flatty.sh | bashDie paranoide Installation (Standard) enthält Prüfsummenüberprüfung und vollständige Sicherheitsprüfungen. Schnelle Installation überspringt diese Schecks für die Menge "Ich mag es, gefährlich zu leben".
Die grundlegende Nutzung ist dumm einfach:
cd your-project-directory
flatty Dadurch wird eine gut formatierte Textdatei in ~/Documents/flatty/ mit allen Textdateien Ihres Projekts enthält, die für den LLM -Verbrauch bereit sind.
Übernehmen Sie die Kontrolle darüber, was in Ihrer abgeflachten Ausgabe enthalten ist, indem Sie Muster und Bedingungen angeben. Mit dieser Funktion können Sie sich auf bestimmte Teile Ihrer Codebasis konzentrieren und die Effizienz und Relevanz verbessern.
Befehlszeilenargumente:
--pattern "pattern1" : Geben Sie ein Muster oder ein Schlüsselwort an, um Dateien zu filtern. Sie können mehrere M --pattern -Flags für mehrere Muster verwenden.--condition AND|OR : Definieren Sie, wie mehrere Muster übereinstimmen sollten.AND : Alle angegebenen Muster müssen in einer Datei vorhanden sein (entweder im Dateinamen oder im Inhalt).OR : Eines der angegebenen Muster muss vorhanden sein.Beispiele:
Fügen Sie Dateien, die entweder useEffect oder async function enthalten, enthalten:
flatty --pattern " useEffect " --pattern " async function " --condition OR Fügen Sie Dateien, die sowohl useEffect als auch async function enthalten, enthalten:
flatty --pattern " useEffect " --pattern " async function " --condition AND Fügen Sie Dateien mit README in den Dateinamen ein:
flatty --pattern " README " --condition ORStandardverhalten ohne Muster (enthält alle förderfähigen Textdateien):
flattyVerhalten:
Flatty überspringt intelligent:
node_modules , vendor ).git.DS_Store ) Abfließende Textdateien werden im Verzeichnis ~/flattened/ mit den Dateinamen gespeichert, die formatiert sind:
<project-name>-v<version>-<timestamp>.txt
Jede Ausgabedatei enthält:
Entwickelt mit ❤️ von talktastic
Beiträge sind willkommen! Bitte öffnen Sie ein Problem oder senden Sie eine Pull -Anfrage für Verbesserungen oder Fehlerbehebungen.
Um die Integrität des flatty.sh -Skripts aufrechtzuerhalten und sicherzustellen, dass die Prüfsummendatei ( flatty.sh.sha256 ) immer aktuell ist, sollten die Mitwirkenden einen Vorab-Git-Haken einrichten. Dieser Haken generiert und aktualisiert automatisch die Prüfsumme vor jedem Commit.
Schritte zum Einrichten des Pre-Commit-Hakens:
Navigieren Sie zum Git Hooks -Verzeichnis:
cd .git/hooks Erstellen oder bearbeiten Sie den pre-commit Haken:
cursor pre-commit Fügen Sie der pre-commit Datei das folgende Skript hinzu:
#! /bin/bash
# Generate SHA256 checksum for flatty.sh
sha256sum flatty.sh > flatty.sh.sha256
# Add the checksum file to the commit
git add flatty.sh.sha256Machen Sie den Haken ausführbar:
chmod +x pre-commit Erläuterung: Dieser Haken stellt sicher, dass jedes Mal, wenn flatty.sh geändert wird und ein Komitee vorgenommen wird, die entsprechende flatty.sh.sha256 -Prüfsummendatei automatisch aktualisiert und im Commit enthalten ist. Dadurch wird der Integritätsprüfungsprozess für das Installationsskript beibehalten.
MIT