GitHub Repo kepada Teks: Tukar Seluruh Repositori Menjadi Satu Fail LLM Boleh Dibaca
Tampalkan URL GitHub di atas dan anda mendapat pepohon fail repositori dalam senarai kotak pilihan. Tandakan apa penting, jana dan anda mempunyai satu fail teks: struktur direktori di bahagian atas, kemudian setiap satu fail yang dipilih di bawahnya, dipisahkan oleh pengepala dengan laluannya. Itulah format yang sesuai dengannya ChatGPT, Claude, Gemini, DeepSeek atau apa-apa sahaja yang anda tampalkan — model melihat bentuk projek dan kod pada masa yang sama, jadi ia boleh membuat alasan tentang cara kepingan itu sesuai bersama dan bukannya meneka dari satu fail secara berasingan.
Tiada apa-apa untuk diklon, tiada apa-apa untuk dipasang, tiada pendaftaran, dan ianya percuma. Repo dibaca melalui GitHub API terus dari penyemak imbas anda, jadi anda tidak memerlukan projek pada mesin anda sama sekali — iaitu titik apabila anda melihat kod orang lain, pergantungan yang anda nilai, atau repo yang anda miliki baru diberi akses.
Tampalkan URL, Termasuk Cawangan atau Teg
dataran https://github.com/owner/repo borang berfungsi dan memberi anda cawangan lalai. Tetapi
URL membawa lebih daripada itu, dan ia berbaloi untuk digunakan. Salin bar alamat semasa anda menyemak imbas
GitHub dan apa sahaja yang anda lihat terjumpa:
- Sebuah cawangan —
/tree/developatau cawangan ciri, supaya anda boleh menukar kerja sedang berjalan dan bukannya perkara utama. - Tag atau keluaran —
/tree/v2.1.0. Berguna apabila anda bertanya tentang versi yang sebenarnya anda hantar, atau membezakan dua keluaran dalam perbualan dengan menukar setiap satu. - Sebuah subdirektori —
/tree/main/packages/api. Ini yang menjimatkan anda dalam monorepo. Mulakan pada pakej yang anda sayangi dan pokok yang anda dapat semula sudah ada scoped, daripada sepuluh ribu fail anda perlu nyahtanda.
Jika cawangan atau laluan tidak wujud, anda akan diberitahu bahagian mana yang tidak diselesaikan, yang biasanya a kesilapan menaip dalam nama cawangan atau repo yang peribadi kepada token yang anda gunakan.
Repositori Peribadi, dan Ke Mana Token Anda Pergi
Repo peribadi berfungsi dengan GitHub token akses peribadi. Hasilkan satu dalam pembangun GitHub anda tetapan dengan akses baca ke repositori yang anda perlukan - token halus yang merangkumi satu repo sudah cukup, dan ia adalah pilihan yang patut diambil. Tampalkannya ke dalam medan token dan pokok itu memuatkan cara yang sama yang dilakukan oleh orang awam.
Token disimpan dalam pelayar anda localStorage supaya anda tidak menaip semula setiap lawatan, dan
ia pergi ke satu tempat: api.github.com, dalam pengepala permintaan, daripada anda sendiri
mesin. Tiada akaun di sini untuk dilampirkan dan tiada bahagian belakang kami dalam laluan. Kosongkan padang
dan ia dialih keluar daripada storan. Pada mesin kongsi, kosongkannya apabila anda selesai dan jika anda mahu
kepastian, batalkan token dalam GitHub selepas itu — itu adalah tindakan satu klik dan ia membebankan anda
tiada apa.
Token juga membantu pada repo awam. Permintaan API GitHub yang tidak disahkan adalah dihadkan secara adil secara agresif, jadi jika anda menukar repositori besar, atau beberapa berturut-turut, menambah token ialah perbezaan antara ia berfungsi dan anda menunggu sejam.
Perkara yang Perlu Dihapuskan Sebelum Anda Menjana
Ini adalah langkah yang menentukan sama ada output berguna. Repositori mengandungi banyak fail yang dikesan atas sebab yang baik dan masih tidak bernilai sebagai konteks model. Pergi melalui pokok dan jatuhkan:
- Kebergantungan yang diniagakan —
node_modules,vendor,third_party. Jarang dalam repo tetapi memusnahkan apabila ada. Ia adalah sumber orang lain kod, dan ia akan menenggelamkan kod anda. - Bina output —
dist,build,out,.next,target, laporan liputan. Kod anda sendiri sekali lagi, ditranspilkan atau diperkecilkan, jadi model membaca segala-galanya dua kali dan tidak mempelajari apa-apa yang baru untuk kali kedua. - Fail kunci —
package-lock.json,yarn.lock,poetry.lock,Cargo.lock. Berpuluh ribu token cincang dengan hampir tiada makna di dalamnya. Simpan manifes sebaliknya;package.jsonataupyproject.tomlialah yang memberitahu model tindanan yang anda gunakan. - Kod yang dihasilkan — output protobuf dan gRPC, codegen GraphQL, klien OpenAPI, migrasi pangkalan data, ujian syot kilat. Ditulis mesin, berulang, dan ia menolak model ke arah mengedit fail yang dapat dijana semula.
- Fail data besar — lekapan, pembuangan biji benih, sampel CSV, himpunan kecil yang dilakukan tahun lalu. Salah satu daripada ini boleh memakan tetingkap konteks dengan sendirinya.
Penapisan mengikut sambungan ialah laluan pantas apabila repo besar: sempit kepada .ts dan
.tsx, atau .py, dan anda telah mengurangkan kebanyakan bunyi dalam satu pergerakan. Kemudian tambah semula
segelintir fail konfigurasi dan dokumentasi yang menerangkan projek — README, konfigurasi utama,
skema.
Kaunter Token Adalah Bahagian Yang Penting
Output yang dijana datang dengan kiraan token, dikira dengan gpt-tokenizer perpustakaan
bukannya anggaran aksara-dibahagikan-dengan-empat. Semak ia sebelum anda menampal. Mengetahui sama ada tempat pembuangan sampah
sesuai dengan tetingkap konteks yang akan anda gunakan ialah keseluruhan permainan — alternatifnya ialah menampal, menunggu,
dan membaca ralat panjang.
Gunakannya untuk mengemudi, bukan hanya untuk memeriksa. Jika kiraan adalah dua kali ganda daripada apa yang anda ada, kembali ke pokok dan nyahtanda direktori daripada memotong fail pada penghujungnya, kerana tempat pembuangan terputus pertengahan projek meninggalkan model dengan separuh pelaksanaan dan tidak tahu ia hilang. Dan ingatlah bahawa tetingkap konteks yang besar tidak sama dengan yang bagus: pemilihan 8,000 token yang difokuskan — modul, ujiannya, dan dua fail yang diimport - biasanya mengalahkan 200,000 token segala-galanya. Hantar keseluruhan repo apabila soalan itu adalah seni bina, dan sepotong apabila soalan itu tempatan.
Apabila sudah sedia, salin teks ke papan keratan, muat turunnya sebagai a .txt, atau ambil
fail yang dipilih sebagai ZIP jika anda lebih suka menyimpannya sebagai fail daripada sebagai satu dokumen yang digabungkan.
Cara Menggunakannya
Untuk Apa Orang Sebenarnya Menggunakannya
- Bersiap sedia ke pangkalan kod yang tidak dikenali. Kerja baharu, pasukan baharu atau sumber terbuka projek yang anda ingin sumbangkan. Tukarkannya, tampalkannya, dan minta titik masuk, inti abstraksi, dan tiga perkara yang akan mengejutkan penyelenggara baharu. Anda akan berorientasikan lebih pantas daripada membaca README dan mengklik fail selama sehari.
- Menyemak permintaan tarik dengan persekitarannya. Perbezaan menunjukkan apa yang berubah tetapi bukan apa yang disentuh. Tukar cawangan, atau hanya pakej yang terjejas, dan tanya apa lagi panggilan fungsi yang berubah dan andaian yang dibuat oleh kod baharu mengenainya.
- Menulis dokumentasi yang sebenarnya benar. README reput kerana ia ditulis sekali. Hasilkan gambaran keseluruhan seni bina, ringkasan modul atau senarai persekitaran sebenar pembolehubah daripada kod seperti yang wujud pada utama hari ini.
- Menjana ujian. Sertakan modul ditambah satu fail ujian sedia ada sebagai gaya rujukan. Model ini sepadan dengan rangka kerja anda, penamaan anda dan lekapan anda dan bukannya mencipta konvensyen yang tidak digunakan oleh sesiapa dalam pasukan.
- Perancangan migrasi dan refactor. Komponen kelas ke cangkuk, JavaScript ke TypeScript, satu ORM kepada yang lain. Model yang boleh melihat setiap tapak panggilan menghasilkan urutan sebenar langkah dan bukannya senarai semak generik.
- Audit dan usaha wajar. Menilai repositori yang anda warisi, perolehi, atau menganggap sebagai tanggungan. Fail yang disatukan menjadikannya praktikal untuk bertanya di mana rahsia dikendalikan, rupa laluan ralat, dan tempat corak berisiko hidup.
- RAG dan benam. Bahagian yang dibatasi laluan berpotongan dengan bersih, jadi output menurun ke dalam stor vektor dengan prapemprosesan yang sangat sedikit.
Soalan Lazim
Bagaimanakah saya boleh menukar repo GitHub kepada fail teks?
Tampalkan URL repositori di atas dan pepohon fail muncul sebagai senarai kotak semak. Nyahtanda apa yang model tidak perlukan, jana dan anda mendapat satu fail teks: struktur direktori di bahagian atas, kemudian setiap fail yang dipilih di bawah pengepala dengan laluannya. Tiada apa-apa untuk diklon, tiada apa-apa untuk dipasang, percuma dan tiada pendaftaran.
Bagaimanakah saya boleh menukar repositori GitHub peribadi?
Tampalkan token akses peribadi bersama URL. Cipta token terperinci yang diskop kepada satu repositori sahaja dengan kebenaran Kandungan baca sahaja dan tamat tempoh yang singkat — itulah keistimewaan paling rendah yang akan diterima oleh API untuk ini. Token digunakan untuk memanggil GitHub daripada penyemak imbas anda dan tidak disimpan di sebelah kami.
Berapa banyak token adalah pangkalan kod saya, dan adakah ia sesuai?
Kaunter mengemas kini semasa anda menanda fail, supaya anda boleh melihat nombor sebelum anda menampal apa-apa. Sebagai panduan kasar, kod sumber berjalan sekitar 3 hingga 4 aksara setiap token, jadi pilihan 500 KB tiba berhampiran 140,000 token. Itu sesuai dengan tetingkap konteks 200K dan tidak akan dimuatkan ke dalam satu mesej sembang pada kebanyakan antara muka.
Fail manakah yang harus saya kecualikan sebelum memberi repo kepada LLM?
node_modules, vendor, dan mana-mana direktori pergantungan terlebih dahulu — ia biasanya merupakan majoriti besar bait dan tidak menyumbang apa-apa tentang kod anda. Kemudian kunci fail, bina output, himpunan kecil, lekapan ujian dan aset binari. Pada projek JavaScript biasa yang berlalu sahaja sering mengalih keluar lebih sembilan puluh peratus token.
Bagaimanakah ini dibandingkan dengan gitingest, repomix, atau code2prompt?
Itu adalah alat yang kuat dan perbezaan yang jujur adalah aliran kerja, bukan keupayaan. Mereka adalah baris arahan pertama, boleh skrip, dan jawapan yang betul dalam CI atau kerja kelompok. Ini berjalan dalam tab penyemak imbas dengan pepohon kotak semak, supaya anda boleh melihat repo, nyahpilih perkara yang anda tidak mahu dan menonton kiraan token bergerak — lebih baik untuk kes sekali sahaja di mana anda masih memutuskan perkara yang perlu disertakan.
Adakah selamat untuk meletakkan kod saya melalui ini?
Repositori awam dibaca melalui GitHub API daripada penyemak imbas anda, jadi kod itu pergi dari GitHub kepada anda. Untuk apa-apa rahsia pilihan yang lebih kuat ialah penukar folder tempatan, yang tidak pernah dimuat naik sama sekali. Sama ada cara, imbas pilihan anda untuk kunci API dan bukti kelayakan sebelum menampalnya ke dalam model — itulah langkah yang orang langkau.
Folder Tempatan, GitLab, dan Semua yang Bukan Kod
Bukan semua yang anda mahu tukar nyawa pada GitHub. The folder tempatan kepada penukar teks mengambil a direktori terus dari cakera anda dan menggabungkannya ke dalam satu fail tanpa memuat naik apa-apa — tidak panggilan rangkaian sama sekali, iaitu perkara yang anda inginkan untuk kerja pelanggan, cawangan tanpa komitmen atau projek yang tidak pernah menjadi git repo. Untuk GitLab, yang GitLab kepada penukar teks melakukan perkara yang sama pekerjaan terhadap projek awam, swasta dan yang dihoskan sendiri.
Kod biasanya hanya separuh daripada konteks juga. Spesifikasi dalam PDF, skema dalam JSON, warisan config dalam XML, data sampel dalam CSV. Tukar mereka bersama repo anda dengan PDF kepada Markdown, JSON kepada Markdown, XML kepada Markdown, CSV kepada Markdown, atau HTML kepada Markdown. Jika seseorang menyerahkan arkib kepada anda, ZIP ke teks menarik yang boleh dibaca kandungan daripadanya, dan File2Txt mengambil mana-mana tiga belas format yang disokong jika anda lebih suka tidak memilih halaman. Untuk dokumentasi yang hanya wujud pada web, Web2Txt mengikis URL ke dalam bersihkan Markdown, termasuk halaman yang diberikan JavaScript — pasangkan rujukan API yang dikikis dengan anda repo yang ditukar dan pembantu pengekodan boleh melihat kedua-dua belah sekaligus.
Terdapat lebih mendalam di blog: panduan lengkap untuk menukar GitHub repositori untuk LLM, menukar pangkalan kod menjadi fail sedia LLM, menyuap keseluruhan repositori ke dalam AI, dan folder ke panduan teks untuk direktori tempatan.
Repo2Txt dibina dan diselenggara oleh v12hero, pembangun bebas membina apl asli dan web yang mengutamakan privasi.