3 puan yazan xguru 4 시간 전 | Henüz yorum yok. | WhatsApp'ta paylaş
  • Satırlar yerine kod varlıklarını karşılaştırır ve hangi fonksiyon/metot/sınıfın eklendiğini/değiştirildiğini/silindiğini/taşındığını/adının değiştiğini gösterir
    • "line x~y changed" → "blah fonksiyonu değişti"
  • Herhangi bir Git deposunda ayar gerektirmeden çalışır; Git dışında da rastgele dosya karşılaştırmaları yapılabilir
  • SQLite'ta saklanan varlık önbelleği, deponun dışındaki OS önbellek dizininde tutulur; böylece çalışma ağacını kirletmez
  • Kodu tree-sitter ile parse eder ve değişiklik öncesi/sonrası kodu varlık kimliği → AST yapı hash'i → %80 üzeri token benzerliği sırasıyla eşleştirerek yeniden adlandırma ve taşımaları tespit eder
  • Desteklenen komutlar

    • sem diff: çalışma ağacı/staging/commit/commit aralığı/rastgele iki dosyayı karşılaştırır; düz metin/Markdown/JSON çıktısını destekler
    • sem impact: belirli bir fonksiyondaki değişiklikten etkilenen bağımlı kodu/çağıranları/testleri bulur
    • sem blame: fonksiyon/sınıf/metot için varlık düzeyindeki son değiştireni gösterir
    • sem log: git history üzerinden tek bir varlığın zaman içinde nasıl değiştiğini izler
      • Varlık belirtilmezse deponun hotspot'larını (sık değişenler) / co-change pairs'lerini (tekrar tekrar birlikte değişen çiftler) analiz eder ("birine dokununca bunu da unutmayın")
    • sem entities: mevcut klasör altındaki tüm varlıkları gösterir
    • sem context: ajanın ihtiyaç duyduğu çevre kodu yalnızca token bütçesine uyacak şekilde oluşturur
    • sem setup: çalıştırıldığında mevcut git diff çıktısını varlık düzeyine çevirir ve staged değişikliklerin etki alanını gösteren bir pre-commit hook da kurar
      • macOS ve Linux'ta Claude Code'a kalıcı bağımlılık grafiği ve prompt başlangıcında context hook'u bağlayarak depoyu her seferinde yeniden analiz etme veya kod içinde arama maliyetini azaltır
    • sem mcp: diff, impact, context, entities, blame, log komutlarını MCP aracı olarak sunar; böylece kodlama ajanı tüm dosyalar yerine yalnızca gerekli fonksiyonları ve bağımlılık ilişkilerini sorgular
  • GitHub Action eklendiğinde her PR için değişen fonksiyon/sınıf/metotları tek bir sabit yorumda günceller ve yalnızca biçimlendirme/yorum değişen PR'ları da ayırt eder
  • TypeScript, Python, Go, Rust, Java, Swift, SQL, C/C++ dahil 32 dili ve JSON/YAML/TOML/CSV/Markdown'u destekler
    • Desteklenmeyen dosyalar chunk düzeyinde diff ile işlenir
  • Lisans: MIT OR Apache-2.0

Henüz yorum yok.

Henüz yorum yok.