Codebuff: Terminalde kod yazan CLI aracı
(news.ycombinator.com)- Codebuff, terminalde doğal dille görev girildiğinde kod tabanını okuyup dosya değiştirme ve oluşturma işlemlerini de gerçekleştiren bir CLI aracı;
npm i -g codebuffile kurulduktan sonra oturum açma kapısı olmadan hemen kullanılabiliyor - Girdi akışını tek adıma indiriyor: kullanıcı yalnızca istediği görevi yazıyor; test çalıştırma, type checker çalıştırma ve paket kurma gibi adımları da isteği yerine getirme sürecinde kullanıyor
- İçeride tree-sitter ile 11 dilde fonksiyon ve sınıf adları gibi sembolleri ayrıştırarak bir kod tabanı haritası oluşturuyor; Claude Haiku 3.5 prompt caching ile Claude/OpenAI çağrılarını bir arada kullanıyor
- Ajan, ilgili dosyaları bağlama ekledikten sonra XML etiketi biçimindeki araç çağrılarıyla
edit_file, terminal komutu çalıştırma ve ek dosya okuma isteklerini işliyor - Tüm hesaplara 20 dolara kadar kredi veriliyor; daha fazla kredi aylık 99 dolar planıyla sunuluyor, ancak büyük bağlamlar ve pahalı LLM çağrıları nedeniyle rakip ürünlerden daha pahalı olduğu belirtiliyor
Terminalde doğal dille kod değiştirme
- Codebuff, “terminal içindeki Cursor Composer” gibi çalışan bir CLI aracı
- Doğal dille istediğiniz değişikliği yazıp Enter’a bastığınızda kod tabanını inceliyor ve dosyaları değiştiriyor
- Mevcut kaynak dosyaları değiştirebildiği gibi yeni dosyalar da oluşturabiliyor
- İsteği tamamlamak için testleri, type checker’ı ve paket kurulumunu çalıştırabiliyor
- Kurulum ve başlangıç
npm i -g codebuffile yapılabiliyor- Oturum açma kapısı olmadan hemen kullanılabiliyor
- Tüm hesaplara 20 dolara kadar kredi sağlıyor
- Demo videosu: YouTube
İlk deneylerden ürünleşmeye
- İlk fikir, bir hackathon’da Sonnet 3.5 denenirken ortaya çıktı
- İlk script, kod tabanı bağlamını tek seferde alıyor; ikinci adımda dosyaları yeniden yazıyordu
- Bu 2 aşamalı süreç bugün Codebuff’ta da varlığını sürdürüyor
- İlk demo yararlı kod üretemedi
- Kod tabanına özgü bilgileri modele aktarma sürecinde knowledge.md fikri doğdu
- Önceki startup’ın sunucusunda bir endpoint oluşturmak için belirli 3 dosyayı değiştirmek gerekiyordu, ancak model bunu bilmiyordu
- Yeni başlayan birine anlatır gibi kod tabanı kılavuzunu Markdown dosyası olarak yazıp Sonnet 3.5’in system prompt’una ekleyince kod kalitesi belirgin şekilde iyileşti
- Codebuff bugün de her istekte otomatik olarak okunan
knowledge.mddosyasını kullanıyor
- YC mülakatından hemen önce en büyük darboğaz dosya düzenleme güvenilirliğiydi
- Çeşitli prompt stratejileriyle özgün dosyadaki metinleri değiştirmeyi denediler, ancak bu güvenilir biçimde çalışmadı
- Mülakattan bir gün önce GPT-4o’yu fine-tune ederek Claude’un çizdiği değişiklik taslağını git patch’e dönüştürmesini sağladılar
- Ertesi gün çalıştı ve YC mülakatından hemen önce production’a dağıtıldı
Kod tabanı haritası ve ajan çalışma akışı
- Çalıştırıldığında mevcut dizindeki ve alt dizinlerdeki kaynak dosyaları tarayarak bir kod tabanı haritası oluşturuyor
- tree-sitter ile 11 dilde fonksiyon ve sınıf adlarını veya bunlara denk sembolleri ayrıştırıyor
- Dosya ağacını ve sembol bilgilerini birlikte kullanıyor
- Kod tabanı bağlamını önbelleğe almak ve kullanıcı girdisine yanıt gecikmesini azaltmak için Claude Haiku 3.5’e istek gönderiyor
- Kullanıcı mesaj gönderdiğinde Claude önce ilgili dosyaları seçiyor
- Seçilen dosyaları bağlama yükledikten sonra ajan yanıt veriyor
- Araç çağrıları XML etiketleriyle yazılıyor ve ayrıştırılıyor
- Örnek olarak dosya değiştirme etiketi
<edit_file path="src/app.ts">…</edit_file>biçiminde - Başka etiketlerle terminal komutu çalıştırma veya ek dosya okuma isteği de yapılabiliyor
Sunucu yapısı ve altyapı
- Sunucu, mesajları Anthropic veya OpenAI’ye ileten bir yapıda ve durum saklamıyor
- İstemci ile sunucu arasındaki veri aktarımında websocket kullanılıyor
- İlk 3 ay boyunca kimlik doğrulama veya veritabanı olmadan, ücretsiz kurulum ve kendi API anahtarıyla istekleri işledi
- Daha sonra ürün işletimi için gerekli bileşenler eklendi
- Postgres + Drizzle veritabanı
- Bun sunucusu
- Render barındırma
- Auth.js kimlik doğrulama
- NextJS web sitesi
- Stripe ödemeleri
- BetterStack loglama
- Retool panosu
Fiyatlandırma, kullanım örnekleri ve SDK
- Fiyatlandırma sınırlı ücretsiz kullanım ve aylık 99 dolar ücretli plandan oluşuyor
- Ücretli plan daha fazla kredi sağlıyor
- Daha fazla bağlam ve pahalı LLM çağrıları nedeniyle rakip ürünlerden daha pahalı olduğu belirtiliyor
- Gerçek kullanım örnekleri arasında Flutter uygulaması oluşturma, birim testi yazma, yinelemeli düzeltmeler ve tekrarlayan işlerin otomasyonu yer alıyor
- Bir kullanıcı iki Flutter uygulamasını paralel olarak geliştirirken 500 dolarlık fatura oluşturdu ve üretilen koda doğrudan bakmadan, Codebuff ile uzun bir konuşma üzerinden uygulamaları tamamladı
- Birçok kullanıcı hafta sonu boyunca ekipleri veya kişisel kullanım için gerçek uygulamalar geliştirdi
- Sık kullanılan genel amaçlar arasında birim testi yazma, testler geçene kadar kod düzeltme döngüsü çalıştırma, OAuth akışlarını ayarlama ve API scaffolding işleri bulunuyor
- Codebuff’ı kendi sistemlerinde kullanmak isteyenler için bir alpha SDK da sunuluyor
- Uygulamalar aynı doğal dil arayüzünü çağırıp kod düzenlemeleri alabiliyor
- early access başvuru bağlantısı: Retool form
1 yorum
Hacker News görüşleri
Codebuff'un çıkışını kutluyorum, ancak Aider'a çok benziyor gibi görünüyor. Aider açık kaynak ve dosya eklenmesini istediğinizde yalnızca onay vermeniz yeterli. Aider komut da çalıştırabiliyor. Farkının ne olduğunu merak ediyorum
Demolar her zaman yalnızca basit projelerde işe yarıyor; gerçek, karmaşık projelere dair örnekler yetersiz. PR'lerin zor kısımlarını çözmeye yardımcı olacak bir şeye ihtiyacım var. Birçok araç başlangıçta yardımcı oluyor ama sorun çözmede yetersiz kalıyor
SSH anahtarımı ve panomu birden fazla üçüncü tarafa göndermek için 20 dolar ödemek istemiyorum. Ağ çağrıları olmadan satır içi kabuk desteği sunan bir yazılım satın almak isterim. Bu tür ürünler hakkındaki genel görüşüm bu
Codebuff daha önce manicode olarak biliniyordu ve karmaşık refaktör işlemlerinde faydalı. Bunu bir Rust projesinde dosyaları modül dizinlerine ayırmak için kullandım; test çalıştırabiliyor ve derleme hatalarını kontrol edebiliyor. Bu iş için yaklaşık 100 kredi kullanıldı
Kodun sunucu üzerinden gönderilip gönderilmediğini merak ediyorum. Bunun yerel bir servis olarak uygulanması daha iyi olur gibi geliyor. LLM'nin dosya kaybına yol açabilecek komutlar alıp alamayacağını ve bunun nasıl önleneceğini merak ediyorum
LLM'nin insan incelemesi olmadan komut çalıştırması tehlikeli ve güvenlik açısından zayıf
Zaten AIDE, Continue, Cody, Aider ve Cursor var. Neden bu aracı kullanmam gerektiğini merak ediyorum
Bu aracı denedim ve CoPilot ile Cursor'a göre daha iyi olduğu noktalar var. Özellikle CoPilot'taki gibi editörle "rekabet ediyormuş" hissi vermiyor. Güvenlik konusunda endişelerim var; hassas dosyaları nasıl işlediğini merak ediyorum
Kod kalitesi açısından Cursor'dan daha iyi olup olmadığını merak ediyorum. Cursor kullanıyorum ve dosya kopyalama süresinden tasarruf ediyorum. Kod yazarken hâlâ chatGPT/claude arayüzünü kullanıyorum
GPT-4o ince ayarlandı ve Claude'un değişiklik taslağını git yamasına dönüştürüyor. Eğitim verisi gece geç saatlerde üretildi ve ince ayar işi ben uyurken çalıştı. Eğitim verisinin tam içeriğini ve değişiklik taslağı ile git yamasının nasıl çalıştığını merak ediyorum