@kood/claude-code 0.6.0 → 0.6.2

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.
Files changed (32) hide show
  1. package/dist/index.js +1 -1
  2. package/package.json +1 -1
  3. package/templates/.claude/instructions/agent-patterns/delegation-patterns.md +389 -0
  4. package/templates/.claude/instructions/context-optimization/phase-based-execution.md +410 -0
  5. package/templates/.claude/instructions/context-optimization/redundant-exploration-prevention.md +646 -0
  6. package/templates/.claude/instructions/context-optimization/sub-agent-distribution.md +476 -0
  7. package/templates/.claude/instructions/glossary.md +48 -0
  8. package/templates/.claude/instructions/project-context-template.md +453 -0
  9. package/templates/.claude/instructions/skill-integration.md +90 -0
  10. package/templates/.claude/instructions/sourcing/reliable-search.md +411 -0
  11. package/templates/.claude/instructions/validation/forbidden-patterns.md +47 -0
  12. package/templates/.claude/instructions/validation/required-behaviors.md +120 -0
  13. package/templates/.claude/instructions/validation/scope-completeness.md +367 -0
  14. package/templates/.claude/instructions/workflow-patterns/todowrite-pattern.md +2 -0
  15. package/templates/.claude/skills/brainstorm/SKILL.md +110 -644
  16. package/templates/.claude/skills/bug-fix/SKILL.md +9 -137
  17. package/templates/.claude/skills/docs-fetch/CLAUDE.md +3 -0
  18. package/templates/.claude/skills/docs-fetch/SKILL.md +458 -0
  19. package/templates/.claude/skills/elon-musk/CLAUDE.md +3 -0
  20. package/templates/.claude/skills/elon-musk/SKILL.md +367 -0
  21. package/templates/.claude/skills/execute/SKILL.md +18 -397
  22. package/templates/.claude/skills/plan/SKILL.md +12 -986
  23. package/templates/.claude/skills/prd/SKILL.md +225 -586
  24. package/templates/.claude/skills/prd/references/ai-native-prd.md +116 -0
  25. package/templates/.claude/skills/prd/references/anti-patterns.md +82 -0
  26. package/templates/.claude/skills/prd/references/frameworks.md +216 -0
  27. package/templates/.claude/skills/prd/references/pm-leaders.md +106 -0
  28. package/templates/.claude/skills/prd/references/trends-2026.md +157 -0
  29. package/templates/.claude/skills/ralph/SKILL.md +15 -497
  30. package/templates/.claude/skills/refactor/SKILL.md +11 -655
  31. package/templates/.claude/skills/research/SKILL.md +257 -0
  32. package/templates/.claude/skills/research/report-template.md +88 -0
@@ -0,0 +1,646 @@
1
+ # Redundant Exploration Prevention (중복 탐색 방지)
2
+
3
+ **목적**: Claude Code 세션에서 중복 파일 탐색을 방지하여 컨텍스트 윈도우 절약 및 Rate Limiting 회피
4
+
5
+ ---
6
+
7
+ <problem>
8
+
9
+ ## 문제점 (Usage Report 분석 기반)
10
+
11
+ ### 주요 이슈
12
+
13
+ **"Redundant codebase exploration is your biggest tax"**
14
+
15
+ - Claude가 이미 분석한 파일을 반복적으로 재탐색
16
+ - 컨텍스트 윈도우가 불필요하게 소모
17
+ - Rate Limiting 8건의 주요 원인
18
+
19
+ ### 중복 탐색의 영향
20
+
21
+ | 영향 | 내용 | 손실 규모 |
22
+ |------|------|----------|
23
+ | **토큰 낭비** | 같은 파일 3-5회 읽기 | 컨텍스트 30-50% 소모 |
24
+ | **시간 낭비** | 탐색 루프에 빠짐 | 작업 시간 2-3배 증가 |
25
+ | **Rate Limiting** | 과도한 Tool 호출 | 세션 중단 위험 |
26
+ | **컨텍스트 압박** | 유용한 정보 밀려남 | Context compaction 조기 발생 |
27
+
28
+ ### 패턴 예시
29
+
30
+ ```typescript
31
+ // ❌ 중복 탐색 패턴
32
+ Read("src/auth.ts") // 1회
33
+ // ... 작업 ...
34
+ Read("src/auth.ts") // 2회 (변경 없음)
35
+ // ... 작업 ...
36
+ Read("src/auth.ts") // 3회 (변경 없음)
37
+ Glob("src/**/*.ts") // 이미 탐색한 디렉토리
38
+ ```
39
+
40
+ </problem>
41
+
42
+ ---
43
+
44
+ <core_rules>
45
+
46
+ ## 핵심 규칙
47
+
48
+ ### 1. 중복 읽기 금지
49
+
50
+ **같은 파일을 2회 이상 Read 금지 (변경 후 재확인 제외)**
51
+
52
+ ```typescript
53
+ // ✅ 허용: 수정 후 재확인
54
+ Read("src/auth.ts") // 1회: 내용 파악
55
+ Edit(...) // 수정
56
+ Read("src/auth.ts") // 2회: 변경 확인 (허용)
57
+
58
+ // ❌ 금지: 변경 없이 재읽기
59
+ Read("src/auth.ts") // 1회
60
+ // ... 다른 작업 ...
61
+ Read("src/auth.ts") // 2회: 변경 없이 재읽기 (금지)
62
+ ```
63
+
64
+ ### 2. 중복 탐색 금지
65
+
66
+ **이미 실행한 Glob/Grep 패턴 재실행 금지**
67
+
68
+ ```typescript
69
+ // ❌ 금지: 같은 패턴 반복
70
+ Glob({ pattern: "**/*.ts" }) // 1회
71
+ // ... 작업 ...
72
+ Glob({ pattern: "**/*.ts" }) // 2회 (금지)
73
+
74
+ // ✅ 허용: 다른 목적의 탐색
75
+ Glob({ pattern: "**/*.ts" }) // 전체 파일
76
+ Glob({ pattern: "**/auth/*.ts" }) // 특정 디렉토리 (허용)
77
+ ```
78
+
79
+ ### 3. 탐색 전 체크리스트
80
+
81
+ **탐색 Tool 실행 전 반드시 확인**
82
+
83
+ - [ ] 이 파일을 이미 읽었는가?
84
+ - [ ] 이 디렉토리를 이미 탐색했는가?
85
+ - [ ] 파일이 수정되었는가? (Edit/Write 후)
86
+ - [ ] 정말 새로운 정보가 필요한가?
87
+
88
+ ### 4. 탐색 루프 즉시 중단
89
+
90
+ **3회 이상 같은 파일 읽기 시도 시 즉시 중단**
91
+
92
+ ```typescript
93
+ // 탐색 루프 감지 시:
94
+ 1. 즉시 중단
95
+ 2. 이미 읽은 내용 기반으로 다음 단계 진행
96
+ 3. 추가 정보 필요 시 explore 에이전트에 위임
97
+ ```
98
+
99
+ </core_rules>
100
+
101
+ ---
102
+
103
+ <context_saving_patterns>
104
+
105
+ ## 컨텍스트 절약 패턴
106
+
107
+ ### 패턴 1: 탐색 결과 압축
108
+
109
+ **탐색 즉시 핵심 정보만 추출하여 요약**
110
+
111
+ ```typescript
112
+ // ✅ 올바른 흐름
113
+ Task(subagent_type="explore", model="haiku",
114
+ prompt="[quick] src/auth 디렉토리 구조 확인")
115
+ // → 결과 즉시 요약
116
+ // "인증: middleware 1개(auth.ts), functions 2개(login.ts, logout.ts), 총 3개 파일"
117
+
118
+ // ❌ 금지: 요약 없이 추가 탐색
119
+ Task(subagent_type="explore", ...) // 탐색 1
120
+ Task(subagent_type="explore", ...) // 요약 없이 탐색 2
121
+ ```
122
+
123
+ ### 패턴 2: 관련 파일 그룹 탐색
124
+
125
+ **개별 탐색 대신 한 번에 그룹으로 탐색**
126
+
127
+ ```typescript
128
+ // ✅ 올바름: 그룹 탐색
129
+ Read("src/auth/middleware.ts")
130
+ Read("src/auth/functions.ts")
131
+ Read("src/auth/types.ts")
132
+ // → 3개 파일을 병렬로 한 번에 읽기
133
+
134
+ // ❌ 금지: 개별 순차 탐색
135
+ Read("src/auth/middleware.ts")
136
+ // 분석...
137
+ Read("src/auth/functions.ts")
138
+ // 분석...
139
+ Read("src/auth/types.ts")
140
+ // 분석...
141
+ ```
142
+
143
+ ### 패턴 3: 요약 기록 활용
144
+
145
+ **핵심 분석 결과를 NOTES.md 또는 문서에 기록**
146
+
147
+ ```markdown
148
+ # NOTES.md
149
+
150
+ ## 프로젝트 구조 요약 (2026-02-06 14:30)
151
+
152
+ ### 인증 모듈
153
+ - 위치: `src/auth/`
154
+ - 파일: middleware.ts (인증 체크), login.ts (로그인), logout.ts (로그아웃)
155
+ - 의존성: Prisma User 모델, TanStack Session
156
+
157
+ ### API 라우트
158
+ - 위치: `src/routes/api/`
159
+ - 파일: 15개 (users, posts, comments 등)
160
+ - 패턴: createServerFn + inputValidator + middleware
161
+ ```
162
+
163
+ **요약 기록 후 재탐색 불필요 → 기록 참조**
164
+
165
+ ### 패턴 4: 파일 인벤토리 사전 생성
166
+
167
+ **복잡한 작업 시작 전 TaskCreate로 대상 파일 목록 등록**
168
+
169
+ ```typescript
170
+ // ✅ 올바름: 인벤토리 먼저 생성
171
+ Glob({ pattern: "src/**/*.ts" })
172
+ // → 결과: 50개 파일
173
+ TaskCreate({
174
+ subject: "프로젝트 파일 인벤토리",
175
+ description: `
176
+ - src/auth/: 3개
177
+ - src/routes/: 15개
178
+ - src/components/: 25개
179
+ - src/utils/: 7개
180
+ 총 50개 파일
181
+ `
182
+ })
183
+
184
+ // → 이후 작업에서 인벤토리 참조 (재탐색 불필요)
185
+ ```
186
+
187
+ </context_saving_patterns>
188
+
189
+ ---
190
+
191
+ <forbidden_patterns>
192
+
193
+ ## 금지 패턴
194
+
195
+ ### ❌ 금지 1: 같은 파일 여러 번 Read
196
+
197
+ **동일 파일을 변경 없이 2회 이상 읽기**
198
+
199
+ ```typescript
200
+ // ❌ 금지
201
+ Read("src/auth.ts") // 1회
202
+ // ... 작업 ...
203
+ Read("src/auth.ts") // 2회: 변경 없이 재읽기
204
+
205
+ // ✅ 올바름: 1회 읽기 → 기억 활용
206
+ Read("src/auth.ts") // 1회
207
+ // → 내용 기억 → 다음 단계 진행
208
+ ```
209
+
210
+ ### ❌ 금지 2: 결과 확인 없이 같은 Glob 재실행
211
+
212
+ **이미 실행한 Glob 패턴을 결과 확인 없이 재실행**
213
+
214
+ ```typescript
215
+ // ❌ 금지
216
+ Glob({ pattern: "**/*.md" }) // 1회
217
+ // → 결과 무시...
218
+ Glob({ pattern: "**/*.md" }) // 2회: 같은 패턴 재실행
219
+
220
+ // ✅ 올바름: 결과 활용
221
+ Glob({ pattern: "**/*.md" }) // 1회
222
+ // → 결과: 20개 파일 확인 → 활용
223
+ ```
224
+
225
+ ### ❌ 금지 3: 이미 분석한 파일 재분석 요청
226
+
227
+ **explore 에이전트에 이미 분석한 파일 재분석 요청**
228
+
229
+ ```typescript
230
+ // ❌ 금지
231
+ Task(subagent_type="explore", model="haiku",
232
+ prompt="src/auth/ 분석") // 1회
233
+ Task(subagent_type="explore", model="haiku",
234
+ prompt="src/auth/ 분석") // 2회: 같은 요청
235
+
236
+ // ✅ 올바름: 1회 분석 → 다음 단계
237
+ Task(subagent_type="explore", model="haiku",
238
+ prompt="src/auth/ 분석") // 1회
239
+ // → 결과 요약 → 구현 시작
240
+ ```
241
+
242
+ ### ❌ 금지 4: 탐색 루프
243
+
244
+ **같은 영역을 3회 이상 반복 탐색**
245
+
246
+ ```typescript
247
+ // ❌ 금지: 탐색 루프
248
+ Grep({ pattern: "createServerFn", path: "src/" }) // 1회
249
+ // ... 작업 ...
250
+ Grep({ pattern: "createServerFn", path: "src/" }) // 2회
251
+ // ... 작업 ...
252
+ Grep({ pattern: "createServerFn", path: "src/" }) // 3회 → 루프!
253
+
254
+ // ✅ 올바름: 1회 탐색 → 결과 활용
255
+ Grep({ pattern: "createServerFn", path: "src/" }) // 1회
256
+ // → 결과: 15개 발견 → 작업 진행
257
+ ```
258
+
259
+ ### ❌ 금지 5: 광범위한 탐색 반복
260
+
261
+ **전체 코드베이스 스캔을 여러 번 반복**
262
+
263
+ ```typescript
264
+ // ❌ 금지
265
+ Glob({ pattern: "**/*" }) // 전체 스캔 1회
266
+ // ... 작업 ...
267
+ Glob({ pattern: "**/*.ts" }) // 전체 스캔 2회 (중복)
268
+ // ... 작업 ...
269
+ Glob({ pattern: "src/**/*" }) // 전체 스캔 3회 (중복)
270
+
271
+ // ✅ 올바름: 1회 스캔 → 필터링
272
+ Glob({ pattern: "**/*.ts" }) // 1회: 전체 TypeScript 파일
273
+ // → 결과 필터링 활용 (재스캔 불필요)
274
+ ```
275
+
276
+ </forbidden_patterns>
277
+
278
+ ---
279
+
280
+ <allowed_patterns>
281
+
282
+ ## 허용 패턴
283
+
284
+ ### ✅ 허용 1: 파일 수정 후 변경 내용 확인
285
+
286
+ **Edit/Write 후 변경 사항 검증**
287
+
288
+ ```typescript
289
+ // ✅ 허용: 수정 후 재확인
290
+ Read("src/auth.ts") // 1회: 내용 파악
291
+ Edit({
292
+ file_path: "src/auth.ts",
293
+ old_string: "...",
294
+ new_string: "..."
295
+ })
296
+ Read("src/auth.ts") // 2회: 변경 확인 (허용)
297
+ ```
298
+
299
+ ### ✅ 허용 2: 명시적으로 다른 정보 필요 시
300
+
301
+ **새로운 관점이나 다른 정보를 찾기 위한 탐색**
302
+
303
+ ```typescript
304
+ // ✅ 허용: 다른 목적의 탐색
305
+ Grep({ pattern: "function", path: "src/auth.ts" }) // 함수 탐색
306
+ Grep({ pattern: "import", path: "src/auth.ts" }) // 의존성 탐색 (허용)
307
+ ```
308
+
309
+ ### ✅ 허용 3: Context compaction 후 복구 시
310
+
311
+ **컨텍스트 압축 후 필요한 파일 재로드**
312
+
313
+ ```typescript
314
+ // ✅ 허용: Context compaction 후
315
+ // → Context compaction 발생
316
+ Read("TASKS.md") // 재로드 (허용)
317
+ Read("PROCESS.md") // 재로드 (허용)
318
+ ```
319
+
320
+ ### ✅ 허용 4: 전체 작업 완료 후 검증
321
+
322
+ **"모든 X" 작업 완료 후 누락 확인**
323
+
324
+ ```typescript
325
+ // ✅ 허용: 완료 후 재스캔 (검증)
326
+ Glob({ pattern: "**/SKILL.md" }) // 1회: 전체 대상 확인
327
+ // ... 모든 파일 수정 ...
328
+ Glob({ pattern: "**/SKILL.md" }) // 2회: 검증 재스캔 (허용)
329
+ Grep({ pattern: "TodoWrite", glob: "**/SKILL.md" }) // 누락 확인 (허용)
330
+ ```
331
+
332
+ ### ✅ 허용 5: 에이전트 위임 후 결과 확인
333
+
334
+ **에이전트가 작업한 파일 확인**
335
+
336
+ ```typescript
337
+ // ✅ 허용: 에이전트 작업 후 확인
338
+ Read("src/feature.ts") // 1회: 현재 상태
339
+ Task(subagent_type="implementation-executor", ...) // 에이전트 작업
340
+ Read("src/feature.ts") // 2회: 에이전트 작업 결과 확인 (허용)
341
+ ```
342
+
343
+ </allowed_patterns>
344
+
345
+ ---
346
+
347
+ <exploration_checklist>
348
+
349
+ ## 탐색 전 체크리스트
350
+
351
+ ### Read 실행 전
352
+
353
+ ```text
354
+ ✓ 이 파일을 이미 읽었는가?
355
+ → YES: 기억 활용 (재읽기 금지)
356
+ → NO: Read 실행
357
+
358
+ ✓ 파일이 수정되었는가?
359
+ → YES: 변경 확인 Read 허용
360
+ → NO: 기억 활용
361
+
362
+ ✓ 정말 새로운 정보가 필요한가?
363
+ → YES: Read 실행
364
+ → NO: 기억 활용
365
+ ```
366
+
367
+ ### Glob 실행 전
368
+
369
+ ```text
370
+ ✓ 이 패턴을 이미 실행했는가?
371
+ → YES: 결과 재활용 (재실행 금지)
372
+ → NO: Glob 실행
373
+
374
+ ✓ 더 구체적인 패턴으로 필터링 가능한가?
375
+ → YES: 메모리 결과 필터링
376
+ → NO: Glob 실행
377
+
378
+ ✓ explore 에이전트에 위임 가능한가?
379
+ → YES: Task 위임
380
+ → NO: Glob 실행
381
+ ```
382
+
383
+ ### Grep 실행 전
384
+
385
+ ```text
386
+ ✓ 같은 패턴을 이미 검색했는가?
387
+ → YES: 결과 재활용 (재검색 금지)
388
+ → NO: Grep 실행
389
+
390
+ ✓ 이전 검색 결과를 다시 필터링 가능한가?
391
+ → YES: 메모리 결과 활용
392
+ → NO: Grep 실행
393
+
394
+ ✓ 정말 다른 정보를 찾는가?
395
+ → YES: Grep 실행
396
+ → NO: 기억 활용
397
+ ```
398
+
399
+ ### Explore 에이전트 호출 전
400
+
401
+ ```text
402
+ ✓ 같은 영역을 이미 분석했는가?
403
+ → YES: 이전 결과 활용 (재분석 금지)
404
+ → NO: Task 실행
405
+
406
+ ✓ 이전 분석 요약이 있는가?
407
+ → YES: 요약 참조
408
+ → NO: Task 실행 + 요약 생성
409
+
410
+ ✓ thoroughness 레벨이 적절한가?
411
+ → quick: 간단 확인
412
+ → thorough: 상세 분석
413
+ → very thorough: 완전 분석
414
+ ```
415
+
416
+ </exploration_checklist>
417
+
418
+ ---
419
+
420
+ <recovery_strategies>
421
+
422
+ ## 탐색 루프 복구 전략
423
+
424
+ ### 탐색 루프 감지 시
425
+
426
+ **같은 파일/패턴 3회 이상 접근 시 즉시 중단**
427
+
428
+ ```typescript
429
+ // 감지: Read("src/auth.ts") 3회 호출
430
+
431
+ // 복구 단계:
432
+ 1. 즉시 중단
433
+ 2. 이미 읽은 내용 기억 활용
434
+ 3. 추가 정보 필요 시 explore 에이전트 위임
435
+ 4. 요약 생성 → NOTES.md 기록
436
+ ```
437
+
438
+ ### 복구 프로세스
439
+
440
+ ```text
441
+ Phase 1: 중단
442
+ ✓ 탐색 Tool 호출 중단
443
+ ✓ 현재까지 수집한 정보 정리
444
+
445
+ Phase 2: 분석
446
+ ✓ 왜 재탐색이 필요했는가?
447
+ ✓ 정보가 부족한가? → 다른 접근 필요
448
+ ✓ 정보는 충분한가? → 다음 단계 진행
449
+
450
+ Phase 3: 대안 선택
451
+ ✓ 기억 활용: 이미 읽은 내용으로 진행
452
+ ✓ 에이전트 위임: explore 에이전트에 맡김
453
+ ✓ 요약 참조: NOTES.md 또는 문서 확인
454
+
455
+ Phase 4: 문서화
456
+ ✓ 요약 생성: 핵심 정보 압축
457
+ ✓ NOTES.md 기록: 향후 참조용
458
+ ✓ TaskCreate: 파일 인벤토리 등록
459
+ ```
460
+
461
+ ### 복구 예시
462
+
463
+ ```typescript
464
+ // ❌ 탐색 루프 발생
465
+ Read("src/auth.ts") // 1회
466
+ Read("src/auth.ts") // 2회
467
+ Read("src/auth.ts") // 3회 → 감지!
468
+
469
+ // ✅ 복구 프로세스
470
+ // 1. 즉시 중단
471
+ // 2. 기억 활용
472
+ // "src/auth.ts: authMiddleware 함수, checkAuth 함수, Session 타입"
473
+ // 3. 다음 단계 진행
474
+ // Edit({ file_path: "src/auth.ts", ... })
475
+ // 4. 요약 기록
476
+ Write(".claude/NOTES.md", `
477
+ ## 인증 모듈 (src/auth.ts)
478
+ - authMiddleware: 세션 검증 미들웨어
479
+ - checkAuth: 인증 상태 확인 함수
480
+ - Session 타입: userId, role 포함
481
+ `)
482
+ ```
483
+
484
+ </recovery_strategies>
485
+
486
+ ---
487
+
488
+ <monitoring>
489
+
490
+ ## 모니터링 및 추적
491
+
492
+ ### 탐색 횟수 추적
493
+
494
+ **세션 내 Tool 호출 패턴 모니터링**
495
+
496
+ ```markdown
497
+ # 탐색 통계 (세션 내)
498
+
499
+ ## Read 호출
500
+ - src/auth.ts: 2회 (수정 후 재확인 1회 포함)
501
+ - src/routes/index.tsx: 1회
502
+ - TASKS.md: 3회 (Context compaction 후 재로드 2회)
503
+
504
+ ## Glob 호출
505
+ - **/*.ts: 1회 (50개 발견)
506
+ - **/SKILL.md: 2회 (전체 작업 후 검증 1회 포함)
507
+
508
+ ## Grep 호출
509
+ - "createServerFn": 1회 (15개 발견)
510
+ - "TodoWrite": 1회 (0개 발견 - 완료 확인)
511
+
512
+ ## 경고
513
+ ⚠️ 없음
514
+ ```
515
+
516
+ ### 탐색 효율성 지표
517
+
518
+ | 지표 | 목표 | 현재 | 상태 |
519
+ |------|------|------|------|
520
+ | **Read 중복률** | < 10% | 8% | ✅ 우수 |
521
+ | **Glob 재실행** | 0-1회 | 1회 | ✅ 정상 |
522
+ | **탐색 루프** | 0회 | 0회 | ✅ 정상 |
523
+ | **토큰 절약** | 30%+ | 42% | ✅ 목표 초과 |
524
+
525
+ </monitoring>
526
+
527
+ ---
528
+
529
+ <best_practices>
530
+
531
+ ## 모범 사례
532
+
533
+ ### 1. 탐색 결과 즉시 요약
534
+
535
+ ```typescript
536
+ // ✅ 모범 사례
537
+ Task(subagent_type="explore", model="haiku",
538
+ prompt="[quick] src/routes/ 디렉토리 구조 확인")
539
+ // → 즉시 요약
540
+ // "15개 라우트, 패턴 확인: createServerFn + inputValidator"
541
+ // → 재탐색 불필요
542
+ ```
543
+
544
+ ### 2. 파일 인벤토리 사전 생성
545
+
546
+ ```typescript
547
+ // ✅ 모범 사례
548
+ Glob({ pattern: "src/**/*.ts" })
549
+ TaskCreate({
550
+ subject: "프로젝트 파일 목록",
551
+ description: "50개 TypeScript 파일 (auth 3, routes 15, components 25, utils 7)"
552
+ })
553
+ // → 이후 작업에서 인벤토리 참조
554
+ ```
555
+
556
+ ### 3. 요약 문서화
557
+
558
+ ```markdown
559
+ # NOTES.md
560
+
561
+ ## 프로젝트 구조 (2026-02-06)
562
+ - src/auth/: 인증 (3개 파일)
563
+ - src/routes/: API 라우트 (15개)
564
+ - src/components/: UI 컴포넌트 (25개)
565
+
566
+ ## 패턴
567
+ - Server Function: createServerFn + inputValidator + middleware
568
+ - 클라이언트: TanStack Query (useQuery/useMutation)
569
+ ```
570
+
571
+ ### 4. 병렬 그룹 탐색
572
+
573
+ ```typescript
574
+ // ✅ 모범 사례: 관련 파일 한 번에
575
+ Read("src/auth/middleware.ts")
576
+ Read("src/auth/functions.ts")
577
+ Read("src/auth/types.ts")
578
+ // → 3개 파일 병렬 읽기 (개별 순차 읽기 대신)
579
+ ```
580
+
581
+ ### 5. 에이전트 위임 활용
582
+
583
+ ```typescript
584
+ // ✅ 모범 사례: 복잡한 탐색 위임
585
+ Task(subagent_type="explore", model="haiku",
586
+ prompt="[thorough] 인증 관련 모든 파일 및 의존성 완전 분석")
587
+ // → 에이전트가 탐색 + 요약 제공
588
+ // → 재탐색 불필요
589
+ ```
590
+
591
+ </best_practices>
592
+
593
+ ---
594
+
595
+ <summary>
596
+
597
+ ## 핵심 요약
598
+
599
+ ### 3가지 원칙
600
+
601
+ | 원칙 | 내용 | 효과 |
602
+ |------|------|------|
603
+ | **1회 탐색** | 같은 파일/패턴 1회만 탐색 | 토큰 30-50% 절약 |
604
+ | **즉시 요약** | 탐색 결과 즉시 압축 | 재탐색 불필요 |
605
+ | **루프 중단** | 3회 이상 접근 시 즉시 중단 | Rate Limiting 회피 |
606
+
607
+ ### 허용/금지 요약
608
+
609
+ #### ✅ 허용
610
+
611
+ - 파일 수정 후 변경 내용 확인
612
+ - 명시적으로 다른 정보 필요 시
613
+ - Context compaction 후 복구
614
+ - 전체 작업 완료 후 검증
615
+ - 에이전트 작업 후 결과 확인
616
+
617
+ #### ❌ 금지
618
+
619
+ - 같은 파일 여러 번 Read (변경 없이)
620
+ - 결과 확인 없이 같은 Glob 재실행
621
+ - 이미 분석한 파일 재분석 요청
622
+ - 같은 영역 3회 이상 반복 탐색
623
+ - 광범위한 전체 스캔 반복
624
+
625
+ ### 탐색 전 필수 체크
626
+
627
+ ```text
628
+ 1. 이미 읽었는가? → YES: 기억 활용 / NO: Read
629
+ 2. 수정되었는가? → YES: 재확인 / NO: 기억 활용
630
+ 3. 새 정보 필요? → YES: 탐색 / NO: 다음 단계
631
+ ```
632
+
633
+ ### 복구 전략
634
+
635
+ ```text
636
+ 탐색 루프 감지 → 즉시 중단 → 기억 활용 → 에이전트 위임 → 요약 기록
637
+ ```
638
+
639
+ ### 효과
640
+
641
+ - **토큰 절약:** 30-50%
642
+ - **시간 단축:** 2-3배 빠른 작업
643
+ - **Rate Limiting 회피:** 8건 → 0건
644
+ - **컨텍스트 효율:** Context compaction 지연
645
+
646
+ </summary>