feat: 프로젝트 지침 양식 및 설치 스크립트 개선

This commit is contained in:
hyeonggil
2026-04-11 20:00:58 +09:00
parent 2def6f705d
commit d3f7b86f1b
8 changed files with 402 additions and 35 deletions

9
templates/CLAUDE.md.tpl Normal file
View File

@@ -0,0 +1,9 @@
# <프로젝트 이름>
## 공통 지침
@.claude/common/CLAUDE.md
## 프로젝트 지침
@.claude/project/overview.md
@.claude/project/conventions.md
@.claude/project/architecture.md

View 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 정책이 있다면 함께 기술

View 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__ 폴더>
- 최소 커버리지: <숫자>

View 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 스펙: <링크>