Developer Tools C ★ 160

janreges/ai-distiller

Büyük kod tabanlarından temel kod yapısını çıkararak AI'nin kolayca anlayabileceği formata dönüştürür, böylece AI ajanları mevcut API'leri ilk denemede doğru şekilde kullanan kod yazabilir.

Claude Desktop config.json'a ekle

{
  "mcpServers": {
    "janreges-ai-distiller": {
      "command": "node",
      "args": [
        "~/.mcp/ai-distiller/index.js"
      ]
    }
  }
}

AI Distiller (aid)

Not: Bu aracın ilk versiyonudur. GitHub üzerinden discussion oluşturarak veya issue açarak herhangi bir geri bildirim için minnettar olacağız. Teşekkürler!

🚀 MCP Sunucusu Mevcut: AI Distiller için Model Context Protocol sunucusunu NPM'den yükleyin: @janreges/ai-distiller-mcp - Claude, Cursor ve diğer MCP-uyumlu AI araçlarıyla sorunsuzca entegre edin!

🤔 Neden AI Distiller?

Binlerce dosya ve fonksiyona sahip büyük ölçekli projelerle mi çalışıyorsunuz? Claude Code, Gemini, Copilot veya Cursor gibi AI araçlarının sıklıkla "hallüsinasyon" yapmasına ve ilk bakışta doğru görünen ama aslında projenizle uyumlu olmayan kod üretmesine mi mücadele ediyorsunuz?

Sorun bağlamdır (context). AI modelleri sınırlı bir context penceresine sahiptir ve tüm codebase'inizi anlayamaz. Bunun yerine, AI ajanları dosyaları arar, anahtar kelimelere "grep" yapar, bulunan terim öncesinde ve sonrasında birkaç satır bakarlar ve sınıflarınız ile fonksiyonlarınızın arayüzünü (çoğunlukla başarılı olup bazen başarısız) tahmin etmeye çalışırlar. Sonuç? Parametreleri tahmin eden, yanlış veri türleri döndüren ve mevcut mimarisi gözardı eden hatalarla dolu kod. Eğer AI ajanlarının sofistike bir kullanıcısıysanız (vibe coder), AI ajanına testleri tutarlı şekilde yazması ve çalıştırması, statik kod analizi, pre-commit hooks vb. kullanması talimat vererek kendinize yardımcı olabileceğinizi bilirsiniz - AI ajan genellikle kodu kendisi düzeltecektir, ama bu süreçte 20 adım ve 5 dakika alacaktır. Öte yandan, her AI isteği için ödeme yapıyorsanız (ve büyük context pahalı bir faktördür) ve "zamanı kullanmamaya" katılmıyorsanız, bu sınırlı context yaklaşımından rahatsız olmayabilirsiniz.

AI Distiller (kısaca aid) bu sorunu çözmede yardımcı olur. Ana işlevi kod "distillasyonu"dur – tüm proje (ideal olarak ana kaynak klasöründen veya çok büyük projeler için belirli bir modül alt dizininden) tarafından AI'ın ilk seferde doğru kod yazması için ihtiyaç duyduğu yalnızca gerekli bilgileri çıkaran bir süreç. Bu distillasyon genellikle orijinal kaynak kod hacminin yalnızca %5-20'si olan bir context üretir, AI araçlarının bunu kendi context'lerine eklemesine izin verir. Sonuç olarak, AI mevcut kodu deneme yanılma yöntemiyle değil, tasarlandığı gibi kullanır.

Çok basit şekilde söylenirse, aid, distillasyon süreci içinde, yalnızca arayüzün herkese açık kısımlarını, giriş ve çıkış veri türlerini bırakacak, ancak varsayılan durumda metot uygulamalarını ve herkese açık olmayan yapıları atacaktır. Ancak CLI Seçenekleri aracılığıyla her şey yapılandırılabilir.

İçindekiler

✨ Ana Özellikler

Özellik Açıklama
🚀 Aşırı Hız Megabayt kodları yüzlerce milisaniye içinde işler. Varsayılan olarak, kullanılabilir CPU çekirdeklerinin %80'ini kullanır, ancak yapılandırılabilir, örn. --workers=1 ile yalnızca tek bir CPU çekirdeği kullanmak için.
🧠 Akıllı Distillasyon 12+ programlama dilini anlar ve yalnızca public API'ları (metotlar, özellikler, türler) çıkarır.
⚙️ Yüksek Yapılandırılabilirlik Private, protected ve internal üyelerini, uygulamayı veya yorumları dahil etmeye izin verir.
🤖 AI İstem Oluşturma Distillere edilmiş kod ile hazır kullanılır durumdaki istemi üretir. Araç, AI ajanlarının daha sonra güvenlik denetimleri, refactoring vb. için çalıştırabileceği istekler içeren dosyalar oluşturur. --ai-action anahtarına bakın.
📋 Analiz Otomasyonu AI ajanlarının tüm projeyi sistematik olarak analiz edebilmesi için tam bir kontrol listesi ve dizin yapısı oluşturur. --ai-action anahtarının flow-for-* eylemleri için bkz.
📜 Git Analizi Commit geçmişini işler ve geliştirme kalitesi ve takım dinamiklerinin derinlemesine analizi için veri hazırlar.
💻 Çoklu Platform Windows, Linux ve macOS (x64 & ARM) için hiçbir bağımlılığı olmayan tek bir binary dosya.
🔌 MCP Aracılığıyla Entegrasyon Dahil edilen MCP sunucusu sayesinde Claude Code, VS Code, Cursor, Windsurf ve diğerleri gibi araçlara entegre edilebilir.

🎯 Akıllı Filtreleme

Granüler bayrak sistemiyle tam olarak neyi dahil edeceğinizi kontrol edin:

Görünürlük Kontrolü:

  • --public=1 (varsayılan) - Herkese açık üyeleri dahil et
  • --protected=0 (varsayılan) - Protected üyeleri hariç tut
  • --internal=0 (varsayılan) - Internal/package-private hariç tut
  • --private=0 (varsayılan) - Private üyeleri hariç tut

İçerik Kontrolü:

  • --comments=0 (varsayılan) - Yorumları hariç tut
  • --docstrings=1 (varsayılan) - Belgelendirmeyi dahil et
  • --implementation=0 (varsayılan) - Fonksiyon/metot gövdelerini hariç tut
  • --imports=1 (varsayılan) - Import/use ifadelerini dahil et

Varsayılan davranış: Yalnızca public API imzalarını temel belgelendirme ile gösterir - AI anlayışı için mükemmel, maksimum sıkıştırma sağlarken.

🤖 AI Destekli Analiz İstem Oluşturma

AI Distiller, distillere edilmiş kod ile birleştirilen özel istemi üretir ve AI tarafından yönetilen analiz için:

  • --ai-action=flow-for-deep-file-to-file-analysis - Sistematik dosya-dosya analizleri için görev listeleri ve istemi üretir
  • --ai-action=flow-for-multi-file-docs - Kod yapısı ile belgelendirme iş akışı istemi oluşturur
  • Dosyalara çıktı - İstem .aid/ dizinine kaydedilir (veya küçük codebase'ler için --stdout kullanın)
  • AI yürütmesi için hazır - Üretilen dosyalar hem analiz istemi hem de distillere edilmiş kodu içerir
  • AI ajan talimatları - Çıktı, AI ajanlarına üretilen dosyaları okuması ve işlemesi için rehberlik içerir
  • Gemini avantajı - Daha büyük codebase analizi için 1M token context penceresi mükemmel

Not: AI Distiller analizi kendisi gerçekleştirmez - AI ajanlarının (Claude, Gemini, ChatGPT) daha sonra yürütmesi için optimize edilmiş istemi hazırlar. Kullanıcıların genellikle AI ajanlarından üretilen dosyayı işlemesini veya içeriğini web tabanlı AI araçlarına kopyalamasını açıkça istemesi gerekir.

📝 Çoklu Çıktı Biçimleri

  • Text (--format text) - AI tüketimi için ultra-kompakt (varsayılan)
  • Markdown (--format md) - Temiz, yapılandırılmış Markdown
  • JSON Structured (--format json-structured) - Araçlar için zengin anlamsal veri
  • JSONL (--format jsonl) - Akış biçimi
  • XML (--format xml) - Eski sistem uyumluluğu

📊 Akıllı Özet Çıktısı

Her distillasyondan sonra, AI Distiller sıkıştırma verimliliğini ve işlem hızını gösteren bir özet görüntüler:

# Varsayılan: İnteraktif terminaller için görsel ilerleme çubuğu (yeşil noktalar = kaydedildi, kırmızı noktalar = kalan)
✨ Distilled 970 files [░░░░░░░░░░░░░░░] 98% (10M → 256K) in 231ms 💰 ~2.4M tokens saved (~64k remaining)

# --summary-type ile tercih ettiğiniz biçimi seçin
aid ./src --summary-type=stock-ticker
📊 AID 97.6% ▲ │ SIZE: 10M→256K │ TIME: 231ms │ EST: ~2.4M tokens saved

# JSON çıktısı
aid ./src --summary-type=json

{
  "original_bytes": 70020,
  "distilled_bytes": 8244,
  "savings_pct": 88.22622107969151,
  "duration_ms": 6,
  "tokens_before": 17505,
  "tokens_after": 2061,
  "tokens_saved": 15444,
  "token_savings_pct": 88.22622107969151,
  "file_count": 9,
  "output_path": "/home/user/project/.aid/aid.processor.txt",
  "tokenizer": "cl100k_base"
}

Kullanılabilir biçimler:

  • visual-progress-bar (varsayılan) - Sıkıştırmayı ilerleme çubuğu olarak gösterir
  • stock-ticker - Kompakt borsa stili gösterim
  • speedometer-dashboard - Metriklerle multi-satır pano
  • minimalist-sparkline - Tüm temel bilgilerle tek satır
  • ci-friendly - CI/CD boru hatları için temiz biçim
  • json - Makine tarafından okunabilir JSON çıktısı
  • off - Özet çıktısını devre dışı bırak

Emojileri herhangi bir biçimden kaldırmak için --no-emoji kullanın.

📁 Akıllı Proje Kök Algılaması

AI Distiller proje kökünüzü otomatik olarak algılar ve tüm çıktıları merkezi bir .aid/ dizinine yerleştirir:

  • Otomatik algılama: .aidrc, go.mod, package.json, .git, vb. için yukarıya doğru arama yapar.
  • Tutarlı konum: Nerede aid çalıştırdığınız fark etmeksizin tüm çıktılar <project-root>/.aid/ dizinine gider
  • Cache yönetimi: MCP cache'i daha iyi organizasyon için .aid/cache/ içinde depolanır
  • Kolay temizlik: .aid/ yi .gitignore a ekleyerek çıktıları sürüm kontrolünden uzak tutun

Algılama önceliği:

  1. .aidrc dosyası - Proje köküne açıkça işaret etmek için bu boş dosyayı oluşturun
  2. Dil işaretleyicileri - go.mod, package.json, pyproject.toml, vb.
  3. Sürüm kontrolü - .git dizini
  4. Ortam değişkeni - AID_PROJECT_ROOT (işaretçi bulunamazsa geri dönüş)
  5. Geçerli dizin - Uyarı ile nihai geri dönüş
# Belirli bir dizini proje kökü olarak işaretleyin (önerilir)
touch /my/project/.aidrc

# Projenizin herhangi yerinden çalıştırın - çıktılar her zaman proje köküne gider
cd deep/nested/directory
aid ../../../src  # Çıktı: <project-root>/.aid/aid.src.txt

# Geri dönüş olarak ortam değişkeni kullanın (CI/CD için kullanışlı)
AID_PROJECT_ROOT=/build/workspace aid src/

🌍 Dil Desteği

Şu anda tree-sitter aracılığıyla 12+ dil destekler:

  • Tam Destek: Python, Go, JavaScript, PHP, Ruby
  • Beta: TypeScript, Java, C#, Rust, Kotlin, Swift, C++
  • Yakında: Zig, Scala, Clojure

Dile Özgü Belgelendirme:

  • C++ - C++11/14/17/20 desteği şablonlar, isim alanları, modern özellikler ile
  • C# - Tam C# 12 desteği, records, nullable reference types, pattern matching
  • Go - Tam Go desteği, interfaces, goroutines, generics (1.18+)
  • Java - Java 8-21 desteği, records, sealed classes, pattern matching
  • JavaScript - ES6+ desteği, classes, modules, async/await
  • Kotlin - Kotlin 1.x desteği, coroutines, data classes, sealed classes
  • PHP - PHP 7.4+ PHP 8.x özellikleri ile (attributes, union types, enums)
  • Python - Tam Python 3.x desteği, type hints, async/await, decorators
  • Ruby - Ruby 2.x/3.x desteği, blocks, modules, metaprogramming
  • Rust - Rust 2018/2021 editions, traits, lifetimes, async
  • Swift - Swift 5.x desteği, protocols, extensions, property wrappers
  • TypeScript - TypeScript 4.x/5.x, generics, decorators, type system

🎯 Nasıl Çalışır

  1. Tarar codebase'inizi desteklenen dosya türleri için yinelemeli olarak (10+ dil)
  2. Ayrıştırır her dosyayı dile özgü tree-sitter ayrıştırıcılar kullanarak (hepsi paketlenmiş, hiç bağımlılık yok)
  3. Çıkarır ihtiyacınız olanı: public API'lar, tür imzaları, sınıf hiyerarşileri
  4. Çıktı verir tercih ettiğiniz biçimde: kompakt text, markdown veya yapılandırılmış JSON

Tüm tree-sitter dilbilgileri aid binary'sine derlenmiştir - sıfır dış bağımlılık!

🔗 Bağımlılık Farkında Distillasyon

İleri Özellik: AI Distiller, dosyalar arasında çağrı grafiğini analiz eden ve yalnızca codebase'inizden gerçekten kullanılan kodu dahil eden bağımlılık farkında distillasyonu içerir. Bu, işlev/metot çağrılarını birden fazla dosyaya izleyerek derin kod analizi için odaklanmış distillasyonlar oluşturur.

💡 Bağımlılık analizine yeni mi? Bu özellik, kodunuzda hangi fonksiyonların birbirini çağırdığını izler ve tüm dosyaları işlemeden yalnızca ilgili kısımları içeren minimal bir context oluşturur.

🎯 Bağımlılık Farkında Analiz Nasıl Çalışır

Tüm dosyaları dahil etmek yerine, bağımlılık farkında distillasyon:

  1. Giriş noktalarını tanımlar (ana fonksiyonlar, exported API'lar)
  2. Fonksiyon çağrılarını izler dosya sınırları arasında
  3. Çağrı grafiklerini oluşturur bağımlılıkları anlamak için
  4. Yalnızca kullanılan kodu dahil eder - çağrılan fonksiyonlar
  5. Kullanılmayan kodu filtreler - AI context'i için ölü kod eliminasyonu
# Temel bağımlılık analizi
aid main.py --dependency-aware

# Analiz derinliğini kontrol et
aid main.py --dependency-aware --max-depth=2

# Daha derin analiz için uygulamaları dahil et
aid main.py --dependency-aware --implementation=1 --max-depth=3

📊 Dil Desteği Kalitesi

Bağımlılık farkında distillasyonu farklı programlama dilleri arasında mümkün olduğunca güvenilir hale getirmek için kapsamlı çalışma yaptık. Ancak, karmaşıklık diller arasında önemli ölçüde farklılık gösterir ve mevcut durumu hakkında şeffaf olmak istiyoruz:

Dil Destek Seviyesi Dosyalar Arası Analiz Dosya İçi Çağrılar Performans Notlar
Python 🟢 Çok İyi ✅ Tam ✅ Tam ~37ms Paket importları, tüm çağrı desenleri
JavaScript 🟢 Çok İyi ✅ Tam ✅ Tam ~38ms CommonJS & ES6 modülleri
Go 🟢 Çok İyi ✅ Tam ✅ Tam ~37ms Paket sistemi entegrasyonu
Rust 🟢 Çok İyi ✅ Tam ✅ Tam ~36ms Crate sistemi, uygun filtreleme
Java 🟢 Çok İyi ✅ Tam ✅ Tam ~41ms Paket importları, static metotlar
Swift 🟢 Çok İyi ✅ Tam ✅ Tam ~37ms Class ve static metot algılaması
PHP 🟢 Çok İyi ✅ Tam ✅ Tam ~37ms Include/require çözünürlüğü
Ruby 🟢 Çok İyi ✅ Tam ✅ Tam ~40ms Modül sistemi, tüm çağrı desenleri
TypeScript 🟡 Sınırlı ❌ Sorunlar ❌ Sorunlar N/A Dil işlemci sınırlamaları
C# 🟡 Sınırlı ❌ Sorunlar ❌ Sorunlar N/A Dil işlemci sınırlamaları
C++ 🟡 Sınırlı ❌ Sorunlar ❌ Sorunlar N/A Dil işlemci sınırlamaları
Kotlin 🟠 İyi ✅ Kısmi ⚠️ Temel ~45ms Companion objects, bazı edge cases

Efsane:

  • 🟢 Çok İyi: Üretim için hazır, karmaşık senaryoları güvenilir işler
  • 🟠 İyi: Sağlam işlevsellik, küçük sınırlamalar
  • 🟡 Sınırlı: Temel işlevsellik, ayrıştırma yetenekleri sınırlı olabilir
  • Tam: Tam dosyalar arası bağımlılık izleme
  • ⚠️ Temel: Basit senaryolar iyi çalışır, karmaşık desenler sınırlı olabilir
  • Sorunlar: İşlevsellik önemli ölçüde sınırlıdır

🚀 Performans Özellikleri

Çok İyi Performans (8 dil):

  • İşlem Süresi: Tutarlı 36-41ms
  • Sıkıştırma: %65-72 boyut azalması
  • Ölçeklenebilirlik: 10 dosyaya kadar projeleri verimli işler
  • Bellek Kullanımı: Minimal, asılı kalma veya timeout sorunları yok

İyileştirme Alanları:

  • Büyük Projeler: 50+ dosya ile performans sınırlı olabilir
  • Dil İşlemcileri: C#, C++, TypeScript temel sınırlamalara sahiptir
  • Karmaşık Çağrı Desenleri: İleri metaprogramlama desenleri sınırlı olabilir

💡 Bağımlılık Farkında Analiziyi Ne Zaman Kullanmalısınız

Mükemmel:

  • 🎯 Etki Analizi - Değişiklikler tarafından hangi kodun etkilendiğini anlayın
  • 🔍 Kod Navigasyonu - Birden fazla dosya arasında yürütme akışını izleyin
  • 🎪 Odaklanmış Context - AI asistanları için yalnızca ilgili kodu alın
  • 📚 Legacy Anlayış - Karmaşık codebase'leri sistematik olarak izleyin
  • 🔧 API Analizi - Yalnızca tanımlanan değil çağrılan metotları görün

En İyi Uygulamalar:

# Hızlı genel görünüm için küçük derinlikle başlayın
aid main.py --dependency-aware --max-depth=1

# Kapsamlı analiz için derinliği artırın
aid main.py --dependency-aware --max-depth=2 --implementation=1

# İyi çalışan dilleri kullanın
aid src/ --dependency-aware --include="*.py,*.js,*.go"

🚀 Muazzam Codebase'leri AI Dostça Context'e Dönüştürün

Sorun: Modern codebase'ler binlerce dosya ve milyonlarca satırla içerir. Ama AI kodunuzu anlamak, iyileştirme önerileri sunmak veya geliştirmeye yardımcı olmak için, her uygulama detayını görmesine gerek yoktur - yapı ve herkese açık arayüzlere ihtiyaç duymaktadır.

Çözüm: AI Distiller yalnızca onemli olanı çıkarır - public API'lar, türler ve imzalar - codebase boyutunu %90-98 oranında azaltırken tüm gerekli bilgileri AI anlayışı için korur.

Proje Dosyalar Orijinal Tokenler Distillere Tokenler Context'e Sığar1 Hız2
⚛️ react 1,781 ~5.5M 250K (-95%) ✅ Gemini3 2,875 dosya/s
🎨 vscode 4,768 ~22.5M 2M (-91%) ⚠️ Parçalamaya gerek 5,072 dosya/s
🐍 django 970 ~10M 256K (-97%) ✅ Gemini3

Benzer MCP sunucuları

eyaltoledano/claude-task-master Developer Tools

AI destekli geliştirme için yapay zeka tabanlı görev yönetim sistemi. PRD ayrıştırma, görev genişletme, çoklu provider desteği (Claude, OpenAI, Gemini, Perplexity, xAI) ve optimize edilmiş context kullanımı için seçmeli tool yükleme özelliklerine sahiptir.

eyaltoledano/claude-task-master ★ 27,664
GLips/Figma-Context-MCP Developer Tools

Kodlama ajanlarına Figma verilerine doğrudan erişim sağlayarak tasarım implementasyonunu tek adımda tamamlamalarını sağlar.

GLips/Figma-Context-MCP ★ 15,186
DeusData/codebase-memory-mcp Developer Tools

Yüksek performanslı kod zekası MCP sunucusu. Codebase'leri kalıcı bir knowledge graph'e indeksler — ortalama repo milisaniyeler içinde. 66 dil desteği, sub-ms sorgular, %99 daha az token. Tek statik binary, hiç bağımlılık yok.

DeusData/codebase-memory-mcp ★ 10,848
idosal/git-mcp Developer Tools

gitmcp.io, herhangi bir GitHub repository veya projeye bağlanıp belgelendirme yapabilen genel amaçlı bir remote MCP server'ıdır.

idosal/git-mcp ★ 8,197
mobile-next/mobile-mcp Developer Tools

Android/iOS uygulamaları ve cihazların otomasyon, geliştirme ile app scraping işlemleri için MCP Server. iPhone, Google Pixel, Samsung gibi simülatör, emülatör ve fiziksel cihazları destekler.

mobile-next/mobile-mcp ★ 5,247
21st-dev/magic-mcp Developer Tools

21st.dev'in en iyi tasarım mühendislerinden ilham alarak özel olarak hazırlanmış UI bileşenleri oluşturun.

21st-dev/magic-mcp ★ 5,202