Files
sample-nuxt-project/.claude/project/conventions.md

1.4 KiB

프로젝트 전용 컨벤션 (Sample)

공통 지침(.claude/common/) 외에 이 프로젝트에서만 적용되는 규칙을 정의합니다. 공통 지침과 충돌할 경우 이 문서가 우선합니다.

디렉토리 규칙

  • components/ — 재사용 컴포넌트. 도메인별 하위 폴더(user/, order/)로 분리
  • composables/useXxx 형태의 재사용 로직
  • pages/ — Nuxt 파일 기반 라우팅
  • server/api/ — 서버 라우트 핸들러
  • types/ — 전역/공통 타입 정의

컴포넌트 규칙 (오버라이드)

  • 이 프로젝트에서는 컴포넌트 파일 길이를 150줄로 제한합니다. (공통 200줄보다 엄격)
  • 컴포넌트 당 defineProps 의 항목은 최대 7개. 초과 시 객체 props 로 묶습니다.

Tailwind

  • 색상은 tailwind.config.tstheme.extend.colors 에 등록된 토큰만 사용합니다. (임의 색상 사용 금지)
  • 다크모드 클래스 prefix 는 dark: 를 사용합니다.

네트워크

  • API 호출은 반드시 composables/api/ 의 래퍼를 통해 수행합니다.
  • 직접 $fetch / fetch 사용은 금지 (테스트 목적 제외).

테스트

  • Vitest 를 기본 테스트 러너로 사용합니다.
  • 테스트 파일은 소스 옆에 *.spec.ts 로 배치합니다.
  • 공통 유틸과 composable 은 테스트 커버리지 80% 이상을 유지합니다.