GitHub Repo na tekst: Zamień całe repozytorium w jeden plik, który LLM może odczytać
Wklej powyżej adres URL GitHub, a na liście pól wyboru pojawi się drzewo plików repozytorium. Zaznacz co ma znaczenie, wygeneruj i masz pojedynczy plik tekstowy: strukturę katalogów na górze, a następnie każdy z nich wybrany plik poniżej, oddzielony nagłówkiem ze ścieżką. To jest format, z którym działa ChatGPT, Claude, Gemini, DeepSeek lub cokolwiek innego, co wkleisz — model widzi kształt projektu i kodu jednocześnie, dzięki czemu może zastanowić się, w jaki sposób elementy pasują do siebie, a nie zgadywanie na podstawie jednego pliku w izolacji.
Nic do klonowania, nic do instalowania, bez rejestracji i to za darmo. Repo jest czytane przez GitHub API prosto z przeglądarki, dzięki czemu nie potrzebujesz projektu na swoim komputerze – czyli moment, w którym patrzysz na kod innej osoby, zależność, którą oceniasz, lub repozytorium, które masz właśnie uzyskano dostęp.
Wklej adres URL wraz z gałęzią lub tagiem
Równina https://github.com/owner/repo form działa i daje domyślną gałąź. Ale
adres URL zawiera więcej i warto go używać. Skopiuj pasek adresu podczas przeglądania
GitHub i wszystko, na co patrzysz, napotyka:
- Oddział —
/tree/developlub gałąź funkcji, dzięki czemu można przekonwertować plik praca w toku, a nie to, co jest na głównym. - Tag lub wydanie —
/tree/v2.1.0. Przydatne, gdy pytasz o wersję, którą faktycznie wysyłasz, lub różnicowanie dwóch wydań w rozmowie poprzez konwersję każdego z nich. - Podkatalog —
/tree/main/packages/api. To jest ten, który oszczędza ty w monorepo. Zacznij od pakietu, na którym Ci zależy, a drzewo, które otrzymasz z powrotem, już jest ograniczonym zakresie, zamiast dziesięciu tysięcy plików, które należy następnie odznaczyć.
Jeśli gałąź lub ścieżka nie istnieje, zostaniesz poinformowany, która część nie została rozwiązana, co zwykle oznacza: literówka w nazwie oddziału lub repozytorium, które jest prywatne dla tokena, którego używasz.
Prywatne repozytoria i miejsce, w którym trafia Twój token
Prywatne repozytoria działają z osobistym tokenem dostępu GitHub. Wygeneruj go u swojego programisty GitHub ustawienia z dostępem do odczytu potrzebnych repozytoriów — szczegółowy token ograniczony do jednego repozytorium wystarczy i warto z tej opcji skorzystać. Wklej go do pola tokenu, a drzewo załaduje plik w ten sam sposób, w jaki robi to publiczny.
Token jest przechowywany w Twojej przeglądarce localStorage więc nie wpisz go ponownie przy każdej wizycie, i
idzie dokładnie w jedno miejsce: api.github.comw nagłówkach żądań, z własnego pliku
maszyna. Nie ma tu żadnego konta, do którego można by to podłączyć, ani naszego zaplecza na ścieżce. Wyczyść pole
i jest usuwany z magazynu. Na współdzielonym komputerze wyczyść je, kiedy skończysz i jeśli kiedykolwiek zechcesz
dla pewności, unieważnij token w GitHub — jest to akcja jednym kliknięciem i kosztuje
nic.
Token pomaga również w publicznych repozytoriach. Nieuwierzytelnione GitHub żądania API są sprawiedliwie ograniczone agresywnie, więc jeśli konwertujesz duże repozytorium lub kilka z rzędu, dodanie tokena jest rozwiązaniem różnica między tym, że działa, a czekaniem godzinę.
Co odznaczyć przed wygenerowaniem
Jest to krok decydujący o tym, czy wynik jest użyteczny. Repozytorium zawiera wiele plików, które są śledzone z dobrych powodów i nadal są bezwartościowe jako kontekst modelu. Przejdź przez drzewo i upuść:
- Sprzedawane zależności —
node_modules,vendor,third_party. Rzadkie w repo, ale niszczycielskie, gdy są obecne. To źródło innych ludzi kod, a on utopi Twój. - Zbuduj wyjście —
dist,build,out,.next,target, raporty zasięgu. Twój własny kod ponownie, transpilowany lub zminimalizowany, więc model czyta wszystko dwa razy i za drugim razem nie uczy się niczego nowego. - Pliki blokujące —
package-lock.json,yarn.lock,poetry.lock,Cargo.lock. Dziesiątki tysięcy tokenów skrótów z prawie nie ma w nich żadnego znaczenia. Zamiast tego zachowaj manifest;package.jsonlubpyproject.tomlto mówi modelowi, na którym stosie się znajdujesz. - Wygenerowany kod — wyjście protobuf i gRPC, generator kodów GraphQL, klienci OpenAPI, migracje baz danych, testy migawkowe. Napisane maszynowo, powtarzalne i popychające model do przodu edytowanie plików, które i tak zostaną zregenerowane.
- Duże pliki danych — osprzęt, zrzuty nasion, przykładowe pliki CSV, zatwierdzone zminimalizowane pakiety lata temu. Jedno z nich może samodzielnie zjeść okno kontekstowe.
Filtrowanie według rozszerzenia to szybka metoda, gdy repozytorium jest duże: zawęź do .ts i
.tsxlub .pyi wyciszyłeś większość hałasu jednym ruchem. Następnie dodaj ponownie
garść plików konfiguracyjnych i dokumentacji wyjaśniających projekt — plik README, główna konfiguracja,
schemat.
Licznik żetonów to część, która ma znaczenie
Wygenerowane dane wyjściowe zawierają liczbę tokenów obliczoną za pomocą metody gpt-tokenizer biblioteka
zamiast szacunkowej wartości podzielonej przez cztery znaki. Sprawdź zanim wkleisz. Wiedząc, czy wysypisko
pasuje do okna kontekstowego, z którego będziesz korzystać, to cała gra — alternatywą jest wklejenie, poczekanie,
i odczytanie błędu długości.
Używaj go do kierowania, a nie tylko do sprawdzania. Jeśli liczba jest dwukrotnie większa niż masz miejsce, wróć do drzewo i odznacz katalog, zamiast obcinać plik na końcu, ponieważ zrzut został odcięty w połowie projektu pozostawia model z połową implementacji i nie ma pojęcia, że jej brakuje. I pamiętaj że duże okno kontekstowe to nie to samo, co dobre: skupiony wybór 8000 tokenów — moduł, jego testy i dwa importowane pliki — zwykle pokonują 200 000 tokenów wszystkiego. Wyślij całość repo, gdy pytanie ma charakter architektoniczny, i wycinek, gdy jest lokalne.
Gdy będzie gotowy, skopiuj tekst do schowka, pobierz go jako plik .txtlub chwyć
wybrane pliki jako ZIP, jeśli wolisz mieć je jako pliki niż jako jeden scalony dokument.
Jak z niego korzystać
Do czego właściwie ludzie go używają
- Wdrożenie do nieznanej bazy kodu. Nowa praca, nowy zespół lub open source projekt, do którego chcesz się przyczynić. Konwertuj, wklej i zapytaj o punkty wejścia, rdzeń abstrakcje i trzy rzeczy, które zaskoczą nowego opiekuna. Zorientujesz się szybciej niż czytając plik README i przeglądając pliki przez jeden dzień.
- Przeglądanie żądania ściągnięcia wraz z otoczeniem. Różnica pokazuje, co się zmieniło, ale nie to, czego dotyka. Przekonwertuj gałąź lub tylko pakiet, którego dotyczy problem, i zapytaj, co jeszcze wywołuje funkcja, która uległa zmianie i jakie założenia przyjmuje na ten temat nowy kod.
- Pisanie dokumentacji, która jest rzeczywiście prawdziwa. Pliki README gniją, ponieważ są napisane raz. Wygeneruj przegląd architektury, podsumowania modułów lub rzeczywistą listę środowiska zmienne z kodu, który istnieje obecnie na stronie głównej.
- Generowanie testów. Dołącz moduł i jeden istniejący plik testowy jako styl odniesienie. Model dopasowuje się do Twojego szkieletu, nazewnictwa i wyposażenia, zamiast wymyślać konwencja, której nikt w zespole nie używa.
- Planowanie migracji i refaktoryzacji. Komponenty klas do haków, JavaScript do TypeScript, jeden ORM do drugiego. Model, który widzi każde miejsce wywołania, tworzy rzeczywistą sekwencję kroki, a nie ogólną listę kontrolną.
- Audyty i due diligence. Ocena repozytorium, które dziedziczysz, nabywasz, lub rozważenie jako zależność. Skonsolidowany plik sprawia, że praktyczne jest pytanie, gdzie są sekrety obsługiwane, jak wyglądają ścieżki błędów i gdzie występują ryzykowne wzorce.
- RAG i osadzania. Sekcje rozdzielone ścieżkami są podzielone na kawałki, więc wydajność spada do sklepu wektorowego z bardzo niewielkim przetwarzaniem wstępnym.
Często zadawane pytania
Jak przekonwertować repozytorium GitHub na plik tekstowy?
Wklej powyższy adres URL repozytorium, a drzewo plików pojawi się jako lista pól wyboru. Odznacz to, czego model nie potrzebuje, wygeneruj, a otrzymasz jeden plik tekstowy: struktura katalogów na górze, następnie każdy wybrany plik pod nagłówkiem ze ścieżką. Nic do klonowania, nic do instalowania, za darmo i bez rejestracji.
Jak przekonwertować prywatne repozytorium GitHub?
Wklej osobisty token dostępu obok adresu URL. Utwórz szczegółowy token ograniczony do tylko tego jednego repozytorium z uprawnieniem do treści tylko do odczytu i krótkim wygaśnięciem — to najmniejszy przywilej, jaki API w tym przypadku zaakceptuje. Token służy do wywoływania GitHub z Twojej przeglądarki i nie jest przechowywany po naszej stronie.
Ile tokenów ma moja baza kodu i czy będzie pasować?
Licznik jest aktualizowany w miarę zaznaczania plików, dzięki czemu możesz zobaczyć liczbę przed wklejeniem czegokolwiek. Ogólnie rzecz biorąc, kod źródłowy zawiera około 3 do 4 znaków na token, więc wybór o rozmiarze 500 KB oznacza blisko 140 000 tokenów. Pasuje to do okna kontekstowego o rozmiarze 200 KB i nie zmieści się w pojedynczej wiadomości czatu w większości interfejsów.
Które pliki powinienem wykluczyć przed przesłaniem repozytorium do LLM?
node_modules, vendor, a najpierw dowolny katalog zależności — zwykle stanowią one przeważającą większość bajtów i nie wnoszą nic do kodu. Następnie pliki blokujące, dane wyjściowe kompilacji, zminimalizowane pakiety, urządzenia testowe i zasoby binarne. W typowym projekcie JavaScript, który przechodzi sam, często usuwa ponad dziewięćdziesiąt procent tokenów.
Jak to się ma do gitingest, repomix lub code2prompt?
To mocne narzędzia, a zasadniczą różnicą jest przepływ pracy, a nie możliwości. Są one uruchamiane najpierw w wierszu poleceń, można je skryptować i stanowią właściwą odpowiedź w ramach CI lub zadania wsadowego. Działa to na karcie przeglądarki z drzewem pól wyboru, dzięki czemu możesz zobaczyć repozytorium, odznaczyć to, czego nie chcesz i obserwować zmianę liczby tokenów – lepiej w przypadku jednorazowego przypadku, gdy wciąż decydujesz, co uwzględnić.
Czy mogę bezpiecznie przejść przez to mój kod?
Repozytoria publiczne są odczytywane przez interfejs API GitHub z Twojej przeglądarki, więc kod jest przesyłany z GitHub do Ciebie. W przypadku informacji poufnych silniejszą opcją jest konwerter folderów lokalnych, które w ogóle nigdy się nie przesyłają. Tak czy inaczej, przed wklejeniem go do modelu przeskanuj swój wybór pod kątem kluczy API i danych uwierzytelniających — jest to krok, który ludzie pomijają.
Foldery lokalne, GitLab i wszystko, co nie jest kodem
Nie wszystko, co chcesz przekonwertować, żyje na GitHub. The folder lokalny na konwerter tekstu bierze katalog bezpośrednio z dysku i łączy go w jeden plik bez przesyłania czegokolwiek — nie połączeń sieciowych, a tego właśnie potrzebujesz w przypadku pracy klienta, niezaangażowanych oddziałów lub projektu, który nigdy nie było repozytorium git. Dla GitLab, GitLab na konwerter tekstu robi to samo pracę przeciwko projektom publicznym, prywatnym i własnym.
Kod to zwykle tylko połowa kontekstu. Specyfikacja jest w pliku PDF, schemat w JSON, dziedzictwo config w formacie XML, przykładowe dane w formacie CSV. Konwertuj je wraz z repo za pomocą PDF do Markdown, JSON do Markdown, XML do Markdown, CSV do Markdownlub HTML do Markdown. Jeśli ktoś wręcza ci archiwum, ZIP do tekstu ściąga czytelność treść z niego i File2Txt bierze którykolwiek z trzynaście obsługiwanych formatów, jeśli wolisz nie wybierać strony. W przypadku dokumentacji, która istnieje tylko na platformie sieć, Web2Txt zgarnia adres URL czysty Markdown, w tym strony renderowane w JavaScript — połącz zeskrobane odniesienie do API ze swoim przekonwertowane repozytorium i asystent kodowania mogą widzieć obie strony jednocześnie.
Na blogu jest więcej głębi: kompletny przewodnik po konwersji repozytoriów GitHub dla LLM, przekształcanie bazy kodu w plik gotowy do LLM, wprowadzanie całego repozytorium do sztucznej inteligencji, i przewodnik po folderze na tekst dla katalogów lokalnych.
Repo2Txt jest zbudowany i utrzymywany przez v12hero, niezależny programista tworzący aplikacje natywne i internetowe dbające o prywatność.