개요

Cursor는 프로젝트의 코드베이스를 읽고 인덱싱해 기능을 제공해. 루트 디렉터리에 있는 .cursorignore 파일로 Cursor가 접근할 수 있는 디렉터리와 파일을 제어해. Cursor는 .cursorignore에 나열된 파일에 대한 접근을 다음에서 막아:
Agent가 시작한 도구 호출(예: 터미널, MCP 서버)은 .cursorignore로 제어되는 코드에 대한 접근을 막을 수 없어

왜 파일을 제외할까?

보안: API 키, 자격 증명, 시크릿에 대한 접근을 제한해. Cursor가 제외한 파일을 차단하더라도, LLM의 예측 불가능성 때문에 완전한 보호가 보장되진 않아. 성능: 대규모 코드베이스나 모노레포에서는 인덱싱을 더 빠르게 하고 파일 탐색 정확도를 높이기 위해 관련 없는 부분을 제외해.

전역 무시 파일

프로젝트별 설정 없이도 사용자 설정에서 모든 프로젝트에 적용될 무시 패턴을 설정해서 민감한 파일을 제외해.
Global Cursor Ignore List
기본 패턴에는 다음이 포함돼:
  • 환경 파일: **/.env, **/.env.*
  • 자격 증명: **/credentials.json, **/secrets.json
  • 키: **/*.key, **/*.pem, **/id_rsa

.cursorignore 구성

루트 디렉터리에 .gitignore 문법을 사용해서 .cursorignore 파일을 만들어.

패턴 예시

config.json      # 특정 파일
dist/            # 디렉터리
*.log            # 파일 확장자
**/logs          # 하위 디렉터리
!app/            # 무시 목록에서 제외(부정)

계층적 무시

부모 디렉터리에서 .cursorignore 파일을 검색하려면 Cursor Settings > Features > Editor > Hierarchical Cursor Ignore를 켜. 메모: 주석은 #로 시작해. 나중에 나온 패턴이 이전 패턴을 덮어써. 패턴은 파일 위치 기준이야.

.cursorindexingignore로 인덱싱 제한하기

.cursorindexingignore를 사용해 인덱싱에서만 파일을 제외해. 이 파일들은 AI 기능에서는 계속 접근할 수 있지만 코드베이스 검색에는 표시되지 않아.

기본적으로 무시되는 파일

Cursor는 .gitignore와 아래 기본 무시 목록에 있는 파일을 자동으로 무시해. .cursorignore에서 ! 접두사를 붙여서 무시를 해제할 수 있어.

부정 패턴의 제한사항

부정 패턴(!로 시작)을 사용할 때, 상위 디렉터리가 *로 제외된 경우 해당 파일을 다시 포함할 수 없어.
# public 폴더의 모든 파일 무시
public/*

# ✅ 이건 돼. 파일이 최상위에 있으니까
!public/index.html

# ❌ 이건 안 돼 - 중첩 디렉터리의 파일은 다시 포함할 수 없어
!public/assets/style.css
우회 방법: 중첩 디렉터리를 명시적으로 제외해:
public/assets/*
!public/assets/style.css # 이제 이 파일에 접근 가능
제외된 디렉터리는 성능을 위해 탐색하지 않으므로, 그 안의 파일에 대한 패턴은 효과가 없어. 이건 중첩 디렉터리에서의 부정 패턴 처리 방식이 .gitignore 구현과 동일해. 자세한 내용은 gitignore 패턴에 대한 공식 Git 문서를 참고해.

문제 해결

git check-ignore -v [file]로 패턴을 테스트해.