@kood/claude-code 0.1.6 → 0.1.7
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/index.js +21 -243
- package/package.json +1 -1
- package/templates/hono/CLAUDE.md +10 -6
- package/templates/hono/docs/deployment/index.md +5 -0
- package/templates/hono/docs/library/hono/index.md +6 -0
- package/templates/hono/docs/library/prisma/index.md +3 -0
- package/templates/npx/CLAUDE.md +8 -2
- package/templates/tanstack-start/CLAUDE.md +103 -255
- package/templates/tanstack-start/docs/deployment/cloudflare.md +37 -424
- package/templates/tanstack-start/docs/deployment/index.md +57 -286
- package/templates/tanstack-start/docs/deployment/nitro.md +36 -318
- package/templates/tanstack-start/docs/deployment/railway.md +40 -409
- package/templates/tanstack-start/docs/deployment/vercel.md +43 -465
- package/templates/tanstack-start/docs/design/accessibility.md +56 -326
- package/templates/tanstack-start/docs/design/color.md +37 -179
- package/templates/tanstack-start/docs/design/components.md +77 -311
- package/templates/tanstack-start/docs/design/index.md +24 -87
- package/templates/tanstack-start/docs/design/safe-area.md +51 -250
- package/templates/tanstack-start/docs/design/spacing.md +57 -276
- package/templates/tanstack-start/docs/design/tailwind-setup.md +45 -359
- package/templates/tanstack-start/docs/design/typography.md +40 -284
- package/templates/tanstack-start/docs/library/better-auth/2fa.md +27 -115
- package/templates/tanstack-start/docs/library/better-auth/advanced.md +22 -105
- package/templates/tanstack-start/docs/library/better-auth/index.md +17 -66
- package/templates/tanstack-start/docs/library/better-auth/plugins.md +11 -88
- package/templates/tanstack-start/docs/library/better-auth/session.md +12 -92
- package/templates/tanstack-start/docs/library/better-auth/setup.md +9 -91
- package/templates/tanstack-start/docs/library/prisma/cloudflare-d1.md +30 -358
- package/templates/tanstack-start/docs/library/prisma/config.md +27 -327
- package/templates/tanstack-start/docs/library/prisma/crud.md +46 -174
- package/templates/tanstack-start/docs/library/prisma/index.md +23 -113
- package/templates/tanstack-start/docs/library/prisma/relations.md +31 -153
- package/templates/tanstack-start/docs/library/prisma/schema.md +40 -217
- package/templates/tanstack-start/docs/library/prisma/setup.md +12 -112
- package/templates/tanstack-start/docs/library/prisma/transactions.md +20 -110
- package/templates/tanstack-start/docs/library/tanstack-query/index.md +12 -99
- package/templates/tanstack-start/docs/library/tanstack-query/invalidation.md +28 -107
- package/templates/tanstack-start/docs/library/tanstack-query/optimistic-updates.md +44 -146
- package/templates/tanstack-start/docs/library/tanstack-query/setup.md +11 -70
- package/templates/tanstack-start/docs/library/tanstack-query/use-mutation.md +33 -127
- package/templates/tanstack-start/docs/library/tanstack-query/use-query.md +49 -149
- package/templates/tanstack-start/docs/library/tanstack-start/auth-patterns.md +19 -112
- package/templates/tanstack-start/docs/library/tanstack-start/index.md +33 -80
- package/templates/tanstack-start/docs/library/tanstack-start/middleware.md +28 -106
- package/templates/tanstack-start/docs/library/tanstack-start/routing.md +21 -118
- package/templates/tanstack-start/docs/library/tanstack-start/server-functions.md +34 -246
- package/templates/tanstack-start/docs/library/tanstack-start/setup.md +6 -39
- package/templates/tanstack-start/docs/library/zod/basic-types.md +33 -145
- package/templates/tanstack-start/docs/library/zod/complex-types.md +32 -156
- package/templates/tanstack-start/docs/library/zod/index.md +22 -150
- package/templates/tanstack-start/docs/library/zod/transforms.md +20 -129
- package/templates/tanstack-start/docs/library/zod/validation.md +39 -155
- package/templates/hono/docs/commands/git.md +0 -145
- package/templates/hono/docs/mcp/context7.md +0 -106
- package/templates/hono/docs/mcp/index.md +0 -176
- package/templates/hono/docs/mcp/sequential-thinking.md +0 -101
- package/templates/hono/docs/mcp/serena.md +0 -269
- package/templates/hono/docs/mcp/sgrep.md +0 -105
- package/templates/hono/docs/skills/gemini-review/SKILL.md +0 -220
- package/templates/hono/docs/skills/gemini-review/references/checklists.md +0 -136
- package/templates/hono/docs/skills/gemini-review/references/prompt-templates.md +0 -303
- package/templates/npx/docs/commands/git.md +0 -145
- package/templates/npx/docs/mcp/index.md +0 -60
- package/templates/npx/docs/skills/gemini-review/SKILL.md +0 -220
- package/templates/npx/docs/skills/gemini-review/references/checklists.md +0 -134
- package/templates/npx/docs/skills/gemini-review/references/prompt-templates.md +0 -301
- package/templates/tanstack-start/docs/commands/git.md +0 -145
- package/templates/tanstack-start/docs/mcp/context7.md +0 -204
- package/templates/tanstack-start/docs/mcp/index.md +0 -177
- package/templates/tanstack-start/docs/mcp/sequential-thinking.md +0 -180
- package/templates/tanstack-start/docs/mcp/serena.md +0 -269
- package/templates/tanstack-start/docs/mcp/sgrep.md +0 -174
- package/templates/tanstack-start/docs/skills/gemini-review/SKILL.md +0 -220
- package/templates/tanstack-start/docs/skills/gemini-review/references/checklists.md +0 -144
- package/templates/tanstack-start/docs/skills/gemini-review/references/prompt-templates.md +0 -292
|
@@ -1,144 +0,0 @@
|
|
|
1
|
-
# 기술 스택별 리뷰 체크리스트
|
|
2
|
-
|
|
3
|
-
## TanStack Start 체크리스트
|
|
4
|
-
|
|
5
|
-
### 라우팅
|
|
6
|
-
- [ ] 파일 기반 라우팅 구조가 논리적으로 구성됨
|
|
7
|
-
- [ ] 동적 라우트가 적절히 파라미터화됨 (`$param`)
|
|
8
|
-
- [ ] 레이아웃 라우트가 올바르게 중첩됨
|
|
9
|
-
- [ ] 404 및 에러 경계가 적절히 처리됨
|
|
10
|
-
- [ ] 라우트 그룹이 효과적으로 활용됨
|
|
11
|
-
|
|
12
|
-
### 서버 함수
|
|
13
|
-
- [ ] `createServerFn`이 올바르게 사용됨
|
|
14
|
-
- [ ] 서버 함수에서 적절한 유효성 검사 수행
|
|
15
|
-
- [ ] 에러 처리가 일관되게 구현됨
|
|
16
|
-
- [ ] 민감한 데이터가 클라이언트에 노출되지 않음
|
|
17
|
-
- [ ] 적절한 HTTP 메서드 사용 (GET vs POST)
|
|
18
|
-
|
|
19
|
-
### 데이터 페칭
|
|
20
|
-
- [ ] TanStack Query가 올바르게 통합됨
|
|
21
|
-
- [ ] `queryOptions`가 적절히 정의됨
|
|
22
|
-
- [ ] 로더에서 효율적인 데이터 페칭
|
|
23
|
-
- [ ] 적절한 캐싱 전략 사용
|
|
24
|
-
- [ ] 로딩/에러 상태 처리 완비
|
|
25
|
-
|
|
26
|
-
### SSR/CSR
|
|
27
|
-
- [ ] SSR이 필요한 곳에 적절히 사용됨
|
|
28
|
-
- [ ] 클라이언트 전용 코드가 올바르게 분리됨
|
|
29
|
-
- [ ] 하이드레이션 미스매치 방지
|
|
30
|
-
- [ ] SEO 필수 페이지에 SSR 적용
|
|
31
|
-
- [ ] 사용자별 데이터는 클라이언트에서 페칭
|
|
32
|
-
|
|
33
|
-
### 상태 관리
|
|
34
|
-
- [ ] 서버 상태와 클라이언트 상태가 분리됨
|
|
35
|
-
- [ ] TanStack Query로 서버 상태 관리
|
|
36
|
-
- [ ] 불필요한 전역 상태 최소화
|
|
37
|
-
- [ ] 컨텍스트가 적절히 사용됨
|
|
38
|
-
|
|
39
|
-
### 성능
|
|
40
|
-
- [ ] 코드 스플리팅 적용
|
|
41
|
-
- [ ] 이미지 최적화
|
|
42
|
-
- [ ] 번들 사이즈 모니터링
|
|
43
|
-
- [ ] 불필요한 리렌더링 방지
|
|
44
|
-
|
|
45
|
-
### 타입스크립트
|
|
46
|
-
- [ ] Strict 모드 활성화
|
|
47
|
-
- [ ] Props 인터페이스 정의
|
|
48
|
-
- [ ] API 응답 타입 정의
|
|
49
|
-
- [ ] `any` 타입 사용 최소화
|
|
50
|
-
|
|
51
|
-
---
|
|
52
|
-
|
|
53
|
-
## FastAPI 체크리스트
|
|
54
|
-
|
|
55
|
-
### API 설계
|
|
56
|
-
- [ ] RESTful 규칙 준수 (적절한 HTTP 메서드, 상태 코드)
|
|
57
|
-
- [ ] 일관된 URL 명명 (kebab-case, 복수형 명사)
|
|
58
|
-
- [ ] path vs query 파라미터 적절한 사용
|
|
59
|
-
- [ ] API 버저닝 전략 (해당 시)
|
|
60
|
-
- [ ] 엔드포인트 간 응답 모델 일관성
|
|
61
|
-
|
|
62
|
-
### Pydantic 모델
|
|
63
|
-
- [ ] 적절한 제약조건으로 필드 유효성 검사 (min, max, regex)
|
|
64
|
-
- [ ] Optional vs required 필드 올바르게 정의
|
|
65
|
-
- [ ] `Field()`로 메타데이터와 예시 적절히 사용
|
|
66
|
-
- [ ] Config 클래스 설정 (orm_mode, validate_assignment)
|
|
67
|
-
- [ ] 필요 시 커스텀 밸리데이터
|
|
68
|
-
|
|
69
|
-
### 비동기 패턴
|
|
70
|
-
- [ ] async/await 일관되게 사용
|
|
71
|
-
- [ ] async 함수 내 블로킹 I/O 없음
|
|
72
|
-
- [ ] 동시 작업에 `asyncio.gather()` 적절히 사용
|
|
73
|
-
- [ ] 장시간 작업에 백그라운드 태스크 사용
|
|
74
|
-
- [ ] 데이터베이스 연결 풀링
|
|
75
|
-
|
|
76
|
-
### 보안
|
|
77
|
-
- [ ] 인증 구현 (OAuth2, JWT, API 키)
|
|
78
|
-
- [ ] 보호된 엔드포인트에 인가 검사
|
|
79
|
-
- [ ] 입력 검증 및 살균
|
|
80
|
-
- [ ] 적절한 CORS 설정
|
|
81
|
-
- [ ] 레이트 리미팅 고려
|
|
82
|
-
- [ ] 하드코딩된 시크릿 없음
|
|
83
|
-
|
|
84
|
-
### 에러 처리
|
|
85
|
-
- [ ] 커스텀 예외 핸들러 정의
|
|
86
|
-
- [ ] 일관된 에러 응답 형식
|
|
87
|
-
- [ ] 에러에 적절한 HTTP 상태 코드
|
|
88
|
-
- [ ] 에러에 민감 정보 노출 없음
|
|
89
|
-
|
|
90
|
-
### 성능
|
|
91
|
-
- [ ] 데이터베이스 쿼리 최적화 (N+1 문제 방지)
|
|
92
|
-
- [ ] 목록 엔드포인트에 페이지네이션
|
|
93
|
-
- [ ] 적절한 캐싱 전략
|
|
94
|
-
- [ ] 응답 모델에서 불필요한 필드 제외
|
|
95
|
-
|
|
96
|
-
### 테스팅
|
|
97
|
-
- [ ] TestClient로 테스트 클라이언트 설정
|
|
98
|
-
- [ ] 모킹을 위한 의존성 오버라이드
|
|
99
|
-
- [ ] 정상 경로 및 엣지 케이스 커버리지
|
|
100
|
-
|
|
101
|
-
---
|
|
102
|
-
|
|
103
|
-
## 범용 체크리스트
|
|
104
|
-
|
|
105
|
-
### 코드 품질
|
|
106
|
-
- [ ] 단일 책임 원칙 준수
|
|
107
|
-
- [ ] DRY - 불필요한 중복 없음
|
|
108
|
-
- [ ] 함수/메서드가 집중적이고 작음
|
|
109
|
-
- [ ] 명확한 명명 규칙
|
|
110
|
-
- [ ] 주석은 "why"를 설명, "what"이 아님
|
|
111
|
-
|
|
112
|
-
### 로직 및 정확성
|
|
113
|
-
- [ ] 엣지 케이스 처리 (빈 값, null, 경계값)
|
|
114
|
-
- [ ] 포괄적인 에러 처리
|
|
115
|
-
- [ ] 레이스 컨디션 고려
|
|
116
|
-
- [ ] 입력 유효성 검사
|
|
117
|
-
- [ ] 반환값 확인
|
|
118
|
-
|
|
119
|
-
### 보안
|
|
120
|
-
- [ ] 하드코딩된 시크릿 없음
|
|
121
|
-
- [ ] 사용자 입력 살균
|
|
122
|
-
- [ ] SQL 인젝션 방지 (파라미터화된 쿼리)
|
|
123
|
-
- [ ] XSS 방지 조치
|
|
124
|
-
- [ ] 적절한 인증/인가
|
|
125
|
-
|
|
126
|
-
### 성능
|
|
127
|
-
- [ ] 스케일에 적합한 시간 복잡도
|
|
128
|
-
- [ ] 적절한 공간 복잡도
|
|
129
|
-
- [ ] 불필요한 반복 없음
|
|
130
|
-
- [ ] 데이터베이스 쿼리 최적화
|
|
131
|
-
- [ ] 적절한 캐싱 고려
|
|
132
|
-
|
|
133
|
-
### 유지보수성
|
|
134
|
-
- [ ] 테스트 가능한 코드
|
|
135
|
-
- [ ] 최소한의 정당화된 의존성
|
|
136
|
-
- [ ] 설정 외부화
|
|
137
|
-
- [ ] 디버깅을 위한 로깅
|
|
138
|
-
- [ ] 도움이 되는 에러 메시지
|
|
139
|
-
|
|
140
|
-
### 문서화
|
|
141
|
-
- [ ] 공개 API 문서화
|
|
142
|
-
- [ ] 복잡한 로직 설명
|
|
143
|
-
- [ ] 명확한 설정 가이드
|
|
144
|
-
- [ ] 환경 변수 문서화
|
|
@@ -1,292 +0,0 @@
|
|
|
1
|
-
# Gemini 리뷰 프롬프트 템플릿
|
|
2
|
-
|
|
3
|
-
## 명령어 패턴
|
|
4
|
-
|
|
5
|
-
모든 명령어는 고정 모델 `gemini-2.5-pro`와 JSON 출력 사용.
|
|
6
|
-
|
|
7
|
-
### 기본 패턴
|
|
8
|
-
```bash
|
|
9
|
-
gemini -m gemini-2.5-pro -p "{prompt}" --output-format json
|
|
10
|
-
```
|
|
11
|
-
|
|
12
|
-
### 파일 파이핑 패턴
|
|
13
|
-
```bash
|
|
14
|
-
cat {file_path} | gemini -m gemini-2.5-pro -p "{instructions}" --output-format json
|
|
15
|
-
```
|
|
16
|
-
|
|
17
|
-
### 멀티라인 Heredoc 패턴
|
|
18
|
-
```bash
|
|
19
|
-
gemini -m gemini-2.5-pro --output-format json -p "$(cat << 'EOF'
|
|
20
|
-
{multi_line_prompt}
|
|
21
|
-
EOF
|
|
22
|
-
)"
|
|
23
|
-
```
|
|
24
|
-
|
|
25
|
-
### 응답 파싱
|
|
26
|
-
```bash
|
|
27
|
-
result=$(gemini -m gemini-2.5-pro -p "..." --output-format json)
|
|
28
|
-
review_content=$(echo "$result" | jq -r '.response')
|
|
29
|
-
echo "$review_content"
|
|
30
|
-
```
|
|
31
|
-
|
|
32
|
-
---
|
|
33
|
-
|
|
34
|
-
## 계획 리뷰 템플릿
|
|
35
|
-
|
|
36
|
-
```bash
|
|
37
|
-
gemini -m gemini-2.5-pro --output-format json -p "$(cat << 'EOF'
|
|
38
|
-
[계획 리뷰 요청]
|
|
39
|
-
|
|
40
|
-
## 컨텍스트
|
|
41
|
-
프로젝트: {project_name}
|
|
42
|
-
기술 스택: {tech_stack}
|
|
43
|
-
현재 상태: {current_state_description}
|
|
44
|
-
|
|
45
|
-
## 구현 계획
|
|
46
|
-
{plan_content}
|
|
47
|
-
|
|
48
|
-
## 리뷰 체크리스트
|
|
49
|
-
{checklist_items}
|
|
50
|
-
|
|
51
|
-
## 리뷰 지침
|
|
52
|
-
이 구현 계획을 분석하여 다음에 대한 피드백을 제공해주세요:
|
|
53
|
-
|
|
54
|
-
1. **완전성**
|
|
55
|
-
- 모든 요구사항이 다뤄졌는가?
|
|
56
|
-
- 누락된 단계나 고려사항이 있는가?
|
|
57
|
-
|
|
58
|
-
2. **로직 및 실현 가능성**
|
|
59
|
-
- 이 접근방식이 의도대로 작동할 것인가?
|
|
60
|
-
- 논리적 결함이나 모순이 있는가?
|
|
61
|
-
|
|
62
|
-
3. **엣지 케이스**
|
|
63
|
-
- 놓칠 수 있는 엣지 케이스는?
|
|
64
|
-
- 어떻게 처리해야 하는가?
|
|
65
|
-
|
|
66
|
-
4. **위험 및 이슈**
|
|
67
|
-
- 구현 중 발생할 수 있는 문제는?
|
|
68
|
-
- 의존성이나 블로커가 있는가?
|
|
69
|
-
|
|
70
|
-
5. **대안**
|
|
71
|
-
- 더 나은 접근방식이 있는가?
|
|
72
|
-
- 고려해야 할 트레이드오프는?
|
|
73
|
-
|
|
74
|
-
응답 형식:
|
|
75
|
-
- ✅ 계획의 강점
|
|
76
|
-
- ⚠️ 발견된 우려사항 또는 이슈
|
|
77
|
-
- 💡 개선 제안
|
|
78
|
-
- 🔄 대안적 접근방식 (있다면)
|
|
79
|
-
EOF
|
|
80
|
-
)"
|
|
81
|
-
```
|
|
82
|
-
|
|
83
|
-
---
|
|
84
|
-
|
|
85
|
-
## 코드 리뷰 템플릿
|
|
86
|
-
|
|
87
|
-
### 옵션 A: 인라인 코드
|
|
88
|
-
```bash
|
|
89
|
-
gemini -m gemini-2.5-pro --output-format json -p "$(cat << 'EOF'
|
|
90
|
-
[코드 리뷰 요청]
|
|
91
|
-
|
|
92
|
-
## 컨텍스트
|
|
93
|
-
파일: {file_path}
|
|
94
|
-
언어: {language}
|
|
95
|
-
기술 스택: {tech_stack}
|
|
96
|
-
목적: {purpose_description}
|
|
97
|
-
|
|
98
|
-
## 리뷰할 코드
|
|
99
|
-
```{language}
|
|
100
|
-
{code_content}
|
|
101
|
-
```
|
|
102
|
-
|
|
103
|
-
## 리뷰 체크리스트
|
|
104
|
-
{checklist_items}
|
|
105
|
-
|
|
106
|
-
## 리뷰 지침
|
|
107
|
-
다음에 초점을 맞춰 철저한 코드 리뷰를 수행해주세요:
|
|
108
|
-
|
|
109
|
-
1. **버그 및 로직 오류**
|
|
110
|
-
- 잘못된 로직 또는 알고리즘
|
|
111
|
-
- Off-by-one 에러
|
|
112
|
-
- Null/undefined 처리
|
|
113
|
-
- 타입 불일치
|
|
114
|
-
|
|
115
|
-
2. **보안 취약점**
|
|
116
|
-
- 인젝션 위험 (SQL, XSS 등)
|
|
117
|
-
- 인증/인가 갭
|
|
118
|
-
- 데이터 노출 위험
|
|
119
|
-
- 입력 유효성 검사 이슈
|
|
120
|
-
|
|
121
|
-
3. **성능 이슈**
|
|
122
|
-
- 비효율적인 알고리즘 (문제 시 Big-O 명시)
|
|
123
|
-
- N+1 쿼리
|
|
124
|
-
- 메모리 누수
|
|
125
|
-
- 불필요한 연산
|
|
126
|
-
|
|
127
|
-
4. **베스트 프랙티스**
|
|
128
|
-
- 코드 구성
|
|
129
|
-
- 명명 규칙
|
|
130
|
-
- 에러 처리 패턴
|
|
131
|
-
- 테스트 고려사항
|
|
132
|
-
|
|
133
|
-
5. **유지보수성**
|
|
134
|
-
- 코드 명확성
|
|
135
|
-
- 문서화 필요성
|
|
136
|
-
- 결합도와 응집도
|
|
137
|
-
- 향후 확장성
|
|
138
|
-
|
|
139
|
-
발견된 각 이슈에 대해 다음을 제공:
|
|
140
|
-
- 🔴 심각 / 🟡 중요 / 🟢 경미
|
|
141
|
-
- 위치 (라인 번호 또는 함수명)
|
|
142
|
-
- 이슈 설명
|
|
143
|
-
- 코드 예시와 함께 수정 제안
|
|
144
|
-
EOF
|
|
145
|
-
)"
|
|
146
|
-
```
|
|
147
|
-
|
|
148
|
-
### 옵션 B: 파일 내용 파이핑
|
|
149
|
-
```bash
|
|
150
|
-
cat {file_path} | gemini -m gemini-2.5-pro --output-format json -p "이 {language} 코드 ({tech_stack} 프로젝트)를 다음 관점에서 리뷰해주세요:
|
|
151
|
-
1. 버그 및 로직 오류
|
|
152
|
-
2. 보안 취약점
|
|
153
|
-
3. 성능 이슈
|
|
154
|
-
4. 베스트 프랙티스 위반
|
|
155
|
-
5. 유지보수성 우려
|
|
156
|
-
|
|
157
|
-
각 이슈에 대해: 심각도 (🔴 심각/🟡 중요/🟢 경미), 위치, 설명, 코드와 함께 수정 제안을 명시해주세요."
|
|
158
|
-
```
|
|
159
|
-
|
|
160
|
-
---
|
|
161
|
-
|
|
162
|
-
## 아키텍처 리뷰 템플릿
|
|
163
|
-
|
|
164
|
-
```bash
|
|
165
|
-
gemini -m gemini-2.5-pro --output-format json -p "$(cat << 'EOF'
|
|
166
|
-
[아키텍처 리뷰 요청]
|
|
167
|
-
|
|
168
|
-
## 시스템 개요
|
|
169
|
-
이름: {system_name}
|
|
170
|
-
목적: {system_purpose}
|
|
171
|
-
기술 스택: {tech_stack}
|
|
172
|
-
규모: {expected_scale}
|
|
173
|
-
|
|
174
|
-
## 현재/제안 아키텍처
|
|
175
|
-
{architecture_description}
|
|
176
|
-
|
|
177
|
-
## 컴포넌트
|
|
178
|
-
{components_list}
|
|
179
|
-
|
|
180
|
-
## 데이터 흐름
|
|
181
|
-
{data_flow_description}
|
|
182
|
-
|
|
183
|
-
## 구체적인 질문
|
|
184
|
-
{specific_questions}
|
|
185
|
-
|
|
186
|
-
## 리뷰 지침
|
|
187
|
-
다음을 고려하여 이 아키텍처를 평가해주세요:
|
|
188
|
-
|
|
189
|
-
1. **확장성**
|
|
190
|
-
- 예상 로드를 처리할 수 있는가?
|
|
191
|
-
- 수평 vs 수직 스케일링 옵션은?
|
|
192
|
-
- 확인된 병목 지점은?
|
|
193
|
-
|
|
194
|
-
2. **신뢰성**
|
|
195
|
-
- 단일 장애 지점이 있는가?
|
|
196
|
-
- 내결함성 메커니즘은?
|
|
197
|
-
- 복구 전략은?
|
|
198
|
-
|
|
199
|
-
3. **유지보수성**
|
|
200
|
-
- 컴포넌트 결합도는?
|
|
201
|
-
- 배포 복잡성은?
|
|
202
|
-
- 운영 오버헤드는?
|
|
203
|
-
|
|
204
|
-
4. **보안**
|
|
205
|
-
- 공격 표면은?
|
|
206
|
-
- 데이터 보호는?
|
|
207
|
-
- 접근 제어 경계는?
|
|
208
|
-
|
|
209
|
-
5. **비용 효율성**
|
|
210
|
-
- 리소스 활용도는?
|
|
211
|
-
- 스케일링 비용은?
|
|
212
|
-
- 운영 비용은?
|
|
213
|
-
|
|
214
|
-
6. **트레이드오프**
|
|
215
|
-
- 무엇을 희생하고 있는가?
|
|
216
|
-
- 대안적 아키텍처는?
|
|
217
|
-
- 마이그레이션 경로 고려사항은?
|
|
218
|
-
|
|
219
|
-
응답 형식:
|
|
220
|
-
- 📊 전체 평가
|
|
221
|
-
- ✅ 아키텍처 강점
|
|
222
|
-
- ⚠️ 우려사항 및 위험
|
|
223
|
-
- 💡 권장사항
|
|
224
|
-
- 🔄 고려할 가치가 있는 대안적 접근방식
|
|
225
|
-
EOF
|
|
226
|
-
)"
|
|
227
|
-
```
|
|
228
|
-
|
|
229
|
-
---
|
|
230
|
-
|
|
231
|
-
## TanStack Start 특화 추가사항
|
|
232
|
-
|
|
233
|
-
tech_stack이 `tanstack-start`일 때 관련 템플릿에 추가:
|
|
234
|
-
|
|
235
|
-
```
|
|
236
|
-
## TanStack Start 특화 리뷰 포인트
|
|
237
|
-
- 파일 기반 라우팅 구조와 중첩
|
|
238
|
-
- createServerFn 사용 및 보안
|
|
239
|
-
- TanStack Query 통합 패턴
|
|
240
|
-
- SSR/CSR 선택의 적절성
|
|
241
|
-
- 로더와 서버 함수 데이터 페칭 전략
|
|
242
|
-
- 하이드레이션 처리
|
|
243
|
-
- TypeScript 타입 안전성
|
|
244
|
-
```
|
|
245
|
-
|
|
246
|
-
---
|
|
247
|
-
|
|
248
|
-
## FastAPI 특화 추가사항
|
|
249
|
-
|
|
250
|
-
tech_stack이 `fastapi`일 때 관련 템플릿에 추가:
|
|
251
|
-
|
|
252
|
-
```
|
|
253
|
-
## FastAPI 특화 리뷰 포인트
|
|
254
|
-
- Pydantic 모델 설계 및 유효성 검사
|
|
255
|
-
- async/await 정확성
|
|
256
|
-
- 의존성 주입 사용
|
|
257
|
-
- OpenAPI 문서 품질
|
|
258
|
-
- 미들웨어 및 예외 핸들러 패턴
|
|
259
|
-
- 데이터베이스 세션 관리
|
|
260
|
-
- 백그라운드 태스크 처리
|
|
261
|
-
```
|
|
262
|
-
|
|
263
|
-
---
|
|
264
|
-
|
|
265
|
-
## 빠른 리뷰 템플릿
|
|
266
|
-
|
|
267
|
-
### 보안 빠른 체크
|
|
268
|
-
```bash
|
|
269
|
-
cat {file_path} | gemini -m gemini-2.5-pro -p "이 코드를 보안 감사해주세요. 찾을 것: 인젝션 취약점, 인증 이슈, 데이터 노출 위험, 입력 유효성 검사 갭. 각각 심각도와 수정안과 함께 나열해주세요." --output-format json
|
|
270
|
-
```
|
|
271
|
-
|
|
272
|
-
### 성능 빠른 체크
|
|
273
|
-
```bash
|
|
274
|
-
cat {file_path} | gemini -m gemini-2.5-pro -p "이 코드를 성능 리뷰해주세요. 찾을 것: 비효율적인 알고리즘 (Big-O 명시), N+1 쿼리, 메모리 이슈, 불필요한 연산. 최적화를 제안해주세요." --output-format json
|
|
275
|
-
```
|
|
276
|
-
|
|
277
|
-
### 버그 헌팅
|
|
278
|
-
```bash
|
|
279
|
-
cat {file_path} | gemini -m gemini-2.5-pro -p "이 코드에서 버그를 찾아주세요: 로직 오류, 엣지 케이스, null 처리, 레이스 컨디션, 타입 이슈. 각 버그에 대해 수정안을 보여주세요." --output-format json
|
|
280
|
-
```
|
|
281
|
-
|
|
282
|
-
---
|
|
283
|
-
|
|
284
|
-
## 템플릿 사용 가이드
|
|
285
|
-
|
|
286
|
-
1. 적절한 기본 템플릿 선택 (plan/code/architecture)
|
|
287
|
-
2. 모든 `{placeholder}` 필드를 실제 내용으로 채움
|
|
288
|
-
3. 기술 스택에 따라 `checklists.md`에서 관련 체크리스트 로드
|
|
289
|
-
4. 해당 시 기술 스택 특화 추가사항 첨부
|
|
290
|
-
5. Gemini CLI로 실행
|
|
291
|
-
6. JSON 응답을 파싱하여 `.response` 필드 추출
|
|
292
|
-
7. Gemini 원본 응답과 Claude 분석 모두 제시
|