Temel Kullanım
Hızlı Başlangıç
Tüm depoyu paketleyin:
repomixYaygın Kullanım Senaryoları
Belirli Dizinleri Paketleme
repomix path/to/directoryBelirli Dosyaları Dahil Etme
Glob desenleri kullanın:
repomix --include "src/**/*.ts,**/*.md"Dosyaları Dışarıda Bırakma
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:
repomix --split-output 1mbBu seçenek aşağıdaki gibi numaralı dosyalar oluşturur:
repomix-output.1.xmlrepomix-output.2.xmlrepomix-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
# GitHub URL'si kullanarak
repomix --remote https://github.com/user/repo
# Kısa biçim kullanarak
repomix --remote user/repo
# Belirli dal/etiket/commit
repomix --remote user/repo --remote-branch main
repomix --remote user/repo --remote-branch 935b695Dosya Listesi Girişi (stdin)
Tam esneklik için dosya yollarını stdin üzerinden iletin:
# 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
repomix --compress
# Uzak depolarla da kullanabilirsiniz:
repomix --remote yamadashy/repomix --compressGit Entegrasyonu
Yapay zeka analizi için geliştirme bağlamı sağlamak amacıyla Git bilgilerini ekleyin:
# 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-logsBu 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:
repomix --token-count-treeBu seçenek, token sayılarıyla birlikte kod tabanınızın hiyerarşik bir görünümünü gösterir:
🔢 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:
repomix --token-count-tree 1000 # Yalnızca 1000+ token içeren dosya/dizinleri gösterBu ö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:
--includeve--ignoredesenlerini 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)
repomix --style xmlMarkdown
repomix --style markdownJSON
repomix --style jsonDüz Metin
repomix --style plainEk Seçenekler
Yorumları Kaldırma
repomix --remove-commentsSatır Numaralarını Gösterme
repomix --output-show-line-numbersPanoya Kopyalama
repomix --copyGüvenlik Kontrolünü Devre Dışı Bırakma
repomix --no-security-checkYapılandırma
Yapılandırma dosyasını başlatın:
repomix --initAyrıntılı seçenekler için Yapılandırma Rehberi'ne bakın.