1.4 KiB
1.4 KiB
프로젝트 전용 컨벤션 (Sample)
공통 지침(.claude/common/) 외에 이 프로젝트에서만 적용되는 규칙을 정의합니다.
공통 지침과 충돌할 경우 이 문서가 우선합니다.
디렉토리 규칙
components/— 재사용 컴포넌트. 도메인별 하위 폴더(user/,order/)로 분리composables/—useXxx형태의 재사용 로직pages/— Nuxt 파일 기반 라우팅server/api/— 서버 라우트 핸들러types/— 전역/공통 타입 정의
컴포넌트 규칙 (오버라이드)
- 이 프로젝트에서는 컴포넌트 파일 길이를 150줄로 제한합니다. (공통 200줄보다 엄격)
- 컴포넌트 당
defineProps의 항목은 최대 7개. 초과 시 객체 props 로 묶습니다.
Tailwind
- 색상은
tailwind.config.ts의theme.extend.colors에 등록된 토큰만 사용합니다. (임의 색상 사용 금지) - 다크모드 클래스 prefix 는
dark:를 사용합니다.
네트워크
- API 호출은 반드시
composables/api/의 래퍼를 통해 수행합니다. - 직접
$fetch/fetch사용은 금지 (테스트 목적 제외).
테스트
- Vitest 를 기본 테스트 러너로 사용합니다.
- 테스트 파일은 소스 옆에
*.spec.ts로 배치합니다. - 공통 유틸과 composable 은 테스트 커버리지 80% 이상을 유지합니다.