Cursor Başlangıç Rehberi: Agent, Ask ve Kod Tabanı Bağlamını Etkin Kullanma
Cursor'ın Agent ve Ask modlarını, kod tabanı bağlamını (context) doğru yapılandırarak verimli kullanmayı öğrenin. Bu rehber, yapay zekâ destekli kod yazımında kontrolü elden bırakmadan nasıl ilerleyeceğinizi adım adım açıklar.
Cursor, yapay zekâ destekli bir kod düzenleyicidir. VS Code tabanlıdır ve projelerinizi anlamlandırmak için kod tabanınızı bağlam (context) olarak kullanır. Bu rehberde, Cursor'ın iki temel modu olan Agent ve Ask'i nasıl kullanacağınızı, kod tabanı bağlamını nasıl yöneteceğinizi ve günlük iş akışınıza nasıl entegre edeceğinizi anlatıyorum.
Agent ve Ask Modları Arasındaki Fark
Cursor'da iki ana etkileşim modu bulunur:
- Ask Modu: Soru-cevap odaklıdır. Kod tabanınız hakkında sorular sorar, açıklama ister veya belirli bir kod parçasını analiz ettirebilirsiniz. Ask modu, doğrudan dosyalarınızı değiştirmez; yalnızca bilgi verir.
- Agent Modu: Daha aktif bir moddur. Belirttiğiniz görevi yerine getirmek için dosyaları okur, düzenler ve yeni dosyalar oluşturabilir. Agent, sizin adınıza kod yazar ancak yaptığı değişiklikleri onaylamanız gerekir.
Ask modunu keşif ve anlama için, Agent modunu ise uygulama ve otomasyon için kullanın. Örneğin, "Bu projede kimlik doğrulama nasıl çalışıyor?" sorusunu Ask'a sorarken, "Kullanıcı girişi için JWT tabanlı bir middleware ekle" görevini Agent'a verebilirsiniz.
Kod Tabanı Bağlamını (Context) Anlamak
Cursor, projenizdeki dosyaları otomatik olarak indeksler. Ancak yapay zekânın doğru yanıt üretebilmesi için hangi dosyaların bağlama dahil edileceğini siz belirlemelisiniz. Bağlam; açık dosyalar, seçili metin, proje kök dizini ve @ ile eklenen özel referanslardan oluşur.
Bağlamı Yönetme Yöntemleri
- @files: Belirli bir dosyayı bağlama eklemek için
@dosya_adiyazın. Örneğin,@src/utils/helpers.js. - @code: Kod tabanındaki sembolleri (fonksiyon, sınıf) bağlama eklemek için kullanılır.
@code:calculateTotalgibi. - @docs: Harici dokümantasyon kaynaklarını bağlama ekler. Örneğin,
@docs:reactile React dokümantasyonunu referans gösterebilirsiniz. - @web: Güncel web araması yaparak bağlam ekler.
@web:node.js stream apigibi.
Bu referansları sohbet penceresinde doğrudan kullanabilirsiniz. Cursor, eklediğiniz bağlamı dikkate alarak yanıt üretir. Ayrıca .cursorrules dosyası ile proje genelinde geçerli kurallar tanımlayabilirsiniz. Örneğin, "Tüm yanıtlar TypeScript kullanmalı" gibi bir kural ekleyebilirsiniz.
Uygulamalı Örnek: Agent ile Basit Bir Görev
Diyelim ki bir Express.js projeniz var ve kullanıcı kaydı için bir endpoint eklemek istiyorsunuz. Agent modunu kullanarak şu adımları izleyin:
- Cursor'da
Ctrl/Cmd + Kile komut paletini açın ve "Agent" modunu seçin. - Şu istemi girin: "@src/routes/user.js dosyasına yeni bir POST /register endpoint'i ekle. Kullanıcı adı, e-posta ve şifre alanlarını doğrula. Şifreyi bcrypt ile hash'le ve kullanıcıyı veritabanına kaydet."
- Agent, ilgili dosyaları okuyacak ve önerilen değişiklikleri gösterecektir. Değişiklikleri inceleyin ve onaylayın.
- Agent, gerekli import'ları ekleyip kodu yazacaktır. Test etmek için terminalde
npm testçalıştırabilirsiniz.
Bu örnekte Agent, kod tabanı bağlamını kullanarak mevcut yapıya uygun kod üretir. Ancak her zaman üretilen kodu gözden geçirin; özellikle güvenlik ve hata yönetimi konularında manuel kontrol şarttır.
Ask Modu ile Kod Tabanını Keşfetme
Ask modu, mevcut bir kod tabanına yeni katıldığınızda veya belirli bir mantığı anlamak istediğinizde idealdir. Örneğin:
- "@src/services/payment.js dosyasındaki ödeme akışını adım adım açıkla."
- "Bu projede hata yönetimi nasıl yapılıyor? @src/middlewares/errorHandler.js"
- "@code:validateUser fonksiyonu hangi durumlarda hata döndürür?"
Ask modu, yanıtlarında kod alıntıları yapabilir ve ilgili dosyalara bağlantı verebilir. Böylece kod tabanınızı daha hızlı anlarsınız.
Bağlam Penceresini Verimli Kullanma İpuçları
- Gereksiz dosyaları bağlamdan çıkarın: Yapay zekâ, bağlam penceresi sınırlıdır. Yalnızca ilgili dosyaları ekleyin.
- @code ile sembol bazlı bağlam ekleyin: Tüm dosyayı eklemek yerine yalnızca ihtiyacınız olan fonksiyonu ekleyin.
- .cursorrules dosyasını kullanın: Proje genelinde stil ve teknoloji tercihlerinizi belirtin.
- Ask ve Agent'ı birleştirin: Önce Ask ile anlayın, sonra Agent ile uygulayın.
Sonuç
Cursor, Agent ve Ask modlarıyla yapay zekâyı kod yazım sürecinize entegre etmenin güçlü bir yolunu sunar. Kod tabanı bağlamını doğru yönetmek, hem daha isabetli yanıtlar almanızı hem de daha az manuel düzeltme yapmanızı sağlar. Unutmayın: Yapay zekâ bir yardımcıdır, nihai sorumluluk geliştiricidedir. Üretilen kodu her zaman test edin ve gözden geçirin.