sem - Alat versioning semantik yang menambahkan pelacakan perubahan tingkat fungsi/kelas di atas Git
(github.com/Ataraxy-Labs)- Membandingkan entitas kode, bukan baris, sehingga menunjukkan fungsi/metode/kelas mana yang ditambahkan/diubah/dihapus/dipindahkan/diubah namanya
- "line x~y berubah" → "fungsi
blahberubah"
- "line x~y berubah" → "fungsi
- Berjalan di repo Git mana pun tanpa konfigurasi, dan juga dapat membandingkan file arbitrer di luar Git
- Cache entitas yang disimpan di SQLite ditempatkan di direktori cache OS di luar repositori, sehingga tidak mengotori working tree
- Mem-parse kode dengan tree-sitter, lalu menghubungkan kode sebelum dan sesudah perubahan dalam urutan ID entitas → hash struktur AST → kemiripan token di atas 80% untuk mendeteksi rename dan pemindahan
-
Perintah yang didukung
sem diff: Membandingkan working tree/staging/commit/rentang commit/dua file arbitrer, dengan dukungan output teks biasa/Markdown/JSONsem impact: Menemukan kode dependen/caller/test yang terdampak saat fungsi tertentu berubahsem blame: Menampilkan pengubah terakhir pada level entitas untuk fungsi/kelas/metodesem log: Melacak bagaimana satu entitas berubah melalui git history- Jika entitas tidak ditentukan, menganalisis hotspot (yang sering berubah)/co-change pairs (pasangan yang berulang kali berubah bersamaan) di repositori ("Kalau mengubah yang satu, jangan lupa yang ini juga")
sem entities: Menampilkan semua entitas di bawah folder saat inisem context: Menyusun hanya kode sekitar yang diperlukan agen sesuai token budgetsem setup: Saat dijalankan,git diffyang ada akan berubah menjadi output tingkat entitas, dan pre-commit hook yang menunjukkan cakupan dampak perubahan staged juga dipasang- Di macOS dan Linux, menghubungkan graf dependensi residen dan context hook saat prompt dimulai ke Claude Code, sehingga mengurangi biaya menganalisis ulang repositori atau mencari-cari kode setiap kali
sem mcp: Menyediakandiff,impact,context,entities,blame,logsebagai tool MCP, agar coding agent dapat mengambil hanya fungsi dan dependensi yang diperlukan, bukan seluruh file
- Jika GitHub Action ditambahkan, setiap PR akan memperbarui fungsi/kelas/metode yang berubah dalam satu komentar tetap, dan juga membedakan PR yang hanya mengubah format/komentar
- Mendukung 32 bahasa termasuk TypeScript, Python, Go, Rust, Java, Swift, SQL, C/C++, serta JSON/YAML/TOML/CSV/Markdown
- File yang tidak didukung diproses sebagai diff per chunk
- Lisensi: MIT OR Apache-2.0
Belum ada komentar.