Gambaran Umum

Cursor membaca dan mengindeks codebase proyek lo untuk menjalankan fiturnya. Atur direktori dan file mana yang bisa diakses Cursor pakai file .cursorignore di direktori root lo. Cursor memblokir akses ke file yang tercantum di .cursorignore dari:
Panggilan tool yang dijalankan oleh Agent, seperti terminal dan server MCP, nggak bisa memblokir akses ke kode yang diatur oleh .cursorignore

Kenapa nge-ignore file?

Keamanan: Batasin akses ke API key, kredensial, dan secret. Walaupun Cursor ngeblokir file yang di-ignore, perlindungan penuh tetap nggak bisa dijamin karena sifat LLM yang nggak bisa diprediksi. Performa: Di codebase besar atau monorepo, exclude bagian yang nggak relevan biar indexing lebih cepat dan penemuan file lebih akurat.

File ignore global

Atur pola ignore untuk semua proyek di pengaturan pengguna buat mengecualikan file sensitif tanpa perlu konfigurasi per proyek.
Daftar Ignore Global Cursor
Pola default mencakup:
  • File environment: **/.env, **/.env.*
  • Kredensial: **/credentials.json, **/secrets.json
  • Kunci: **/*.key, **/*.pem, **/id_rsa

Mengonfigurasi .cursorignore

Bikin file .cursorignore di direktori root lo pakai sintaks .gitignore.

Contoh pola

config.json      # File tertentu
dist/           # Direktori
*.log           # Ekstensi file
**/logs         # Direktori bersarang
!app/           # Batalkan pengabaian (negasi)

Pengabaian hierarkis

Aktifkan Cursor Settings > Features > Editor > Hierarchical Cursor Ignore untuk mencari file .cursorignore di direktori induk. Catatan: Komentar diawali dengan #. Pola yang muncul belakangan akan menimpa yang lebih awal. Pola bersifat relatif terhadap lokasi file.

Batasi pengindeksan dengan .cursorindexingignore

Gunakan .cursorindexingignore untuk mengecualikan file hanya dari pengindeksan. File ini tetap bisa diakses oleh fitur AI, tapi nggak akan muncul di pencarian codebase.

File yang diabaikan secara default

Cursor otomatis mengabaikan file di .gitignore dan daftar abaikan default di bawah. Kamu bisa override dengan prefiks ! di .cursorignore.

Keterbatasan pola negasi

Saat menggunakan pola negasi (diawali dengan !), kamu nggak bisa menyertakan ulang file kalau direktori induknya dikecualikan dengan *.
# Abaikan semua file di folder public
public/*

# ✅ Ini berfungsi, karena file ada di level teratas
!public/index.html

# ❌ Ini tidak berfungsi — nggak bisa menyertakan ulang file dari direktori bertingkat
!public/assets/style.css
Solusi: Kecualikan direktori bertingkat secara eksplisit:
public/assets/*
!public/assets/style.css # File ini sekarang bisa diakses
Direktori yang dikecualikan tidak dipindai demi performa, jadi pola pada file di dalamnya tidak berpengaruh. Ini sesuai dengan implementasi .gitignore untuk pola negasi di direktori bertingkat. Untuk detail lebih lanjut, lihat dokumentasi resmi Git tentang pola gitignore.

Pemecahan masalah

Tes pola dengan git check-ignore -v [file].