Initialize sample Nuxt project with TypeScript and Tailwind CSS, including .gitignore, package.json, and configuration files. Add CLAUDE.md for project guidelines and structure, and implement basic app.vue layout. Create submodule configuration in .gitmodules and add project-specific architecture and conventions documentation.

This commit is contained in:
hyeonggil
2026-04-11 19:33:24 +09:00
commit 76e52e195a
12 changed files with 320 additions and 0 deletions

View File

@@ -0,0 +1,34 @@
# 프로젝트 전용 컨벤션 (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% 이상을 유지합니다.