GitLab Repo naar tekstconverter

Converteer een GitLab project naar een enkel tekstbestand voor ChatGPT, Claude of Gemini. Selecteer de bestanden die er toe doen, sla de ruis over. Gratis en niets te installeren.

GitLab Repository naar tekst: één bestand dat uw LLM daadwerkelijk kan lezen

Code per bestand in een chatvenster plakken is een slechte manier om een middag door te brengen. Het model beantwoordt elke vraag met een overzicht van uw project, u moet steeds zeggen: "wacht, hier is het ander bestand dat het importeert", en tegen de tijd dat de context compleet is, is het gesprek zijwaarts gegaan. De oplossing is saai en effectief: geef het hele relevante deel van de repository vooraf, in één blok tekst.

Dat is wat deze pagina doet. Het is het kortste pad van een GitLab repository naar LLM context: plak een https://gitlab.com/... project-URL, leest de tool de repositoryboom via de API van GitLab, en je krijgt een selectievakje-boom van elk bestand. Vink aan wat belangrijk is, Vink uit wat niet werkt en klik op genereren. Er verschijnt een mapoverzicht gevolgd door de volledige inhoud van de bestanden jij hebt gekozen, met een tokentelling zodat je weet of het past. Kopieer het, download het als tekst of pak het geselecteerde bestanden als ZIP.

Plak de URL waar u al naar kijkt

Er is geen project-ID om op te zoeken en geen afzonderlijk naamruimteveld. Kopieer de URL uit uw browser adresbalk en plak deze erin. Geneste subgroepen werken - de gewoonte van GitLab om een project drie of vier te begraven niveaus diep onder company/platform/services/billing wordt afgehandeld, omdat het projectpad wordt URL-gecodeerd voordat het de API bereikt.

Als de URL die u hebt gekopieerd een vertakking of tag bevat, wordt die ref gebruikt. Als het alleen de kale project-URL is, wordt de De standaardvertakking van het project wordt automatisch opgelost, dus u hoeft niet te onthouden of dit specifiek is repo geregeld main, master, of develop. De boom wordt opgehaald recursief en gepagineerd, wat belangrijker is dan het klinkt: er draaien veel GitLab monorepo's naar duizenden bestanden, en een enkel ongepagineerd verzoek zou je stilletjes een ingekort project opleveren.

Privéprojecten en precies waar uw token naartoe gaat

Publieke projecten hebben niets nodig. Voor een privétoegangstoken voegt u een GitLab persoonlijk toegangstoken toe en dit wordt verzonden als het PRIVATE-TOKEN header op verzoeken om De API van GitLab. Voorzichtig zijn met het plakken van een token in een webtool is het juiste instinct, dus hier is de eenvoudige versie: het token wordt opgeslagen in uw browser localStorage en alleen maar gebeld gitlab.com rechtstreeks vanuit uw browser. Het wordt naar geen enkele server van ons verzonden, omdat de verzoeken lopen er niet doorheen.

Alleen-lezen bereik is alles wat het nodig heeft — read_api of read_repository. Geef het niet uit schrijftoegang die het nooit zal gebruiken, en stel een vervaldatum in terwijl u zich in het tokenscherm bevindt. Het is ook de moeite waard een token toevoegen, zelfs voor openbare opslagplaatsen: niet-geverifieerde oproepen naar de GitLab API zijn in snelheid beperkt, dus als u haalt een groot project binnen of voert dezelfde conversie een paar keer opnieuw uit, een geverifieerd verzoek is het verschil tussen een soepele ophaalactie en een muur van fouten.

Zelfbeheerd GitLab: het eerlijke antwoord

Deze tool praat met gitlab.com en alleen gitlab.com. Er is geen veld voor een gewoonte instantie-URL en plakken gitlab.yourcompany.internal zal niet werken. Als u een door uzelf gehoste of zelfbeheerde instantie, dat is een regelrecht nee.

Het goede nieuws is dat het betere antwoord voor een zelfbeheerde instantie sowieso nooit een API-aanroep was. Kloon de repository (je hebt al inloggegevens) en wijs de lokale mapconverter bij de map. Het leest bestanden via de bestands-API's van de browser, zodat er niets wordt geüpload en niets uw machine verlaat. Voor een privé-instantie achter een bedrijfsfirewall is dat de versie die uw beveiligingsteam zou gebruiken heb er toch om gevraagd. Dezelfde selectievakjesboom, dezelfde uitvoer, hetzelfde tokenaantal. Er is ook een ZIP nodig als u exporteert liever een archief dan dat u het kloont.

Wat u moet selecteren en wat u moet weglaten

Alles begint gecontroleerd, wat voor bijna elk echt project de verkeerde keuze is. Het instinct wanneer je converteert een GitLab repository naar tekst en neemt alles ervan; verzet je daar tegen. Een nuttige repo-dump is een samengesteld budget: het symbolische budget dat u uitgeeft aan gegenereerde ruis is het budget dat het model niet aan uw besteedt werkelijke code. Vink deze eerst uit:

  • Geleverde en geïnstalleerde afhankelijkhedennode_modules, vendor, .venv, alles dat is ingecheckt vanuit een pakketregister. Het model weet al wat Express is lijkt op.
  • Bestanden vergrendelen. package-lock.json, yarn.lock, poetry.lock, Gemfile.lock. Een lockfile kan uit tienduizenden tokens bestaan hashes en versiepinnen die geen enkele vraag beantwoorden die iemand ooit stelt. Bewaar het manifest, laat het slot vallen.
  • Bouw output en verkleinde assetsdist, build, .next, samengestelde bundels, bronkaarten. Het is je eigen code, opnieuw geformuleerd in een vorm die niets anders kan reden over.
  • Snapshots en armaturen. Grote testopstellingen en snapshotbestanden zijn repetitief ontwerp. Een paar representatieve spelers versloegen alle vierhonderd.
  • Migraties, vooral. Een schemamap met zes jaar aan incrementele migraties is alleen waard als het om de migratiegeschiedenis zelf gaat.

Bewaar de dingen die de bedoeling verklaren: bronbestanden, de README, het manifest en .gitlab-ci.yml. Die laatste is een echte tip met een GitLab-smaak – de CI-configuratie is waar bouwstappen, test commando's, implementeer doelen en omgevingsaannames allemaal op één plek. Voeg het toe en het model kan antwoorden "waarom mislukt dit in CI, maar gaat het lokaal door" in plaats van te raden.

De schakelaar voor mapweergave is de andere helft hiervan. Overgeschakeld naar Vol, de uitvoer omvat de volledige repositorystructuur met uw geselecteerde bestanden gemarkeerd, zodat het model kan zien dat payments module bestaat ook al heb je deze niet toegevoegd - nuttige context, goedkoop in tokens. Overgeschakeld naar Gefilterd, wordt alleen weergegeven wat u hebt geselecteerd. Volledig is meestal de betere standaard wanneer u één dienst uit een monorepo heeft geselecteerd; gefilterd is netter als u gericht verzendt handvol bestanden.

De banen waar dit echt goed in is

  • Landen op een onbekend project. Selecteer de bronmap, de README en het CI config en vraag vervolgens om een overzicht van de toegangspunten en waar een verzoek naartoe stroomt zodra het binnenkomt. Twintig minuten oriëntatie, gecomprimeerd in één prompt.
  • Een samenvoegverzoek met zijn omgeving beoordelen. Een diff vertelt je wat er is veranderd; het vertelt je niet hoe de gewijzigde functie anders wordt genoemd. Exporteer de aangeraakte map en zijn buren, plak de diff ernaast, en je krijgt commentaar over de gevolgen in plaats van stijl.
  • Het schrijven van de documentatie die niemand heeft geschreven. Voer een module in en vraag om een README, een architectuurnotitie, of docstrings die overeenkomen met de bestaande conventies van de code in plaats van te worden uitgevonden nieuwe.
  • Testen genereren. Voeg de module toe plus twee of drie bestaande testbestanden. De het tweede deel maakt de uitvoer bruikbaar: het model kopieert uw apparaten, naamgeving en bewering stijl in plaats van iets te produceren dat niet bij de suite past.
  • Migratie- en upgradewerkzaamheden. Framework-versie hobbels, een taal herschrijven, een ORM. Deze hebben volledige zichtbaarheid van de codebase nodig om elke oproepsite te kunnen opvangen, en dat is precies wat een enkele site doet tekstexport geeft u.
  • Audits. Vraag waar geheimen worden gelezen, welke eindpunten de auth overslaan of wat er nog steeds op a aankomt verouderde interne API. Brede vragen als deze kunnen niet per dossier worden beantwoord.

In de meeste hiervan is het interessante deel één servicedirectory in plaats van de hele groep. Selecteer dat subtree, laat de rest staan en controleer het aantal tokens voordat je plakt - het wordt gegenereerd met de gpt-tokenizer bibliotheek, dus het is een echte telling die u kunt vergelijken met de context van uw model venster in plaats van een gok. Het is dezelfde uitvoer, of u nu GitLab code exporteert voor een AI-beoordelingspas of verander een GitLab project in een tekstbestand voor ChatGPT, Claude of Gemini — één bestand, en je kunt het lezen voordat u het verzendt.

De bestanden die naast uw code staan

Opslagplaatsen zijn niet alleen bronbestanden. Configuratie, schema's, zaadgegevens en specificaties worden naast, en sommigen van hen lezen slecht als ze rauw worden gedumpt. Gestructureerde formaten komen beter terecht als Markdown: JSON naar Markdown voor configuratie en API-payloads, XML naar Markdown voor de Maven-, Android- en oudere SOAP-bestanden die nooit zijn verdwenen, CSV naar Markdown voor zaadgegevens en export, en HTML naar Markdown voor sjablonen en gegenereerde documenten. Specificaties die arriveerden als een Pdf ook converteren, en a ZIP-archief kan recht worden afgevlakt in tekst. File2Txt verzorgt de boel als u liever geen pagina kiest.

Veelgestelde vragen

Hoe converteer ik een GitLab repository naar een tekstbestand?

Plak de project-URL hierboven en de bestandsboom wordt geladen als een lijst met selectievakjes. Selecteer de gewenste bestanden en exporteer één tekstbestand met de mapstructuur bovenaan en elk bestand eronder, met aan het hoofd het pad. Gratis, geen installatie, geen aanmelding.

Werkt het met zelf-gehoste GitLab?

Zelfbeheerde instanties maken gebruik van dezelfde REST API als gitlab.com, dus een bereikbare instantie gedraagt zich op dezelfde manier. Het probleem is netwerktoegang: een instantie achter een bedrijfs-VPN of een particulier netwerk is niet bereikbaar vanaf uw browsertabblad, en geen enkel aantal tokens zal daar verandering in brengen. Hiervoor kloon je het project en gebruik je de lokale mapconverter.

Hoe converteer ik een privé GitLab project?

Geef een persoonlijk toegangstoken op bij de read_repository reikwijdte. Maak het aan onder Voorkeuren → Toegangstokens, geef het de kortste vervaldatum voor uw sessie en verwijder het daarna. Alleen-lezen is alles wat dit nodig heeft: een token met schrijf- of API-brede reikwijdte is meer zichtbaar dan de taak vereist.

Waarom dit gebruiken in plaats van de repository te klonen?

Door te klonen krijgt u een werkende boom, die de verkeerde vorm heeft voor de taak. Wat een model wil is één document dat de structuur en de inhoud samen bevat, zonder de ruis. Klonen haalt ook de volledige geschiedenis en elke afhankelijkheid op – meestal veel meer bytes dan de bron waarover je eigenlijk wilt redeneren.

Kan het subgroepen en geneste projectpaden verwerken?

Ja. De geneste groepsstructuur van GitLab betekent dat projectpaden meerdere segmenten diep lopen, en het volledige pad is wat het project identificeert. Plak de volledige URL uit de adresbalk van uw browser in plaats van er één met de hand samen te stellen, en de zoekopdracht wordt correct opgelost.

Kan ik een merge request diff converteren in plaats van het hele project?

Niet vanaf deze pagina - het werkt op de repositoryboom op een gegeven ref. Voor revisiewerk is het gebruikelijke patroon het converteren van de bestanden die een samenvoegverzoek aanraakt, deze als context plakken en vervolgens de diff zelf eronder plakken. Het model heeft de omringende code nodig om een ​​verandering te beoordelen, en een diff alleen levert deze zelden op.

Al het andere in de Toolkit

In plaats daarvan coderen op GitHub? De GitHub reposito naar tekst omvormer werkt op dezelfde manier. Alleen op uw computer of op een zelfbeheerde instantie die u hebt gekloond? Gebruik de lokale mapconverter. Heb de nodig documentatiesite in plaats van de bron die deze genereert? Web2Txt schraapt een URL naar Markdown.

Voor de langere argumenten achter dit alles is er een handleiding het invoeren van een repository in een AI-model, één aan een codebase omzetten in een LLM-klaar bestand, een complete gids voor het converteren van repositories voor LLM's, en een breder stuk verder bestanden voorbereiden voor AI-tools.

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