Genel Bakış

Cursor, özelliklerini çalıştırmak için projenin kod tabanını okur ve indeksler. Kök dizindeki .cursorignore dosyasını kullanarak Cursor’un hangi dizin ve dosyalara erişebileceğini kontrol et. Cursor, .cursorignore içinde listelenen dosyalara erişimi şuralardan engeller:
Agent tarafından başlatılan araç çağrıları — terminal ve MCP sunucuları gibi — .cursorignore kapsamındaki koda erişimi engelleyemez

Neden dosyaları yok sayasın?

Güvenlik: API anahtarlarına, kimlik bilgilerine ve sırlarına erişimi kısıtla. Cursor yok sayılan dosyaları engellese de, LLM’lerin öngörülemezliği nedeniyle tam koruma garanti edilemez. Performans: Büyük kod tabanlarında veya monorepo’larda, daha hızlı indeksleme ve daha isabetli dosya keşfi için alakasız kısımları dışarıda tut.

Global ignore dosyaları

Her proje için ayrı ayrı yapılandırma yapmana gerek kalmadan, kullanıcı ayarlarında tüm projeler için ignore desenleri belirleyerek hassas dosyaları hariç tut.
Global Cursor Ignore List
Varsayılan desenler şunlardır:
  • Ortam dosyaları: **/.env, **/.env.*
  • Kimlik bilgileri: **/credentials.json, **/secrets.json
  • Anahtarlar: **/*.key, **/*.pem, **/id_rsa

.cursorignore yapılandırması

Kök dizininde, .gitignore sözdizimini kullanarak bir .cursorignore dosyası oluştur.

Örnek kalıplar

config.json      # Belirli dosya
dist/           # Dizin
*.log           # Dosya uzantısı
**/logs         # İç içe dizinler
!app/           # Yoksayılandan çıkar (negasyon)

Hiyerarşik yok sayma

Üst dizinlerde .cursorignore dosyalarını aramak için Cursor Settings > Features > Editor > Hierarchical Cursor Ignore özelliğini etkinleştir. Notlar: Yorumlar # ile başlar. Sonraki kalıplar önceki olanların üzerine yazar. Kalıplar dosyanın konumuna göredir.

.cursorindexingignore ile indekslemeyi sınırla

Yalnızca indekslemeden dosyaları hariç tutmak için .cursorindexingignore kullan. Bu dosyalar AI özellikleriyle erişilebilir kalır ama kod tabanı aramalarında görünmez.

Varsayılan olarak yok sayılan dosyalar

Cursor, .gitignore ve aşağıdaki varsayılan yok sayma listesindeki dosyaları otomatik olarak yok sayar. .cursorignore içinde ! önekiyle geçersiz kılabilirsin.
Yalnızca indeksleme için, .gitignore, .cursorignore ve .cursorindexingignore dosyalarındakilere ek olarak şu dosyalar da yok sayılır:
package-lock.json
pnpm-lock.yaml
yarn.lock
composer.lock
Gemfile.lock
bun.lockb
.env*
.git/
.svn/
.hg/
*.lock
*.bak
*.tmp
*.bin
*.exe
*.dll
*.so
*.lockb
*.qwoff
*.isl
*.csv
*.pdf
*.doc
*.doc
*.xls
*.xlsx
*.ppt
*.pptx
*.odt
*.ods
*.odp
*.odg
*.odf
*.sxw
*.sxc
*.sxi
*.sxd
*.sdc
*.jpg
*.jpeg
*.png
*.gif
*.bmp
*.tif
*.mp3
*.wav
*.wma
*.ogg
*.flac
*.aac
*.mp4
*.mov
*.wmv
*.flv
*.avi
*.zip
*.tar
*.gz
*.7z
*.rar
*.tgz
*.dmg
*.iso
*.cue
*.mdf
*.mds
*.vcd
*.toast
*.img
*.apk
*.msi
*.cab
*.tar.gz
*.tar.xz
*.tar.bz2
*.tar.lzma
*.tar.Z
*.tar.sz
*.lzma
*.ttf
*.otf
*.pak
*.woff
*.woff2
*.eot
*.webp
*.vsix
*.rmeta
*.rlib
*.parquet
*.svg
.egg-info/
.venv/
node_modules/
__pycache__/
.next/
.nuxt/
.cache/
.sass-cache/
.gradle/
.DS_Store/
.ipynb_checkpoints/
.pytest_cache/
.mypy_cache/
.tox/
.git/
.hg/
.svn/
.bzr/
.lock-wscript/
.Python/
.jupyter/
.history/
.yarn/
.yarn-cache/
.eslintcache/
.parcel-cache/
.cache-loader/
.nyc_output/
.node_repl_history/
.pnp.js/
.pnp/

Olumsuzlama deseni sınırlamaları

Olumsuzlama desenlerini (! ile başlayan) kullanırken, bir üst dizin * ile hariç tutulduysa bir dosyayı yeniden dahil edemezsin.
# public klasöründeki tüm dosyaları yok say
public/*

# ✅ Bu çalışır, çünkü dosya kök dizinde mevcut
!public/index.html

# ❌ Bu çalışmaz – iç içe dizinlerden dosyalar yeniden dahil edilemez
!public/assets/style.css
Geçici çözüm: İç içe dizinleri açıkça dışarıda bırak:
public/assets/*
!public/assets/style.css # Bu dosyaya artık erişilebilir
Hariç tutulan dizinler performans nedeniyle dolaşılıp taranmaz; bu yüzden içlerindeki dosyalar için tanımlanan desenlerin hiçbir etkisi olmaz. Bu, iç içe dizinlerdeki olumsuzlama desenleri için .gitignore’un davranışıyla aynıdır. Daha fazla bilgi için gitignore desenleriyle ilgili resmi Git belgelerine bak.

Sorun Giderme

Desenleri git check-ignore -v [file] komutuyla test et.