Skip to content

Penggunaan Dasar ​

Mulai Cepat ​

Kemas seluruh repositori Anda:

bash
repomix

Kasus Penggunaan Umum ​

Mengemas Direktori Tertentu ​

bash
repomix path/to/directory

Menyertakan File Tertentu ​

Gunakan pola glob:

bash
repomix --include "src/**/*.ts,**/*.md"

Mengecualikan File ​

bash
repomix --ignore "**/*.log,tmp/"

Membagi Output Menjadi Beberapa File ​

Saat bekerja dengan basis kode besar, output yang dikemas dapat melebihi batas ukuran file yang diberlakukan oleh beberapa alat AI (misalnya, batas 1MB Google AI Studio). Gunakan --split-output untuk membagi output menjadi beberapa file secara otomatis:

bash
repomix --split-output 1mb

Ini menghasilkan file bernomor seperti:

  • repomix-output.1.xml
  • repomix-output.2.xml
  • repomix-output.3.xml

Ukuran dapat ditentukan dengan satuan: 500kb, 1mb, 2mb, 1.5mb, dll. Nilai desimal didukung.

NOTE

File dikelompokkan berdasarkan direktori tingkat atas untuk mempertahankan konteks. Satu file atau direktori tidak akan pernah dibagi ke beberapa file output.

Repositori Remote ​

bash
# Menggunakan URL GitHub
repomix --remote https://github.com/user/repo

# Menggunakan singkatan
repomix --remote user/repo

# Menggunakan singkatan tanpa --remote (terdeteksi otomatis)
repomix user/repo

# Branch/tag/commit tertentu
repomix --remote user/repo --remote-branch main
repomix --remote user/repo --remote-branch 935b695

Input Daftar File (stdin) ​

Berikan path file melalui stdin untuk fleksibilitas maksimal:

bash
# Menggunakan perintah find
find src -name "*.ts" -type f | repomix --stdin

# Menggunakan git untuk mendapatkan file yang dilacak
git ls-files "*.ts" | repomix --stdin

# Menggunakan ripgrep (rg) untuk menemukan file
rg --files --type ts | repomix --stdin

# Menggunakan grep untuk menemukan file yang berisi konten tertentu
grep -l "TODO" **/*.ts | repomix --stdin

# Menggunakan ripgrep untuk menemukan file dengan konten tertentu
rg -l "TODO|FIXME" --type ts | repomix --stdin

# Menggunakan sharkdp/fd untuk menemukan 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 path file
cat file-list.txt | repomix --stdin

# Input langsung dengan echo
echo -e "src/index.ts\nsrc/utils.ts" | repomix --stdin

Opsi --stdin memungkinkan Anda menyalurkan daftar path file ke Repomix, memberi Anda fleksibilitas maksimal 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 tetap berlaku: file yang ditentukan melalui stdin akan tetap dikecualikan jika cocok dengan pola ignore.

NOTE

Saat menggunakan --stdin, path file dapat berupa relatif atau absolut, dan Repomix akan secara otomatis menangani resolusi path dan deduplikasi.

Kompresi Kode ​

Mengurangi jumlah token sambil mempertahankan struktur kode. Lihat panduan Kompresi Kode untuk detailnya.

bash
repomix --compress

# Anda juga dapat menggunakannya dengan repositori remote:
repomix --remote yamadashy/repomix --compress

Integrasi Git ​

Sertakan informasi Git untuk memberikan konteks pengembangan bagi analisis AI:

bash
# Sertakan git diff (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-logs

Ini menambahkan konteks berharga tentang:

  • Perubahan terbaru: Git diff menunjukkan modifikasi yang belum di-commit
  • Pola pengembangan: Git log mengungkapkan file mana yang biasanya diubah bersama
  • Riwayat commit: Pesan commit terbaru memberikan wawasan tentang fokus pengembangan
  • Hubungan file: Memahami file mana yang dimodifikasi dalam commit yang sama

Optimasi Jumlah Token ​

Memahami distribusi token basis kode Anda sangat penting untuk mengoptimalkan interaksi AI. Gunakan opsi --token-count-tree untuk memvisualisasikan penggunaan token di seluruh proyek Anda:

bash
repomix --token-count-tree

Ini menampilkan tampilan hierarkis 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 token minimum untuk fokus pada file yang lebih besar:

bash
repomix --token-count-tree 1000  # Hanya tampilkan file/direktori dengan 1000+ token

Ini membantu Anda:

  • Mengidentifikasi file dengan banyak token yang mungkin melebihi batas konteks AI
  • Mengoptimalkan pemilihan file menggunakan pola --include dan --ignore
  • Merencanakan strategi kompresi dengan menargetkan kontributor terbesar
  • Menyeimbangkan konten vs. konteks saat menyiapkan kode untuk analisis AI

Format Output ​

XML (Default) ​

bash
repomix --style xml

Markdown ​

bash
repomix --style markdown

JSON ​

bash
repomix --style json

Teks Biasa ​

bash
repomix --style plain

Opsi Tambahan ​

Hapus Komentar ​

Lihat Penghapusan Komentar untuk bahasa yang didukung dan detailnya.

bash
repomix --remove-comments

Tampilkan Nomor Baris ​

bash
repomix --output-show-line-numbers

Salin ke Clipboard ​

bash
repomix --copy

Nonaktifkan Pemeriksaan Keamanan ​

Lihat Keamanan untuk detail tentang apa yang dideteksi Repomix.

bash
repomix --no-security-check

Konfigurasi ​

Inisialisasi file konfigurasi:

bash
repomix --init

Lihat Panduan Konfigurasi untuk opsi terperinci.

Sumber Daya Terkait ​

Released under the MIT License.