AI는 똑똑하지만, 내가 참여 중인 프로젝트의 '분위기'나 '약속'까지는 다 알지 못한다. 예를 들어, 나는 변수 이름을 snake_case로 쓰고 싶은데 AI가 자꾸 camelCase를 추천하면 매번 고치느라 스트레스를 받게 된다. 이런 반복적인 잔소리를 없애주는 마법의 파일이 바로 .cursorrules다.
1. .cursorrules란 무엇인가?
쉽게 말해 "AI 비서에게 주는 업무 매뉴얼"이다. 프로젝트의 루트 폴더(최상위 폴더)에 이 파일을 만들어 두면, Cursor의 AI는 질문에 답하거나 코드를 생성하기 전에 반드시 이 파일 내용을 먼저 읽는다.
- 목적: 코드 스타일 통일, 특정 라이브러리 사용 강제, 프로젝트 구조 설명 등.
- 효과: 일일이 채팅으로 "이 프로젝트는 TypeScript를 쓰니까 타입 정의를 꼭 해줘"라고 말할 필요가 없어진다.
2. 만드는 방법 (아주 간단함)
- 프로젝트의 가장 바깥 폴더(Root)에 새 파일을 만든다.
- 파일 이름을 정확히
.cursorrules라고 짓는다. (앞에 점.이 붙는 것에 주의!) - 그 안에 AI에게 바라는 점을 자유롭게 적는다. (영어도 좋고, 한국어도 잘 알아듣는다.)
3. 실전 예시: 뭐라고 적어야 할까?
고등학생 수준에서도 충분히 활용할 수 있는 간단한 가이드라인 예시다. 이 내용을 그대로 복사해서 넣어보자.
# 우리 프로젝트 코딩 규칙
1. 모든 파일은 TypeScript를 사용하고, 타입을 엄격하게 정의할 것.
2. 컴포넌트는 함수형(Functional Component)으로 작성하고, 화살표 함수를 사용할 것.
3. 변수 이름은 반드시 camelCase를 사용할 것.
4. UI 라이브러리는 Tailwind CSS를 사용하고, 스타일은 클래스명으로 해결할 것.
5. 주석은 한글로 친절하게 달아줄 것.이렇게 적어두면, 앞으로 Cmd+K로 코드를 짤 때 AI가 알아서 한글 주석을 달고 Tailwind CSS를 적용한 코드를 내놓는다.
4. 알아두면 좋은 꿀팁: 특정 파일 무시하기
AI가 모든 파일을 다 읽게 하면 오히려 성능이 떨어질 수 있다. 예를 들어 설치된 라이브러리 폴더(node_modules)나 빌드 결과물(dist)은 AI가 굳이 알 필요가 없다. 이때는 .cursorignore 파일을 사용하여 AI의 시야를 가려줄 수 있다.
- 효과: 인덱싱 속도가 빨라지고, 질문에 대한 답변 정확도가 높아진다.
관련 문서: Cursor Docs - Ignore Files
5. 요약: 잔소리를 자동화하자
.cursorrules를 설정하는 것은 처음엔 귀찮게 느껴질 수 있지만, 한 번 정해두면 개발 시간이 수십 배는 쾌적해진다.
- 내 프로젝트만의 규칙을 정한다.
.cursorrules파일에 적어둔다.- AI가 그 규칙에 맞춰 코드를 짜는지 지켜본다.
이제 AI는 더 이상 남의 코드를 짜주는 외부인이 아니라, 우리 프로젝트의 규칙을 완벽히 숙지한 팀원이 된다.
