@kood/claude-code 0.4.0 → 0.5.0
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 +53 -7
- package/package.json +2 -1
- package/templates/.claude/PARALLEL_AGENTS.md +737 -0
- package/templates/.claude/agents/analyst.md +416 -0
- package/templates/.claude/agents/architect.md +569 -0
- package/templates/.claude/agents/code-reviewer.md +132 -133
- package/templates/.claude/agents/dependency-manager.md +93 -94
- package/templates/.claude/agents/deployment-validator.md +64 -65
- package/templates/.claude/agents/designer.md +655 -0
- package/templates/.claude/agents/document-writer.md +500 -0
- package/templates/.claude/agents/explore.md +499 -0
- package/templates/.claude/agents/git-operator.md +74 -75
- package/templates/.claude/agents/implementation-executor.md +138 -109
- package/templates/.claude/agents/ko-to-en-translator.md +18 -22
- package/templates/.claude/agents/lint-fixer.md +250 -93
- package/templates/.claude/agents/planner.md +356 -0
- package/templates/.claude/agents/refactor-advisor.md +135 -136
- package/templates/.claude/commands/bug-fix.md +296 -207
- package/templates/.claude/commands/git-all.md +199 -46
- package/templates/.claude/commands/git-session.md +113 -57
- package/templates/.claude/commands/lint-fix.md +219 -153
- package/templates/.claude/commands/lint-init.md +113 -76
- package/templates/.claude/commands/pre-deploy.md +190 -124
- package/templates/.claude/commands/refactor.md +407 -162
- package/templates/.claude/commands/version-update.md +138 -37
- package/templates/.claude/instructions/context-engineering/ANTHROPIC_CONTEXT_ENGINEERING.md +178 -0
- package/templates/.claude/instructions/context-engineering/references/claude-4x.md +215 -0
- package/templates/.claude/instructions/context-engineering/references/core-principles.md +137 -0
- package/templates/.claude/instructions/context-engineering/references/examples.md +351 -0
- package/templates/.claude/instructions/context-engineering/references/techniques.md +162 -0
- package/templates/.claude/instructions/parallel-agent-execution.md +874 -0
- package/templates/.claude/skills/docs-creator/AGENTS.md +238 -0
- package/templates/.claude/{commands/docs-creator.md → skills/docs-creator/SKILL.md} +61 -75
- package/templates/.claude/skills/docs-refactor/AGENTS.md +270 -0
- package/templates/.claude/{commands/docs-refactor.md → skills/docs-refactor/SKILL.md} +30 -44
- package/templates/.claude/skills/execute/SKILL.md +451 -0
- package/templates/.claude/skills/figma-to-code/AGENTS.md +287 -0
- package/templates/.claude/skills/figma-to-code/SKILL.md +225 -225
- package/templates/.claude/skills/figma-to-code/references/design-tokens.md +75 -73
- package/templates/.claude/skills/figma-to-code/references/figma-mcp-tools.md +73 -73
- package/templates/.claude/skills/figma-to-code/references/layout-mapping.md +104 -104
- package/templates/.claude/skills/figma-to-code/references/responsive-design.md +99 -99
- package/templates/.claude/skills/figma-to-code/references/verification.md +91 -91
- package/templates/.claude/skills/global-uiux-design/AGENTS.md +317 -0
- package/templates/.claude/skills/global-uiux-design/SKILL.md +738 -0
- package/templates/.claude/skills/global-uiux-design/references/accessibility.md +401 -0
- package/templates/.claude/skills/global-uiux-design/references/color-system.md +275 -0
- package/templates/.claude/skills/global-uiux-design/references/design-philosophy.md +206 -0
- package/templates/.claude/skills/global-uiux-design/references/design-systems.md +446 -0
- package/templates/.claude/skills/korea-uiux-design/AGENTS.md +307 -0
- package/templates/.claude/skills/korea-uiux-design/SKILL.md +170 -0
- package/templates/.claude/skills/nextjs-react-best-practices/AGENTS.md +95 -116
- package/templates/.claude/skills/nextjs-react-best-practices/SKILL.md +134 -152
- package/templates/.claude/skills/nextjs-react-best-practices/rules/advanced-event-handler-refs.md +6 -6
- package/templates/.claude/skills/nextjs-react-best-practices/rules/advanced-use-latest.md +5 -5
- package/templates/.claude/skills/nextjs-react-best-practices/rules/async-api-routes.md +5 -5
- package/templates/.claude/skills/nextjs-react-best-practices/rules/async-defer-await.md +22 -22
- package/templates/.claude/skills/nextjs-react-best-practices/rules/async-dependencies.md +5 -5
- package/templates/.claude/skills/nextjs-react-best-practices/rules/async-parallel.md +4 -4
- package/templates/.claude/skills/nextjs-react-best-practices/rules/async-suspense-boundaries.md +21 -21
- package/templates/.claude/skills/nextjs-react-best-practices/rules/bundle-barrel-imports.md +18 -18
- package/templates/.claude/skills/nextjs-react-best-practices/rules/bundle-conditional.md +4 -4
- package/templates/.claude/skills/nextjs-react-best-practices/rules/bundle-defer-third-party.md +4 -4
- package/templates/.claude/skills/nextjs-react-best-practices/rules/bundle-dynamic-imports.md +4 -4
- package/templates/.claude/skills/nextjs-react-best-practices/rules/bundle-preload.md +5 -5
- package/templates/.claude/skills/nextjs-react-best-practices/rules/client-event-listeners.md +9 -9
- package/templates/.claude/skills/nextjs-react-best-practices/rules/client-swr-dedup.md +7 -7
- package/templates/.claude/skills/nextjs-react-best-practices/rules/js-batch-dom-css.md +13 -13
- package/templates/.claude/skills/nextjs-react-best-practices/rules/js-cache-function-results.md +14 -14
- package/templates/.claude/skills/nextjs-react-best-practices/rules/js-cache-property-access.md +4 -4
- package/templates/.claude/skills/nextjs-react-best-practices/rules/js-cache-storage.md +10 -10
- package/templates/.claude/skills/nextjs-react-best-practices/rules/js-combine-iterations.md +4 -4
- package/templates/.claude/skills/nextjs-react-best-practices/rules/js-early-exit.md +7 -7
- package/templates/.claude/skills/nextjs-react-best-practices/rules/js-hoist-regexp.md +6 -6
- package/templates/.claude/skills/nextjs-react-best-practices/rules/js-index-maps.md +6 -6
- package/templates/.claude/skills/nextjs-react-best-practices/rules/js-length-check-first.md +14 -14
- package/templates/.claude/skills/nextjs-react-best-practices/rules/js-min-max-loop.md +16 -16
- package/templates/.claude/skills/nextjs-react-best-practices/rules/js-set-map-lookups.md +4 -4
- package/templates/.claude/skills/nextjs-react-best-practices/rules/js-tosorted-immutable.md +17 -17
- package/templates/.claude/skills/nextjs-react-best-practices/rules/rendering-activity.md +4 -4
- package/templates/.claude/skills/nextjs-react-best-practices/rules/rendering-animate-svg-wrapper.md +11 -11
- package/templates/.claude/skills/nextjs-react-best-practices/rules/rendering-conditional-render.md +8 -8
- package/templates/.claude/skills/nextjs-react-best-practices/rules/rendering-content-visibility.md +4 -4
- package/templates/.claude/skills/nextjs-react-best-practices/rules/rendering-hoist-jsx.md +6 -6
- package/templates/.claude/skills/nextjs-react-best-practices/rules/rendering-hydration-no-flicker.md +14 -14
- package/templates/.claude/skills/nextjs-react-best-practices/rules/rendering-svg-precision.md +5 -5
- package/templates/.claude/skills/nextjs-react-best-practices/rules/rerender-defer-reads.md +4 -4
- package/templates/.claude/skills/nextjs-react-best-practices/rules/rerender-dependencies.md +7 -7
- package/templates/.claude/skills/nextjs-react-best-practices/rules/rerender-derived-state.md +5 -5
- package/templates/.claude/skills/nextjs-react-best-practices/rules/rerender-functional-setstate.md +34 -34
- package/templates/.claude/skills/nextjs-react-best-practices/rules/rerender-lazy-state-init.md +15 -15
- package/templates/.claude/skills/nextjs-react-best-practices/rules/rerender-memo.md +5 -5
- package/templates/.claude/skills/nextjs-react-best-practices/rules/rerender-transitions.md +4 -4
- package/templates/.claude/skills/nextjs-react-best-practices/rules/server-after-nonblocking.md +24 -24
- package/templates/.claude/skills/nextjs-react-best-practices/rules/server-cache-lru.md +10 -10
- package/templates/.claude/skills/nextjs-react-best-practices/rules/server-cache-react.md +4 -4
- package/templates/.claude/skills/nextjs-react-best-practices/rules/server-parallel-fetching.md +5 -5
- package/templates/.claude/skills/nextjs-react-best-practices/rules/server-serialization.md +6 -6
- package/templates/.claude/skills/plan/SKILL.md +594 -0
- package/templates/.claude/skills/prd/SKILL.md +496 -0
- package/templates/.claude/skills/ralph/AGENTS.md +393 -0
- package/templates/.claude/skills/ralph/SKILL.md +1035 -0
- package/templates/.claude/skills/tanstack-start-react-best-practices/AGENTS.md +100 -121
- package/templates/.claude/skills/tanstack-start-react-best-practices/SKILL.md +139 -157
- package/templates/.claude/skills/tanstack-start-react-best-practices/rules/async-defer-await.md +22 -22
- package/templates/.claude/skills/tanstack-start-react-best-practices/rules/async-dependencies.md +5 -5
- package/templates/.claude/skills/tanstack-start-react-best-practices/rules/async-loader.md +7 -7
- package/templates/.claude/skills/tanstack-start-react-best-practices/rules/async-parallel.md +4 -4
- package/templates/.claude/skills/tanstack-start-react-best-practices/rules/bundle-barrel-imports.md +18 -18
- package/templates/.claude/skills/tanstack-start-react-best-practices/rules/bundle-conditional.md +4 -4
- package/templates/.claude/skills/tanstack-start-react-best-practices/rules/bundle-defer-third-party.md +4 -4
- package/templates/.claude/skills/tanstack-start-react-best-practices/rules/bundle-lazy-routes.md +12 -12
- package/templates/.claude/skills/tanstack-start-react-best-practices/rules/bundle-preload.md +5 -5
- package/templates/.claude/skills/tanstack-start-react-best-practices/rules/client-event-listeners.md +9 -9
- package/templates/.claude/skills/tanstack-start-react-best-practices/rules/client-tanstack-query.md +12 -12
- package/templates/.claude/skills/tanstack-start-react-best-practices/rules/js-batch-dom-css.md +13 -13
- package/templates/.claude/skills/tanstack-start-react-best-practices/rules/js-cache-function-results.md +14 -14
- package/templates/.claude/skills/tanstack-start-react-best-practices/rules/js-cache-property-access.md +4 -4
- package/templates/.claude/skills/tanstack-start-react-best-practices/rules/js-cache-storage.md +10 -10
- package/templates/.claude/skills/tanstack-start-react-best-practices/rules/js-combine-iterations.md +4 -4
- package/templates/.claude/skills/tanstack-start-react-best-practices/rules/js-early-exit.md +7 -7
- package/templates/.claude/skills/tanstack-start-react-best-practices/rules/js-hoist-regexp.md +6 -6
- package/templates/.claude/skills/tanstack-start-react-best-practices/rules/js-index-maps.md +6 -6
- package/templates/.claude/skills/tanstack-start-react-best-practices/rules/js-length-check-first.md +14 -14
- package/templates/.claude/skills/tanstack-start-react-best-practices/rules/js-min-max-loop.md +16 -16
- package/templates/.claude/skills/tanstack-start-react-best-practices/rules/js-set-map-lookups.md +4 -4
- package/templates/.claude/skills/tanstack-start-react-best-practices/rules/js-tosorted-immutable.md +17 -17
- package/templates/.claude/skills/tanstack-start-react-best-practices/rules/rendering-animate-svg-wrapper.md +11 -11
- package/templates/.claude/skills/tanstack-start-react-best-practices/rules/rendering-conditional-render.md +8 -8
- package/templates/.claude/skills/tanstack-start-react-best-practices/rules/rendering-content-visibility.md +4 -4
- package/templates/.claude/skills/tanstack-start-react-best-practices/rules/rendering-hoist-jsx.md +6 -6
- package/templates/.claude/skills/tanstack-start-react-best-practices/rules/rendering-svg-precision.md +5 -5
- package/templates/.claude/skills/tanstack-start-react-best-practices/rules/rerender-defer-reads.md +4 -4
- package/templates/.claude/skills/tanstack-start-react-best-practices/rules/rerender-dependencies.md +7 -7
- package/templates/.claude/skills/tanstack-start-react-best-practices/rules/rerender-derived-state.md +5 -5
- package/templates/.claude/skills/tanstack-start-react-best-practices/rules/rerender-functional-setstate.md +34 -34
- package/templates/.claude/skills/tanstack-start-react-best-practices/rules/rerender-lazy-state-init.md +15 -15
- package/templates/.claude/skills/tanstack-start-react-best-practices/rules/rerender-memo.md +5 -5
- package/templates/.claude/skills/tanstack-start-react-best-practices/rules/rerender-transitions.md +4 -4
- package/templates/.claude/skills/tanstack-start-react-best-practices/rules/server-cache-lru.md +12 -12
- package/templates/.claude/skills/tanstack-start-react-best-practices/rules/server-deferred-data.md +14 -14
- package/templates/.claude/skills/tanstack-start-react-best-practices/rules/server-parallel-fetching.md +9 -9
- package/templates/.claude/skills/tanstack-start-react-best-practices/rules/server-serialization.md +6 -6
- package/templates/.claude/commands/agent-creator.md +0 -370
- package/templates/.claude/commands/command-creator.md +0 -524
- package/templates/.claude/commands/execute.md +0 -469
- package/templates/.claude/commands/git.md +0 -98
- package/templates/.claude/commands/plan.md +0 -531
- package/templates/.claude/commands/prd.md +0 -629
|
@@ -1,48 +1,33 @@
|
|
|
1
1
|
---
|
|
2
2
|
description: 버그 원인 분석 및 수정. sequential thinking 3-5 + Task (Explore) 필수.
|
|
3
3
|
allowed-tools: Read, Grep, Glob, Task, Edit, Bash(npm:*, yarn:*), mcp__sequential-thinking__sequentialthinking
|
|
4
|
-
argument-hint:
|
|
5
|
-
---
|
|
6
|
-
|
|
7
|
-
<critical_instruction>
|
|
8
|
-
|
|
9
|
-
**CRITICAL: 사용자와의 모든 커뮤니케이션은 반드시 한국어로 작성하세요.**
|
|
10
|
-
|
|
11
|
-
- 내부 사고와 분석은 영어로 해도 됨
|
|
12
|
-
- 설명, 요약, 보고서, 피드백 등 사용자에게 전달하는 모든 내용은 반드시 한국어
|
|
13
|
-
- 사용자가 영어로 말하더라도 답변은 한국어로
|
|
14
|
-
- 진행 상황 업데이트와 상태 보고는 반드시 한국어
|
|
15
|
-
|
|
16
|
-
이 규칙은 절대적이며 예외가 없습니다.
|
|
17
|
-
|
|
18
|
-
</critical_instruction>
|
|
19
|
-
|
|
4
|
+
argument-hint: <버그 설명 또는 에러 메시지>
|
|
20
5
|
---
|
|
21
6
|
|
|
22
7
|
# Bug Fix Command
|
|
23
8
|
|
|
24
|
-
>
|
|
9
|
+
> 버그 원인 분석, 수정 옵션 제시, 구현까지 처리하는 커맨드.
|
|
25
10
|
|
|
26
|
-
|
|
11
|
+
**버그 대상**: $ARGUMENTS
|
|
27
12
|
|
|
28
13
|
---
|
|
29
14
|
|
|
30
15
|
<argument_validation>
|
|
31
16
|
|
|
32
|
-
## ARGUMENT
|
|
17
|
+
## ARGUMENT 필수 확인
|
|
33
18
|
|
|
34
19
|
```
|
|
35
|
-
|
|
20
|
+
$ARGUMENTS 없음 → 즉시 질문:
|
|
36
21
|
|
|
37
|
-
"
|
|
22
|
+
"어떤 버그를 수정해야 하나요? 구체적으로 알려주세요.
|
|
38
23
|
|
|
39
|
-
|
|
40
|
-
-
|
|
41
|
-
-
|
|
42
|
-
-
|
|
43
|
-
-
|
|
24
|
+
예시:
|
|
25
|
+
- 에러 메시지 및 발생 위치
|
|
26
|
+
- 예상 동작 vs 실제 동작
|
|
27
|
+
- 재현 방법
|
|
28
|
+
- 관련 파일 경로"
|
|
44
29
|
|
|
45
|
-
|
|
30
|
+
$ARGUMENTS 있음 → 다음 단계 진행
|
|
46
31
|
```
|
|
47
32
|
|
|
48
33
|
</argument_validation>
|
|
@@ -51,19 +36,19 @@ Has $ARGUMENTS → Proceed to next step
|
|
|
51
36
|
|
|
52
37
|
<workflow>
|
|
53
38
|
|
|
54
|
-
##
|
|
39
|
+
## 실행 흐름
|
|
55
40
|
|
|
56
|
-
|
|
|
41
|
+
| 단계 | 작업 | 도구 |
|
|
57
42
|
|------|------|------|
|
|
58
|
-
| 1.
|
|
59
|
-
| 2.
|
|
60
|
-
| 3.
|
|
61
|
-
| 4.
|
|
62
|
-
| 5.
|
|
63
|
-
| 6.
|
|
64
|
-
| 7.
|
|
65
|
-
| 8.
|
|
66
|
-
| 9.
|
|
43
|
+
| 1. 입력 확인 | ARGUMENT 검증, 없으면 질문 | - |
|
|
44
|
+
| 2. 복잡도 판단 | Sequential Thinking으로 분석 범위 결정 | sequentialthinking (1단계) |
|
|
45
|
+
| 3. 버그 재현 | 에러 재현, 관련 파일 파악 | Read/Grep/Glob |
|
|
46
|
+
| 4. 원인 분석 | Task (Explore)로 관련 코드 탐색 | Task (Explore) |
|
|
47
|
+
| 5. 옵션 도출 | 수정 방법 2-3개 도출 | sequentialthinking (2-4단계) |
|
|
48
|
+
| 6. 옵션 제시 | 장단점, 영향 범위 제시 | - |
|
|
49
|
+
| 7. 사용자 선택 | 수정 방법 선택 대기 | - |
|
|
50
|
+
| 8. 구현 | 선택된 방법으로 코드 수정 | Edit |
|
|
51
|
+
| 9. 검증 | 테스트 실행, 빌드 확인 | Bash |
|
|
67
52
|
|
|
68
53
|
</workflow>
|
|
69
54
|
|
|
@@ -71,43 +56,43 @@ Has $ARGUMENTS → Proceed to next step
|
|
|
71
56
|
|
|
72
57
|
<thinking_strategy>
|
|
73
58
|
|
|
74
|
-
## Sequential Thinking
|
|
59
|
+
## Sequential Thinking 가이드
|
|
75
60
|
|
|
76
|
-
###
|
|
61
|
+
### 복잡도 판단 (thought 1)
|
|
77
62
|
|
|
78
63
|
```
|
|
79
|
-
thought 1:
|
|
80
|
-
-
|
|
81
|
-
-
|
|
82
|
-
-
|
|
83
|
-
-
|
|
64
|
+
thought 1: 복잡도 판단
|
|
65
|
+
- 에러 유형: syntax/runtime/logic/type
|
|
66
|
+
- 영향 범위: 단일 파일 vs 다중 파일
|
|
67
|
+
- 의존성: 외부 라이브러리, API 연동
|
|
68
|
+
- 재현 가능성: 항상 발생 vs 간헐적
|
|
84
69
|
```
|
|
85
70
|
|
|
86
|
-
###
|
|
71
|
+
### 복잡도별 전략
|
|
87
72
|
|
|
88
|
-
|
|
|
89
|
-
|
|
90
|
-
|
|
|
91
|
-
|
|
|
92
|
-
|
|
|
73
|
+
| 복잡도 | 사고 횟수 | 판단 기준 | 사고 패턴 |
|
|
74
|
+
|--------|----------|----------|------------|
|
|
75
|
+
| **간단** | 3 | 명확한 에러, 1-2 파일 | 복잡도 판단 → 원인 분석 → 수정 방법 |
|
|
76
|
+
| **보통** | 5 | 논리 오류, 3-5 파일 | 복잡도 판단 → 재현 → 원인 분석 → 옵션 비교 → 추천안 |
|
|
77
|
+
| **복잡** | 7+ | 간헐적 오류, 다중 모듈 | 복잡도 판단 → 재현 시도 → 심층 분석 → 옵션 탐색 → 비교 → 추천안 |
|
|
93
78
|
|
|
94
|
-
###
|
|
79
|
+
### 보통 복잡도 패턴 (5단계)
|
|
95
80
|
|
|
96
81
|
```
|
|
97
|
-
thought 1:
|
|
98
|
-
thought 2:
|
|
99
|
-
thought 3:
|
|
100
|
-
thought 4:
|
|
101
|
-
thought 5:
|
|
82
|
+
thought 1: 복잡도 판단 및 분석 범위
|
|
83
|
+
thought 2: 버그 재현 및 에러 메시지 분석
|
|
84
|
+
thought 3: 관련 코드 탐색 및 원인 파악
|
|
85
|
+
thought 4: 수정 방법 2-3개 비교 분석
|
|
86
|
+
thought 5: 최종 추천안 및 근거
|
|
102
87
|
```
|
|
103
88
|
|
|
104
|
-
###
|
|
89
|
+
### 핵심 원칙
|
|
105
90
|
|
|
106
91
|
```text
|
|
107
|
-
✅
|
|
108
|
-
✅
|
|
109
|
-
✅
|
|
110
|
-
✅
|
|
92
|
+
✅ 사고 과정을 출력해야 실제로 생각이 일어남
|
|
93
|
+
✅ 복잡도가 불확실하면 높게 책정 (3→5로 확장 가능)
|
|
94
|
+
✅ 각 thought에서 구체적 분석 필요 (추상적 설명 금지)
|
|
95
|
+
✅ 필요 시 isRevision으로 이전 사고 수정
|
|
111
96
|
```
|
|
112
97
|
|
|
113
98
|
</thinking_strategy>
|
|
@@ -116,65 +101,65 @@ thought 5: Final recommendation and rationale
|
|
|
116
101
|
|
|
117
102
|
<exploration>
|
|
118
103
|
|
|
119
|
-
## Task (Explore)
|
|
104
|
+
## Task (Explore) 활용
|
|
120
105
|
|
|
121
|
-
###
|
|
106
|
+
### 탐색 전략
|
|
122
107
|
|
|
123
|
-
|
|
|
124
|
-
|
|
125
|
-
|
|
|
126
|
-
|
|
|
127
|
-
|
|
|
128
|
-
| **API
|
|
108
|
+
| 버그 유형 | 탐색 대상 | prompt 예시 |
|
|
109
|
+
|----------|----------|-------------|
|
|
110
|
+
| **타입 에러** | 타입 정의, 사용처 | "타입 X 정의 위치 및 사용 파일 탐색" |
|
|
111
|
+
| **런타임 에러** | 함수 호출 체인 | "함수 Y 호출 경로 및 관련 파일" |
|
|
112
|
+
| **논리 오류** | 상태 관리, 데이터 흐름 | "상태 Z 변경 위치 및 영향 범위" |
|
|
113
|
+
| **API 에러** | 엔드포인트, 요청/응답 | "API /path 관련 코드 구조" |
|
|
129
114
|
|
|
130
|
-
### Task
|
|
115
|
+
### Task 호출 패턴
|
|
131
116
|
|
|
132
|
-
|
|
117
|
+
**단일 탐색:**
|
|
133
118
|
|
|
134
119
|
```typescript
|
|
135
120
|
Task({
|
|
136
121
|
subagent_type: 'Explore',
|
|
137
|
-
description: '
|
|
122
|
+
description: '에러 관련 코드 탐색',
|
|
138
123
|
prompt: `
|
|
139
|
-
|
|
140
|
-
-
|
|
141
|
-
-
|
|
142
|
-
-
|
|
143
|
-
-
|
|
124
|
+
에러 발생 관련 코드 구조 파악:
|
|
125
|
+
- 에러가 발생하는 정확한 위치
|
|
126
|
+
- 관련 함수/컴포넌트
|
|
127
|
+
- 의존하는 모듈/라이브러리
|
|
128
|
+
- 최근 수정 이력 (git blame)
|
|
144
129
|
`
|
|
145
130
|
})
|
|
146
131
|
```
|
|
147
132
|
|
|
148
|
-
|
|
133
|
+
**병렬 탐색 (복잡한 경우):**
|
|
149
134
|
|
|
150
135
|
```typescript
|
|
151
|
-
//
|
|
136
|
+
// 단일 메시지에 다중 Task 호출
|
|
152
137
|
Task({
|
|
153
138
|
subagent_type: 'Explore',
|
|
154
|
-
prompt: '
|
|
139
|
+
prompt: '프론트엔드 에러 발생 컴포넌트 분석'
|
|
155
140
|
})
|
|
156
141
|
|
|
157
142
|
Task({
|
|
158
143
|
subagent_type: 'Explore',
|
|
159
|
-
prompt: '
|
|
144
|
+
prompt: '백엔드 API 엔드포인트 분석'
|
|
160
145
|
})
|
|
161
146
|
|
|
162
147
|
Task({
|
|
163
148
|
subagent_type: 'Explore',
|
|
164
|
-
prompt: '
|
|
149
|
+
prompt: '타입 정의 및 인터페이스 분석'
|
|
165
150
|
})
|
|
166
151
|
|
|
167
|
-
// →
|
|
152
|
+
// → 결과 취합 후 원인 파악
|
|
168
153
|
```
|
|
169
154
|
|
|
170
|
-
###
|
|
155
|
+
### 탐색 체크리스트
|
|
171
156
|
|
|
172
157
|
```text
|
|
173
|
-
✅
|
|
174
|
-
✅
|
|
175
|
-
✅
|
|
176
|
-
✅
|
|
177
|
-
✅
|
|
158
|
+
✅ 에러 발생 정확한 위치
|
|
159
|
+
✅ 관련 함수/클래스/컴포넌트
|
|
160
|
+
✅ 데이터 흐름 및 상태 변경
|
|
161
|
+
✅ 외부 의존성 (라이브러리, API)
|
|
162
|
+
✅ 최근 변경 사항 (git log/blame)
|
|
178
163
|
```
|
|
179
164
|
|
|
180
165
|
</exploration>
|
|
@@ -183,70 +168,70 @@ Task({
|
|
|
183
168
|
|
|
184
169
|
<option_presentation>
|
|
185
170
|
|
|
186
|
-
##
|
|
171
|
+
## 옵션 제시 형식
|
|
187
172
|
|
|
188
|
-
###
|
|
173
|
+
### 옵션 2-3개 제시
|
|
189
174
|
|
|
190
175
|
```markdown
|
|
191
|
-
##
|
|
176
|
+
## 버그 분석 결과
|
|
192
177
|
|
|
193
|
-
|
|
178
|
+
**원인:** [원인 설명]
|
|
194
179
|
|
|
195
|
-
|
|
180
|
+
**영향 범위:** [파일 및 모듈 목록]
|
|
196
181
|
|
|
197
182
|
---
|
|
198
183
|
|
|
199
|
-
###
|
|
184
|
+
### 옵션 1: [수정 방법] (추천)
|
|
200
185
|
|
|
201
|
-
|
|
202
|
-
-
|
|
203
|
-
-
|
|
186
|
+
**수정 내용:**
|
|
187
|
+
- 변경 사항 1
|
|
188
|
+
- 변경 사항 2
|
|
204
189
|
|
|
205
|
-
|
|
|
190
|
+
| 장점 | 단점 |
|
|
206
191
|
|------|------|
|
|
207
|
-
|
|
|
208
|
-
|
|
|
192
|
+
| 장점 1 | 단점 1 |
|
|
193
|
+
| 장점 2 | 단점 2 |
|
|
209
194
|
|
|
210
|
-
|
|
195
|
+
**수정 파일:**
|
|
211
196
|
- `src/file1.ts:line`
|
|
212
197
|
- `src/file2.ts:line`
|
|
213
198
|
|
|
214
|
-
|
|
199
|
+
**리스크:** 낮음
|
|
215
200
|
|
|
216
201
|
---
|
|
217
202
|
|
|
218
|
-
###
|
|
203
|
+
### 옵션 2: [수정 방법]
|
|
219
204
|
|
|
220
|
-
|
|
205
|
+
**수정 내용:**
|
|
221
206
|
...
|
|
222
207
|
|
|
223
|
-
|
|
|
208
|
+
| 장점 | 단점 |
|
|
224
209
|
|------|------|
|
|
225
210
|
| ... | ... |
|
|
226
211
|
|
|
227
|
-
|
|
212
|
+
**수정 파일:**
|
|
228
213
|
...
|
|
229
214
|
|
|
230
|
-
|
|
215
|
+
**리스크:** 중간
|
|
231
216
|
|
|
232
217
|
---
|
|
233
218
|
|
|
234
|
-
###
|
|
219
|
+
### 옵션 3: [수정 방법] (임시 해결)
|
|
235
220
|
|
|
236
|
-
|
|
221
|
+
**수정 내용:**
|
|
237
222
|
...
|
|
238
223
|
|
|
239
|
-
|
|
224
|
+
**리스크:** 높음 (근본 해결 아님)
|
|
240
225
|
|
|
241
226
|
---
|
|
242
227
|
|
|
243
|
-
##
|
|
228
|
+
## 추천 및 근거
|
|
244
229
|
|
|
245
|
-
|
|
246
|
-
-
|
|
247
|
-
-
|
|
230
|
+
옵션 1을 추천합니다.
|
|
231
|
+
- 근거 1
|
|
232
|
+
- 근거 2
|
|
248
233
|
|
|
249
|
-
|
|
234
|
+
어떤 옵션으로 수정하시겠습니까? (1/2/3)
|
|
250
235
|
```
|
|
251
236
|
|
|
252
237
|
</option_presentation>
|
|
@@ -255,75 +240,179 @@ Which option to use? (1/2/3)
|
|
|
255
240
|
|
|
256
241
|
<implementation>
|
|
257
242
|
|
|
258
|
-
##
|
|
243
|
+
## 구현 가이드
|
|
259
244
|
|
|
260
|
-
###
|
|
245
|
+
### 수정 단계
|
|
261
246
|
|
|
262
247
|
```
|
|
263
|
-
1.
|
|
264
|
-
2.
|
|
265
|
-
3.
|
|
266
|
-
4.
|
|
267
|
-
5.
|
|
248
|
+
1. 사용자 옵션 선택 대기
|
|
249
|
+
2. Edit 도구로 코드 수정
|
|
250
|
+
3. 수정 내용 설명
|
|
251
|
+
4. 테스트/빌드 실행 (선택)
|
|
252
|
+
5. 결과 확인
|
|
268
253
|
```
|
|
269
254
|
|
|
270
|
-
###
|
|
255
|
+
### 수정 후 검증
|
|
271
256
|
|
|
272
257
|
```bash
|
|
273
|
-
#
|
|
258
|
+
# 타입 체크
|
|
274
259
|
npm run typecheck
|
|
275
|
-
#
|
|
260
|
+
# 또는
|
|
276
261
|
tsc --noEmit
|
|
277
262
|
|
|
278
|
-
#
|
|
263
|
+
# 테스트 실행
|
|
279
264
|
npm test
|
|
280
|
-
#
|
|
281
|
-
npm test --
|
|
265
|
+
# 또는
|
|
266
|
+
npm test -- <관련 테스트 파일>
|
|
282
267
|
|
|
283
|
-
#
|
|
268
|
+
# 빌드 확인
|
|
284
269
|
npm run build
|
|
285
270
|
```
|
|
286
271
|
|
|
287
|
-
###
|
|
272
|
+
### 검증 체크리스트
|
|
288
273
|
|
|
289
274
|
```text
|
|
290
|
-
✅
|
|
291
|
-
✅
|
|
292
|
-
✅
|
|
293
|
-
✅
|
|
294
|
-
✅
|
|
275
|
+
✅ 에러 해결 확인
|
|
276
|
+
✅ 기존 기능 영향 없음
|
|
277
|
+
✅ 타입 에러 없음
|
|
278
|
+
✅ 테스트 통과
|
|
279
|
+
✅ 빌드 성공
|
|
295
280
|
```
|
|
296
281
|
|
|
297
282
|
</implementation>
|
|
298
283
|
|
|
299
284
|
---
|
|
300
285
|
|
|
286
|
+
<parallel_agent_execution>
|
|
287
|
+
|
|
288
|
+
## Parallel Agent Execution
|
|
289
|
+
|
|
290
|
+
### Recommended Agents
|
|
291
|
+
|
|
292
|
+
| Agent | Model | 용도 |
|
|
293
|
+
|-------|-------|------|
|
|
294
|
+
| **@explore** | haiku/sonnet | 버그 재현 경로 탐색 |
|
|
295
|
+
| **@architect** | sonnet | 버그 원인 분석 및 설계 논의 |
|
|
296
|
+
| **@implementation-executor** | sonnet | 버그 수정 구현 |
|
|
297
|
+
| **@code-reviewer** | haiku | 수정 후 검증 |
|
|
298
|
+
|
|
299
|
+
### Parallel Execution Patterns
|
|
300
|
+
|
|
301
|
+
**여러 버그 동시 수정:**
|
|
302
|
+
- 각 버그마다 별도 executor 할당
|
|
303
|
+
- 독립적인 파일/모듈 수정 시 병렬 실행
|
|
304
|
+
|
|
305
|
+
**탐색 + 분석 병렬:**
|
|
306
|
+
- explore와 architect 동시 실행
|
|
307
|
+
- 재현 경로 파악과 근본 원인 분석을 동시에 진행
|
|
308
|
+
|
|
309
|
+
**수정 + 문서화 병렬:**
|
|
310
|
+
- executor와 document-writer 동시 실행
|
|
311
|
+
- 코드 수정과 동시에 변경 사항 문서화
|
|
312
|
+
|
|
313
|
+
### Model Routing
|
|
314
|
+
|
|
315
|
+
| 복잡도 | 버그 유형 | 모델 |
|
|
316
|
+
|--------|----------|------|
|
|
317
|
+
| **LOW** | 단순 버그 (오타, 명백한 로직 오류) | haiku |
|
|
318
|
+
| **MEDIUM** | 일반 버그 (기능 오작동) | sonnet |
|
|
319
|
+
| **HIGH** | 복잡한 버그 (아키텍처, 성능) | opus |
|
|
320
|
+
|
|
321
|
+
### Practical Examples
|
|
322
|
+
|
|
323
|
+
**여러 버그 병렬 수정:**
|
|
324
|
+
|
|
325
|
+
```typescript
|
|
326
|
+
// ✅ 각 버그를 독립적으로 수정
|
|
327
|
+
Task({
|
|
328
|
+
subagent_type: 'implementation-executor',
|
|
329
|
+
model: 'sonnet',
|
|
330
|
+
prompt: '로그인 버그 수정: src/auth/login.ts에서 토큰 만료 처리 누락'
|
|
331
|
+
})
|
|
332
|
+
|
|
333
|
+
Task({
|
|
334
|
+
subagent_type: 'implementation-executor',
|
|
335
|
+
model: 'sonnet',
|
|
336
|
+
prompt: '결제 버그 수정: src/payment/checkout.ts에서 금액 계산 오류'
|
|
337
|
+
})
|
|
338
|
+
|
|
339
|
+
// → 두 버그가 동시에 수정됨
|
|
340
|
+
```
|
|
341
|
+
|
|
342
|
+
**탐색 + 분석 병렬:**
|
|
343
|
+
|
|
344
|
+
```typescript
|
|
345
|
+
// ✅ 재현과 분석을 동시에 진행
|
|
346
|
+
Task({
|
|
347
|
+
subagent_type: 'explore',
|
|
348
|
+
model: 'haiku',
|
|
349
|
+
prompt: '간헐적 500 에러 재현 경로 탐색 및 재현 조건 파악'
|
|
350
|
+
})
|
|
351
|
+
|
|
352
|
+
Task({
|
|
353
|
+
subagent_type: 'architect',
|
|
354
|
+
model: 'sonnet',
|
|
355
|
+
prompt: '500 에러 패턴 분석 및 근본 원인 파악 (로그, 스택 트레이스 기반)'
|
|
356
|
+
})
|
|
357
|
+
|
|
358
|
+
// → 탐색 결과와 분석 결과를 종합하여 수정 방향 결정
|
|
359
|
+
```
|
|
360
|
+
|
|
361
|
+
**복잡도별 모델 선택:**
|
|
362
|
+
|
|
363
|
+
```typescript
|
|
364
|
+
// ✅ LOW: 단순 오타 수정
|
|
365
|
+
Task({
|
|
366
|
+
subagent_type: 'implementation-executor',
|
|
367
|
+
model: 'haiku',
|
|
368
|
+
prompt: 'typo 수정: src/utils/format.ts의 함수명 오타'
|
|
369
|
+
})
|
|
370
|
+
|
|
371
|
+
// ✅ MEDIUM: 일반 버그 수정
|
|
372
|
+
Task({
|
|
373
|
+
subagent_type: 'implementation-executor',
|
|
374
|
+
model: 'sonnet',
|
|
375
|
+
prompt: '사용자 목록 중복 렌더링 버그 수정'
|
|
376
|
+
})
|
|
377
|
+
|
|
378
|
+
// ✅ HIGH: 복잡한 성능 이슈
|
|
379
|
+
Task({
|
|
380
|
+
subagent_type: 'architect',
|
|
381
|
+
model: 'opus',
|
|
382
|
+
prompt: 'N+1 쿼리 문제 분석 및 최적화 방안 설계'
|
|
383
|
+
})
|
|
384
|
+
```
|
|
385
|
+
|
|
386
|
+
</parallel_agent_execution>
|
|
387
|
+
|
|
388
|
+
---
|
|
389
|
+
|
|
301
390
|
<validation>
|
|
302
391
|
|
|
303
|
-
##
|
|
392
|
+
## 검증 체크리스트
|
|
304
393
|
|
|
305
|
-
|
|
394
|
+
실행 전 확인:
|
|
306
395
|
|
|
307
396
|
```text
|
|
308
|
-
✅
|
|
309
|
-
✅ Sequential Thinking
|
|
310
|
-
✅
|
|
311
|
-
✅
|
|
312
|
-
✅
|
|
313
|
-
✅
|
|
314
|
-
✅
|
|
397
|
+
✅ ARGUMENT 확인 (없으면 질문)
|
|
398
|
+
✅ Sequential Thinking 최소 3단계
|
|
399
|
+
✅ Task (Explore)로 코드 탐색
|
|
400
|
+
✅ 원인 분석 명확히
|
|
401
|
+
✅ 옵션 최소 2개, 권장 3개
|
|
402
|
+
✅ 각 옵션에 장단점 명시
|
|
403
|
+
✅ 수정 파일 위치 명시 (line 포함)
|
|
315
404
|
```
|
|
316
405
|
|
|
317
|
-
|
|
406
|
+
절대 금지:
|
|
318
407
|
|
|
319
408
|
```text
|
|
320
|
-
❌
|
|
321
|
-
❌
|
|
322
|
-
❌
|
|
323
|
-
❌
|
|
324
|
-
❌
|
|
325
|
-
❌
|
|
326
|
-
❌
|
|
409
|
+
❌ ARGUMENT 없이 분석 시작
|
|
410
|
+
❌ Sequential Thinking 3단계 미만
|
|
411
|
+
❌ 코드 탐색 없이 추측으로 수정
|
|
412
|
+
❌ 옵션 1개만 제시
|
|
413
|
+
❌ 사용자 선택 없이 수정 시작
|
|
414
|
+
❌ 수정 후 검증 생략
|
|
415
|
+
❌ 장단점 없이 수정 방법만 나열
|
|
327
416
|
```
|
|
328
417
|
|
|
329
418
|
</validation>
|
|
@@ -332,90 +421,90 @@ Absolute prohibitions:
|
|
|
332
421
|
|
|
333
422
|
<examples>
|
|
334
423
|
|
|
335
|
-
##
|
|
424
|
+
## 실전 예시
|
|
336
425
|
|
|
337
|
-
###
|
|
426
|
+
### 예시 1: 타입 에러
|
|
338
427
|
|
|
339
428
|
```bash
|
|
340
|
-
|
|
429
|
+
사용자: /bug-fix Property 'name' does not exist on type 'User'
|
|
341
430
|
|
|
342
|
-
1. Sequential Thinking (3
|
|
343
|
-
thought 1: "
|
|
344
|
-
thought 2: "
|
|
345
|
-
thought 3: "2
|
|
431
|
+
1. Sequential Thinking (3단계):
|
|
432
|
+
thought 1: "타입 에러 - 간단, User 타입 정의 확인"
|
|
433
|
+
thought 2: "User 타입 및 사용처 탐색 필요"
|
|
434
|
+
thought 3: "옵션 2개: 타입 정의 수정 vs 사용처 수정"
|
|
346
435
|
|
|
347
|
-
2. Task
|
|
348
|
-
Task (Explore): "
|
|
349
|
-
→
|
|
436
|
+
2. Task 탐색:
|
|
437
|
+
Task (Explore): "User 타입 정의 위치 및 사용 파일 탐색"
|
|
438
|
+
→ src/types/user.ts, src/components/UserProfile.tsx 파악
|
|
350
439
|
|
|
351
|
-
3.
|
|
352
|
-
|
|
440
|
+
3. 원인 분석:
|
|
441
|
+
User 타입에 name 속성 누락
|
|
353
442
|
|
|
354
|
-
4.
|
|
355
|
-
|
|
356
|
-
-
|
|
357
|
-
-
|
|
443
|
+
4. 옵션 제시:
|
|
444
|
+
옵션 1: User 타입에 name 속성 추가 (추천)
|
|
445
|
+
- 장점: 근본 해결
|
|
446
|
+
- 단점: 없음
|
|
358
447
|
|
|
359
|
-
|
|
360
|
-
-
|
|
361
|
-
-
|
|
448
|
+
옵션 2: 사용처에서 name 제거
|
|
449
|
+
- 장점: 빠른 수정
|
|
450
|
+
- 단점: 기능 손실
|
|
362
451
|
|
|
363
|
-
5.
|
|
452
|
+
5. 사용자 선택: 1
|
|
364
453
|
|
|
365
454
|
6. Edit:
|
|
366
455
|
src/types/user.ts:3
|
|
367
456
|
+ name: string;
|
|
368
457
|
|
|
369
|
-
7.
|
|
370
|
-
npm run typecheck →
|
|
458
|
+
7. 검증:
|
|
459
|
+
npm run typecheck → 성공
|
|
371
460
|
```
|
|
372
461
|
|
|
373
|
-
###
|
|
462
|
+
### 예시 2: 런타임 에러
|
|
374
463
|
|
|
375
464
|
```bash
|
|
376
|
-
|
|
465
|
+
사용자: /bug-fix Cannot read property 'data' of undefined
|
|
377
466
|
|
|
378
|
-
1. Sequential Thinking (5
|
|
379
|
-
thought 1: "
|
|
380
|
-
thought 2: "
|
|
381
|
-
thought 3: "
|
|
382
|
-
thought 4: "
|
|
383
|
-
thought 5: "
|
|
467
|
+
1. Sequential Thinking (5단계):
|
|
468
|
+
thought 1: "런타임 에러 - 보통 복잡도, null/undefined 체크 누락"
|
|
469
|
+
thought 2: "에러 발생 위치 파악 필요, 스택 트레이스 확인"
|
|
470
|
+
thought 3: "관련 코드 탐색: API 호출, 데이터 접근 패턴"
|
|
471
|
+
thought 4: "수정 방법: optional chaining, null 체크, 초기화"
|
|
472
|
+
thought 5: "optional chaining 추천 - 간결하고 안전"
|
|
384
473
|
|
|
385
|
-
2. Task
|
|
386
|
-
Task (Explore): "
|
|
387
|
-
→
|
|
474
|
+
2. Task 탐색:
|
|
475
|
+
Task (Explore): "undefined 에러 발생 코드 및 데이터 흐름 분석"
|
|
476
|
+
→ src/hooks/useUserData.ts:15, API 응답 체크 누락
|
|
388
477
|
|
|
389
|
-
3.
|
|
390
|
-
|
|
478
|
+
3. 원인 분석:
|
|
479
|
+
API 응답 실패 시 response가 undefined
|
|
391
480
|
|
|
392
|
-
4.
|
|
393
|
-
|
|
394
|
-
|
|
395
|
-
|
|
481
|
+
4. 옵션:
|
|
482
|
+
옵션 1: optional chaining 사용 (추천)
|
|
483
|
+
옵션 2: if 문으로 null 체크
|
|
484
|
+
옵션 3: try-catch로 감싸기
|
|
396
485
|
|
|
397
|
-
5.
|
|
486
|
+
5. 선택 후 구현 → 검증
|
|
398
487
|
```
|
|
399
488
|
|
|
400
|
-
###
|
|
489
|
+
### 예시 3: 논리 오류
|
|
401
490
|
|
|
402
491
|
```bash
|
|
403
|
-
|
|
492
|
+
사용자: /bug-fix 사용자 목록이 중복으로 표시됨
|
|
404
493
|
|
|
405
|
-
1. Sequential Thinking (5
|
|
406
|
-
thought 1: "
|
|
407
|
-
thought 2: "
|
|
408
|
-
thought 3: "
|
|
409
|
-
thought 4: "
|
|
410
|
-
thought 5: "
|
|
494
|
+
1. Sequential Thinking (5단계):
|
|
495
|
+
thought 1: "논리 오류 - 보통 복잡도, 상태 관리 이슈"
|
|
496
|
+
thought 2: "리렌더링 또는 데이터 fetch 중복 추측"
|
|
497
|
+
thought 3: "관련 컴포넌트 및 상태 관리 코드 탐색"
|
|
498
|
+
thought 4: "옵션: useEffect 의존성 수정, 중복 제거 로직 추가"
|
|
499
|
+
thought 5: "useEffect 의존성 수정 추천"
|
|
411
500
|
|
|
412
|
-
2. Task
|
|
413
|
-
Task (Explore): "
|
|
414
|
-
→
|
|
501
|
+
2. Task 탐색:
|
|
502
|
+
Task (Explore): "사용자 목록 렌더링 컴포넌트 및 상태 관리"
|
|
503
|
+
→ UserList.tsx, useEffect 의존성 배열 문제 발견
|
|
415
504
|
|
|
416
|
-
3.
|
|
505
|
+
3. 원인: useEffect 의존성 배열 누락으로 매번 fetch
|
|
417
506
|
|
|
418
|
-
4.
|
|
507
|
+
4. 옵션 제시 → 선택 → 구현 → 검증
|
|
419
508
|
```
|
|
420
509
|
|
|
421
510
|
</examples>
|