sem - Git üzerinde fonksiyon/sınıf düzeyinde değişiklik takibi ekleyen semantik sürüm yönetim aracı
(github.com/Ataraxy-Labs)- 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" → "
blahfonksiyonu değişti"
- "line x~y changed" → "
- 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ı desteklersem impact: belirli bir fonksiyondaki değişiklikten etkilenen bağımlı kodu/çağıranları/testleri bulursem blame: fonksiyon/sınıf/metot için varlık düzeyindeki son değiştireni gösterirsem 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österirsem context: ajanın ihtiyaç duyduğu çevre kodu yalnızca token bütçesine uyacak şekilde oluşturursem setup: çalıştırıldığında mevcutgit 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,logkomutları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.