--- name: init-project description: 팀 표준 워크플로우로 프로젝트를 초기화합니다 allowed-tools: "Bash, Read, Write, Edit, Glob, Grep" argument-hint: "[project-type: java-maven|java-gradle|react-ts|auto]" --- 팀 표준 워크플로우에 따라 프로젝트를 초기화합니다. 프로젝트 타입: $ARGUMENTS (기본: auto — 자동 감지) ## 프로젝트 타입 자동 감지 $ARGUMENTS가 "auto"이거나 비어있으면 다음 순서로 감지: 1. `pom.xml` 존재 → **java-maven** 2. `build.gradle` 또는 `build.gradle.kts` 존재 → **java-gradle** 3. `package.json` + `tsconfig.json` 존재 → **react-ts** 4. 감지 실패 → 사용자에게 타입 선택 요청 ## 수행 단계 ### 1. 프로젝트 분석 - 빌드 파일, 설정 파일, 디렉토리 구조 파악 - 사용 중인 프레임워크, 라이브러리 감지 - 기존 `.claude/` 디렉토리 존재 여부 확인 ### 2. CLAUDE.md 생성 프로젝트 루트에 CLAUDE.md를 생성하고 다음 내용 포함: - 프로젝트 개요 (이름, 타입, 주요 기술 스택) - 빌드/실행 명령어 (감지된 빌드 도구 기반) - 테스트 실행 명령어 - 프로젝트 디렉토리 구조 요약 - 팀 컨벤션 참조 (`.claude/rules/` 안내) ### 3. .claude/ 디렉토리 구성 이미 팀 표준 파일이 존재하면 건너뜀. 없는 경우: - `.claude/settings.json` — 프로젝트 타입별 표준 권한 설정 - `.claude/rules/` — 팀 규칙 파일 (team-policy, git-workflow, code-style, naming, testing) - `.claude/skills/` — 팀 스킬 (create-mr, fix-issue, sync-team-workflow) ### 4. Git Hooks 설정 ```bash git config core.hooksPath .githooks ``` `.githooks/` 디렉토리에 실행 권한 부여: ```bash chmod +x .githooks/* ``` ### 5. 프로젝트 타입별 추가 설정 #### java-maven - `.sdkmanrc` 생성 (java=17.0.18-amzn 또는 프로젝트에 맞는 버전) - `.mvn/settings.xml` Nexus 미러 설정 확인 - `mvn compile` 빌드 성공 확인 #### java-gradle - `.sdkmanrc` 생성 - `gradle.properties.example` Nexus 설정 확인 - `./gradlew compileJava` 빌드 성공 확인 #### react-ts - `.node-version` 생성 (프로젝트에 맞는 Node 버전) - `.npmrc` Nexus 레지스트리 설정 확인 - `npm install && npm run build` 성공 확인 ### 6. .gitignore 확인 다음 항목이 .gitignore에 포함되어 있는지 확인하고, 없으면 추가: ``` .claude/settings.local.json .claude/CLAUDE.local.md .env .env.* *.local ``` ### 7. workflow-version.json 생성 `.claude/workflow-version.json` 파일을 생성하여 현재 글로벌 워크플로우 버전 기록: ```json { "applied_global_version": "1.0.0", "applied_date": "현재날짜", "project_type": "감지된타입" } ``` ### 8. 검증 및 요약 - 생성/수정된 파일 목록 출력 - `git config core.hooksPath` 확인 - 빌드 명령 실행 가능 확인 - 다음 단계 안내 (개발 시작, 첫 커밋 방법 등)