본문으로 건너뛰기

Cursor에서 커스텀 모드 생성 및 사용

Cursor Custom Modes

Cursor를 사용하면 커스텀 에이전트 모드를 생성할 수 있습니다. 이는 특정 작업, 기술 스택 또는 코딩 표준에 맞게 조정된 전문 AI 역할입니다. 이 가이드는 커스텀 모드를 구축, 구성 및 사용하여 최대 효율을 달성하는 방법을 설명합니다.

커스텀 모드란?​

커스텀 모드는:

  • 특정 작업을 위해 설계된 전문 에이전트 역할
  • 프레임워크와 언어에 맞게 조정된 기술 스택 특화
  • 코딩 표준을 강제하는 스타일 제약
  • 저장하고 프로젝트 간에 공유할 수 있는 재사용 가능한 구성

내장 모드​

Cursor에는 여러 내장 모드가 함께 제공됩니다:

모드용도사용 사례
General일반 코딩일상적인 작업
Agent자율 실행복잡한 다중 파일 작업
Ask질문 및 답변설명, 학습
Review코드 검토품질 검사

커스텀 모드 생성​

1단계: 모드의 목적 정의​

모드가 수행할 작업을 결정합니다:

모드 이름: 프론트엔드 테스트 전문가
목적: React 구성 요소에 대한 포괄적인 테스트 작성
기술 스택: React, Jest, React Testing Library
출력: 테스트 파일 및 커버리지 보고서

2단계: 모드 편집기 열기​

  1. 설정 > 에이전트 설정 > 모드로 이동
  2. + 새 모드 생성 클릭
  3. 또는 Cmd/Ctrl + Shift + M 누르기

3단계: 모드 구성​

기본 정보​

이름: 프론트엔드 테스트 전문가
설명: React 구성 요소에 대한 포괄적인 테스트 작성
아이콘: 🧪 (선택 사항)
단축키: Cmd+Shift+T (선택 사항)

시스템 프롬프트​

이것은 모드의 지도적 성격입니다:

당신은 프론트엔드 테스트에 중점을 둔 QA 전문가입니다.

## 당신의 책임
- React 구성 요소에 대한 포괄적인 테스트 작성
- 단위 테스트 및 통합 테스트 구현
- React Testing Library 및 Jest 사용
- 테스트 주도 개발(TDD) 원칙 준수

## 출력 형식
1. 테스트 목적을 설명하는 주석
2. 렌더링, 상호 작용 및 엣지 케이스를 다루는 테스트
3. UI 일관성을 위한 스냅샷 테스트
4. a11y 준수를 위한 접근성 테스트
5. 테스트 완료 후 커버리지 보고서

## 코딩 표준
- 모든 테스트에 `describe`/`it` 블록 사용
- AAA 패턴(준비-실행-검증) 준수
- 모든 상호 작용에 `screen` 객체 사용
- 선택기로 `data-testid` 우선 사용
- 모든 테스트 ID에 상수 사용

## 커버리지 요구 사항
- 분기: >80%
- 함수: >90%
- 줄: >85%
- 문: >85%

규칙 파일(선택 사항)​

.cursor/rules/testing-expert.mdc 생성:

---
description: '프론트엔드 테스트 전문가 규칙'
globs: ['**/*.test.{ts,tsx}']
alwaysApply: true
---

## 테스트 표준

### 각 구성 요소는 테스트해야 함
1. 다양한 props로 렌더링
2. 사용자 상호 작용(클릭, 입력, 제출)
3. 엣지 케이스(빈 상태, 로딩, 오류)
4. 접근성 속성
5. 콜백 함수 실행

### 테스트 구조
```typescript
describe('ComponentName', () => {
describe('렌더링', () => {
it('기본 props로 렌더링해야 함', () => {});
it('사용자 지정 props로 렌더링해야 함', () => {});
});

describe('상호 작용', () => {
it('클릭 시 클릭 이벤트를 처리해야 함', () => {});
it('입력 시 값을 업데이트해야 함', () => {});
});

describe('엣지 케이스', () => {
it('빈 데이터를 처리해야 함', () => {});
it('로딩 상태를 표시해야 함', () => {});
it('오류 상태를 표시해야 함', () => {});
});
});

커버리지 임계값​

  • 분기: >80%
  • 함수: >90%
  • 줄: >85%

### 4단계: 모드 테스트

채택하기 전에 모드를 테스트합니다:

[프론트엔드 테스트 전문가] UserProfile 구성 요소에 대한 테스트를 작성하세요.

구성 요소 경로: src/components/UserProfile.tsx


### 5단계: 저장 및 활성화

1. **모드 저장** 클릭
2. 모드 선택기에서 선택
3. 대화 시작

## 고급 사용자 지정

### 프레임워크 기반 모드

#### React 전문가 모드

```markdown
## React 전문가 모드

### 기술 스택
- React 18+ with hooks
- TypeScript
- Tailwind CSS
- 데이터 가져오기를 위한 React Query

### 코딩 표준
1. 모든 구성 요소에 함수 구성 요소 사용
2. props 정의에 TypeScript 인터페이스 사용
3. 최적화를 위해 React.memo 구현
4. 모든 부작용에 useEffect 사용
5. 로직에 사용자 지정 훅 사용

### 파일 구조

src/ components/ ComponentName/ index.tsx ComponentName.tsx ComponentName.test.tsx types.ts hooks/ useComponentName.ts


### 출력 형식
1. 유형이 지정된 구성 요소 파일
2. 단위 테스트
3. Storybook 스토리(해당되는 경우)
4. 문서 주석

API 개발 모드​

## API 개발 모드

### 기술 스택
- Node.js + Express
- TypeScript
- Prisma ORM
- Zod 검증

### 코딩 표준
1. 요청 검증에 Zod 스키마 사용
2. 모든 엔드포인트에 적절한 오류 처리 구현
3. 모든 API 응답에 일관된 형식 사용
4. 속도 제한 구현
5. 모든 엔드포인트에 swagger 문서 추가

### 파일 구조

src/ routes/ entity/ index.ts entity.controller.ts entity.service.ts entity.validator.ts entity.types.ts


### 출력 형식
1. 검증이 포함된 컨트롤러
2. 비즈니스 로직이 포함된 서비스 계층
3. 경로 정의를 위한 인덱스 파일
4. 데이터베이스 액세스를 위한 리포지토리 패턴

도구가 있는 모드​

데이터베이스 마이그레이션 모드​

## 데이터베이스 마이그레이션 전문가

### 도구
- Prisma Migrate
- Drizzle ORM
- TypeORM

### 워크플로
1. 현재 스키마 분석
2. 마이그레이션 파일 생성
3. 롤백 스크립트 생성
4. 데이터 무결성 확인
5. 시드 데이터 업데이트

### 출력 형식
1. 마이그레이션 SQL 파일
2. 롤백 스크립트
3. 마이그레이션 로그
4. 검증 쿼리

검사 제약이 있는 모드​

보안 감사 모드​

## 보안 감사 모드

### 초점
- OWASP Top 10
- 입력 검증
- 인증/인가
- 데이터 보호

### 워크플로
1. 일반적인 취약점 스캔
2. 주입 위험 식별
3. 인증 결함 확인
4. 데이터 노출 검토
5. 보안 보고서 생성

### 출력 형식
1. 심각도별로 정렬된 취약점 목록
2. 영향을 받는 파일 및 위치
3. 권장 수정 사항
4. 코드 예시
5. 보안 테스트 사례

모드 전환​

수동 전환​

  1. 채팅의 모드 선택기를 클릭
  2. 드롭다운에서 모드 선택
  3. 작업 시작

자동 전환​

파일 유형에 따라 모드를 자동으로 전환하는 규칙 사용:

---
description: '컨텍스트 기반 자동 모드 전환'
globs: ['**/*.test.{ts,tsx}']
alwaysApply: true
---

이 컨텍스트에서 작업할 때 **프론트엔드 테스트 전문가** 모드로 전환하세요.
테스트 표준 및 커버리지 요구 사항을 따르세요.

워크플로 조합​

여러 모드를 결합하는 워크플로 생성:

# 1단계: 설계자 모드 사용
[설계자] 사용자 관리를 위한 API 엔드포인트를 설계하세요.

# 2단계: API 개발 모드 사용
[API 개발] 1단계에서 설계한 엔드포인트를 구현하세요.

# 3단계: 테스트 모드 사용
[프론트엔드 테스트 전문가] API 클라이언트에 대한 테스트를 작성하세요.

# 4단계: 검토 모드 사용
[검토] 모든 변경 사항의 품질을 검토하세요.

모드 공유​

모드 내보내기​

# 모드 구성 내보내기
cursor mode:export frontend-testing-expert > frontend-testing-expert.json

모드 가져오기​

# 모드 구성 가져오기
cursor mode:import frontend-testing-expert.json

팀 공유​

  1. 모드 파일을 .cursor/modes/에 저장
  2. 버전 관리에 커밋
  3. 팀원 가져오기
  4. 모든 프로젝트에서 표준화

모드 템플릿 라이브러리​

템플릿 1: 코드 리뷰어​

## 코드 검토 전문가

### 초점
- 코드 품질
- 성능
- 유지보수성
- 모범 사례

### 검토 기준
1. 코드가 프로젝트 스타일을 따름
2. 함수가 충분히 작고 집중됨
3. 변수 이름이 명확함
4. 오류 처리가 적절함
5. 코드 중복이 없음
6. 성능이 최적화됨

### 출력 형식
1. 전체 품질 점수
2. 줄 번호가 있는 구체적인 문제
3. 개선 제안
4. 리팩토링 예시
5. 긍정적인 피드백

템플릿 2: 문서 작성자​

## 기술 문서 작성자

### 초점
- API 문서
- README 파일
- 코드 주석
- 사용 가이드

### 표준
1. 모든 공개 API에 문서가 있음
2. README에 설정 지침이 포함됨
3. 코드에 인라인 주석이 있음
4. 예시가 제공됨
5. 변경 로그가 유지됨

### 출력 형식
1. 예시가 포함된 Markdown 문서
2. JSDoc/TypeDoc 주석
3. README 섹션
4. 변경 로그 항목
5. 사용 가이드

템플릿 3: 성능 최적화 도구​

## 성능 최적화 전문가

### 초점
- 런타임 성능
- 메모리 사용
- 빌드 최적화
- 네트워크 효율성

### 분석
1. 병목 현상 식별
2. 메모리 사용 분석
3. 빌드 출력 검토
4. 네트워크 요청 확인
5. 로드 시간 측정

### 최적화
1. 코드 분할
2. 지연 로드
3. 캐싱 전략
4. 리소스 압축
5. 쿼리 최적화

### 출력 형식
1. 성능 기준선
2. 병목 현상 분석
3. 최적화 제안
4. 구현 계획
5. 측정 결과

모범 사례​

모드 설계​

  1. 구체적: 단일 목표에 집중
  2. 제약: 명확한 제한 정의
  3. 테스트 가능: 검증 기준 포함
  4. 문서화: 의사 결정 과정 설명

프롬프트 엔지니어링​

## 효과적인 모드 프롬프트 구조

### 역할 정의
- 당신은 누구인가
- 당신의 전문 지식
- 당신의 제약

### 워크플로
- 따르는 단계
- 의사 결정 지점
- 품질 기준

### 출력 형식
- 응답 구조
- 포함되는 내용
- 사용되는 규칙

### 제약
- 반드시 해야 할 것
- 절대 해서는 안 될 것
- 품질 기준

관련 리소스​