Rules는 Agent와 Inline Edit에 시스템 수준 지침을 제공해. 프로젝트에 대한 지속적인 컨텍스트, 기본 설정, 워크플로로 생각하면 돼. Cursor는 네 가지 유형의 Rules를 지원해:

Project Rules

.cursor/rules에 저장돼. 버전 관리되며 코드베이스 스코프에만 적용돼.

User Rules

Cursor 환경 전체에 전역 적용돼. 설정에서 정의되며 항상 적용돼.

AGENTS.md

마크다운 형식의 Agent 지침. .cursor/rules의 간단한 대안이야.

.cursorrules (Legacy)

여전히 지원되지만 더는 권장하지 않아. 대신 Project Rules를 사용해.

규칙의 동작 방식

대규모 언어 모델은 완료 사이의 상태를 기억하지 않아. 규칙은 프롬프트 수준에서 지속적이고 재사용 가능한 컨텍스트를 제공해. 규칙이 적용되면, 규칙 내용이 모델 컨텍스트의 시작에 포함돼. 이렇게 하면 AI가 코드 생성, 편집 해석, 워크플로 지원에서 일관된 가이드를 따르게 돼.
채팅 컨텍스트에 적용된 규칙
규칙은 ChatInline Edit에 적용돼. 활성화된 규칙은 Agent 사이드바에 표시돼.

Project rules

프로젝트 규칙은 .cursor/rules에 있어. 각 규칙은 파일 단위로 관리되고, 버전 관리돼. 경로 패턴으로 범위를 지정하거나, 수동으로 실행하거나, 관련성에 따라 포함할 수도 있어. 하위 디렉터리는 해당 폴더 범위로 적용되는 자체 .cursor/rules 디렉터리를 둘 수 있어. 프로젝트 규칙은 이런 데 써봐:
  • 코드베이스에 대한 도메인 지식을 정의
  • 프로젝트 특화 워크플로우나 템플릿 자동화
  • 스타일이나 아키텍처 결정 표준화

규칙 구조

각 규칙 파일은 메타데이터와 콘텐츠를 지원하는 MDC(.mdc) 형식으로 작성돼. 타입 드롭다운에서 description, globs, alwaysApply 속성을 바꿔 규칙이 적용되는 방식을 제어할 수 있어.
Rule TypeDescription
Always항상 모델 컨텍스트에 포함돼
Auto Attachedglob 패턴과 일치하는 파일이 참조될 때 포함돼
Agent RequestedAI가 포함 여부를 결정할 수 있도록 제공돼. description은 반드시 제공해야 해
Manual@ruleName을 사용해 명시적으로 언급된 경우에만 포함돼
---
description: RPC 서비스 보일러플레이트
globs:
alwaysApply: false
---

- 서비스를 정의할 때는 내부 RPC 패턴을 사용해
- 서비스 이름은 항상 snake_case를 사용해

@service-template.ts

중첩 규칙

프로젝트 곳곳에 .cursor/rules 디렉터리를 두고 규칙을 정리해. 해당 디렉터리 안의 파일이 참조되면, 중첩 규칙이 자동으로 적용돼.
project/
  .cursor/rules/        # 프로젝트 전체 규칙
  backend/
    server/
      .cursor/rules/    # 백엔드 전용 규칙
  frontend/
    .cursor/rules/      # 프런트엔드 전용 규칙

규칙 만들기

New Cursor Rule 명령을 사용하거나 Cursor Settings > Rules로 가서 규칙을 만들어. 그러면 .cursor/rules에 새 규칙 파일이 생성돼. 설정에서 모든 규칙과 상태를 한눈에 볼 수 있어.
간결한 규칙 vs 긴 규칙 비교

규칙 생성

대화 중에 /Generate Cursor Rules 명령으로 규칙을 바로 만들어. 에이전트 동작을 어떻게 할지 정했고, 그걸 계속 쓰고 싶을 때 유용해.

모범 사례

좋은 규칙은 명확한 초점, 실행 가능성, 그리고 적절한 범위를 갖춰야 해.
  • 규칙은 500줄 이하로 유지하기
  • 큰 규칙은 여러 개의 조합 가능한 규칙으로 나누기
  • 구체적인 예시나 참조 파일 제공하기
  • 애매한 가이드는 피하고, 내부 문서처럼 명확하게 쓰기
  • 채팅에서 프롬프트를 반복할 땐 규칙을 재사용하기

예시

이 규칙은 프론트엔드 컴포넌트의 기준을 정해:components 디렉터리에서 작업할 때:
  • 스타일링은 항상 Tailwind 사용
  • 애니메이션은 Framer Motion 사용
  • 컴포넌트 네이밍 컨벤션 준수
이 규칙은 API 엔드포인트 검증을 강제해:API 디렉터리에서:
  • 모든 검증에 zod 사용
  • zod 스키마로 반환 타입 정의
  • 스키마에서 생성된 타입 export
이 규칙은 Express 서비스 템플릿을 제공해:Express 서비스를 만들 때 이 템플릿을 써:
  • RESTful 원칙 준수
  • 에러 핸들링 미들웨어 포함
  • 적절한 로깅 설정
@express-service-template.ts이 규칙은 React 컴포넌트 구조를 정의해:React 컴포넌트는 다음 레이아웃을 따라야 해:
  • 맨 위에 Props 인터페이스
  • 컴포넌트는 named export
  • 스타일은 하단에 배치
@component-template.tsx
이 규칙은 앱 분석을 자동화해:앱 분석을 요청받으면:
  1. npm run dev로 dev 서버 실행
  2. 콘솔 로그 수집
  3. 성능 개선안 제안
이 규칙은 문서 생성을 도와:문서 초안 작성 시:
  • 코드 주석 추출
  • README.md 분석
  • 마크다운 문서 생성
먼저 @reactiveStorageTypes.ts에 토글할 프로퍼티를 만들어.@reactiveStorageService.tsxINIT_APPLICATION_USER_PERSISTENT_STORAGE에 기본값을 추가해.베타 기능이면 @settingsBetaTab.tsx에 토글을 추가하고, 아니면 @settingsGeneralTab.tsx에 추가해. 일반 체크박스는 <SettingsSubSection>으로 추가할 수 있어. 예시는 파일의 나머지 부분을 참고해.
<SettingsSubSection
				label="Your feature name"
				description="Your feature description"
				value={
					vsContext.reactiveStorageService.applicationUserPersistentStorage
						.myNewProperty ?? false
				}
				onChange={(newVal) => {
					vsContext.reactiveStorageService.setApplicationUserPersistentStorage(
						'myNewProperty',
						newVal
					);
				}}
			/>
앱에서 사용하려면 reactiveStorageService를 import해서 해당 프로퍼티를 써:
const flagIsEnabled = vsContext.reactiveStorageService.applicationUserPersistentStorage.myNewProperty
프로바이더와 프레임워크에서 제공되는 예시가 많아. 커뮤니티가 기여한 규칙은 크라우드소싱 컬렉션과 온라인 레포지토리 전반에서 찾아볼 수 있어.

AGENTS.md

AGENTS.md는 에이전트 지침을 정의하는 간단한 마크다운 파일이야. 간단한 사용 사례라면 프로젝트 루트에 두고 .cursor/rules의 대안으로 쓰면 돼. Project Rules와 달리 AGENTS.md는 메타데이터나 복잡한 설정이 없는 순수 마크다운 파일이야. 구조화된 규칙의 오버헤드 없이 간단하고 읽기 쉬운 지침이 필요한 프로젝트에 딱이야.
# 프로젝트 지침

## 코드 스타일
- 신규 파일은 모두 TypeScript를 써
- React에선 함수형 컴포넌트를 우선 사용해
- 데이터베이스 컬럼은 snake_case를 써

## 아키텍처
- 리포지토리 패턴을 따라
- 비즈니스 로직은 서비스 레이어에 두어

User Rules

User rules는 모든 프로젝트에 적용되는 전역 기본 설정으로, Cursor Settings → Rules에서 정의돼. 일반 텍스트라서 선호하는 커뮤니케이션 스타일이나 코딩 컨벤션을 설정하기에 딱 좋아:
간결하게 답장해 줘. 불필요한 반복이나 군더더기 표현은 피해 줘.

.cursorrules (레거시)

프로젝트 루트의 .cursorrules 파일은 아직 지원되지만 곧 사용 중단될 예정이야. 더 나은 제어, 유연성, 가시성을 위해 Project Rules로 옮기는 걸 추천해.

FAQ

규칙 유형을 확인해. Agent Requested라면 description이 정의되어 있는지 확인하고, Auto Attached라면 file pattern이 참조된 파일과 일치하는지 확인해.
가능해. 규칙의 context에 파일을 포함하려면 @filename.ts를 사용해.
가능해. /Generate Cursor Rules 명령어로 채팅에서 프로젝트 규칙을 생성할 수 있어. Memories가 활성화되어 있으면, memories는 자동으로 생성돼.
아니. 규칙은 Agent와 Inline Edit에만 적용돼.