23/6 itibarıyla geçerlidir; kendi deneyimim + Cursor Reddit’i + Cursor topluluğu + sosyal medya + çeşitli blog yazılarını birleştirerek hazırladım. Karşı çıkış, eleştiri ve tartışma memnuniyetle karşılanır.
İpucu 1. Modeli stratejik olarak seçin
- Her modelin kodlama yeteneği, hızı ve maliyeti farklı olduğundan, duruma uygun seçim yapmak önemlidir.
- Thinking modelleri (Claude 4, Gemini 2.5 Pro vb.) daha otonomdur ama yavaştır.
- Non-Thinking modelleri (GPT 4.1 vb.) net talimatları iyi takip eder ve daha hızlıdır.
- İşin türüne göre önerilen model değişir (ör. basit değişiklikler için Sonnet, karmaşık planlama için Opus).
- 'Auto-select' özelliğinin güvenilirliği düşüktür; bu yüzden farklı modelleri bizzat deneyip kendi tarzınızı bulmanız daha iyidir.
İpucu 2. Karmaşık bir uygulamayı değiştirirken önce Ask modunda plan yapın
- Agent modu kodu doğrudan değiştirdiği için, karmaşık uygulamalarda mevcut işlevleri bozma ihtimali vardır.
- Ask modu dosyaları değiştirmeyen salt okunur bir moddur ve plan yaparken çok faydalıdır.
- Önce Ask modunda yapay zeka ile planı tartışıp ardından Agent modunda uygulamak daha güvenlidir.
- “Şu anda hemen değiştirme” gibi net promptlar verirseniz Ask modunun gereksiz davranışlarını azaltabilirsiniz.
- Manual modunda başvurulacak dosyaları elle belirtmek gerektiğinden kullanım değeri nispeten düşüktür.
İpucu 3. Debug yaparken dosyaları hemen değiştirtmek yerine, testlerle birlikte nedeni bulun
- Hata düzeltmesini doğrudan yapay zekaya bırakmak tekrarlayan başarısızlıklara yol açabilir.
-
- aşama (Agent): Önce bug’ı yeniden üreten, “başarısız olan” test kodunu yazdırın (TDD yaklaşımı).
- “X sayfasında Y’ye basınca A gibi çalışması gerekirken B gibi davranıyor. Bunu TDD yaklaşımıyla düzeltmek istiyorum; bu durumu yeniden üreten test kodunu yazıp çalıştır. Şu aşamada test kodunun öncelikle başarısız olması gerektiğini unutma. Ben yanılıyor olabilirim; eğer yeniden üretemezsen bana söyle. Ben komut vermeden sorunu düzeltmeye başlama.”
-
- aşama (Ask): Olası nedenleri ve doğrulama yöntemlerini anlattırarak kök nedeni bulun.
- “Bug’ın kök nedenini anlamaya çalışıyorum. Bu durumun neden ve hangi koşullarda ortaya çıkabileceğine dair olası seçenekleri sun. Ayrıca bu seçeneklerden hangisinin doğru olduğunu doğrulamak için hangi yöntemlerin kullanılabileceğini de anlat. Hangi ek bilgilere ihtiyaç olduğunu, log olarak neleri yazdırmak gerektiğini vb. söyle. Bu yöntemleri uygulamana gerek yok, sadece açıkla. Eğer test kodunu yazarken nedeni zaten tespit ettiysen onu açıkla.”
-
- aşama (Agent): Test kodunu
.cursorignoreile kilitleyin, sonra test geçene kadar kodu değiştirmesini isteyin.
- “Az önce oluşturulan test kodunu
.cursorignoreiçine ekle. Ardından, önerdiğin şekilde en olası ihtimallerden başlayarak kök nedeni tespit et ve ideal çalışma akışını bir flowchart olarak düzenle. Sonra bu ideal akışı kullanarak test kodu geçene kadar kodu düzelt. Benim kontrol etmem veya müdahale etmem gereken bir şey varsa haber ver.”
- aşama (Agent): Test kodunu
- Test kodu yazımıyla ilgili kurallar hazırlamak da faydalıdır.
İpucu 4. Cursor kuralları kendisi yönetsin, zamanla daha akıllı hale gelsin
- Sohbet oturumunda anlamlı bir diyalog geçtiyse, /Generate Cursor Rules özelliğini kullanabilirsiniz.
- “Bu konuşmanın içeriğine göre bir Rule oluştur veya mevcut olanı güncelle” demeniz yeterlidir.
- Özellikle debug sonrası hatanın nedenini bulduysanız, aynı hatayı tekrarlamamak için Rule ekletmek/güncelletmek faydalıdır.
- Böylece Cursor’un kendi kendine öğrenip bakım yapmasını ve giderek daha akıllı hale gelmesini sağlayabilirsiniz.
İpucu 5. Çoklu sekmelerden ve Auto seçeneklerinden yararlanarak verimliliği artırın
- Cursor’da birden fazla sohbet sekmesi aynı anda kullanılabilir. Bir sekmede Agent kodu değiştirirken, başka bir sekmede Ask modunda farklı bir iş yapabilirsiniz.
- 'Auto-run' seçeneğini açarsanız terminal komutları çalıştırma veya dosya yazma gibi işlemleri tek tek onaylamadan otomatik ilerler.
- 'Auto-Fix Lints' seçeneğini açarsanız type error gibi sorunları kendiliğinden düzeltmesi pratik olur.
İpucu 6. Tek bir sohbet oturumunu çok uzun sürdürmeyin
- Sohbet uzadıkça bağlam boyutu sınırı nedeniyle yapay zeka önceki önemli bilgileri unutabilir. (Cursor bunu otomatik özetleme ile yapar.)
- Bir iş bittiğinde yeni bir sohbet oturumu başlatmak daha avantajlıdır.
- Yeni sohbette
@Past Chatskullanarak önceki konuşmanın özetini bağlam olarak enjekte edebilirsiniz. - Önemli içerikleri kurala dönüştürürseniz (İpucu 4), uzun sohbetleri sürdürme ihtiyacı azalır.
İpucu 7. Anlamlı bir değişiklik tamamlandığında mutlaka commit atın
- Tek bir iş bittiğinde Git’e commit atmayı alışkanlık haline getirmek önemlidir.
- Commit, yapay zekanın kodu yanlış değiştirmesi durumunda geri dönebileceğiniz asgari güvenlik mekanizmasıdır.
- Cursor sohbeti üzerinden Git’in ilk kurulumundan commit mesajı yazımına kadar yardım alabilirsiniz.
- “Bu codebase’i GitHub’a yüklemek istiyorum. Ama Git ve GitHub hakkında hiçbir şey bilmiyorum, hesabım da yok. Git’in kurulu olup olmadığını bile bilmiyorum. Bana adım adım yardımcı ol.”
- AI Commit Message özelliğini kullanarak commit mesajını otomatik de oluşturabilirsiniz.
İpucu 8. Cursor’a kod yapısını öğretin; dosya uzunluğu ve dosya adlarını yönetin
- Cursor’un dahili Tools özelliklerini anlamakta fayda var.
List Directory, dosya içeriğini okumaz; yalnızca dizin ve dosya adlarını okur.Read File, bir dosyanın içeriğini tek seferde en fazla 250 satır okur (Max modunda 750 satır).- Başvurulan dosya veya dizinin boyutu çok büyükse, tümü yerine fonksiyon çağrıları gibi önemli kısımlar bırakılarak sıkıştırılır.
- Tek bir sohbet oturumunda Tool çağrısı en fazla 25 kez yapılabilir; daha fazlası için Continue’a manuel basmanız gerekir (Auto apply edit açık olsa bile aynıdır. Max modunda Continue olmadan 200’e kadar çıkabilir).
- Bu nedenle dosya ve dizinleri, rollerini açıkça yansıtacak şekilde adlandırmak ve dosya uzunluğunu 500 satırın altında tutmak iyi olur.
- Çekirdek dizin yapısını veya bileşen bilgilerini
Always Appliedkurallarına eklerseniz yapay zekanın bunları her seferinde yeniden keşfetmesi gerekmez. - Yapay zekanın kod yapısını anlayabilmesi için bir doküman oluşturmasını ve bunu kurallara eklemesini isteyebilirsiniz.
- “Bu codebase’in yapısını ve önemli dosyalarını tek bakışta anlayabileceğin bir doküman oluştur. İstersen mermaid diagram da kullan. Ardından bunu uygun bir proje kuralı olarak ekle.
AlwaysApply: trueolarak ayarla.”
- “Bu codebase’in yapısını ve önemli dosyalarını tek bakışta anlayabileceğin bir doküman oluştur. İstersen mermaid diagram da kullan. Ardından bunu uygun bir proje kuralı olarak ekle.
İpucu 9. Dosyalar uzadığında Cursor’un modülerleştirmesini sağlayın
- Dosya çok uzuyorsa yapay zekadan modülerleştirme istemek iyi bir fikirdir.
-
- aşama (Ask): “Bu projeyi modülerleştirecek olsan hangi bakış açıları veya stratejiler uygun olur, öner. Örneğin: 1) Layered Architecture bakış açısı 2) AOP bakış açısı 3) FSD bakış açısı 4) Clean Architecture bakış açısı”
-
- aşama (Ask): “Önerdiğin stratejileri bir araya getirerek uygun bir modülerleştirme planı oluştur.”
-
- aşama (Agent): “Bu planı dokümante ettikten sonra uygula.”
İpucu 10. @ kullanarak bağlamı aktif biçimde enjekte edin
@simgesiyle dosya ve klasörlerin yanında çeşitli bağlamları da doğrudan enjekte ederseniz yapay zeka daha iyi çalışır.@Code: Kodun sadece belirli fonksiyon, değişken gibi bir bölümüne başvurabilirsiniz.@Docs: Kütüphanenin resmi dokümantasyonuna başvurtarak daha doğru kod yazdırabilirsiniz. Cursor’un zaten sahip olduğu docs’lar da vardır; URL üzerinden siz de ekleyebilirsiniz.@Git: Belirli branch veya commit içeriğine başvurtup karşılaştırma yaptırabilir ya da açıklattırabilirsiniz.@Web,@Link: Web araması yaptırabilir veya belirli bir linkin içeriğini okutabilirsiniz.@Recent Change: Codebase’deki son değişikliklere başvurtabilirsiniz. Tam olarak nasıl çalıştığını bulamadım ama unstaged changes ve son commit’ler temelinde görünüyor. Commit yönetimini sıkı yapmayan, yazılımcı olmayan kullanıcılar için faydalı olabilir.
İpucu 11. Güvenlik önemliyse Privacy modunu açın
- Privacy modu açık değilse kod, prompt vb. veriler toplanıp model eğitimi için kullanılabilir.
- Privacy modu açıksa kodun bir kısmı şifrelenerek geçici olarak saklanabilir; ancak kalıcı olarak depolanmaz veya eğitimde kullanılmaz.
- Ancak Privacy modunda background agent gibi bazı yeni özellikler kullanılamaz.
- Ayrıntılar için Cursor’un privacy mode hakkında açıklama yaptığı dokümana bakın.
İpucu 12. Geliştirmeyi daha rahat ve daha doğru hale getiren MCP ve araçları kullanın
- Görev yönetimi tarafında memory bank, TaskMaster ve Vooster önerilir.
- Cursor resmî dokümanındaki MCP’ler deep link ile tek seferde kurulabilir.
- Browserbase ile tarayıcı başlatma, tıklama, konsol okuma, ekran görüntüsü alma vb.
- PlayWright ile E2E test ekleme
- Sentry ile hataları izleme ve düzeltme
- Stripe ve Paypal ile ödeme alma
- Netlify ve Heroku ile dağıtım yapma
- Snyk ve Semgrep ile güvenlik taraması yapma
- Supabase ile DB tablolarını okuma ve yazma → Cursor resmî dokümanında yer almıyor ama vibe coder’lar için bence kurulması şart
- Şirket içinde çalışıyorsanız ve şirkete özgü durumları ya da çeşitli ürünlerle ilgili bağlamı iyi aktarmak gerekiyorsa doğrudan MCP geliştirmeyi de düşünebilirsiniz. (Bkz: Working with Documentation)
- StageWise gibi harici araçlarla arayüzün belirli bir bölümünü işaretleyip bug düzeltme gibi taleplerde de bulunabilirsiniz.
Diğer küçük ipuçları
- Max modu: İstek başına değil token bazlı ücretlendirilir; daha büyük bağlam ve daha fazla Tool kullanımı sağlar.
- Model ekleme: Ayarlardan Claude 4 Opus gibi varsayılan olarak gizli gelen modelleri etkinleştirebilirsiniz.
- Custom API Key: Kendi LLM API anahtarınızı bağlama özelliği. Kullanım değeri çok yüksek değil. Bu yapılsa bile trafiğin mutlaka Cursor sunucularından geçtiğini unutmayın.
- Ayar senkronizasyonu: Birden fazla PC arasında ayar senkronizasyonu henüz resmî olarak iyi desteklenmiyor. Profile Export/Import’ın iyi çalışmadığı bildiriliyor; birkaç hafta önce bir eklenti çıktı ama 23/6 itibarıyla bazı sorunları var.
- VSCode Marketplace’te görünüyor ama Cursor’un Extension listesinde aratınca çıkmıyor.
- VSCode’a kurduktan sonra Cursor’daki
Import VSCode Settings and Extensionsözelliğiyle içe aktarmak mümkün. Ancak eklenti gerçekte düzgün başlatılmıyor (ilgili issue). - Fena görünmüyor; geliştiricinin hızlıca düzeltmesini umuyorum.
22 yorum
Merak ettiğim bir şey var; bana göre ayda 500 tane aşırı derecede az, bu sorunu nasıl çözüyorsunuz?
Son zamanlarda sınır kaldırılmadı mı?
Ben de Claude Code’u birlikte kullanıyorum ve çoğunlukla AI Studio’da tartışmayı yeterince tamamladıktan sonra rafine istekler vermeye çalıştığım, ayrıca kural ayarlama + gerekirse sekme otomatik tamamlama ile doğrudan uygulama yapma gibi nedenlerle pek yetersiz geldiğini hissetmedim.
Temel olarak bu özellikleri kullanmak için ücretli abonelik mi gerekiyor? Yoksa kullanım azsa ücretsiz temel üyelikle de bunları takip etmek mümkün mü?
Deneyimlerime göre Cursor’ın ücretsiz planındaki özellikler ve kullanım hakkı oldukça kısıtlı, bu yüzden ücretsiz olarak kullanması pek kolay görünmüyor.
Ücretsiz kullanabileceğiniz modeller var ama onlar da o ölçüde kodlama konusunda pek iyi değiller.
İpuçları çok iyi.
Teşekkürler!
Benim de bilmediğim epey faydalı şey varmış ~ teşekkürler!
Güzel ipuçları için teşekkürler~ çok şey öğreniyorum.
Değerli içeriği paylaştığınız için teşekkürler. =b
"Ancak Privacy modunda, background agent gibi bazı en yeni özellikleri kullanamazsınız."
=> Ayrıntılı içeriği merak ediyorum. Biraz kaynak rica ederim..
ref.
https://docs.cursor.com/background-agent
Background Agents, Privacy Mode'da kullanılabilir. Kodunuz asla eğitim için kullanılmaz ve kod yalnızca agent'ı çalıştırma amacıyla saklanır. Privacy mode hakkında daha fazla bilgi edinin
Aa, kısa süre öncesine kadar kullanılamıyordu ama değişmiş demek!! Teşekkürler.
Benim durumumda
yapay zeka kaynak kodunu değiştirmeden veya prompt sorusu sormadan önce
kaynak kodunun tamamını yerelde yedekliyorum.
./history/altında./hisrory/r0001/./hisrory/r0002/...böyle bir yapıya sahip dizinler oluşturup geliştirme kaynaklarını yedekleyen bir script çalıştırıyorum..
Windows geliştirme ortamı kullandığım için bu bir ps1 dosyası.
Git kullanmakla karşılaştırıldığında bu yöntemin ne gibi artıları ve eksileri var?
Git’i de aynı anda kullanın..
Gerçek geliştirme sırasında yapay zeka kaynak kodunu çok fazla değiştirebildiği için..
Bunu tek tek dikkatle kontrol etseniz bile build ettiğinizde hata veya bug oluşabilir
çünkü..
Önceki koda rollback yaparken kullanışlı oluyor.
Kod git ile de rollback edilebilir ama..
Tüm kodun tamamı yedeklenmiş olduğu için
hızlıca bulup değişen koda bakarak geliştirme yapmama yardımcı oldu.
git subtreekullanmanız iyi olabilir gibi görünüyor.git worktree?
Aa, ismi karıştırmışım haha, doğrusu
worktree.Cevabınız için teşekkürler!
Bunun hiçbir avantajı yok.. Zaten sürüm kontrol sistemi bu tür davranışları yapmamak için ortaya çıktı.
Bence git’i daha fazla öğrenmeniz iyi olur.
context7adlı MCP faydalı olduğu için, kütüphane kullanım şeklini sorarken onu sık sık kullanıyorum.Aa, bunu tanıtmayı unuttuğumu şimdi hatırladım; ders materyallerini güncellemiştim ama blogu güncellememişim. Bu sayede ekledim. Teşekkürler.
İpucu 2 soru.
askmodunda olsa bile, özellikle düzenleme yapmamasını söylemezseniz düzenleme yapmayı dener mi?Evet, düzeltmeyi denemeye çalışırken zaman aşımı geçtiği için
edit_filesçalışmıyor mu diye düşünüp başka işlere yöneldiğim durumlar oluyor.Gerçekte düzenleme yapmasa bile, Ask modunda da düzenleme öncesine kadar yapılan gereksiz hazırlık adımlarını azalttığı anlamına geliyor gibi görünüyor.