5 puan yazan GN⁺ 2025-08-01 | 2 yorum | WhatsApp'ta paylaş
  • Terminalde çalışan bir AI kodlama ajanı olarak, çeşitli LLM (büyük dil modelleri) ile entegre şekilde çalışarak kod yazımı, iş akışı otomasyonu ve kod bağlamının korunmasıyla kod üretkenliğini artırmayı destekler
  • Çoklu modelleri seçebilir veya oturum sırasında serbestçe model değiştirebilir ve proje bazında oturum/bağlamın korunmasını destekler
  • LSP (Language Server Protocol) entegrasyonu, genişletilebilir MCP (Model Context Protocol) desteği, .gitignore ve ayrı dosya dışlama gibi geliştirici dostu özellikler sunar
  • macOS, Linux, Windows, FreeBSD gibi başlıca terminal ortamlarında çalışır ve paket yöneticisi veya Go, ikili dosya dahil birden fazla kurulum yöntemi sunar
  • Sezgisel ayar ile gelişmiş özelleştirmeyi aynı anda destekleyerek, ortam değişkenleri, JSON ayarları ve araç beyaz listesi gibi özelliklerle ileri düzey kullanıcıları da gözeten bir tasarıma sahiptir

Crush

  • Terminal ortamında çalışan bir AI kodlama ajanı olarak, geliştiricinin tercih ettiği LLM ile serbestçe entegre olur ve kod yazımı, düzenleme, otomasyonu destekler
  • Çeşitli modelleri (Anthropic, OpenAI, Groq, OpenRouter vb.) özgürce seçip değiştirebilir; oturum başına bağlamı bağımsız yönetir
  • LSP (Language Server Protocol) ile her dile uygun ek bağlam alarak daha akıllıca kod desteği sağlar
  • MCP (Model Context Protocol) ile harici sistemler, HTTP, komut satırı ve SSE gibi çeşitli kaynaklardan ek bilgi toplayıp kullanır

Ana Özellikler

  • Çoklu model desteği: OpenAI, Anthropic, Groq, OpenRouter gibi çeşitli LLM entegrasyonları; doğrudan ekleme imkânı
  • Oturum tabanlı çalışma: Proje bazında birden fazla çalışma oturumu ve bağlamı ayırma ve yönetme
  • Esnek model değiştirme: Oturumun ortasında dahi serbestçe model değiştirilebilir, mevcut bağlam korunur
  • LSP entegrasyonu: Go, TypeScript, Nix gibi başlıca diller için LSP bağlantısı ile kod bağlamı güçlendirilir
  • Genişletilebilirlik: MCP protokolü tabanlı olarak harici HTTP/CLI/SSE gibi ek işlevleri kolayca genişletebilirsiniz
  • Geniş platform desteği: macOS, Linux, Windows (WSL, PowerShell), FreeBSD, OpenBSD, NetBSD gibi ana işletim sistemi terminallerinin tümünde çalışır
  • Sezgisel ayar: Ek yapılandırma gerektirmeden hemen kullanılabilir, gerekirse proje bazlı/küresel JSON ayarları desteklenir
  • Güçlü dışlama (ignoring) özelliği: .gitignore, .crushignore dosyalarıyla bağlam hariç tutulan dosya/klasörleri yönetme
  • Araç beyaz listesi: Araç çalıştırmada önceden onay ve otomatik çalıştırma seçenekleri desteklenir; --yolo bayrağıyla tüm prompt atlanabilir (dikkatli kullanım gerekir)
  • Özel sağlayıcı: OpenAI ve Anthropic uyumlu API'leri ekleyip fiyat ve bağlam gibi detaylı seçenekleri belirleyebilirsiniz

Kurulum ve Başlangıç

  • Homebrew, NPM, Arch, Nix, Debian/Ubuntu, Fedora/RHEL gibi farklı paket yöneticileri ve ikili dosya/Go ile kurulabilir
  • İlk çalıştırmada tercih edilen LLM API anahtarını (OpenAI, Anthropic, Groq vb.) girmeniz gerekir; ortam değişkenleriyle de belirtilebilir
  • Ortam değişkeniyle entegre edilebilen öne çıkan LLM'ler: OPENAI_API_KEY, ANTHROPIC_API_KEY, GROQ_API_KEY, OPENROUTER_API_KEY, GEMINI_API_KEY, VERTEXAI_PROJECT vb.

Ayar Örnekleri

  • Küresel veya proje düzeyinde JSON dosyasıyla (./.crush.json, ./crush.json, $HOME/.config/crush/crush.json) gelişmiş seçenekleri uygulama
  • LSP ayarları: Her dil için komut belirtebilme
    {  
      "lsp": {  
        "go": { "command": "gopls" },  
        "typescript": { "command": "typescript-language-server", "args": ["--stdio"] }  
      }  
    }  
    
    Reklam
  • MCP ayarları: HTTP/CLI/SSE tabanlı harici genişletme örneği
    {  
      "mcp": {  
        "filesystem": {  
          "type": "stdio",  
          "command": "node",  
          "args": ["/path/to/mcp-server.js"]  
        }  
      }  
    }  
    
  • Dosya dışlama ve araç onayı
    • .crushignore ile belirli dosya/klasörleri hariç tutma
    • Araç çalıştırma beyaz listesi veya --yolo bayrağıyla prompt atlama

Gelişmiş Kullanıcı Özellikleri

  • Özel sağlayıcı kaydı: OpenAI/Anthropic uyumlu API ekleme, fiyat/bağlam gibi ayrıntılı seçenekleri belirleme
  • Loglama: Proje bazlı günlük dosyaları sağlanır; crush logs, crush logs --follow gibi CLI komutlarıyla gerçek zamanlı izleme
  • Hata ayıklama seçeneği: --debug bayrağı veya yapılandırmayla ayrıntılı log etkinleştirme

2 yorum

 
kaydash 2025-08-03

aider gerçekten pek iyi değil;;

 
GN⁺ 2025-08-01
Hacker News görüşü
  • Terminal tabanlı yapay zeka kodlama ajanlarının çoğunun metin tabanlı arayüzü gösterişli hale getirmeye çalışması tuhaf geliyor. Bol boşluk, çizgi sanatı, widget'lar, ASCII art, gradyanlar, hatta animasyonlar ekleniyor. Ama istediğim tam tuş atamaları, sekme otomatik tamamlama, tutarlı scrollback ya da titreşimsiz metin render etme gibi temel özellikler eksik. Yine de bu araç en azından node.js ile yazılmamış; bu yüzden terminal çıktısında gereksiz yeniden çizimleri azaltması gibi performans açısından umut veriyor. Ama REPL ya da CLI beklentisiyle kullanınca, etkileşim modeli aynı olsa da tamamen farklı çalışıyor; editör veya okuyucu türü Unix TUI'lerden de belirgin biçimde farklı hissettiriyor. Bu akım sadece Claude Code'u mu taklit ediyor yoksa daha önce mi başladı, merak ediyorum. Bu yüzden ben hâlâ Aider'ı tercih ediyorum. REPL'e daha yakın bir görünüm ve kullanım sunuyor

    • Bu araç Charm adlı şirket tarafından yapıldı ve misyonları komut satırı penceresini çekici hale getirmek. LLM furyasından yıllar önce de aktiflerdi. Golang için CLI framework'leri ve araçları yapıyorlar

    • Terminalde sevdiğim şey, komutları yazıp çeşitli kaynaklar ve programlardan gelen eylem ve çıktıları log gibi sırayla akıp giderken görebildiğim, kaydırma odaklı iş akışı. Aslında istediğim şey güçlü, HTML tabanlı, çok programlı bir kaydırma iş akışı. Ama bugünlerde bu denemeler iki tarafın da dezavantajlarını birleştiriyor gibi. İyi bir UI'yi daha iyi bir render sistemi üzerinde görmek isterim

    • Bu metin tabanlı UI akımı aslında AI ajanlarından önce de charmbracelet'in kendine özgü tarzıydı. Geleneksel TUI'lerden farklı olarak tuş atamalarının sezgisel biçimde keşfedilebilir olmasını seviyorum

    • Bu arayüzlerin bugünlerde hızla hayran ve geliştirici toplamasının nedenlerinden biri de, birçok kişinin zaten grafik tabanlı IDE tarzı editörlere alışkın olması olabilir. Her geliştirici sadece terminalde çalışmıyor. (Benim hâlâ X/Wayland'i bile açmadığım günler oluyor)

    • En azından emacs içinde Claude Code kullanılabiliyor https://github.com/stevemolitor/claude-code.el

  • Bu aracın güzel yanlarından biri, henüz erken aşamada olduğu için kodunun çok açık ve modüler olması. Araç çağrıları, oturumlar, otomatik özetleme, kalıcılık yönetimi gibi konularda bir ajan tasarlamak isteyenler için mükemmel bir plan niteliğinde. Bu commit bağlantısını kesinlikle kaydetmeye değer

  • Demo GIF'te neler olduğunu gerçekten okumak isteyenler için ffmpeg ile yavaşlatıp videoya çevirdim ve yükledim https://share.cleanshot.com/XBXQbSPP

  • Yaklaşık 15 dakika ciddi şekilde kullandım. Claude Code ile karşılaştırınca artıları: güzel bir UI, değişen dosyaları ve maliyeti takip etmeyi sağlayan kullanışlı bir kenar çubuğu, ayrıca değişiklikleri kabul etmek için akıcı bir UX (kısayol tuşları, kolay okunur diff'ler). Eksileri ise birden fazla modeli bir arada kullanamaması ve dizine gereksiz yere çok sayıda ikili dosya eklemesi. İlk init, CHARM.md adlı bir dosya oluşturuyor ama bu, modelle paylaşmak istediğim bilgilerle örtüşmedi. Örneğin Go test case'lerimde PascalCase kullandığım bilgisi aktarılmıyor. Ayrıca Ctrl+C ile çıkınca terminalim çöküyor

    • İlk init'in CHARM.md oluşturması konusunda artık herkesin iyi bilinen tek bir agent instruction dosyası standardında (AGENT.md gibi) anlaşmasını gerçekten isterim. Amp'in kendi CLI aracı için öne çıkardığı bir standart ama ironisinin farkında olsam da bu yaklaşımı destekler hale geldim https://ampcode.com/AGENT.md. Ya da şöyle dolaylı hack'ler de var https://kau.sh/blog/agents-md/
  • Asıl önemli soru, yeni ajanlardan hangilerinin yerel modelleri düzgün desteklediği. Harici API bağımlılığını ortadan kaldırmak istiyorum ve belli ölçüde performans kaybını kabul etmeye hazırım

    • Crush için Ollama desteği ekleyen bir issue üzerinde çalışılıyor (2 haftadır)

    • Çoğu ajan OpenAI uyumlu endpoint'lerde çalışıyor

    • OpenHands ile istediğiniz herhangi bir LLM'i yapılandırabilirsiniz https://github.com/All-Hands-AI/OpenHands

    • Aider'ın da yerel modelleri desteklediği belirtiliyor ama ben bizzat denemedim https://aider.chat/docs/llms.html

  • Claude Code, opencode, aider, cortex gibi bu yeni araçların hepsini karşılaştıran bir tablo olsa gerçekten harika olurdu. Her birinin nasıl çalıştığı ya da neyle ayrıştığı bir bakışta pek anlaşılmıyor

    • Ticari modellerle karşılaştırma veya benchmark yapmak maliyet yüzünden çok zor. Yakın zamanda bir makale yazarken, birden fazla SOTA ticari modeli değerlendirmek için 10 bin dolardan fazla harcadım. Açık modellerle karşılaştırma daha ucuza yapılabiliyordu ama hakemler "en iyiler" ile kıyas görmek istiyordu, dolayısıyla yapacak bir şey yoktu. Üstelik ticari modellerin iç yapısı ya da stack'i şeffaf değil ve her an değişebiliyor; bu yüzden çok verimsiz. Akademik araştırmalarda ticari modellerle kıyaslamayı her durumda zorunlu tutmanın iyi bir fikir olmadığını düşünüyorum

    • Sanırım ilk adı opencode'du ama geliştiriciler arasında bir anlaşmazlık çıktığı için adı değişti

    • Performans yalnızca araca bağlı değil; kullanılan modele, kod tabanına (bağlam) ve verilen göreve (prompt) göre de değişiyor. Bu öğeler birbirinden bağımsız değil ve kombinasyona göre performans ciddi biçimde değişebiliyor. Örneğin Claude Sonnet 4 + Claude Code, backend Python özelliği geliştirmede iyiydi; Gemini 2.5 Pro ise frontend React kodunu düzenlemede daha iyiydi. Yani tüm değişkenleri sabitleyip sadece aracı kıyaslayamazsınız; araçmodelbağlam*prompt kombinasyonlarını düşünmek gerekir. 16x Eval bunun bir kısmını ele alıyor ama araç gibi unsurlar henüz dahil değil https://eval.16x.engineer/

  • "glamorous" Britanya İngilizcesinde de kullanılan bir ifade https://dictionary.cambridge.org/dictionary/english/glamorous

  • Son birkaç haftadır Crush kullanıyorum ve gerçekten çok umutluyum. Charm'ı uzun zamandır takip ediyorum; geliştirici deneyimini gerçekten anlayan ve insanların seveceği araçları istikrarlı biçimde üreten az sayıdaki ekipten biri. AI kodlama yarışına bu kadar erken katılmaları da iyi bir işaret. Gerçekten kullanan insanlar tarafından yapılmış bir araç olduğu çok belli

  • Bir tane daha çıktı ama bu kez tasarım gerçekten iyi. Kesinlikle deneyeceğim. Tüm araçlarda eksik bulduğum şeylerden biri (DÜZENLEME: opencode GitHub kimlik doğrulamasını destekliyor), aylık abonelikli hizmetlere (github copilot, claude code, openai codex, cursor vb.) mevcut aboneliğimle doğrudan kimlik doğrulaması yapamamam. Hizmete aboneyim ama arayüzünü sevmiyorsam onu özgürce değiştirebilmek harika olurdu

    • Çoğu araç, başka bir programın aylık aboneliğini "kullanmayı" desteklemiyor. Bu yüzden ayrıca API anahtarı almanız ve token başına ödeme yapmanız gerekiyor. Hatta Claude Code bile bir süre kendi aboneliğiyle entegrasyon sunmuyordu
  • LSP destekli: Crush, genel olarak yaptığı gibi LSP'yi ek bağlam olarak kullanıyor. Benim için en ilginç özellik bu. Çoklu oturum ve proje özellikleri de ilgimi çekiyor

    • Başka ajanlarla birlikte de kullanılabilecek bir LSP MCP var