@kood/claude-code 0.4.1 → 0.5.1

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 (149) hide show
  1. package/dist/index.js +69 -12
  2. package/package.json +2 -1
  3. package/templates/.claude/PARALLEL_AGENTS.md +737 -0
  4. package/templates/.claude/agents/analyst.md +416 -0
  5. package/templates/.claude/agents/architect.md +569 -0
  6. package/templates/.claude/agents/code-reviewer.md +132 -133
  7. package/templates/.claude/agents/dependency-manager.md +93 -94
  8. package/templates/.claude/agents/deployment-validator.md +64 -65
  9. package/templates/.claude/agents/designer.md +655 -0
  10. package/templates/.claude/agents/document-writer.md +500 -0
  11. package/templates/.claude/agents/explore.md +499 -0
  12. package/templates/.claude/agents/git-operator.md +74 -75
  13. package/templates/.claude/agents/implementation-executor.md +138 -109
  14. package/templates/.claude/agents/ko-to-en-translator.md +18 -22
  15. package/templates/.claude/agents/lint-fixer.md +250 -93
  16. package/templates/.claude/agents/planner.md +356 -0
  17. package/templates/.claude/agents/refactor-advisor.md +135 -136
  18. package/templates/.claude/commands/bug-fix.md +296 -207
  19. package/templates/.claude/commands/git-all.md +199 -46
  20. package/templates/.claude/commands/git-session.md +113 -57
  21. package/templates/.claude/commands/lint-fix.md +219 -153
  22. package/templates/.claude/commands/lint-init.md +113 -76
  23. package/templates/.claude/commands/pre-deploy.md +190 -124
  24. package/templates/.claude/commands/refactor.md +407 -162
  25. package/templates/.claude/commands/version-update.md +138 -37
  26. package/templates/.claude/instructions/context-engineering/ANTHROPIC_CONTEXT_ENGINEERING.md +178 -0
  27. package/templates/.claude/instructions/context-engineering/references/claude-4x.md +215 -0
  28. package/templates/.claude/instructions/context-engineering/references/core-principles.md +137 -0
  29. package/templates/.claude/instructions/context-engineering/references/examples.md +351 -0
  30. package/templates/.claude/instructions/context-engineering/references/techniques.md +162 -0
  31. package/templates/.claude/instructions/parallel-agent-execution.md +874 -0
  32. package/templates/.claude/skills/docs-creator/AGENTS.md +238 -0
  33. package/templates/.claude/{commands/docs-creator.md → skills/docs-creator/SKILL.md} +61 -75
  34. package/templates/.claude/skills/docs-refactor/AGENTS.md +270 -0
  35. package/templates/.claude/{commands/docs-refactor.md → skills/docs-refactor/SKILL.md} +30 -44
  36. package/templates/.claude/skills/execute/SKILL.md +451 -0
  37. package/templates/.claude/skills/figma-to-code/AGENTS.md +287 -0
  38. package/templates/.claude/skills/figma-to-code/SKILL.md +225 -225
  39. package/templates/.claude/skills/figma-to-code/references/design-tokens.md +75 -73
  40. package/templates/.claude/skills/figma-to-code/references/figma-mcp-tools.md +73 -73
  41. package/templates/.claude/skills/figma-to-code/references/layout-mapping.md +104 -104
  42. package/templates/.claude/skills/figma-to-code/references/responsive-design.md +99 -99
  43. package/templates/.claude/skills/figma-to-code/references/verification.md +91 -91
  44. package/templates/.claude/skills/global-uiux-design/AGENTS.md +317 -0
  45. package/templates/.claude/skills/global-uiux-design/SKILL.md +738 -0
  46. package/templates/.claude/skills/global-uiux-design/references/accessibility.md +401 -0
  47. package/templates/.claude/skills/global-uiux-design/references/color-system.md +275 -0
  48. package/templates/.claude/skills/global-uiux-design/references/design-philosophy.md +206 -0
  49. package/templates/.claude/skills/global-uiux-design/references/design-systems.md +446 -0
  50. package/templates/.claude/skills/korea-uiux-design/AGENTS.md +307 -0
  51. package/templates/.claude/skills/korea-uiux-design/SKILL.md +170 -0
  52. package/templates/.claude/skills/nextjs-react-best-practices/AGENTS.md +95 -116
  53. package/templates/.claude/skills/nextjs-react-best-practices/SKILL.md +134 -152
  54. package/templates/.claude/skills/nextjs-react-best-practices/rules/advanced-event-handler-refs.md +6 -6
  55. package/templates/.claude/skills/nextjs-react-best-practices/rules/advanced-use-latest.md +5 -5
  56. package/templates/.claude/skills/nextjs-react-best-practices/rules/async-api-routes.md +5 -5
  57. package/templates/.claude/skills/nextjs-react-best-practices/rules/async-defer-await.md +22 -22
  58. package/templates/.claude/skills/nextjs-react-best-practices/rules/async-dependencies.md +5 -5
  59. package/templates/.claude/skills/nextjs-react-best-practices/rules/async-parallel.md +4 -4
  60. package/templates/.claude/skills/nextjs-react-best-practices/rules/async-suspense-boundaries.md +21 -21
  61. package/templates/.claude/skills/nextjs-react-best-practices/rules/bundle-barrel-imports.md +18 -18
  62. package/templates/.claude/skills/nextjs-react-best-practices/rules/bundle-conditional.md +4 -4
  63. package/templates/.claude/skills/nextjs-react-best-practices/rules/bundle-defer-third-party.md +4 -4
  64. package/templates/.claude/skills/nextjs-react-best-practices/rules/bundle-dynamic-imports.md +4 -4
  65. package/templates/.claude/skills/nextjs-react-best-practices/rules/bundle-preload.md +5 -5
  66. package/templates/.claude/skills/nextjs-react-best-practices/rules/client-event-listeners.md +9 -9
  67. package/templates/.claude/skills/nextjs-react-best-practices/rules/client-swr-dedup.md +7 -7
  68. package/templates/.claude/skills/nextjs-react-best-practices/rules/js-batch-dom-css.md +13 -13
  69. package/templates/.claude/skills/nextjs-react-best-practices/rules/js-cache-function-results.md +14 -14
  70. package/templates/.claude/skills/nextjs-react-best-practices/rules/js-cache-property-access.md +4 -4
  71. package/templates/.claude/skills/nextjs-react-best-practices/rules/js-cache-storage.md +10 -10
  72. package/templates/.claude/skills/nextjs-react-best-practices/rules/js-combine-iterations.md +4 -4
  73. package/templates/.claude/skills/nextjs-react-best-practices/rules/js-early-exit.md +7 -7
  74. package/templates/.claude/skills/nextjs-react-best-practices/rules/js-hoist-regexp.md +6 -6
  75. package/templates/.claude/skills/nextjs-react-best-practices/rules/js-index-maps.md +6 -6
  76. package/templates/.claude/skills/nextjs-react-best-practices/rules/js-length-check-first.md +14 -14
  77. package/templates/.claude/skills/nextjs-react-best-practices/rules/js-min-max-loop.md +16 -16
  78. package/templates/.claude/skills/nextjs-react-best-practices/rules/js-set-map-lookups.md +4 -4
  79. package/templates/.claude/skills/nextjs-react-best-practices/rules/js-tosorted-immutable.md +17 -17
  80. package/templates/.claude/skills/nextjs-react-best-practices/rules/rendering-activity.md +4 -4
  81. package/templates/.claude/skills/nextjs-react-best-practices/rules/rendering-animate-svg-wrapper.md +11 -11
  82. package/templates/.claude/skills/nextjs-react-best-practices/rules/rendering-conditional-render.md +8 -8
  83. package/templates/.claude/skills/nextjs-react-best-practices/rules/rendering-content-visibility.md +4 -4
  84. package/templates/.claude/skills/nextjs-react-best-practices/rules/rendering-hoist-jsx.md +6 -6
  85. package/templates/.claude/skills/nextjs-react-best-practices/rules/rendering-hydration-no-flicker.md +14 -14
  86. package/templates/.claude/skills/nextjs-react-best-practices/rules/rendering-svg-precision.md +5 -5
  87. package/templates/.claude/skills/nextjs-react-best-practices/rules/rerender-defer-reads.md +4 -4
  88. package/templates/.claude/skills/nextjs-react-best-practices/rules/rerender-dependencies.md +7 -7
  89. package/templates/.claude/skills/nextjs-react-best-practices/rules/rerender-derived-state.md +5 -5
  90. package/templates/.claude/skills/nextjs-react-best-practices/rules/rerender-functional-setstate.md +34 -34
  91. package/templates/.claude/skills/nextjs-react-best-practices/rules/rerender-lazy-state-init.md +15 -15
  92. package/templates/.claude/skills/nextjs-react-best-practices/rules/rerender-memo.md +5 -5
  93. package/templates/.claude/skills/nextjs-react-best-practices/rules/rerender-transitions.md +4 -4
  94. package/templates/.claude/skills/nextjs-react-best-practices/rules/server-after-nonblocking.md +24 -24
  95. package/templates/.claude/skills/nextjs-react-best-practices/rules/server-cache-lru.md +10 -10
  96. package/templates/.claude/skills/nextjs-react-best-practices/rules/server-cache-react.md +4 -4
  97. package/templates/.claude/skills/nextjs-react-best-practices/rules/server-parallel-fetching.md +5 -5
  98. package/templates/.claude/skills/nextjs-react-best-practices/rules/server-serialization.md +6 -6
  99. package/templates/.claude/skills/plan/SKILL.md +594 -0
  100. package/templates/.claude/skills/prd/SKILL.md +496 -0
  101. package/templates/.claude/skills/ralph/AGENTS.md +393 -0
  102. package/templates/.claude/skills/ralph/SKILL.md +1035 -0
  103. package/templates/.claude/skills/tanstack-start-react-best-practices/AGENTS.md +100 -121
  104. package/templates/.claude/skills/tanstack-start-react-best-practices/SKILL.md +139 -157
  105. package/templates/.claude/skills/tanstack-start-react-best-practices/rules/async-defer-await.md +22 -22
  106. package/templates/.claude/skills/tanstack-start-react-best-practices/rules/async-dependencies.md +5 -5
  107. package/templates/.claude/skills/tanstack-start-react-best-practices/rules/async-loader.md +7 -7
  108. package/templates/.claude/skills/tanstack-start-react-best-practices/rules/async-parallel.md +4 -4
  109. package/templates/.claude/skills/tanstack-start-react-best-practices/rules/bundle-barrel-imports.md +18 -18
  110. package/templates/.claude/skills/tanstack-start-react-best-practices/rules/bundle-conditional.md +4 -4
  111. package/templates/.claude/skills/tanstack-start-react-best-practices/rules/bundle-defer-third-party.md +4 -4
  112. package/templates/.claude/skills/tanstack-start-react-best-practices/rules/bundle-lazy-routes.md +12 -12
  113. package/templates/.claude/skills/tanstack-start-react-best-practices/rules/bundle-preload.md +5 -5
  114. package/templates/.claude/skills/tanstack-start-react-best-practices/rules/client-event-listeners.md +9 -9
  115. package/templates/.claude/skills/tanstack-start-react-best-practices/rules/client-tanstack-query.md +12 -12
  116. package/templates/.claude/skills/tanstack-start-react-best-practices/rules/js-batch-dom-css.md +13 -13
  117. package/templates/.claude/skills/tanstack-start-react-best-practices/rules/js-cache-function-results.md +14 -14
  118. package/templates/.claude/skills/tanstack-start-react-best-practices/rules/js-cache-property-access.md +4 -4
  119. package/templates/.claude/skills/tanstack-start-react-best-practices/rules/js-cache-storage.md +10 -10
  120. package/templates/.claude/skills/tanstack-start-react-best-practices/rules/js-combine-iterations.md +4 -4
  121. package/templates/.claude/skills/tanstack-start-react-best-practices/rules/js-early-exit.md +7 -7
  122. package/templates/.claude/skills/tanstack-start-react-best-practices/rules/js-hoist-regexp.md +6 -6
  123. package/templates/.claude/skills/tanstack-start-react-best-practices/rules/js-index-maps.md +6 -6
  124. package/templates/.claude/skills/tanstack-start-react-best-practices/rules/js-length-check-first.md +14 -14
  125. package/templates/.claude/skills/tanstack-start-react-best-practices/rules/js-min-max-loop.md +16 -16
  126. package/templates/.claude/skills/tanstack-start-react-best-practices/rules/js-set-map-lookups.md +4 -4
  127. package/templates/.claude/skills/tanstack-start-react-best-practices/rules/js-tosorted-immutable.md +17 -17
  128. package/templates/.claude/skills/tanstack-start-react-best-practices/rules/rendering-animate-svg-wrapper.md +11 -11
  129. package/templates/.claude/skills/tanstack-start-react-best-practices/rules/rendering-conditional-render.md +8 -8
  130. package/templates/.claude/skills/tanstack-start-react-best-practices/rules/rendering-content-visibility.md +4 -4
  131. package/templates/.claude/skills/tanstack-start-react-best-practices/rules/rendering-hoist-jsx.md +6 -6
  132. package/templates/.claude/skills/tanstack-start-react-best-practices/rules/rendering-svg-precision.md +5 -5
  133. package/templates/.claude/skills/tanstack-start-react-best-practices/rules/rerender-defer-reads.md +4 -4
  134. package/templates/.claude/skills/tanstack-start-react-best-practices/rules/rerender-dependencies.md +7 -7
  135. package/templates/.claude/skills/tanstack-start-react-best-practices/rules/rerender-derived-state.md +5 -5
  136. package/templates/.claude/skills/tanstack-start-react-best-practices/rules/rerender-functional-setstate.md +34 -34
  137. package/templates/.claude/skills/tanstack-start-react-best-practices/rules/rerender-lazy-state-init.md +15 -15
  138. package/templates/.claude/skills/tanstack-start-react-best-practices/rules/rerender-memo.md +5 -5
  139. package/templates/.claude/skills/tanstack-start-react-best-practices/rules/rerender-transitions.md +4 -4
  140. package/templates/.claude/skills/tanstack-start-react-best-practices/rules/server-cache-lru.md +12 -12
  141. package/templates/.claude/skills/tanstack-start-react-best-practices/rules/server-deferred-data.md +14 -14
  142. package/templates/.claude/skills/tanstack-start-react-best-practices/rules/server-parallel-fetching.md +9 -9
  143. package/templates/.claude/skills/tanstack-start-react-best-practices/rules/server-serialization.md +6 -6
  144. package/templates/.claude/commands/agent-creator.md +0 -370
  145. package/templates/.claude/commands/command-creator.md +0 -524
  146. package/templates/.claude/commands/execute.md +0 -469
  147. package/templates/.claude/commands/git.md +0 -98
  148. package/templates/.claude/commands/plan.md +0 -526
  149. package/templates/.claude/commands/prd.md +0 -629
@@ -0,0 +1,137 @@
1
+ # Core Principles - 상세 가이드
2
+
3
+ ## 1. Find the Right Altitude
4
+
5
+ 적절한 추상화 수준 찾기.
6
+
7
+ ### 수준별 비교
8
+
9
+ | ❌ Too Low | ✅ Right Altitude | ❌ Too High |
10
+ |-----------|------------------|-------------|
11
+ | 복잡한 조건문 | 명확한 원칙 + 예시 | 모호한 지시 |
12
+ | 모든 엣지 케이스 나열 | 핵심 패턴 제공 | 구체성 부족 |
13
+ | "If X then Y, unless Z..." | "Follow pattern: [코드]" | "잘 만들어줘" |
14
+
15
+ ### 예시: API 에러 처리
16
+
17
+ ```text
18
+ ❌ Too Low:
19
+ "If status === 400, check error.code. If code === 'INVALID_INPUT',
20
+ show field-specific errors. If code === 'VALIDATION_ERROR',
21
+ check error.fields array. For each field..."
22
+
23
+ ✅ Right Altitude:
24
+ "Handle API errors with appropriate user messages.
25
+ Example:
26
+ 400 → Show field errors
27
+ 401 → Redirect to login
28
+ 500 → Show generic error"
29
+
30
+ ❌ Too High:
31
+ "적절히 에러 처리해줘"
32
+ ```
33
+
34
+ ---
35
+
36
+ ## 2. Context as Finite Resource
37
+
38
+ 컨텍스트는 제한된 자원.
39
+
40
+ ### Just-in-Time Loading
41
+
42
+ | 전략 | 방법 | 효과 |
43
+ |------|------|------|
44
+ | **@imports** | 필요한 시점에만 로드 | 90%+ 절약 |
45
+ | **references/** | 상세 문서 분리 | 메인 파일 간결 |
46
+ | **Subagent** | 조사 작업 위임 | 요약만 반환 |
47
+
48
+ ### Minimal Start
49
+
50
+ ```text
51
+ 1차 시도: 최소 프롬프트
52
+ ↓ 실패
53
+ 2차 시도: 예시 1개 추가
54
+ ↓ 실패
55
+ 3차 시도: 제약사항 명시
56
+ ```
57
+
58
+ **Bad:** 처음부터 모든 조건 나열
59
+
60
+ ### Token Minimization
61
+
62
+ ```text
63
+ ❌ "Use TypeScript for type safety and better development experience"
64
+ ✅ "TypeScript"
65
+
66
+ ❌ "Create a new file called utils.ts and add helper functions"
67
+ ✅ "utils.ts: helper functions"
68
+
69
+ ❌ 중복 설명
70
+ ✅ 표 형식 압축
71
+ ```
72
+
73
+ ---
74
+
75
+ ## 3. Explicit > Implicit (Claude 4.x)
76
+
77
+ 명시적 지시가 핵심.
78
+
79
+ ### Claude 4.x 특징
80
+
81
+ | 상황 | Claude 3.x | Claude 4.x |
82
+ |------|-----------|-----------|
83
+ | "Create dashboard" | 추가 기능 자동 포함 | 최소한만 구현 |
84
+ | "Suggest changes" | 때때로 바로 구현 | 제안만 |
85
+ | "Fix bug" | 주변 코드도 개선 | 버그만 수정 |
86
+
87
+ ### 명시적 지시 패턴
88
+
89
+ ```text
90
+ ❌ "Create dashboard"
91
+ ✅ "Create dashboard. Include:
92
+ - User stats cards
93
+ - Activity timeline
94
+ - Quick actions
95
+ - Recent notifications
96
+ Go beyond basics to create fully-featured UI."
97
+
98
+ ❌ "Optimize this"
99
+ ✅ "Optimize this. Consider:
100
+ - Memoization for expensive calculations
101
+ - Lazy loading for off-screen content
102
+ - Code splitting for large bundles
103
+ Apply all applicable optimizations."
104
+
105
+ ❌ "Add tests"
106
+ ✅ "Add comprehensive tests:
107
+ - Unit tests for each function
108
+ - Integration tests for API calls
109
+ - Edge cases and error scenarios
110
+ Aim for 80%+ coverage."
111
+ ```
112
+
113
+ ### Behavior Control
114
+
115
+ ```xml
116
+ <!-- 적극적 행동 -->
117
+ <default_to_action>
118
+ Implement changes directly rather than suggesting.
119
+ When you see an opportunity for improvement, apply it.
120
+ </default_to_action>
121
+
122
+ <!-- 보수적 행동 -->
123
+ <do_not_act_before_instructions>
124
+ Wait for explicit user instruction before taking action.
125
+ Only suggest, never implement without confirmation.
126
+ </do_not_act_before_instructions>
127
+ ```
128
+
129
+ ---
130
+
131
+ ## 요약
132
+
133
+ | 원칙 | 핵심 |
134
+ |------|------|
135
+ | Right Altitude | 패턴 + 예시 (조건문 ❌) |
136
+ | Finite Resource | Just-in-Time, 최소화 |
137
+ | Explicit | "Create X with Y and Z" (모호함 ❌) |
@@ -0,0 +1,351 @@
1
+ # Examples - 실전 패턴
2
+
3
+ ## Agentic Coding
4
+
5
+ ```xml
6
+ <coding_guidelines>
7
+
8
+ <investigation>
9
+ ALWAYS read files before proposing edits.
10
+ Use Explore agent for codebase discovery.
11
+ Do not speculate about code structure.
12
+ </investigation>
13
+
14
+ <implementation>
15
+ Avoid over-engineering.
16
+ Only make directly requested changes.
17
+ Don't add features unless asked.
18
+ Keep solutions simple and focused.
19
+ </implementation>
20
+
21
+ <testing>
22
+ Run tests after changes.
23
+ Verify no regressions.
24
+ Add new tests for new features.
25
+ </testing>
26
+
27
+ </coding_guidelines>
28
+ ```
29
+
30
+ ---
31
+
32
+ ## Frontend Design
33
+
34
+ ```xml
35
+ <frontend_aesthetics>
36
+
37
+ Avoid generic "AI slop" aesthetic.
38
+ Make creative, distinctive frontends that stand out.
39
+
40
+ <focus>
41
+
42
+ **Typography**
43
+ - Unique font combinations
44
+ - Avoid overused fonts (Inter, Roboto)
45
+ - Consider: Geist, Cal Sans, Untitled Sans
46
+
47
+ **Color**
48
+ - Cohesive theme with sharp accents
49
+ - Use color psychology
50
+ - Dark mode by default (better aesthetics)
51
+
52
+ **Motion**
53
+ - High-impact animations (Framer Motion, GSAP)
54
+ - Smooth transitions
55
+ - Micro-interactions
56
+
57
+ **Backgrounds**
58
+ - Depth and atmosphere
59
+ - Gradients, meshes, noise
60
+ - Avoid flat single colors
61
+
62
+ </focus>
63
+
64
+ <frameworks>
65
+ - TailwindCSS for utility-first
66
+ - shadcn/ui for components
67
+ - Framer Motion for animations
68
+ </frameworks>
69
+
70
+ </frontend_aesthetics>
71
+ ```
72
+
73
+ ---
74
+
75
+ ## API Design
76
+
77
+ ```xml
78
+ <api_guidelines>
79
+
80
+ <rest_patterns>
81
+
82
+ **Naming**
83
+ - Resource-oriented: `/users/:id/posts`
84
+ - Kebab-case: `/user-profiles`
85
+ - Versioning: `/api/v1/...`
86
+
87
+ **Methods**
88
+ - GET: Read (safe, idempotent)
89
+ - POST: Create
90
+ - PUT: Full update (idempotent)
91
+ - PATCH: Partial update
92
+ - DELETE: Remove (idempotent)
93
+
94
+ **Responses**
95
+ 200 OK: Success
96
+ 201 Created: Resource created
97
+ 400 Bad Request: Invalid input
98
+ 401 Unauthorized: Auth required
99
+ 404 Not Found: Resource missing
100
+ 500 Internal Error: Server error
101
+
102
+ </rest_patterns>
103
+
104
+ <validation>
105
+ - Validate at boundary (input validators)
106
+ - Use Zod/Yup schemas
107
+ - Return detailed error messages
108
+ - Never trust client input
109
+ </validation>
110
+
111
+ </api_guidelines>
112
+ ```
113
+
114
+ ---
115
+
116
+ ## Database Schema
117
+
118
+ ```xml
119
+ <schema_design>
120
+
121
+ <naming>
122
+ - Tables: plural (`users`, `posts`)
123
+ - Columns: snake_case (`created_at`)
124
+ - Foreign keys: `{table}_id` (`user_id`)
125
+ - Indexes: `idx_{table}_{column}`
126
+ </naming>
127
+
128
+ <relationships>
129
+ - One-to-Many: Foreign key on "many" side
130
+ - Many-to-Many: Junction table
131
+ - Cascade deletes: Be explicit
132
+ </relationships>
133
+
134
+ <best_practices>
135
+ - Always use timestamps (`created_at`, `updated_at`)
136
+ - Soft deletes: `deleted_at` (optional)
137
+ - UUID vs Auto-increment: Consider scale
138
+ - Index frequently queried columns
139
+ </best_practices>
140
+
141
+ </schema_design>
142
+ ```
143
+
144
+ ---
145
+
146
+ ## Error Handling
147
+
148
+ ```xml
149
+ <error_patterns>
150
+
151
+ **Client-Side (React)**
152
+ ```typescript
153
+ try {
154
+ const data = await api.fetch()
155
+ return data
156
+ } catch (error) {
157
+ if (error.status === 401) {
158
+ redirect('/login')
159
+ }
160
+ toast.error(error.message)
161
+ throw error // Re-throw for React Query
162
+ }
163
+ ```
164
+
165
+ **Server-Side (API)**
166
+ ```typescript
167
+ try {
168
+ const result = await db.query()
169
+ return result
170
+ } catch (error) {
171
+ logger.error(error)
172
+ if (error instanceof ValidationError) {
173
+ throw new HttpError(400, error.message)
174
+ }
175
+ throw new HttpError(500, 'Internal error')
176
+ }
177
+ ```
178
+
179
+ **User-Facing Messages**
180
+ - Technical: "DatabaseConnectionError"
181
+ - User: "서비스 일시 중단. 잠시 후 다시 시도해주세요."
182
+
183
+ </error_patterns>
184
+ ```
185
+
186
+ ---
187
+
188
+ ## Testing Patterns
189
+
190
+ ```xml
191
+ <test_guidelines>
192
+
193
+ **Unit Tests**
194
+ ```typescript
195
+ describe('calculateTotal', () => {
196
+ it('sums item prices', () => {
197
+ expect(calculateTotal([10, 20])).toBe(30)
198
+ })
199
+
200
+ it('handles empty array', () => {
201
+ expect(calculateTotal([])).toBe(0)
202
+ })
203
+ })
204
+ ```
205
+
206
+ **Integration Tests**
207
+ ```typescript
208
+ describe('POST /api/users', () => {
209
+ it('creates user', async () => {
210
+ const res = await request(app)
211
+ .post('/api/users')
212
+ .send({ name: 'John' })
213
+
214
+ expect(res.status).toBe(201)
215
+ expect(res.body.name).toBe('John')
216
+ })
217
+ })
218
+ ```
219
+
220
+ **Component Tests**
221
+ ```typescript
222
+ test('renders user profile', () => {
223
+ render(<Profile user={mockUser} />)
224
+ expect(screen.getByText('John')).toBeInTheDocument()
225
+ })
226
+ ```
227
+
228
+ </test_guidelines>
229
+ ```
230
+
231
+ ---
232
+
233
+ ## Git Commit Messages
234
+
235
+ ```xml
236
+ <commit_style>
237
+
238
+ **Format**
239
+ ```
240
+ <type>: <subject>
241
+
242
+ [optional body]
243
+ ```
244
+
245
+ **Types**
246
+ - feat: New feature
247
+ - fix: Bug fix
248
+ - refactor: Code restructure
249
+ - style: Formatting
250
+ - docs: Documentation
251
+ - test: Tests
252
+ - chore: Maintenance
253
+
254
+ **Examples**
255
+ ```
256
+ feat: add user authentication
257
+ fix: resolve login redirect loop
258
+ refactor: extract auth logic to hook
259
+ docs: update API documentation
260
+ ```
261
+
262
+ **Rules**
263
+ - Subject: 50 chars max
264
+ - Imperative mood ("add" not "added")
265
+ - No period at end
266
+ - One logical change per commit
267
+
268
+ </commit_style>
269
+ ```
270
+
271
+ ---
272
+
273
+ ## Security Patterns
274
+
275
+ ```xml
276
+ <security>
277
+
278
+ **Input Validation**
279
+ - Sanitize all user input
280
+ - Use parameterized queries (prevent SQL injection)
281
+ - Validate file uploads (type, size)
282
+ - Escape HTML output (prevent XSS)
283
+
284
+ **Authentication**
285
+ - Hash passwords (bcrypt, argon2)
286
+ - Use secure session tokens
287
+ - Implement rate limiting
288
+ - Add CSRF protection
289
+
290
+ **API Security**
291
+ - API keys in env vars
292
+ - HTTPS only
293
+ - CORS configuration
294
+ - Input size limits
295
+
296
+ **Never**
297
+ - Store passwords in plain text
298
+ - Trust client-side validation
299
+ - Expose sensitive data in errors
300
+ - Use deprecated crypto
301
+
302
+ </security>
303
+ ```
304
+
305
+ ---
306
+
307
+ ## Performance Optimization
308
+
309
+ ```xml
310
+ <performance>
311
+
312
+ **React**
313
+ ```typescript
314
+ // Memoization
315
+ const expensiveValue = useMemo(() =>
316
+ heavyCalculation(data), [data]
317
+ )
318
+
319
+ // Callback stability
320
+ const handleClick = useCallback(() => {
321
+ doSomething(id)
322
+ }, [id])
323
+
324
+ // Component memoization
325
+ export default React.memo(ExpensiveComponent)
326
+ ```
327
+
328
+ **Code Splitting**
329
+ ```typescript
330
+ const Heavy = lazy(() => import('./Heavy'))
331
+
332
+ <Suspense fallback={<Spinner />}>
333
+ <Heavy />
334
+ </Suspense>
335
+ ```
336
+
337
+ **API**
338
+ - Pagination: Limit results
339
+ - Caching: Redis, CDN
340
+ - N+1 queries: Use JOIN or DataLoader
341
+ - Compression: gzip, brotli
342
+
343
+ </performance>
344
+ ```
345
+
346
+ ---
347
+
348
+ ## 요약
349
+
350
+ 모든 예시는 **복사 가능**하도록 작성.
351
+ 패턴을 그대로 적용하고, 프로젝트에 맞게 조정.
@@ -0,0 +1,162 @@
1
+ # Techniques - Chain of Thought & Extended Thinking
2
+
3
+ ## Chain of Thought (CoT)
4
+
5
+ 단계별 사고 유도 → 정확성 향상.
6
+
7
+ ### 3단계 수준
8
+
9
+ | Level | Method | When | Example |
10
+ |-------|--------|------|---------|
11
+ | **Basic** | "단계별로 생각하세요" | 간단한 작업 | 단순 계산 |
12
+ | **Guided** | 구체적 단계 제공 | 중간 복잡도 | 데이터 분석 |
13
+ | **Structured** | `<thinking>` 태그 | 복잡한 작업 | 아키텍처 설계 |
14
+
15
+ ### Structured Pattern (권장)
16
+
17
+ ```xml
18
+ <thinking>
19
+ 1. 문제 분석
20
+ - 현재 상태 파악
21
+ - 요구사항 정리
22
+
23
+ 2. 접근 방법
24
+ - 가능한 옵션들
25
+ - 장단점 비교
26
+
27
+ 3. 단계별 추론
28
+ - 선택한 방법
29
+ - 구현 단계
30
+
31
+ 4. 검증
32
+ - 예상 결과
33
+ - 잠재적 문제
34
+ </thinking>
35
+
36
+ <answer>
37
+ 최종 답변
38
+ </answer>
39
+ ```
40
+
41
+ ### 언제 사용?
42
+
43
+ ```text
44
+ ✅ 사용하면 좋음
45
+ - 복잡한 수학 문제
46
+ - 다단계 분석
47
+ - 의사결정 (여러 옵션 비교)
48
+ - 디버깅 (원인 추적)
49
+ - 아키텍처 설계
50
+
51
+ ❌ 사용 안 함
52
+ - 단순 검색
53
+ - 단순 변환 (JSON → CSV)
54
+ - 지연 시간 중요 (실시간)
55
+ - 사실 확인
56
+ ```
57
+
58
+ ### 예시: 디버깅
59
+
60
+ ```xml
61
+ <thinking>
62
+ 1. 문제 증상
63
+ - 로그인 후 리다이렉트 안 됨
64
+ - 콘솔 에러 없음
65
+
66
+ 2. 가능한 원인
67
+ A. 라우터 설정 문제
68
+ B. 인증 상태 미반영
69
+ C. 비동기 타이밍 이슈
70
+
71
+ 3. 검증
72
+ - A: 라우터 설정 정상 (routes.ts 확인)
73
+ - B: useAuth() 훅 체크 → 상태 업데이트 안 됨!
74
+ - C: 패스
75
+
76
+ 4. 결론
77
+ - 로그인 성공 후 auth store 업데이트 누락
78
+ </thinking>
79
+
80
+ <answer>
81
+ `login.ts`의 `handleLogin` 함수에서
82
+ `authStore.setUser(user)` 호출 추가 필요.
83
+ </answer>
84
+ ```
85
+
86
+ ---
87
+
88
+ ## Extended Thinking
89
+
90
+ 긴 추론 시간으로 복잡한 문제 해결.
91
+
92
+ ### 특징
93
+
94
+ - 최소 1024 토큰 사고 예산
95
+ - 모델이 스스로 탐색
96
+ - 고도로 복잡한 문제에 적합
97
+
98
+ ### Best Practices
99
+
100
+ ```text
101
+ ❌ 단계별 지시 (제한적)
102
+ "1. 변수 식별
103
+ 2. 방정식 세우기
104
+ 3. 풀이
105
+ 4. 검증"
106
+
107
+ ✅ 일반적 지시 (자유로움)
108
+ "철저히 생각하세요.
109
+ 여러 접근법을 고려하고,
110
+ 각각의 장단점을 평가하세요."
111
+
112
+ ⚠️ 최소 토큰: 1024
113
+ ⚠️ 32K+ 예산: Batch Processing 권장
114
+ ```
115
+
116
+ ### 사용 시점
117
+
118
+ | Use Case | Example | 왜 Extended? |
119
+ |----------|---------|-------------|
120
+ | **복잡한 STEM** | 4D 시각화, 고급 물리 문제 | 다단계 추상화 |
121
+ | **제약 최적화** | 다중 제약 여행 계획 | 조합 탐색 |
122
+ | **사고 프레임워크** | Porter's 5 Forces + 시나리오 분석 | 구조적 사고 |
123
+ | **창의적 문제해결** | 새로운 알고리즘 설계 | 탐색적 사고 |
124
+
125
+ ### 예시: 최적화 문제
126
+
127
+ ```text
128
+ Prompt:
129
+ "3일 일정으로 유럽 5개 도시 방문 계획.
130
+ 제약:
131
+ - 예산: $2000
132
+ - 비행 시간 최소화
133
+ - 주요 관광지 3곳씩
134
+ - 비자 불필요 국가
135
+
136
+ 철저히 생각하세요. 여러 경로를 고려하고,
137
+ 비용/시간/경험 측면에서 최적 조합을 찾으세요."
138
+
139
+ → Extended Thinking이 여러 조합 탐색 후 최적안 제시
140
+ ```
141
+
142
+ ---
143
+
144
+ ## CoT vs Extended
145
+
146
+ | 측면 | CoT | Extended |
147
+ |------|-----|----------|
148
+ | **복잡도** | 중간 (3-5 단계) | 매우 높음 (10+ 단계) |
149
+ | **토큰** | 100-500 | 1024+ |
150
+ | **제어** | 구조화된 단계 | 자유로운 탐색 |
151
+ | **속도** | 빠름 | 느림 |
152
+ | **사용** | 일반적 문제 | 극도로 복잡한 문제 |
153
+
154
+ ---
155
+
156
+ ## 요약
157
+
158
+ ```text
159
+ 간단 → 직접 답변
160
+ 중간 → CoT (<thinking>)
161
+ 복잡 → Extended Thinking (1024+)
162
+ ```