Cursor 규칙 효과적으로 사용하기: 모범 사례와 일반적인 실수
Cursor가 발전함에 따라 규칙을 올바르게 구현하고 관리하는 것이 더욱 중요해지고 있습니다. 이 가이드는 일반적인 함정을 피하고 AI 지원을 위한 규칙 구성을 최적화하는 데 도움을 줄 것입니다.
주요 포인트
.cursor/rules
디렉토리에서.mdc
규칙을 사용하여 현대적인 규칙 구현- 규칙을 단순하고 집중적으로 유지
- 반복되는 AI 실수에 대한 특정 규칙 생성
- 추적을 위한 가시성 규칙 구현
- 프로젝트별 규칙 준수
현대적인 규칙 구현
.cursorrules에서 .mdc로 마이그레이션
.cursorrules
형식은 더 이상 사용되지 않으며 .mdc
규칙으로 대체되고 있습니다. 다음은 마이그레이션 방법입니다:
- 기존 규칙 식별
# .cursorrules 파일 목록 표시
find . -name ".cursorrules"
- 규칙 변환
# 이전 .cursorrules 형식
USE_TYPESCRIPT=true
FOLLOW_STYLE_GUIDE=true
# 새로운 .mdc 형식
rule "typescript_usage" {
description = "TypeScript 사용 강제"
when = "새 파일 생성 시"
then = "모든 새 파일에 TypeScript 사용"
}
rule "style_guide" {
description = "프로젝트 스타일 가이드 준수"
when = "코드 작성 또는 수정 시"
then = "프로젝트 스타일 가이드라인 준수"
}
- 마이그레이션 검증
# .mdc 규칙이 적용되는지 확인
/rules status
.mdc 규칙 사용
현재 권장되는 접근 방식은 .cursor/rules
디렉토리에서 .mdc
규칙을 사용하는 것입니다. .cursorrules
파일은 여전히 작동하지만 레거시로 간주되며, 현대적인 .mdc
형식은 Cursor의 AI 기능과 더 나은 통합을 제공합니다.
.cursor/
rules/
code-style.mdc
documentation.mdc
testing.mdc
규칙 구조 모범 사례
-
규칙을 단순하고 집중적으로 유지
- 서로 다른 관심사에 대해 별도의 규칙 파일 생성
- 하나의 파일에 관련 없는 규칙을 결합하지 않음
- 규칙 파일에 명확하고 설명적인 이름 사용
-
반복적인 규칙 개발
- AI 응답을 모니터링하고 패턴 식별
- 반복되는 실수가 발견되면 새로운 규칙 생성
- 실제 사용을 기반으로 기존 규칙 개선
-
프로젝트별 규칙
- 프로젝트의 코딩 표준에 맞춤
- 프레임워크별 요구사항 고려
- 규칙의 목적과 기대사항 문서화
일반적인 실수 피하기
-
규칙 복잡화
- 하나의 규칙에서 너무 많은 케이스를 처리하지 않음
- 유지보수가 어려운 복잡한 조건 로직 피함
- 규칙 정의를 명확하고 간단하게 유지
-
규칙 가시성 무시
- 적용되는 것을 추적하기 위해 가시성 규칙 활성화
- 규칙 효과성 모니터링
- 실제 사용 패턴에 따라 규칙 조정
-
규칙 업데이트 누락
- 정기적으로 규칙 검토 및 업데이트
- 오래되거나 불필요한 규칙 제거
- 프로젝트 발전에 맞춰 규칙 유지
규칙 관리 모범 사례
-
조직화
.cursor/rules/
style/
formatting.mdc
naming.mdc
testing/
unit-tests.mdc
integration-tests.mdc
documentation/
comments.mdc
api-docs.mdc -
버전 관리
- 규칙을 버전 관리에 포함
- 커밋 메시지에 규칙 변경 문서화
- 코드 리뷰 시 규칙 변경 검토
-
팀 협업
- 효과적인 규칙을 팀원과 공유
- 팀 전체의 규칙 규약 수립
- 규칙 사용법과 기대사항 문서화
규칙 예시
코드 스타일 규칙
# style/formatting.mdc
rule "consistent-formatting" {
description = "일관된 코드 포맷팅 강제"
when = "코드 포맷팅 시"
then = "프로젝트 스타일 가이드 준수:
- 2칸 들여쓰기 사용
- 여는 중괄호를 같은 줄에 배치
- 연산자 주위에 공백 추가"
}
문서화 규칙
# documentation/comments.mdc
rule "function-documentation" {
description = "적절한 함수 문서화 보장"
when = "함수 작성 또는 수정 시"
then = "다음 포함:
- 함수 목적
- 매개변수 설명
- 반환값 설명
- 복잡한 경우 사용 예시"
}
테스트 규칙
# testing/unit-tests.mdc
rule "test-coverage" {
description = "테스트 커버리지 기준 유지"
when = "새로운 기능 구현 시"
then = "단위 테스트 작성:
- 모든 코드 경로 커버
- 엣지 케이스 포함
- AAA 패턴 준수
- 의미 있는 테스트 이름 사용"
}
오류 처리 규칙
# error-handling/exceptions.mdc
rule "error-handling" {
description = "오류 처리 표준화"
when = "오류 처리 구현 시"
then = "오류 처리 가이드라인 준수:
- 사용자 정의 오류 클래스 사용
- 오류 컨텍스트 포함
- 적절한 세부 정보 로깅
- 오류 체인 유지"
}
규칙 디버깅 및 검증
1. 규칙 테스트
# 특정 규칙 테스트
/rules test style/formatting.mdc
# 모든 규칙 테스트
/rules test-all
2. 규칙 검증
# 규칙 구문 검증
/rules validate style/formatting.mdc
# 규칙 충돌 확인
/rules check-conflicts
3. 규칙 모니터링
# 규칙 적용 모니터링
/rules monitor
# 규칙 통계 보기
/rules stats
문제 해결
규칙 적용에 문제가 발생한 경우:
- 규칙 구문과 형식 확인
- 규칙 파일 위치와 이름 확인
- Cursor가 규칙을 로드하는지 확인
- AI 응답에서 규칙 적용 모니터링
- 규칙 디버깅 도구 사용
- 규칙 적용 로그 확인
일반적인 규칙 문제
-
규칙이 적용되지 않음
- 규칙 파일 권한 확인
- 규칙 구문 확인
- 규칙 위치 확인
- 규칙 조건 검토
-
규칙 충돌
- 충돌하는 규칙 식별
- 규칙 우선순위 설정
- 충돌 해결
- 해결책 문서화
-
성능 영향
- 규칙 처리 시간 모니터링
- 복잡한 규칙 최적화
- 불필요한 규칙 제거
- 규칙 캐싱 사용
결론
효과적인 규칙 관리는 Cursor의 AI 기능을 최대한 활용하는 데 중요합니다. 이러한 모범 사례를 따르고 일반적인 실수를 피함으로써 더 효율적이고 일관된 개발 환경을 만들 수 있습니다.
다음을 기억하세요:
- 규칙을 단순하고 집중적으로 유지
- 규칙을 모니터링하고 반복적으로 개선
- 좋은 조직화 유지
- 팀과 지식 공유
- 정기적으로 규칙 검증 및 디버깅
- 최신 모범 사례 유지