GitHub Repo naar tekstconverter

Zet een GitHub-repository om in één tekstbestand dat een LLM kan lezen. Kies de relevante bestanden, controleer het aantal tokens en plak het resultaat in ChatGPT, Claude of Gemini. Gratis, zonder account.

GitHub Repository naar tekst: verander een hele opslagplaats in één bestand dat LLM kan lezen

Plak hierboven een GitHub URL en je krijgt de bestandsstructuur van de repository in een lijst met selectievakjes. Vink wat aan is belangrijk, genereer, en je hebt één enkel tekstbestand: de mapstructuur bovenaan, en dan elk het geselecteerde bestand eronder, gescheiden door een koptekst met het pad ervan. Dat is het formaat dat werkt ChatGPT, Claude, Gemini, DeepSeek of iets anders waar u in plakt: het model ziet de vorm van de project en de code tegelijkertijd, zodat het kan redeneren over hoe de stukjes in elkaar passen in plaats van gissen vanuit één bestand afzonderlijk.

U hoeft niets te klonen, niets te installeren, u hoeft zich niet aan te melden en het is gratis. De repository wordt gelezen via de GitHub API rechtstreeks vanuit uw browser, zodat u het project helemaal niet op uw computer nodig heeft, namelijk de moment waarop u de code van iemand anders bekijkt, een afhankelijkheid die u evalueert, of een opslagplaats die u heeft zojuist toegang gekregen.

Plak de URL, inclusief de vertakking of tag

De vlakte https://github.com/owner/repo form werkt en geeft je de standaard branch. Maar de URL bevat meer dan dat, en het is de moeite waard om te gebruiken. Kopieer de adresbalk terwijl u browst GitHub en waar je ook naar kijkt, het komt tegen:

  • Een tak/tree/develop of een feature branch, zodat u de werk in uitvoering in plaats van wat er op de planning staat.
  • Een tag of release/tree/v2.1.0. Handig als je vragen stelt over de versie die u daadwerkelijk verzendt, of twee releases in een gesprek van elkaar verschillen door ze allemaal te converteren.
  • Een submap/tree/main/packages/api. Dit is degene die bespaart jij in een monorepo. Begin bij het pakket dat je interesseert en de boom die je terugkrijgt is er al scoped, in plaats van tienduizend bestanden die u vervolgens moet uitvinken.

Als de vertakking of het pad niet bestaat, krijgt u te horen welk deel niet is opgelost, wat meestal een typfout in een branchnaam of een repository die privé is voor het token dat u gebruikt.

Privéopslagplaatsen en waar uw token naartoe gaat

Privéopslagplaatsen werken met een GitHub persoonlijk toegangstoken. Genereer er een in uw GitHub ontwikkelaar instellingen met leestoegang tot de repository's die je nodig hebt: een fijnmazig token dat zich richt op één enkele repository is genoeg, en het is de moeite waard om te nemen. Plak het in het tokenveld en de boom laadt het net zoals een publieke dat doet.

Het token wordt bewaard in uw browser localStorage zodat u het niet elk bezoek opnieuw typt, en het gaat naar precies één plaats: api.github.com, in de verzoekheaders, van uw eigen headers machine. Er is hier geen account om het aan te koppelen en geen backend van ons in het pad. Maak het veld leeg en het wordt uit de opslag verwijderd. Op een gedeelde machine kunt u deze wissen als u klaar bent, en als u dat ooit wilt zekerheid, trek het token daarna in GitHub in — dat is een actie met één klik en het kost u niets.

Een token helpt ook bij openbare repo's. Niet-geverifieerde GitHub API-verzoeken zijn redelijk beperkt in aantal agressief, dus als je een grote repository converteert, of meerdere op een rij, is het toevoegen van een token de beste keuze. verschil tussen het werken en jij wacht een uur.

Wat u moet uitschakelen voordat u genereert

Dit is de stap die bepaalt of de uitvoer nuttig is. Een repository bevat veel bestanden die worden om goede redenen gevolgd en zijn nog steeds waardeloos als modelcontext. Ga door de boom en laat vallen:

  • Afhankelijkheden van leveranciersnode_modules, vendor, third_party. Zeldzaam in een repo, maar verwoestend als het aanwezig is. Het is de bron van anderen code, en het zal de jouwe verdrinken.
  • Bouw output opdist, build, out, .next, target, dekkingsrapporten. Uw eigen code opnieuw, getranspileerd of verkleind, zodat het model alles twee keer leest en de tweede keer niets nieuws leert.
  • Bestanden vergrendelenpackage-lock.json, yarn.lock, poetry.lock, Cargo.lock. Tienduizenden tokens van hashes met er zit bijna geen betekenis in. Bewaar in plaats daarvan het manifest; package.json of pyproject.toml is wat het model vertelt op welke stapel je zit.
  • Gegenereerde code — protobuf- en gRPC-uitvoer, GraphQL-codegen, OpenAPI-clients, databasemigraties, snapshottests. Machinaal geschreven, repetitief en het duwt het model in de richting van het bewerken van bestanden die toch opnieuw worden gegenereerd.
  • Grote databestanden — armaturen, zaaddumps, voorbeeld-CSV's, verkleinde bundels vastgelegd jaar geleden. Eén daarvan kan op zichzelf een contextvenster opeten.

Filteren op extensie is de snelste route als een opslagplaats groot is: smal tot .ts en .tsx, of .py, en je hebt het grootste deel van de ruis in één beweging weggenomen. Voeg dan terug toe het handjevol configuratie- en documentatiebestanden die het project uitleggen - de README, de hoofdconfiguratie, het schema.

De tokenteller is het onderdeel dat ertoe doet

De gegenereerde uitvoer wordt geleverd met een aantal tokens, berekend met de gpt-tokenizer bibliotheek in plaats van een schatting van het aantal tekens gedeeld door vier. Controleer het voordat je plakt. Weten of het een puinhoop is past in het contextvenster dat je gaat gebruiken is het hele spel — het alternatief is plakken, wachten, en het lezen van een lengtefout.

Gebruik het om te sturen, niet alleen om te controleren. Als de telling het dubbele is van wat je ruimte hebt, ga dan terug naar de tree en vink een map uit in plaats van het bestand aan het einde af te korten, omdat een dump wordt afgebroken halverwege het project blijft het model achter met een halve implementatie en geen idee dat het ontbreekt. En houd er rekening mee dat een groot contextvenster niet hetzelfde is als een goed venster: een gerichte selectie van 8.000 tokens – de module, zijn tests en de twee bestanden die het importeert, verslaan meestal 200.000 tokens van alles. Stuur het geheel repo als de vraag architectonisch is, en een stukje als het lokaal is.

Wanneer het klaar is, kopieert u de tekst naar het klembord en downloadt u deze als .txt, of pak de geselecteerde bestanden als ZIP als u ze liever als bestanden heeft dan als één samengevoegd document.

Hoe het te gebruiken

Waar mensen het eigenlijk voor gebruiken

  • Onboarding op een onbekende codebase. Nieuwe baan, nieuw team of een open source project waaraan u wilt bijdragen. Converteer het, plak het en vraag naar de toegangspunten, de kern abstracties, en de drie dingen die een nieuwe beheerder zouden verrassen. Je gaat je oriënteren sneller dan door de README te lezen en een dag door bestanden te klikken.
  • Een pull-aanvraag beoordelen met zijn omgeving. Een diff laat zien wat er is veranderd, maar niet wat het raakt. Converteer de branch, of alleen het betrokken pakket, en vraag wat er nog meer aanroept de functie die is veranderd en welke aannames de nieuwe code daarover maakt.
  • Documentatie schrijven die echt waar is. README's rotten omdat ze geschreven zijn een keer. Genereer een architectuuroverzicht, modulesamenvattingen of de echte lijst met omgevingen variabelen uit de code zoals deze vandaag op main bestaat.
  • Testen genereren. Neem de module plus één bestaand testbestand op als stijl referentie. Het model past bij uw raamwerk, uw naamgeving en uw armaturen in plaats van dat het is uitgevonden een conventie die niemand in het team gebruikt.
  • Migratie- en refactorplanning. Klassecomponenten aan hooks, JavaScript aan TypeScript, de ene ORM naar de andere. Een model dat elke oproeplocatie kan zien, produceert een echte reeks van stappen in plaats van een algemene checklist.
  • Audits en due diligence. Het beoordelen van een opslagplaats die u erft, verwerft, of beschouwen als een afhankelijkheid. Een geconsolideerd dossier maakt het praktisch om te vragen waar geheimen zijn worden afgehandeld, hoe de foutpaden eruit zien en waar de risicovolle patronen zich bevinden.
  • RAG en inbedding. Door paden gescheiden secties worden netjes opgedeeld, waardoor de uitvoer afneemt naar een vectoropslag met zeer weinig voorbewerking.

Veelgestelde vragen

Hoe converteer ik een GitHub repository naar een tekstbestand?

Plak de repository-URL hierboven en de bestandsboom verschijnt als een lijst met selectievakjes. Vink uit wat het model niet nodig heeft, genereer en je krijgt één tekstbestand: de directorystructuur bovenaan, en vervolgens elk geselecteerd bestand onder een header met zijn pad. Niets te klonen, niets te installeren, gratis en zonder aanmelding.

Hoe converteer ik een privé GitHub repository?

Plak een persoonlijk toegangstoken naast de URL. Maak een fijnmazig token dat zich richt op precies die ene repository met alleen-lezen inhoudstoestemming en een korte vervaldatum - dat is het minste recht dat de API hiervoor accepteert. Het token wordt gebruikt om GitHub vanuit uw browser aan te roepen en wordt niet aan onze kant opgeslagen.

Hoeveel tokens bevat mijn codebase en past deze?

De teller wordt bijgewerkt terwijl u bestanden aanvinkt, zodat u het nummer kunt zien voordat u iets plakt. Globaal gesproken bestaat de broncode uit ongeveer 3 tot 4 tekens per token, dus een selectie van 500 KB levert bijna 140.000 tokens op. Dat past in een contextvenster van 200K en past op de meeste interfaces niet in een enkel chatbericht.

Welke bestanden moet ik uitsluiten voordat ik een repository aan een LLM geef?

node_modules, vendor, en elke afhankelijkheidsmap eerst: deze vormen meestal de overgrote meerderheid van de bytes en dragen niets bij aan uw code. Vergrendel vervolgens bestanden, bouw uitvoer, verkleinde bundels, test armaturen en binaire activa. Bij een typisch JavaScript-project worden alleen al ruim negentig procent van de tokens verwijderd.

Hoe verhoudt dit zich tot gtingest, repomix of code2prompt?

Dat zijn sterke hulpmiddelen en het eerlijke verschil is de workflow, niet de capaciteit. Ze zijn eerst via de opdrachtregel, scriptbaar en het juiste antwoord binnen CI of een batchtaak. Dit wordt uitgevoerd op een browsertabblad met een boomstructuur met selectievakjes, zodat u de repository kunt zien, kunt deselecteren wat u niet wilt en de tokentelling kunt zien bewegen - beter voor het eenmalige geval waarin u nog steeds besluit wat u wilt opnemen.

Is het veilig om mijn code hier doorheen te voeren?

Openbare opslagplaatsen worden vanuit uw browser gelezen via de GitHub API, zodat de code van GitHub naar u gaat. Voor alles wat vertrouwelijk is, is de sterkere optie de lokale mapconverter, die helemaal nooit uploadt. Hoe dan ook, scan uw selectie op API-sleutels en inloggegevens voordat u deze in een model plakt; dat is de stap die mensen overslaan.

Lokale mappen, GitLab en alles wat geen code is

Niet alles wat je wilt veranderen, leeft op GitHub. De lokale map naar tekstconverter duurt een directory rechtstreeks van uw schijf en combineert het in één bestand zonder iets te uploaden - nee helemaal geen netwerkoproepen, en dat is wat u wilt voor klantwerk, niet-gecommitteerde vestigingen of een project dat was nooit een git-repository. Voor GitLab is de GitLab naar tekstconverter doet hetzelfde baan tegen publieke, private en zelfgehoste projecten.

Code is meestal ook maar de helft van de context. De specificatie staat in een PDF, het schema in JSON, de erfenis config in XML, de voorbeeldgegevens in een CSV. Converteer deze naast uw repository met PDF naar Markdown, JSON naar Markdown, XML naar Markdown, CSV naar Markdown, of HTML naar Markdown. Als iemand overhandigt u een archief, ZIP naar tekst trekt het leesbare inhoud eruit, en File2Txt neemt een van de dertien ondersteunde formaten als u liever geen pagina kiest. Voor documentatie die alleen bestaat op de web, Web2Txt schraapt een URL naar schone Markdown, inclusief JavaScript-gerenderde pagina's — koppel een geschrapte API-referentie aan uw geconverteerde repository en een codeerassistent kunnen beide kanten tegelijk zien.

Er is meer diepgang op de blog: de complete gids voor het converteren van GitHub repositories voor LLM's, een codebase omzetten in een LLM-klaar bestand, het voeden van een hele repository in een AI, en de map-naar-tekst-uitleg voor lokale mappen.

Repo2Txt is gebouwd en onderhouden door v12hero, een onafhankelijke ontwikkelaar die native- en web-apps bouwt die privacy voorop stellen.