커서에서는 .cursorignore와 .cursorindexingignore가 비슷해 보이지만, 같은 목적을 가지지는 않습니다. 많은 대형 저장소가 처음부터 이 둘을 섞어, AI가 원래 볼 수 있도록 의도된 코드를 인덱싱하거나 방해하거나 차단하는 결과를 낳습니다.
가장 단순한 차이점은 .cursorindexingignore는 인덱스에만 영향을 주고 대부분의 AI 읽기 능력에는 영향을 주지 않는 반면, .cursorignore는 더 공격적이어서 이 파일들이 인덱스에 입력되지 못하게 하고 Tab, Agent, Inline Edit, 참조와 같은 접근 경로에도 영향을 준다는 점입니다. 즉, 하나는 성능 및 검색이고, 다른 하나는 접근 제어입니다.
모노레포가 너무 크고, 컴파일 제품이 너무 많으며, 문서가 너무 복잡해서 코드베이스 검색을 더 깔끔하고 빠르게 만들고 싶다면, 먼저 .cursorindexingignore를 사용하세요. 이러한 문서들이 색인화할 가치가 없을 수도 있으므로, 필요할 때 AI가 이를 완전히 금지하는 것은 아닙니다.
반대로, 자격 증명, 개인 설정, 불필요한 하위 프로젝트 등 특정 디렉터리가 AI 루틴 워크플로우에 포함되지 않길 명시적으로 원한다면 .cursorignore가 더 적합합니다. "이 콘텐츠가 메인 AI 접근 표면에 들어오지 않도록 하라"고 적혀 있지, 단순히 "임베딩하지 마세요"라고 적혀 있지 않습니다.
왜 많은 사람들이 후진을 사용할까요? 왜냐하면 "무시"를 보면 기본적으로 의미로 이해하게 되기 때문입니다. 그 결과, 성능 문제는 보안 문제로 취급되거나, 보안 문제는 인덱스 문제로 처리됩니다. 일반적인 결과는 다음과 같습니다:
1. .cursorignore를 사용해 인덱싱하고 싶지 않은 큰 디렉터리들을 차단하면, AI가 응답할 때 가시성이 좁아지는 경우.
2. 민감한 파일이 차단되었다고 생각해 .cursorindexingignore만 쓰지만, 실제 AI는 다른 경로에서 여전히 이를 접할 수 있습니다.
실제로 매우 유용한 구분은 다음과 같습니다: spawn, 캐시, 대형 로그, 그리고 우선순위는 .cursorindexingignore에 할당된 서드파티 벤더 패키지; 정말로 일반 AI 컨텍스트에 콘텐츠를 넣고 싶지 않다면, .cursorignore를 추가하세요. 작성 후에는 Cursor의 인덱싱 & 문서에서 포함된 파일을 확인하거나, git의 check-ignore를 사용해 규칙을 확인하세요. 추측에 의존하지 마세요.
그래서 이 두 문서는 누가 누구를 대체하는지를 나타내는 것이 아니라, 각각 고유한 층을 가지고 있습니다. 저장소가 복잡할수록 처음부터 "인덱싱 속도 향상"과 "노출 파이프 접근 감소"를 구분해야 합니다. 이걸 명확히 말할 수 없고, 조율할수록 점점 더 혼란스러워집니다.