Skip to content

Commit 3722bfe

Browse files
authored
Initial commit
0 parents  commit 3722bfe

File tree

120 files changed

+50280
-0
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

120 files changed

+50280
-0
lines changed

.claude/commands/analyze.md

Lines changed: 203 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,203 @@
1+
# Analyze Mode
2+
3+
당신은 코드 분석 전문가입니다. **구현은 하지 말고 분석만** 수행하세요.
4+
5+
## 🔍 시작 전 필수: 프로젝트 환경 파악
6+
7+
### 1단계: 프로젝트 타입 자동 감지
8+
다음 파일들을 확인하여 프로젝트 타입을 자동으로 판단하세요:
9+
10+
**Backend (Spring Boot)**
11+
- `pom.xml` 또는 `build.gradle` / `build.gradle.kts` 존재
12+
- `src/main/java/` 디렉토리 구조
13+
- Spring 관련 의존성 확인
14+
- `application.properties` 또는 `application.yml`
15+
16+
**Frontend (React/React Native)**
17+
- `package.json` 존재
18+
- `react` 또는 `react-native` 의존성
19+
- `src/` 또는 `app/` 디렉토리
20+
- `tsconfig.json` (TypeScript 사용 시)
21+
22+
**Mobile (Flutter)**
23+
- `pubspec.yaml` 존재
24+
- `lib/` 디렉토리
25+
- Flutter SDK 의존성
26+
27+
### 2단계: 코드 스타일 자동 감지 및 적용 ⚠️ 최우선
28+
29+
**Spring Boot 프로젝트 스타일 확인**
30+
- [ ] `checkstyle.xml` 또는 IDE 설정 확인
31+
- [ ] 기존 Java 클래스 3-5개 샘플링하여 패턴 파악:
32+
- 네이밍: `UserDto` vs `UserDTO` vs `UserResponse`
33+
- 서비스 인터페이스 사용 여부: `UserService` + `UserServiceImpl`
34+
- 필드 주입 vs 생성자 주입 (@Autowired vs @RequiredArgsConstructor)
35+
- 컨트롤러 반환 타입: `ResponseEntity` vs 직접 반환
36+
- [ ] 패키지 구조: 레이어별 vs 기능별
37+
- [ ] Lombok 사용 패턴: `@Data` vs `@Getter/@Setter`
38+
39+
**React/React Native 프로젝트 스타일 확인**
40+
- [ ] `.eslintrc.js`, `.prettierrc` 존재 여부 및 룰 확인
41+
- [ ] 기존 컴포넌트 3-5개 샘플링:
42+
- 함수형 컴포넌트 스타일: `function` vs `const arrow`
43+
- Props 타입: `interface` vs `type`
44+
- Export 방식: named vs default
45+
- 파일명: PascalCase vs kebab-case
46+
- [ ] 스타일링: CSS Modules / Styled Components / Tailwind
47+
- [ ] State 관리: Context / Redux / Zustand / Recoil
48+
49+
**Flutter 프로젝트 스타일 확인**
50+
- [ ] `analysis_options.yaml` 린트 룰 확인
51+
- [ ] 기존 위젯 패턴 분석
52+
- [ ] State 관리 방식: Provider / Riverpod / Bloc / GetX
53+
- [ ] 파일 구조: feature-first vs layer-first
54+
55+
### 3단계: 분석 시 스타일 적용 원칙
56+
**절대 원칙**: 프로젝트의 기존 코드 스타일을 100% 따라감
57+
✅ 일관성 > 베스트 프랙티스
58+
✅ 팀 컨벤션 > 개인 취향
59+
✅ 새로운 스타일 제안 금지 (명시적 요청 시에만)
60+
61+
---
62+
63+
## 핵심 원칙
64+
- ✅ 철저한 분석과 계획 수립
65+
- ❌ 직접적인 코드 수정 금지
66+
- ✅ 문제점과 개선 방향 제시
67+
- ✅ 단계별 실행 계획 작성
68+
69+
## 분석 프로세스
70+
71+
### 1단계: 현재 상태 파악
72+
- 관련 파일 및 코드베이스 구조 검토
73+
- 기존 아키텍처 및 디자인 패턴 이해
74+
- 의존성 및 통합 지점 파악
75+
76+
### 2단계: 요구사항 분석
77+
- 사용자 요청의 핵심 목표 명확화
78+
- 기술적 제약사항 및 고려사항 도출
79+
- 예상되는 엣지 케이스 식별
80+
81+
### 3단계: 영향 범위 평가
82+
- 변경이 필요한 파일 및 모듈 리스트업
83+
- 잠재적 사이드 이펙트 분석
84+
- 테스트가 필요한 영역 식별
85+
86+
### 4단계: 구현 계획 수립
87+
```
88+
📋 구현 계획서
89+
├── 1️⃣ 준비 단계
90+
│ ├─ 필요한 의존성 설치
91+
│ └─ 환경 설정 확인
92+
├── 2️⃣ 핵심 구현
93+
│ ├─ 파일명: 변경 내용 요약
94+
│ ├─ 파일명: 변경 내용 요약
95+
│ └─ 파일명: 변경 내용 요약
96+
├── 3️⃣ 테스트 작성
97+
│ └─ 테스트 시나리오 정의
98+
└── 4️⃣ 검증 및 문서화
99+
└─ 완료 체크리스트
100+
```
101+
102+
### 5단계: 위험 요소 및 대안
103+
- 잠재적 문제점 명시
104+
- 대안 솔루션 제시 (있는 경우)
105+
- 성능 및 보안 고려사항
106+
107+
## 🎯 기술별 분석 포인트
108+
109+
### Spring Boot 백엔드 분석
110+
**아키텍처 분석**
111+
- [ ] 레이어 구조: Controller → Service → Repository
112+
- [ ] DTO ↔ Entity 변환 위치 및 방식
113+
- [ ] 비즈니스 로직 위치 (Service vs Domain Model)
114+
- [ ] 예외 처리 전략 (@ControllerAdvice, Custom Exception)
115+
116+
**데이터베이스 분석**
117+
- [ ] JPA Entity 설계 (연관관계, Fetch 전략)
118+
- [ ] N+1 쿼리 문제 가능성
119+
- [ ] 트랜잭션 경계 (@Transactional 위치)
120+
- [ ] 쿼리 최적화 필요 여부
121+
122+
**API 설계 분석**
123+
- [ ] RESTful 규칙 준수 여부
124+
- [ ] 응답 형식 일관성 (ResponseEntity, ApiResponse)
125+
- [ ] 에러 응답 구조
126+
- [ ] API 버저닝 전략
127+
128+
**보안 분석**
129+
- [ ] 인증/인가 구현 (Spring Security, JWT)
130+
- [ ] 입력 검증 (@Valid, @Validated)
131+
- [ ] SQL Injection 방어
132+
- [ ] CORS 설정
133+
134+
### React/React Native 프론트엔드 분석
135+
**컴포넌트 구조 분석**
136+
- [ ] 컴포넌트 계층 구조 및 책임 분리
137+
- [ ] Props drilling 문제
138+
- [ ] 재사용 가능성
139+
- [ ] Container vs Presentational 패턴
140+
141+
**상태 관리 분석**
142+
- [ ] Local state vs Global state 구분
143+
- [ ] 상태 관리 라이브러리 적절성
144+
- [ ] 불필요한 리렌더링 원인
145+
- [ ] Side effect 처리 (useEffect)
146+
147+
**성능 분석**
148+
- [ ] 메모이제이션 필요성 (useMemo, useCallback)
149+
- [ ] 컴포넌트 lazy loading
150+
- [ ] 번들 크기 최적화
151+
- [ ] 이미지 최적화
152+
153+
**React Native 특화**
154+
- [ ] Native 모듈 사용 여부
155+
- [ ] Platform 별 분기 처리
156+
- [ ] 퍼포먼스 이슈 (리스트 렌더링)
157+
158+
### Flutter 모바일 앱 분석
159+
**위젯 구조 분석**
160+
- [ ] Widget 트리 깊이 및 복잡도
161+
- [ ] StatefulWidget vs StatelessWidget 적절성
162+
- [ ] 위젯 재사용성
163+
164+
**상태 관리 분석**
165+
- [ ] State 관리 패턴 (Provider/Riverpod/Bloc)
166+
- [ ] 상태 범위 (전역 vs 로컬)
167+
- [ ] 상태 업데이트 효율성
168+
169+
**성능 분석**
170+
- [ ] 불필요한 rebuild
171+
- [ ] 리스트 성능 (ListView.builder)
172+
- [ ] 이미지/리소스 로딩
173+
174+
## 출력 형식
175+
분석 결과를 다음 구조로 제공하세요:
176+
177+
### 📊 분석 요약
178+
[요청 사항에 대한 간단한 요약]
179+
180+
**감지된 프로젝트 타입**: [Spring Boot / React / Flutter / 등]
181+
**주요 기술 스택**: [구체적 버전 및 라이브러리]
182+
**코드 스타일**: [감지된 프로젝트의 기존 패턴]
183+
184+
### 🔍 현재 상태
185+
[코드베이스의 현재 상태 및 구조]
186+
187+
### 🎯 구현 목표
188+
[달성해야 할 구체적인 목표들]
189+
190+
### 📝 상세 구현 계획
191+
[단계별 실행 계획 - 프로젝트 스타일 준수하여 작성]
192+
193+
### ⚠️ 주의사항
194+
[위험 요소 및 고려사항]
195+
196+
### ✅ 다음 단계
197+
198+
**다음 명령어**: `/implement` - 이 계획을 바탕으로 실제 구현 진행
199+
200+
**워크플로우**: `/plan``/analyze` (현재) → `/implement``/review``/test`
201+
202+
---
203+
**중요**: 이 모드에서는 절대 코드를 수정하지 마세요. 분석과 계획만 제공하세요.

0 commit comments

Comments
 (0)