Terminaldeki Yapay Zeka Ortağınız: Aider ile Otonom Kodlama ve Git Yönetimi

Terminaldeki Yapay Zeka Ortağınız: Aider ile Otonom Kodlama ve Git Yönetimi
audio-thumbnail
Terminaldeki Yapay Zeka Ortağınız: Aider ile Otonom Kodlama ve Git Yönetimi
0:00
/0

Terminaldeki Yapay Zeka Ortağınız: Aider ile Otonom Kodlama ve Git Yönetimi

Günümüz yazılım geliştirme dünyasında yapay zeka araçları artık bir lüks değil, temel bir ihtiyaç haline geldi. Ancak birçoğumuz kendimizi sürekli aynı döngünün içinde buluyoruz: Tarayıcıyı aç, ChatGPT veya Claude'a kopyala-yapıştır yap, üretilen kodu al, IDE'ye yapıştır, hataları düzelt ve ardından anlamlı bir Git commit mesajı yazmak için kafa yor...

Peki ya tüm bu süreç doğrudan terminalinizde, kod tabanınızın bağlamını (context) tam olarak anlayan ve Git geçmişinizle senkronize çalışan otonom bir yapay zeka tarafından yönetilseydi?

İşte tam bu noktada sahneye Aider çıkıyor. Aider, komut satırında (CLI) çalışan, projenizin Git deposunu doğrudan okuyup değiştirebilen ve değişiklikleri sizin yerinize otomatik olarak commit edebilen devrimsel bir yapay zeka kod ortağıdır.


Aider Nedir ve Nasıl Çalışır?

Aider, terminalinizde çalışan açık kaynaklı bir CLI aracıdır. Sıradan yapay zeka sohbet botlarından farklı olarak, tarayıcı veya IDE eklentisi sınırlarına sıkışmaz. Doğrudan yerel dosya sisteminiz ve Git mimarinizle etkileşime girer.

Siz Aider'a ne yapmasını istediğinizi doğal dilde (Türkçe veya İngilizce) söylersiniz. Aider: 1. İlgili dosyaları analiz eder. 2. Kod tabanınızın haritasını (Repository Map) çıkarır. 3. Gerekli değişiklikleri birden fazla dosyada aynı anda yapar. 4. Yapılan değişiklikleri test eder (varsa test komutlarınızı çalıştırır). 5. Değişiklikleri açıklayan harika bir Git commit mesajı yazarak kodunuzu kaydeder.


Aider'ın Öne Çıkan Süper Güçleri

1. Derin Git Entegrasyonu ve Otonom Commit'ler

Aider'ın en etkileyici özelliklerinden biri Git ile olan entegrasyonudur. Kodunuzda bir değişiklik yaptığında, neyin değiştiğini tam olarak anlar ve feat: Add user authentication endpoint veya fix: Resolve null pointer exception in payment service gibi açıklayıcı, standartlara uygun Git taahhütleri (commit) oluşturur. Hatalı bir kod ürettiğinde ise tek bir komutla değişikliği geri alabilirsiniz (/undo).

2. Kod Tabanı Haritalama (Repository Map)

Büyük projelerde yapay zekaya bağlam sunmak zordur. Aider, tree-sitter kullanarak projenizin semantik bir haritasını çıkarır. Bu sayede tüm projeyi token sınırlarına takılmadan anlar. Bir fonksiyonu değiştirdiğinizde, o fonksiyonun projenin başka neresini etkileyebileceğini öngörür.

3. Çoklu Dosya Düzenleme (Multi-file Editing)

Bir özellik eklerken genelde sadece tek bir dosyayı değiştirmeyiz; bir model (models.py), bir controller (views.py) ve bir test dosyası (test_api.py) aynı anda güncellenmelidir. Aider, tek bir komutla birden fazla dosyayı senkronize bir şekilde yeniden yapılandırabilir (refactor).

4. Model Özgürlüğü (LLM Agnostic)

Aider sizi tek bir yapay zeka modeline mahkum etmez. Dilediğiniz modeli kullanabilirsiniz: * Claude 3.5 Sonnet (Karmaşık refactoring ve mantık için önerilen) * GPT-4o (Hızlı ve etkili çözümler için) * DeepSeek-Coder / Ollama (Tamamen yerel ve gizli çalışmak isteyenler için)


Kurulum ve İlk Adımlar

Aider'ı bilgisayarınıza kurmak oldukça basittir. Python ortamınızın olması yeterlidir.

Adım 1: Kurulum

Terminalinizde aşağıdaki komutu çalıştırarak Aider'ı yükleyin:

pip install aider-chat

Adım 2: API Anahtarını Tanımlama

Hangi modeli kullanmak istiyorsanız ilgili API anahtarını ortam değişkeni (environment variable) olarak ekleyin:

# Claude 3.5 Sonnet için
export ANTHROPIC_API_KEY=your_anthropic_key_here

# veya OpenAI GPT-4o için
export OPENAI_API_KEY=your_openai_key_here

Adım 3: Aider'ı Başlatma

Projenizin kök dizinine gidin ve değiştirmek istediğiniz dosyalarla birlikte Aider'ı başlatın:

cd /my-project
aider main.py utils.py

Gerçek Bir Kullanım Senaryosu: Aider İş Başında

Diyelim ki bir Python projenizde kullanıcının e-posta adresini doğrulayan yeni bir fonksiyon eklemek ve bunun testini yazmak istiyorsunuz.

Terminaldeki Diyalog:

> Aider: main.py ve tests.py dosyaları eklendi.
> Siz: "main.py içine regex kullanarak e-posta doğrulayan bir validator fonksiyonu ekle. Ardından tests.py içinde bu fonksiyon için 3 farklı test senaryosu yaz."

Aider'ın Gerçekleştirdiği Eylemler: 1. main.py dosyasını açar, uygun regex mantığını ekler. 2. tests.py dosyasını açar, geçerli, geçersiz ve boş string senaryoları için testleri yazar. 3. Değişiklikleri diff formatında terminale basar. 4. Otomatik olarak şu Git commit'ini atar: git commit -m "feat: Add email validation function and unit tests"

Siz sadece arkanıza yaslanır ve terminaldeki akışı izlersiniz!


Aider Kullanırken Verimi Artıracak İpuçları

  • /add ve /drop Komutlarını Kullanın: Chat esnasında bağlama yeni dosyalar eklemek için /add filename, bağlamdan çıkarmak için /drop filename komutunu kullanabilirsiniz.
  • Testlerinizi Otomatikleştirin: Aider'a test komutunuzu belirtin (aider --test-cmd "pytest"). Aider bir kod yazdıktan sonra testi otomatik çalıştırır; test başarısız olursa hatayı okur, kodu düzeltir ve test geçene kadar bu döngüyü sürdürür!
  • /architect Modu: Karmaşık mimari değişiklikler yapmadan önce Aider'ın önce bir plan yapmasını, ardından kodu yazmasını sağlayabilirsiniz.

Sonuç: Neden Aider Kullanmalısınız?

Kullanıcı arayüzüne sahip (GUI) yapay zeka eklentileri görsel olarak çekici görünse de, gerçek yazılım geliştirme süreci terminalde ve Git komutlarıyla akar. Aider, yapay zekayı bir "sohbet baloncuğu" olmaktan çıkarıp doğrudan geliştirme hattınızın (pipeline) merkezine yerleştirir.

Kopyala-yapıştır hamallığından kurtulmak, Git geçmişinizi temiz tutmak ve kod tabanınız üzerinde tam yetkiyle çalışan otonom bir geliştirme ortağı kazanmak istiyorsanız, Aider'ı terminalinize mutlaka konuk etmelisiniz.

Siz de denediniz mi? Aider veya benzer CLI yapay zeka araçları hakkındaki deneyimlerinizi yorumlarda paylaşmayı unutmayın!