ctx-agent
Kod tabanını yapay zeka ajanlarının sorgulayabileceği bir hafızaya çeviren Rust CLI'si.
Neden var
Büyük bir repoda çalışan ajan, zamanının çoğunu tek bir soruyu yanıtlamak için dosya dosya gezerek kaybediyor: bu dosyayı değiştirirsem ne bozulur? ctags tarzı sembol indeksleri liste veriyor ama ajana dönük değiller; sunucu destekli kod zekası ise altyapı istiyor. ctx-agent projeyi bir kere tarayıp SQLite'a yazıyor ve ajanı yerelde yanıtlıyor — LLM yok, bulut yok, API anahtarı yok.
Ne yapar
- Kod tabanı haritası: dizin ağacı, dosya ve satır sayıları, dosya başına semboller
- Rust, TypeScript, JavaScript, Python ve Go için imzalarıyla sembol çıkarma
- Belirli bir dosya için bağımlılık grafiği ve etki alanı
- Conventional commit'lerden otomatik çıkarılan karar günlüğü
- Kısmi eşleşmeli FTS5 tam metin sembol araması
- Sağlık uyarıları: kırılgan dosyalar, 500 satırı geçen dosyalar, ölü kod
- Değişiklikte yeniden analiz eden dosya izleyici
- Araç setini herhangi bir MCP istemcisine açan MCP sunucusu
Teknoloji
- Rust
- SQLite FTS5
- tree-sitter
- Model Context Protocol
Kullanım
cd your-project && ctx init
ctx status
ctx map
ctx query "parse"
ctx blast-radius src/db/mod.rs
ctx decisions
ctx warnings
ctx watch
ctx status --json
Mühendislik notları
Yapmadıkları, yaptıkları kadar ağırlık taşıyor: kod yazmaz, derleme veya lint'in geçtiğini garanti etmez, çalışma anı davranışını izlemez ve LSP değildir. Yaptığı şey statik yapısal analiz; bunu açıkça söylemek çıktıyı güvenilir tutan şey. Tekrar taramalar artımlı, yalnızca değişen dosyalar yeniden analiz ediliyor. Paranoid mod varsayılan açık ve auth, session, token veya crypto yollarına dokunan değişikliklerde BLOCK ya da PASS raporluyor; her MCP çağrısı proje başına bir etkinlik günlüğüne yazılıyor.
Sınırlar
- Swift ve Kotlin yalnızca dosya ve satır sayısı olarak izleniyor; sembol çıkarma planlı.
- Sembol çıkarılmayan dillerde bile dosya takibi, satır sayısı ve git geçmişi analizi çalışıyor.