Kod Sıkıştırma
Kod sıkıştırma, uygulama ayrıntılarını kaldırırken temel kod yapılarını akıllıca çıkaran güçlü bir özelliktir. Bu özellik, kod tabanınız hakkındaki önemli yapısal bilgileri korurken token sayısını azaltmak için özellikle kullanışlıdır.
NOTE
Bu, kullanıcı geri bildirimleri ve gerçek dünya kullanımına göre aktif olarak geliştireceğimiz deneysel bir özelliktir.
Temel Kullanım
--compress bayrağını kullanarak kod sıkıştırmayı etkinleştirin:
repomix --compressUzak depolarla da kullanabilirsiniz:
repomix --remote user/repo --compressNasıl Çalışır
Sıkıştırma algoritması, uygulama ayrıntılarını kaldırırken temel yapısal öğeleri çıkarmak ve korumak için tree-sitter ayrıştırmasını kullanarak kodu işler.
Sıkıştırma şunları korur:
- Fonksiyon ve metod imzaları
- Arayüz ve tür tanımları
- Sınıf yapıları ve özellikleri
- Önemli yapısal öğeler
Şunları kaldırır:
- Fonksiyon ve metod uygulamaları
- Döngü ve koşullu mantık ayrıntıları
- İç değişken bildirimleri
- Uygulamaya özgü kodlar
Örnek
Orijinal TypeScript kodu:
import { ShoppingItem } from './shopping-item';
/**
* Calculate the total price of shopping items
*/
const calculateTotal = (
items: ShoppingItem[]
) => {
let total = 0;
for (const item of items) {
total += item.price * item.quantity;
}
return total;
}
// Shopping item interface
interface Item {
name: string;
price: number;
quantity: number;
}Sıkıştırma sonrası:
import { ShoppingItem } from './shopping-item';
⋮----
/**
* Calculate the total price of shopping items
*/
const calculateTotal = (
items: ShoppingItem[]
) => {
⋮----
// Shopping item interface
interface Item {
name: string;
price: number;
quantity: number;
}Yapılandırma
Sıkıştırmayı yapılandırma dosyasında etkinleştirebilirsiniz:
{
"output": {
"compress": true
}
}Kullanım Senaryoları
Kod sıkıştırma özellikle şu durumlarda işe yarar:
- Kod yapısı ve mimarisini analiz ederken
- LLM işleme için token sayısını azaltırken
- Üst düzey dokümantasyon oluştururken
- Kod kalıplarını ve imzaları anlamaya çalışırken
- API ve arayüz tasarımlarını paylaşırken
İlgili Seçenekler
Sıkıştırmayı diğer seçeneklerle birleştirebilirsiniz:
--remove-comments: Kod yorumlarını kaldırır--remove-empty-lines: Boş satırları kaldırır--output-show-line-numbers: Çıktıya satır numaraları ekler