Pemrosesan Repositori GitHub
Penggunaan Dasar
Memproses repositori publik:
# Menggunakan URL lengkap
repomix --remote https://github.com/user/repo
# Menggunakan singkatan GitHub
repomix --remote user/repoAnda juga dapat memberikan singkatan owner/repo secara langsung, tanpa --remote:
repomix yamadashy/repomixKarena owner/repo juga terlihat seperti path lokal relatif, Repomix hanya memperlakukannya sebagai repositori remote ketika tidak ada file atau direktori lokal dengan nama tersebut dan repositori dapat dijangkau di GitHub. Path lokal yang cocok selalu diutamakan; untuk memaksa penanganan lokal pada path berbentuk owner/repo, awali dengan ./ (misalnya, repomix ./owner/repo). Jika argumen cocok dengan pola tetapi repositori tidak dapat dijangkau (misalnya, repositori privat atau salah ketik), Repomix kembali menanganinya sebagai path lokal.
Pemilihan Branch dan Commit
# Branch tertentu
repomix --remote user/repo --remote-branch main
# Tag
repomix --remote user/repo --remote-branch v1.0.0
# Hash commit
repomix --remote user/repo --remote-branch 935b695Persyaratan
- Git harus terpasang
- Koneksi internet
- Akses baca ke repositori
Kontrol Output
# Lokasi output kustom
repomix --remote user/repo -o custom-output.xml
# Dengan format XML
repomix --remote user/repo --style xml
# Hapus komentar
repomix --remote user/repo --remove-commentsPenggunaan Docker
# Memproses dan menghasilkan output ke direktori saat ini
docker run -v .:/app -it --rm ghcr.io/yamadashy/repomix \
--remote user/repo
# Menghasilkan output ke direktori tertentu
docker run -v ./output:/app -it --rm ghcr.io/yamadashy/repomix \
--remote user/repoKeamanan
Demi keamanan, file konfigurasi (repomix.config.*) di repositori remote tidak dimuat secara default. Ini mencegah repositori yang tidak tepercaya menjalankan kode melalui file konfigurasi seperti repomix.config.ts.
Konfigurasi global dan opsi CLI Anda tetap diterapkan.
Untuk mempercayai konfigurasi repositori remote:
# Menggunakan flag CLI
repomix --remote user/repo --remote-trust-config
# Menggunakan variabel lingkungan
REPOMIX_REMOTE_TRUST_CONFIG=true repomix --remote user/repoWARNING
--remote-trust-config memberikan konfigurasi repositori remote tingkat kepercayaan yang sama dengan mesin Anda sendiri. Konfigurasi yang dipercaya dapat menjalankan perintah apa pun (melalui input.processors) dan membaca file lokal di luar repositori (misalnya melalui output.instructionFilePath atau pola include yang menggunakan ../). Gunakan opsi ini hanya untuk repositori yang sepenuhnya Anda percayai dan telah Anda periksa, dengan tingkat kehati-hatian yang sama seperti sebelum menjalankan npm install atau Makefile dari sumber yang tidak dikenal.
Prompt konfirmasi
Saat Anda mempercayai konfigurasi repositori di terminal interaktif, repomix menampilkan konfigurasi yang akan dijalankan dan meminta Anda mengonfirmasi sebelum memuatnya:
- Ya, sekali ini saja: hanya mempercayai proses ini.
- Ya, dan jangan tanya lagi untuk repositori ini: diingat hingga file sementara Anda dihapus, dan hanya selama file konfigurasi tersebut tidak berubah (file konfigurasi yang diedit akan meminta konfirmasi lagi). Perlu diperhatikan, ini hanya mencakup file konfigurasi itu sendiri: konfigurasi
.ts/.jsdapat mengimpor file lain, dan file tersebut tidak termasuk dalam pemeriksaan ini. - Tidak: batalkan tanpa menjalankan konfigurasi.
Prompt ini dilewati saat Anda menyertakan --force, di shell non-interaktif seperti CI (konfigurasi tetap dipercaya seperti sebelumnya, sehingga otomatisasi yang ada tetap berjalan), atau setelah Anda memilih untuk selalu mempercayai repositori tersebut.
Untuk model kepercayaan lengkap — apa yang dapat dilakukan konfigurasi tepercaya, bagaimana konfigurasi yang ditampilkan dilindungi dari manipulasi, dan di mana keputusan "jangan tanya lagi" disimpan — lihat Keamanan.
Saat menggunakan --config dengan --remote, path absolut diperlukan:
repomix --remote user/repo --config /home/user/repomix.config.jsonMasalah Umum
Masalah Akses
- Pastikan repositori bersifat publik
- Periksa instalasi Git
- Verifikasi koneksi internet
Repositori Besar
- Gunakan
--includeuntuk memilih path tertentu - Aktifkan
--remove-comments - Proses branch secara terpisah
Sumber Daya Terkait
- Opsi Baris Perintah - Referensi CLI lengkap termasuk opsi
--remote - Konfigurasi - Atur opsi default untuk pemrosesan remote
- Kompresi Kode - Kurangi ukuran output untuk repositori besar
- Keamanan - Bagaimana Repomix menangani deteksi data sensitif