본문으로 건너뛰기

MDC 규칙 모범 사례 및 문제 해결

MDC(모델 기반 코드) 규칙은 Cursor에서 일관된 코드 품질을 유지하고 반복적인 작업을 자동화하는 데 도움이 됩니다.

MDC 규칙 이해하기

MDC 규칙은 강력한 도구로 다음과 같은 기능을 제공합니다:

  • 코드 리뷰 및 포맷팅 자동화
  • 팀 코딩 표준 구현
  • 일반적인 문제 감지 및 수정
  • 코드 품질과 일관성 향상

규칙 유형

  1. 구문 규칙

    • 코드 포맷팅
    • 명명 규칙
    • 파일 구조
  2. 의미 규칙

    • 코드 복잡도
    • 모범 사례 검사
    • 보안 취약점 감지
  3. 사용자 정의 규칙

    • 프로젝트 특정 요구사항
    • 팀 규약
    • 비즈니스 로직 검증

규칙 구성

기본 설정

프로젝트 루트 디렉토리에 .cursor/rules 디렉토리 생성:

mkdir -p .cursor/rules

규칙 정의

규칙 파일 생성:

.cursor/rules/naming.json
{
"name": "명명 규칙",
"description": "일관된 명명 스타일 강제",
"patterns": [
{
"type": "변수",
"style": "camelCase",
"exceptions": ["CONSTANTS"]
}
]
}

규칙 우선순위

중요도에 따른 규칙 우선순위 설정:

.cursor/rules/config.json
{
"priority": {
"security": 1,
"formatting": 2,
"naming": 3
}
}

일반적인 문제와 해결책

규칙이 적용되지 않음

규칙이 적용되지 않는 경우:

  1. 구성 확인

    # 규칙 파일 검증
    cat .cursor/rules/config.json

    # 구문 오류 확인
    jsonlint .cursor/rules/*.json
  2. 규칙 캐시 새로고침

    • Cursor 재시작
    • 규칙 캐시 지우기
    • 프로젝트 다시 로드

규칙 충돌

규칙 충돌 처리:

.cursor/rules/override.json
{
"conflicts": {
"rule1": {
"priority": "high",
"override": ["rule2", "rule3"]
}
}
}

성능 문제

규칙 실행 최적화:

  1. 범위 제한

    {
    "include": ["src/**/*.ts"],
    "exclude": ["**/*.test.ts"]
    }
  2. 일괄 처리 검증

    {
    "batch": {
    "size": 100,
    "concurrent": true
    }
    }

모범 사례

1. 규칙 구성

  • 기능별 규칙 분류
  • 명확한 명명 사용
  • 규칙을 단순하게 유지

2. 버전 관리

  • 규칙을 버전 관리에 포함
  • 규칙 변경 기록
  • 규칙 문서 유지

3. 팀 협업

  • 팀과 규칙 논의
  • 피드백 수집
  • 정기적인 검토 및 업데이트

고급 기능

사용자 정의 검증기

프로젝트 특정 검증기 생성:

.cursor/rules/custom-validator.js
module.exports = {
validate: (code, context) => {
// 사용자 정의 검증 로직
return {
valid: true,
messages: []
};
}
};

자동 수정

자동 수정 기능 구현:

module.exports = {
fix: (code, issues) => {
// 자동 수정 로직
return fixedCode;
}
};

통합 테스트

규칙에 대한 테스트 추가:

rules.test.js
describe('MDC 규칙 테스트', () => {
test('명명 규칙', () => {
// 테스트 규칙 로직
});
});

디버깅 도구

규칙 진단

상세 로그 활성화:

.cursor/settings.json
{
"mdc.rules.debug": true,
"mdc.rules.logLevel": "verbose"
}

성능 분석

규칙 실행 모니터링:

# 규칙 성능 분석
cursor analyze-rules

# 성능 보고서 생성
cursor rules-report

일반적인 시나리오

1. 코드 리뷰

코드 리뷰 프로세스 자동화:

{
"review": {
"autoFix": true,
"blockOnError": true,
"notifyReviewer": true
}
}

2. CI/CD 통합

지속적 통합에서 규칙 사용:

.github/workflows/mdc.yml
steps:
- name: MDC 규칙 검사
run: cursor check-rules

3. IDE 통합

에디터 통합 구성:

.vscode/settings.json
{
"cursor.rules.enableFormatting": true,
"cursor.rules.showInlineHints": true
}

관련 리소스