본문으로 건너뛰기

Cursor 규칙 효과적으로 사용하기: 모범 사례와 일반적인 실수

Cursor가 발전함에 따라 규칙을 올바르게 구현하고 관리하는 것이 더욱 중요해지고 있습니다. 이 가이드는 일반적인 함정을 피하고 AI 지원을 위한 규칙 구성을 최적화하는 데 도움을 줄 것입니다.

주요 포인트

  • .cursor/rules 디렉토리에서 .mdc 규칙을 사용하여 현대적인 규칙 구현
  • 규칙을 단순하고 집중적으로 유지
  • 반복되는 AI 실수에 대한 특정 규칙 생성
  • 추적을 위한 가시성 규칙 구현
  • 프로젝트별 규칙 준수

현대적인 규칙 구현

.cursorrules에서 .mdc로 마이그레이션

.cursorrules 형식은 더 이상 사용되지 않으며 .mdc 규칙으로 대체되고 있습니다. 다음은 마이그레이션 방법입니다:

  1. 기존 규칙 식별
# .cursorrules 파일 목록 표시
find . -name ".cursorrules"
  1. 규칙 변환
# 이전 .cursorrules 형식
USE_TYPESCRIPT=true
FOLLOW_STYLE_GUIDE=true

# 새로운 .mdc 형식
rule "typescript_usage" {
description = "TypeScript 사용 강제"
when = "새 파일 생성 시"
then = "모든 새 파일에 TypeScript 사용"
}

rule "style_guide" {
description = "프로젝트 스타일 가이드 준수"
when = "코드 작성 또는 수정 시"
then = "프로젝트 스타일 가이드라인 준수"
}
  1. 마이그레이션 검증
# .mdc 규칙이 적용되는지 확인
/rules status

.mdc 규칙 사용

현재 권장되는 접근 방식은 .cursor/rules 디렉토리에서 .mdc 규칙을 사용하는 것입니다. .cursorrules 파일은 여전히 작동하지만 레거시로 간주되며, 현대적인 .mdc 형식은 Cursor의 AI 기능과 더 나은 통합을 제공합니다.

.cursor/
rules/
code-style.mdc
documentation.mdc
testing.mdc

규칙 구조 모범 사례

  1. 규칙을 단순하고 집중적으로 유지

    • 서로 다른 관심사에 대해 별도의 규칙 파일 생성
    • 하나의 파일에 관련 없는 규칙을 결합하지 않음
    • 규칙 파일에 명확하고 설명적인 이름 사용
  2. 반복적인 규칙 개발

    • AI 응답을 모니터링하고 패턴 식별
    • 반복되는 실수가 발견되면 새로운 규칙 생성
    • 실제 사용을 기반으로 기존 규칙 개선
  3. 프로젝트별 규칙

    • 프로젝트의 코딩 표준에 맞춤
    • 프레임워크별 요구사항 고려
    • 규칙의 목적과 기대사항 문서화

일반적인 실수 피하기

  1. 규칙 복잡화

    • 하나의 규칙에서 너무 많은 케이스를 처리하지 않음
    • 유지보수가 어려운 복잡한 조건 로직 피함
    • 규칙 정의를 명확하고 간단하게 유지
  2. 규칙 가시성 무시

    • 적용되는 것을 추적하기 위해 가시성 규칙 활성화
    • 규칙 효과성 모니터링
    • 실제 사용 패턴에 따라 규칙 조정
  3. 규칙 업데이트 누락

    • 정기적으로 규칙 검토 및 업데이트
    • 오래되거나 불필요한 규칙 제거
    • 프로젝트 발전에 맞춰 규칙 유지

규칙 관리 모범 사례

  1. 조직화

    .cursor/rules/
    style/
    formatting.mdc
    naming.mdc
    testing/
    unit-tests.mdc
    integration-tests.mdc
    documentation/
    comments.mdc
    api-docs.mdc
  2. 버전 관리

    • 규칙을 버전 관리에 포함
    • 커밋 메시지에 규칙 변경 문서화
    • 코드 리뷰 시 규칙 변경 검토
  3. 팀 협업

    • 효과적인 규칙을 팀원과 공유
    • 팀 전체의 규칙 규약 수립
    • 규칙 사용법과 기대사항 문서화

규칙 예시

코드 스타일 규칙

# 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

문제 해결

규칙 적용에 문제가 발생한 경우:

  1. 규칙 구문과 형식 확인
  2. 규칙 파일 위치와 이름 확인
  3. Cursor가 규칙을 로드하는지 확인
  4. AI 응답에서 규칙 적용 모니터링
  5. 규칙 디버깅 도구 사용
  6. 규칙 적용 로그 확인

일반적인 규칙 문제

  1. 규칙이 적용되지 않음

    • 규칙 파일 권한 확인
    • 규칙 구문 확인
    • 규칙 위치 확인
    • 규칙 조건 검토
  2. 규칙 충돌

    • 충돌하는 규칙 식별
    • 규칙 우선순위 설정
    • 충돌 해결
    • 해결책 문서화
  3. 성능 영향

    • 규칙 처리 시간 모니터링
    • 복잡한 규칙 최적화
    • 불필요한 규칙 제거
    • 규칙 캐싱 사용

결론

효과적인 규칙 관리는 Cursor의 AI 기능을 최대한 활용하는 데 중요합니다. 이러한 모범 사례를 따르고 일반적인 실수를 피함으로써 더 효율적이고 일관된 개발 환경을 만들 수 있습니다.

다음을 기억하세요:

  • 규칙을 단순하고 집중적으로 유지
  • 규칙을 모니터링하고 반복적으로 개선
  • 좋은 조직화 유지
  • 팀과 지식 공유
  • 정기적으로 규칙 검증 및 디버깅
  • 최신 모범 사례 유지

추가 리소스