Skip to content

Temel Kullanım ​

Hızlı Başlangıç ​

Tüm depoyu paketleyin:

bash
repomix

Yaygın Kullanım Senaryoları ​

Belirli Dizinleri Paketleme ​

bash
repomix path/to/directory

Belirli Dosyaları Dahil Etme ​

Glob desenleri kullanın:

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

Dosyaları Dışarıda Bırakma ​

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

Çıktıyı Birden Fazla Dosyaya Bölme ​

Büyük kod tabanlarıyla çalışırken, paketlenmiş çıktı bazı yapay zeka araçlarının dosya boyutu limitlerini aşabilir (örneğin Google AI Studio'nun 1MB limiti). Çıktıyı otomatik olarak birden fazla dosyaya bölmek için --split-output seçeneğini kullanın:

bash
repomix --split-output 1mb

Bu seçenek aşağıdaki gibi numaralı dosyalar oluşturur:

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

Boyut şu birimlerle belirtilebilir: 500kb, 1mb, 2mb, 1.5mb vb. Ondalık değerler desteklenir.

NOTE

Dosyalar bağlamı korumak için üst düzey dizine göre gruplandırılır. Tek bir dosya veya dizin, birden fazla çıktı dosyasına bölünmez.

Uzak Depolar ​

bash
# GitHub URL'si kullanarak
repomix --remote https://github.com/user/repo

# Kısa biçim kullanarak
repomix --remote user/repo

# --remote olmadan kısayol kullanımı (otomatik algılanır)
repomix user/repo

# Belirli dal/etiket/commit
repomix --remote user/repo --remote-branch main
repomix --remote user/repo --remote-branch 935b695

Dosya Listesi Girişi (stdin) ​

Tam esneklik için dosya yollarını stdin üzerinden iletin:

bash
# find komutu kullanarak
find src -name "*.ts" -type f | repomix --stdin

# git ile izlenen dosyaları almak için
git ls-files "*.ts" | repomix --stdin

# ripgrep (rg) ile dosya bulmak için
rg --files --type ts | repomix --stdin

# Belirli içeriği olan dosyaları grep ile bulmak için
grep -l "TODO" **/*.ts | repomix --stdin

# ripgrep ile belirli içerikli dosyaları bulmak için
rg -l "TODO|FIXME" --type ts | repomix --stdin

# sharkdp/fd ile dosya bulmak için
fd -e ts | repomix --stdin

# fzf ile tüm dosyalar arasından seçim yapmak için
fzf -m | repomix --stdin

# fzf ile etkileşimli dosya seçimi
find . -name "*.ts" -type f | fzf -m | repomix --stdin

# ls ile glob desenleri kullanarak
ls src/**/*.ts | repomix --stdin

# Dosya yollarını içeren bir dosyadan
cat file-list.txt | repomix --stdin

# echo ile doğrudan girdi
echo -e "src/index.ts\nsrc/utils.ts" | repomix --stdin

--stdin seçeneği, Repomix'e bir dosya yolları listesi iletmenize olanak tanır ve hangi dosyaların paketleneceğini seçmede tam esneklik sağlar.

--stdin kullanıldığında, belirtilen dosyalar include desenlerine eklenir. Bu, normal dahil etme ve dışarıda bırakma davranışının hâlâ geçerli olduğu anlamına gelir; stdin aracılığıyla belirtilen dosyalar, ignore desenleriyle eşleşiyorsa yine de dışarıda bırakılır.

NOTE

--stdin kullanıldığında dosya yolları göreceli veya mutlak olabilir; Repomix yol çözümlemesi ve tekilleştirmeyi otomatik olarak gerçekleştirir.

Kod Sıkıştırma ​

Kod yapısını koruyarak token sayısını azaltın. Ayrıntılar için Kod Sıkıştırma kılavuzuna bakın.

bash
repomix --compress

# Uzak depolarla da kullanabilirsiniz:
repomix --remote yamadashy/repomix --compress

Git Entegrasyonu ​

Yapay zeka analizi için geliştirme bağlamı sağlamak amacıyla Git bilgilerini ekleyin:

bash
# Git diff'lerini ekle (kaydedilmemiş değişiklikler)
repomix --include-diffs

# Git commit loglarını ekle (varsayılan olarak son 50 commit)
repomix --include-logs

# Belirli sayıda commit ekle
repomix --include-logs --include-logs-count 10

# Hem diff'leri hem de logları ekle
repomix --include-diffs --include-logs

Bu seçenek şu değerli bağlamları ekler:

  • Son değişiklikler: Git diff'leri kaydedilmemiş değişiklikleri gösterir
  • Geliştirme desenleri: Git logları hangi dosyaların genellikle birlikte değiştirildiğini ortaya koyar
  • Commit geçmişi: Son commit mesajları geliştirme odağına ilişkin bilgi sağlar
  • Dosya ilişkileri: Hangi dosyaların aynı commit'lerde değiştirildiğini anlamayı kolaylaştırır

Token Sayısı Optimizasyonu ​

Yapay zeka etkileşimlerini optimize etmek için kod tabanınızın token dağılımını anlamak çok önemlidir. Projenizde token kullanımını görselleştirmek için --token-count-tree seçeneğini kullanın:

bash
repomix --token-count-tree

Bu seçenek, token sayılarıyla birlikte kod tabanınızın hiyerarşik bir görünümünü gösterir:

text
🔢 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)

Daha büyük dosyalara odaklanmak için minimum token eşiği de belirleyebilirsiniz:

bash
repomix --token-count-tree 1000  # Yalnızca 1000+ token içeren dosya/dizinleri göster

Bu özellik şunlara yardımcı olur:

  • Token açısından ağır dosyaları tespit etme: Yapay zeka bağlam limitlerini aşabilecek dosyaları bulun
  • Dosya seçimini optimize etme: --include ve --ignore desenlerini kullanarak seçimi daraltın
  • Sıkıştırma stratejileri planlama: En büyük katkı sağlayan dosyaları hedefleyin
  • İçerik ve bağlam dengesini kurma: Yapay zeka analizi için kod hazırlarken optimum denge sağlayın

Çıktı Formatları ​

XML (Varsayılan) ​

bash
repomix --style xml

Markdown ​

bash
repomix --style markdown

JSON ​

bash
repomix --style json

Düz Metin ​

bash
repomix --style plain

Ek Seçenekler ​

Yorumları Kaldırma ​

Desteklenen diller ve ayrıntılar için Yorum Kaldırma sayfasına bakın.

bash
repomix --remove-comments

Satır Numaralarını Gösterme ​

bash
repomix --output-show-line-numbers

Panoya Kopyalama ​

bash
repomix --copy

Güvenlik Kontrolünü Devre Dışı Bırakma ​

Repomix'in neleri tespit ettiğine dair ayrıntılar için Güvenlik sayfasına bakın.

bash
repomix --no-security-check

Yapılandırma ​

Yapılandırma dosyasını başlatın:

bash
repomix --init

Ayrıntılı seçenekler için Yapılandırma Rehberi'ne bakın.

İlgili Kaynaklar ​

Released under the MIT License.