# .cursorrules 파일 템플릿 (Nuxt 4) > 이 파일의 내용을 프로젝트 루트의 `.cursorrules` 파일로 복사하여 사용하세요. > Cursor 0.45+ 사용 시 `.cursor/rules/` 디렉토리 방식을 권장합니다. --- ## 사용 방법 ```bash # 프로젝트 루트에 .cursorrules 파일 생성 cp docs/cursorrules-template.md .cursorrules # 또는 아래 내용을 직접 .cursorrules에 붙여넣기 ``` --- ## .cursorrules 내용 (아래부터 복사) ``` # FE 팀 Nuxt 4 프로젝트 AI 코딩 규칙 # 마지막 업데이트: 2026-03-19 ## 프로젝트 개요 - 프레임워크: Nuxt 4 (2025년 7월 안정 릴리즈) - 언어: TypeScript (strict 모드, any 타입 사용 금지) - CSS: Tailwind CSS v4 - UI 컴포넌트: shadcn-vue (shadcn/ui Vue 포트) - 상태관리: Pinia (Composition API 방식) - 테스트: Vitest + @nuxt/test-utils - 패키지 매니저: pnpm ## 디렉토리 구조 (Nuxt 4) 앱 코드는 반드시 app/ 디렉토리 하위에 위치합니다: - app/components/ → 재사용 컴포넌트 (PascalCase.vue) - app/composables/ → 컴포저블 함수 (use로 시작) - app/layouts/ → 레이아웃 - app/middleware/ → 라우트 미들웨어 - app/pages/ → 파일 기반 라우팅 (kebab-case) - app/plugins/ → 플러그인 - app/stores/ → Pinia 스토어 (useXxxStore.ts) - app/utils/ → 유틸리티 함수 - server/api/ → Nitro API 라우트 - shared/ → 클라이언트/서버 공유 코드 ## 네이밍 컨벤션 - 변수/함수: camelCase - 컴포넌트: PascalCase (파일명도 PascalCase.vue) - 상수: UPPER_SNAKE_CASE - 파일(페이지/기타): kebab-case - Pinia 스토어: useXxxStore (예: useAuthStore, useCartStore) - 컴포저블: useXxx (예: useUser, useCart) ## TypeScript 규칙 - any 타입 절대 금지 → unknown 또는 명시적 타입 사용 - 인터페이스는 Props, Emits 등 명시적으로 정의 - 제네릭 활용으로 타입 안전성 확보 - tsconfig.json의 strict: true 항상 유지 ## Vue 컴포넌트 작성 규칙 -