✨ feat: 프로젝트 지침 양식 및 설치 스크립트 개선
This commit is contained in:
9
templates/CLAUDE.md.tpl
Normal file
9
templates/CLAUDE.md.tpl
Normal file
@@ -0,0 +1,9 @@
|
||||
# <프로젝트 이름>
|
||||
|
||||
## 공통 지침
|
||||
@.claude/common/CLAUDE.md
|
||||
|
||||
## 프로젝트 지침
|
||||
@.claude/project/overview.md
|
||||
@.claude/project/conventions.md
|
||||
@.claude/project/architecture.md
|
||||
46
templates/project/architecture.md
Normal file
46
templates/project/architecture.md
Normal file
@@ -0,0 +1,46 @@
|
||||
# 아키텍처
|
||||
|
||||
> 이 파일은 `fe-common-rules/templates/project/architecture.md` 에서 복사된 양식입니다.
|
||||
> 프로젝트의 레이어 구조와 데이터 흐름을 간단히 설명해주세요.
|
||||
|
||||
## 레이어 구조
|
||||
|
||||
<프로젝트의 레이어 구조를 그림 또는 텍스트로 그려주세요>
|
||||
|
||||
```
|
||||
┌───────────────────────────────┐
|
||||
│ presentation │ ← pages / components
|
||||
├───────────────────────────────┤
|
||||
│ logic │ ← composables / hooks / stores
|
||||
├───────────────────────────────┤
|
||||
│ data access │ ← api wrapper / queries
|
||||
├───────────────────────────────┤
|
||||
│ server │ ← 서버 라우트 / BFF
|
||||
└───────────────────────────────┘
|
||||
```
|
||||
|
||||
## 의존 규칙
|
||||
|
||||
- 상위 → 하위 **단방향 의존**만 허용
|
||||
- 같은 레이어 간 순환 import 금지
|
||||
- <프로젝트 고유 규칙 추가>
|
||||
|
||||
## 데이터 흐름
|
||||
|
||||
1. <이벤트 발생부터 응답까지의 흐름을 간단히>
|
||||
2. ...
|
||||
3. ...
|
||||
|
||||
## 상태 관리 가이드
|
||||
|
||||
| 상태 종류 | 권장 위치 |
|
||||
| -------------------- | ------------------------ |
|
||||
| 컴포넌트 로컬 상태 | <예: ref / useState> |
|
||||
| 페이지 단위 공유 상태| <예: provide/inject> |
|
||||
| 앱 전역 상태 | <예: Pinia / Zustand> |
|
||||
| 서버 데이터 | <예: useFetch / TanStack Query> |
|
||||
|
||||
## 외부 의존성
|
||||
|
||||
- 반드시 알아야 할 외부 서비스나 내부 API 를 나열
|
||||
- 장애 발생 시 fallback 정책이 있다면 함께 기술
|
||||
44
templates/project/conventions.md
Normal file
44
templates/project/conventions.md
Normal file
@@ -0,0 +1,44 @@
|
||||
# 프로젝트 전용 컨벤션
|
||||
|
||||
> 이 파일은 `fe-common-rules/templates/project/conventions.md` 에서 복사된 양식입니다.
|
||||
> 공통 지침(`.claude/common/`) 외에 **이 프로젝트에서만** 적용되는 규칙을 작성하세요.
|
||||
> 공통 지침과 충돌할 경우 이 문서가 우선합니다.
|
||||
|
||||
## 디렉토리 규칙
|
||||
|
||||
- `components/` — <설명>
|
||||
- `composables/` 또는 `hooks/` — <설명>
|
||||
- `pages/` 또는 `app/` — <설명>
|
||||
- `server/` 또는 `api/` — <설명>
|
||||
- `types/` — <설명>
|
||||
|
||||
## 컴포넌트 규칙 (공통 규칙 오버라이드)
|
||||
|
||||
<공통 규칙과 달리 이 프로젝트에서만 적용할 제약을 적어주세요>
|
||||
|
||||
- 예) 컴포넌트 파일 길이 제한: 150줄 (공통 200줄보다 엄격)
|
||||
- 예) Props 개수 최대 7개, 초과 시 객체 props 로 묶기
|
||||
|
||||
## 스타일
|
||||
|
||||
- 색상/간격/타이포는 디자인 토큰만 사용하고 임의값 금지
|
||||
- 다크모드 prefix: `dark:`
|
||||
- 기타 프로젝트 고유 규칙: <작성>
|
||||
|
||||
## 네트워크 / 데이터
|
||||
|
||||
- API 호출 창구: <예: composables/api 의 wrapper 만 사용>
|
||||
- 인증 토큰 저장 위치: <예: httpOnly 쿠키>
|
||||
- 에러 핸들링 규칙: <작성>
|
||||
|
||||
## 금지 사항
|
||||
|
||||
- <예: 직접 $fetch 사용 금지>
|
||||
- <예: 전역 이벤트 버스 사용 금지>
|
||||
- <예: any 타입 사용 금지>
|
||||
|
||||
## 테스트
|
||||
|
||||
- 테스트 러너: <Vitest / Jest 등>
|
||||
- 테스트 파일 위치: <소스 옆 / __tests__ 폴더>
|
||||
- 최소 커버리지: <숫자>
|
||||
39
templates/project/overview.md
Normal file
39
templates/project/overview.md
Normal file
@@ -0,0 +1,39 @@
|
||||
# 프로젝트 개요
|
||||
|
||||
> 이 파일은 `fe-common-rules/templates/project/overview.md` 에서 복사된 양식입니다.
|
||||
> 프로젝트 세팅 후 실제 내용으로 채워주세요.
|
||||
|
||||
## 서비스
|
||||
|
||||
- **이름**: <프로젝트 이름>
|
||||
- **설명**: <한 줄 설명>
|
||||
- **배포 환경**: <dev / staging / production URL 또는 환경>
|
||||
- **저장소**: <git 주소>
|
||||
|
||||
## 기술 스택
|
||||
|
||||
- **Framework**: <예: Nuxt 4 / Next 15 / ...>
|
||||
- **UI**: <예: Vue 3 <script setup> / React 19 / ...>
|
||||
- **Language**: TypeScript (strict)
|
||||
- **Styling**: <예: Tailwind CSS / styled-components / ...>
|
||||
- **상태관리**: <예: Pinia / Zustand / Redux Toolkit / ...>
|
||||
- **테스트**: <예: Vitest + Playwright / Jest + RTL / ...>
|
||||
- **패키지매니저**: <pnpm / npm / yarn>
|
||||
|
||||
## 주요 기능
|
||||
|
||||
- <기능 1>
|
||||
- <기능 2>
|
||||
- <기능 3>
|
||||
|
||||
## 팀 / 오너
|
||||
|
||||
- 오너: <팀 또는 담당자>
|
||||
- 문의 채널: <Slack 채널 / 이메일>
|
||||
- 온콜/긴급 연락: <필요 시>
|
||||
|
||||
## 참고 문서
|
||||
|
||||
- 기획 문서: <링크>
|
||||
- 디자인 시스템: <링크>
|
||||
- API 스펙: <링크>
|
||||
Reference in New Issue
Block a user