# gameservice-fe-agent 게임 서비스 프론트엔드 에이전트 프로젝트 ## 프로젝트 구조 이 프로젝트는 **submodule 방식**으로 관리됩니다. ## 브랜치 전략 - `release` - 검증 완료 브랜치 (프로덕션 배포용) - `dev` - 검증 테스트 브랜치 (개발 및 테스트용) ## 설치 방법 ```bash # 저장소 클론 (submodule 포함) git clone --recurse-submodules https://git.sginfra.net/sgp-web-d/gameservice-fe-agent.git # 이미 클론한 경우 submodule 초기화 git submodule update --init --recursive ``` ## Submodule 업데이트 ```bash # 모든 submodule 업데이트 git submodule update --remote --recursive # 특정 submodule 업데이트 git submodule update --remote ``` ## 개발 워크플로우 1. `dev` 브랜치에서 개발 및 테스트 진행 2. 검증 완료 후 `release` 브랜치로 머지 3. `release` 브랜치에서 프로덕션 배포 ## 기여하기 ### 새로운 기능 추가 1. **브랜치 생성** ```bash git checkout dev git pull origin dev git checkout -b feature/your-feature-name ``` 2. **개발 및 테스트** - 기능 개발 및 단위 테스트 작성 - 로컬에서 충분한 테스트 진행 3. **Merge Request 생성** - 제목: `[Feature] 기능명` - 설명: 구현 내용, 변경 사항, 테스트 결과 포함 - 대상 브랜치: `dev` ### Merge Request 작성 규칙 - **제목 형식**: `[Category] 변경 내용` - Category: `Feature`, `Fix`, `Refactor`, `Docs` 등 - 예: `[Feature] 사용자 인증 기능 추가` - **설명 포함 사항**: - 변경 이유 및 목적 - 주요 변경 내용 - 테스트 결과 및 방법 - 영향 받는 부분 ### 코드 리뷰 프로세스 1. **최소 1명의 팀 멤버 승인** 필요 2. **체크리스트**: - [ ] 코드 컨벤션 준수 - [ ] 단위 테스트 작성 및 통과 - [ ] 문서화 완료 - [ ] 기존 기능에 영향 없음 3. **승인 후 dev 브랜치에 머지** 4. **dev 브랜치에서 충분한 검증 후 release 브랜치로 머지** --- ## 관리 방침 ### 버전 관리 - Git 커밋 히스토리를 통해 모든 변경 이력 추적 - Release 브랜치는 태그로 버전 관리 (예: `v1.0.0`) - Dev 브랜치에서 충분한 검증 후 Release로 배포 ### 브랜치 보호 - **Release 브랜치**: 직접 푸시 금지, MR을 통해서만 머지 - **Dev 브랜치**: 기능 브랜치에서 MR을 통해 머지 - 모든 머지는 코드 리뷰 필수 ### 문서화 - 주요 변경사항은 CHANGELOG.md에 기록 - README는 항상 최신 상태 유지 - 커밋 메시지는 명확하고 상세하게 작성 --- ## 사용 예시 ### 코드 리뷰 Skill 사용 ```markdown # Code Review Skill ## 목적 PR의 코드를 리뷰하고 개선사항을 제안합니다. ## 사용법 1. PR 번호를 제공 2. Claude가 변경된 파일을 분석 3. 코딩 컨벤션, 성능, 보안 관점에서 리뷰 4. 개선사항 제안 ## 예시 `/code-review #123` ``` ### Nuxt 개발 가이드 활용 ```markdown # Nuxt 베스트 프랙티스 ## 컴포넌트 작성 - Composition API 사용 - Composables로 로직 재사용 - Auto-import 활용으로 간결한 코드 작성 ## 성능 최적화 - 동적 import로 코드 스플리팅 - useFetch, useAsyncData로 데이터 최적화 - Lazy loading 컴포넌트 활용 ``` ### 기술 스택 - **Framework**: Nuxt 3, Nuxt 4 - **Language**: TypeScript - **Package Manager**: pnpm (권장) ### 개발 환경 ```bash # 의존성 설치 pnpm install # 개발 서버 실행 pnpm dev # 프로덕션 빌드 pnpm build # 프로덕션 미리보기 pnpm preview ```