Penggunaan Dasar
Repomix dirancang untuk menjadi alat yang mudah digunakan dengan antarmuka command-line yang sederhana. Berikut adalah panduan penggunaan dasar.
Perintah Dasar
Untuk mengemas seluruh repositori Anda:
repomixIni akan menghasilkan file repomix-output.xml di direktori saat ini, berisi seluruh repositori Anda dalam format yang ramah AI.
Mengemas Direktori Tertentu
Untuk mengemas direktori tertentu:
repomix path/to/directoryMenggunakan Pola Glob
Untuk mengemas file atau direktori tertentu menggunakan pola glob:
repomix --include "src/**/*.ts,**/*.md"Mengecualikan File atau Direktori
Untuk mengecualikan file atau direktori tertentu:
repomix --ignore "**/*.log,tmp/"Mengemas Repositori Jarak Jauh
Repomix dapat mengemas repositori GitHub publik:
# Menggunakan format singkat
npx repomix --remote yamadashy/repomix
# Menggunakan URL lengkap (mendukung cabang dan jalur tertentu)
npx repomix --remote https://github.com/yamadashy/repomix
npx repomix --remote https://github.com/yamadashy/repomix/tree/main
# Menggunakan URL commit
npx repomix --remote https://github.com/yamadashy/repomix/commit/836abcd7335137228ad77feb28655d85712680f1Input Daftar File (stdin)
Masukkan jalur file melalui stdin untuk fleksibilitas maksimum:
# Menggunakan perintah find
find src -name "*.ts" -type f | repomix --stdin
# Menggunakan git untuk mendapatkan file yang terlacak
git ls-files "*.ts" | repomix --stdin
# Menggunakan grep untuk mencari file yang berisi konten tertentu
grep -l "TODO" **/*.ts | repomix --stdin
# Menggunakan ripgrep untuk mencari file dengan konten tertentu
rg -l "TODO|FIXME" --type ts | repomix --stdin
# Menggunakan ripgrep (rg) untuk mencari file
rg --files --type ts | repomix --stdin
# Menggunakan sharkdp/fd untuk mencari file
fd -e ts | repomix --stdin
# Menggunakan fzf untuk memilih dari semua file
fzf -m | repomix --stdin
# Pemilihan file interaktif dengan fzf
find . -name "*.ts" -type f | fzf -m | repomix --stdin
# Menggunakan ls dengan pola glob
ls src/**/*.ts | repomix --stdin
# Dari file yang berisi jalur file
cat file-list.txt | repomix --stdin
# Input langsung dengan echo
echo -e "src/index.ts\nsrc/utils.ts" | repomix --stdinOpsi --stdin memungkinkan Anda untuk mem-pipe daftar jalur file ke Repomix, memberikan fleksibilitas maksimum dalam memilih file mana yang akan dikemas.
Saat menggunakan --stdin, file yang ditentukan secara efektif ditambahkan ke pola include. Ini berarti perilaku include dan ignore normal masih berlaku - file yang ditentukan melalui stdin masih akan dikecualikan jika cocok dengan pola ignore.
NOTE
Saat menggunakan --stdin, jalur file dapat berupa jalur relatif atau absolut, dan Repomix akan menangani resolusi jalur dan deduplikasi secara otomatis.
Kompresi Kode
repomix --compress
# Anda juga dapat menggunakannya dengan repositori jarak jauh:
repomix --remote yamadashy/repomix --compressIntegrasi Git
Sertakan informasi Git untuk memberikan konteks pengembangan bagi analisis AI:
# Sertakan diff git (perubahan yang belum di-commit)
repomix --include-diffs
# Sertakan log commit git (50 commit terakhir secara default)
repomix --include-logs
# Sertakan jumlah commit tertentu
repomix --include-logs --include-logs-count 10
# Sertakan diff dan log
repomix --include-diffs --include-logsIni menambahkan konteks berharga tentang:
- Perubahan terbaru: Diff Git menunjukkan modifikasi yang belum di-commit
- Pola pengembangan: Log Git mengungkapkan file mana yang biasanya diubah bersamaan
- Riwayat commit: Pesan commit terbaru memberikan wawasan tentang fokus pengembangan
- Hubungan file: Memahami file mana yang dimodifikasi dalam commit yang sama
Optimisasi Jumlah Token
Memahami distribusi token dari basis kode Anda sangat penting untuk mengoptimalkan interaksi AI. Gunakan opsi --token-count-tree untuk memvisualisasikan penggunaan token di seluruh proyek Anda:
repomix --token-count-treeIni menampilkan tampilan hierarkis dari basis kode Anda dengan jumlah token:
🔢 Token Count Tree:
────────────────────
└── src/ (70,925 tokens)
├── cli/ (12,714 tokens)
│ ├── actions/ (7,546 tokens)
│ └── reporters/ (990 tokens)
└── core/ (41,600 tokens)
├── file/ (10,098 tokens)
└── output/ (5,808 tokens)Anda juga dapat menetapkan ambang batas minimum token untuk fokus pada file yang lebih besar:
repomix --token-count-tree 1000 # Hanya tampilkan file/direktori dengan 1000+ tokenIni membantu Anda:
- Mengidentifikasi file yang berat token - yang mungkin melebihi batas konteks AI
- Mengoptimalkan pemilihan file - menggunakan pola
--includedan--ignore - Merencanakan strategi kompresi - menargetkan kontributor terbesar
- Menyeimbangkan konten vs konteks - saat mempersiapkan kode untuk analisis AI
Format Output
XML (Default)
repomix --style xmlMarkdown
repomix --style markdownJSON
repomix --style jsonPlain Text
repomix --style plainOpsi Tambahan
Hapus Komentar
repomix --remove-commentsTampilkan Nomor Baris
repomix --output-show-line-numbersSalin ke Clipboard
repomix --copyNonaktifkan Pemeriksaan Keamanan
repomix --no-security-checkKonfigurasi
Untuk menginisialisasi file konfigurasi baru (repomix.config.json):
repomix --initUntuk informasi lebih lanjut tentang konfigurasi, lihat Panduan Konfigurasi.
Penggunaan Docker
Anda juga dapat menjalankan Repomix menggunakan Docker:
docker run -v .:/app -it --rm ghcr.io/yamadashy/repomixUntuk mengemas direktori tertentu:
docker run -v .:/app -it --rm ghcr.io/yamadashy/repomix path/to/directoryMemproses repositori jarak jauh dan output ke direktori output:
docker run -v ./output:/app -it --rm ghcr.io/yamadashy/repomix --remote https://github.com/yamadashy/repomixLangkah Selanjutnya
Setelah Anda menghasilkan file yang dikemas, Anda dapat menggunakannya dengan alat AI Generatif seperti Claude, ChatGPT, dan Gemini.
Untuk informasi lebih lanjut tentang opsi baris perintah, lihat Opsi Baris Perintah.