Kurallar, Agent ve Inline Edit için sistem düzeyinde talimatlar sağlar. Bunları projelerin için kalıcı bağlam, tercihler veya iş akışları olarak düşün. Cursor dört tür kuralı destekler:

Project Rules

.cursor/rules içinde saklanır, sürüm kontrolünde tutulur ve kod tabanına özelleştirilir.

User Rules

Cursor ortamında geneldir. Ayarlarda tanımlanır ve her zaman uygulanır.

AGENTS.md

Agent talimatları markdown formatında. .cursor/rules için basit bir alternatif.

.cursorrules (Legacy)

Hâlâ destekleniyor ama kullanım dışı. Bunun yerine Project Rules kullan.

Kurallar nasıl çalışır

Büyük dil modelleri tamamlamalar arasında belleği korumaz. Kurallar, istem düzeyinde kalıcı ve yeniden kullanılabilir bağlam sağlar. Uygulandığında, kural içeriği model bağlamının başına eklenir. Bu, yapay zekâya kod üretme, düzenlemeleri yorumlama veya iş akışlarına yardımcı olma konusunda tutarlı yönlendirme sağlar.
Sohbet bağlamında uygulanan kural
Kurallar Chat ve Inline Edit için geçerlidir. Etkin kurallar Agent kenar çubuğunda görünür.

Proje kuralları

Proje kuralları .cursor/rules içinde bulunur. Her kural bir dosyadır ve sürüm kontrolü altındadır. Yol kalıplarıyla kapsamlanabilir, elle tetiklenebilir ya da ilgililik durumuna göre dahil edilebilir. Alt dizinler, yalnızca o klasöre uygulanacak şekilde kapsamlanan kendi .cursor/rules dizinlerini barındırabilir. Proje kurallarını şunlar için kullan:
  • Kod tabanına ilişkin alan-özel bilgiyi kodlamak
  • Projeye özgü iş akışlarını veya şablonları otomatikleştirmek
  • Stil veya mimari kararları standartlaştırmak

Kural yapısı

Her kural dosyası, meta veriler ve içeriği destekleyen MDC (.mdc) formatında yazılır. description, globs, alwaysApply özelliklerini değiştiren tür açılır menüsünden kuralların nasıl uygulanacağını kontrol et.
Kural TürüAçıklama
AlwaysModel bağlamına her zaman eklenir
Auto AttachedGlob desenini eşleyen dosyalara referans verildiğinde eklenir
Agent RequestedDahil edilip edilmeyeceğine AI karar verir. Bir açıklama sağlanmalıdır
ManualYalnızca @ruleName kullanılarak açıkça belirtildiğinde eklenir
---
description: RPC Servis kalıbı
globs:
alwaysApply: false
---

- Servisleri tanımlarken dahili RPC kalıbımızı kullan
- Servis adları için her zaman snake_case kullan

@service-template.ts

İç içe kurallar

Kuralları proje genelinde .cursor/rules dizinlerine yerleştirerek düzenle. Kendi dizinlerindeki dosyalar referans alındığında, iç içe kurallar otomatik olarak uygulanır.
project/
  .cursor/rules/        # Proje genelinde geçerli kurallar
  backend/
    server/
      .cursor/rules/    # Backend’e özel kurallar
  frontend/
    .cursor/rules/      # Frontend’e özel kurallar

Kural oluşturma

New Cursor Rule komutunu kullanarak veya Cursor Settings > Rules bölümüne giderek kural oluştur. Bu, .cursor/rules içinde yeni bir kural dosyası oluşturur. Ayarlardan tüm kuralları ve durumlarını görebilirsin.
Kısa ve uzun kuralların karşılaştırması

Kurallar oluşturma

Sohbetlerde /Generate Cursor Rules komutunu kullanarak kuralları doğrudan oluştur. Aracın davranışıyla ilgili kararlar verdiğinde ve bunları yeniden kullanmak istediğinde işine yarar.

En iyi uygulamalar

İyi kurallar odaklı, uygulanabilir ve iyi tanımlanmış kapsamda olmalı.
  • Kuralları 500 satırın altında tut
  • Büyük kuralları birden çok, birleştirilebilir kurala böl
  • Somut örnekler ya da referans verilen dosyalar ekle
  • Belirsiz yönlendirmelerden kaçın. Kuralları net iç dokümanlar gibi yaz
  • Sohbette tekrarlayan istemlerde kuralları yeniden kullan

Örnekler

Bu kural, frontend bileşenleri için standartlar sunar:components dizininde çalışırken:
  • Stil için her zaman Tailwind kullan
  • Animasyonlar için Framer Motion kullan
  • Bileşen adlandırma kurallarına uy
Bu kural, API uç noktaları için doğrulamayı zorunlu kılar:API dizininde:
  • Tüm doğrulamalar için zod kullan
  • Dönüş tiplerini zod şemalarıyla tanımla
  • Şemalardan üretilen tipleri dışa aktar
Bu kural, Express servisleri için bir şablon sağlar:Express servisi oluştururken bu şablonu kullan:
  • RESTful ilkeleri takip et
  • Hata yakalama middleware’i ekle
  • Doğru loglamayı yapılandır
@express-service-template.tsBu kural, React bileşen yapısını tanımlar:React bileşenleri şu düzeni takip etmeli:
  • En üstte Props arayüzü
  • Bileşen named export olarak
  • En altta stiller
@component-template.tsx
Bu kural, uygulama analizini otomatikleştirir:Uygulamayı analiz etmen istendiğinde:
  1. npm run dev ile geliştirme sunucusunu çalıştır
  2. Konsoldan logları al
  3. Performans iyileştirmeleri öner
Bu kural, dokümantasyon üretimine yardımcı olur:Dokümantasyon taslağı hazırlarken:
  • Kod yorumlarını çıkar
  • README.md dosyasını analiz et
  • Markdown dokümantasyonu üret
İlk olarak @reactiveStorageTypes.ts içinde aç/kapa yapılacak bir özellik (property) oluştur.@reactiveStorageService.tsx içindeki INIT_APPLICATION_USER_PERSISTENT_STORAGE içine varsayılan değeri ekle.Beta özellikleri için toggle’ı @settingsBetaTab.tsx içine, diğer durumlarda @settingsGeneralTab.tsx içine ekle. Toggle’lar, genel onay kutuları için <SettingsSubSection> olarak eklenebilir. Örnekler için dosyanın geri kalanına bak.
<SettingsSubSection
				label="Özellik adı"
				description="Özellik açıklaması"
				value={
					vsContext.reactiveStorageService.applicationUserPersistentStorage
						.myNewProperty ?? false
				}
				onChange={(newVal) => {
					vsContext.reactiveStorageService.setApplicationUserPersistentStorage(
						'myNewProperty',
						newVal
					);
				}}
			/>
Uygulamada kullanmak için reactiveStorageService’i içe aktar ve özelliği kullan:
const flagIsEnabled = vsContext.reactiveStorageService.applicationUserPersistentStorage.myNewProperty
Sağlayıcılar ve framework’lerden birçok örnek mevcut. Topluluk katkılı kurallar, çevrimiçi kitle kaynaklı koleksiyonlar ve depolarda bulunur.

AGENTS.md

AGENTS.md, ajan talimatlarını tanımlamak için basit bir markdown dosyasıdır. Basit kullanım senaryoları için .cursor/rules’a alternatif olarak proje kök dizinine yerleştir. Project Rules’dan farklı olarak AGENTS.md, meta veri veya karmaşık yapılandırmalar içermeyen düz bir markdown dosyasıdır. Yapılandırılmış kuralların ek yükü olmadan basit ve okunabilir talimatlara ihtiyaç duyan projeler için idealdir.
# Proje Yönergeleri

## Kod Stili
- Tüm yeni dosyalar için TypeScript kullan
- React’te fonksiyonel bileşenleri tercih et
- Veritabanı sütunları için snake_case kullan

## Mimari
- Repository desenini uygula
- İş mantığını servis katmanlarında tut

Kullanıcı Kuralları

Kullanıcı kuralları, tüm projelere uygulanan ve Cursor Settings → Rules içinde tanımlanan genel tercihlerdir. Düz metin olarak tutulurlar ve tercih ettiğin iletişim tarzını ya da kodlama standartlarını belirlemek için idealdir:
Lütfen kısa ve öz yanıt ver. Gereksiz tekrar ya da doldurma ifadelerinden kaçın.

.cursorrules (Eski)

Proje kök dizinindeki .cursorrules dosyası hâlâ destekleniyor ama yakında kullanımdan kaldırılacak. Daha fazla kontrol, esneklik ve görünürlük için Project Rules’a geçmeni öneriyoruz.

SSS

Kural türünü kontrol et. Agent Requested için bir açıklama tanımladığından emin ol. Auto Attached için dosya deseninin referans verilen dosyalarla eşleştiğinden emin ol.
Evet. Kuralının bağlamına dosyaları dahil etmek için @filename.ts kullan.
Evet, /Generate Cursor Rules komutunu kullanarak sohbetten proje kuralları oluştur. Memories etkinse, Memories otomatik olarak oluşturulur.
Hayır. Kurallar yalnızca Agent ve Inline Edit için geçerlidir