@kood/claude-code 0.6.6 → 0.7.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.
Files changed (170) hide show
  1. package/dist/index.js +7 -1
  2. package/package.json +1 -1
  3. package/templates/.claude/agents/analyst.md +5 -0
  4. package/templates/.claude/agents/architect.md +5 -0
  5. package/templates/.claude/agents/build-fixer.md +1 -0
  6. package/templates/.claude/agents/code-reviewer.md +1 -0
  7. package/templates/.claude/agents/critic.md +4 -0
  8. package/templates/.claude/agents/deep-executor.md +1 -0
  9. package/templates/.claude/agents/dependency-manager.md +2 -0
  10. package/templates/.claude/agents/deployment-validator.md +2 -0
  11. package/templates/.claude/agents/designer.md +2 -0
  12. package/templates/.claude/agents/document-writer.md +3 -0
  13. package/templates/.claude/agents/explore.md +1 -0
  14. package/templates/.claude/agents/git-operator.md +2 -0
  15. package/templates/.claude/agents/implementation-executor.md +2 -0
  16. package/templates/.claude/agents/ko-to-en-translator.md +3 -0
  17. package/templates/.claude/agents/lint-fixer.md +2 -0
  18. package/templates/.claude/agents/planner.md +3 -0
  19. package/templates/.claude/agents/pm.md +349 -0
  20. package/templates/.claude/agents/qa-tester.md +1 -0
  21. package/templates/.claude/agents/refactor-advisor.md +4 -0
  22. package/templates/.claude/agents/researcher.md +9 -1
  23. package/templates/.claude/agents/scientist.md +1 -0
  24. package/templates/.claude/agents/security-reviewer.md +1 -0
  25. package/templates/.claude/agents/tdd-guide.md +1 -0
  26. package/templates/.claude/agents/vision.md +1 -0
  27. package/templates/.claude/instructions/agent-patterns/agent-teams-usage.md +376 -0
  28. package/templates/.claude/instructions/sourcing/reliable-search.md +49 -2
  29. package/templates/.claude/scripts/agent-teams/check-availability.sh +238 -0
  30. package/templates/.claude/scripts/agent-teams/setup-tmux.sh +125 -0
  31. package/templates/.claude/skills/agent-teams-setup/SKILL.md +460 -0
  32. package/templates/.claude/skills/brainstorm/SKILL.md +1 -0
  33. package/templates/.claude/skills/bug-fix/SKILL.md +1 -0
  34. package/templates/.claude/skills/crawler/SKILL.md +2 -0
  35. package/templates/.claude/skills/docs-creator/SKILL.md +1 -0
  36. package/templates/.claude/skills/docs-fetch/SKILL.md +6 -4
  37. package/templates/.claude/skills/docs-refactor/SKILL.md +1 -0
  38. package/templates/.claude/skills/elon-musk/SKILL.md +1 -0
  39. package/templates/.claude/skills/execute/SKILL.md +1 -0
  40. package/templates/.claude/skills/feedback/SKILL.md +1 -0
  41. package/templates/.claude/skills/figma-to-code/SKILL.md +1 -0
  42. package/templates/.claude/skills/genius-thinking/SKILL.md +1 -0
  43. package/templates/.claude/skills/global-uiux-design/SKILL.md +1 -0
  44. package/templates/.claude/skills/korea-uiux-design/SKILL.md +1 -0
  45. package/templates/.claude/skills/nextjs-react-best-practices/SKILL.md +1 -0
  46. package/templates/.claude/skills/plan/SKILL.md +1 -0
  47. package/templates/.claude/skills/prd/SKILL.md +1 -0
  48. package/templates/.claude/skills/project-optimizer/AGENTS.md +275 -0
  49. package/templates/.claude/skills/project-optimizer/SKILL.md +375 -0
  50. package/templates/.claude/skills/project-optimizer/rules/arch-config-centralize.md +66 -0
  51. package/templates/.claude/skills/project-optimizer/rules/arch-hot-path.md +35 -0
  52. package/templates/.claude/skills/project-optimizer/rules/arch-interface-segregation.md +51 -0
  53. package/templates/.claude/skills/project-optimizer/rules/arch-module-boundary.md +42 -0
  54. package/templates/.claude/skills/project-optimizer/rules/build-cache.md +57 -0
  55. package/templates/.claude/skills/project-optimizer/rules/build-code-split.md +56 -0
  56. package/templates/.claude/skills/project-optimizer/rules/build-incremental.md +65 -0
  57. package/templates/.claude/skills/project-optimizer/rules/build-minify.md +61 -0
  58. package/templates/.claude/skills/project-optimizer/rules/build-tree-shake.md +60 -0
  59. package/templates/.claude/skills/project-optimizer/rules/code-complexity.md +65 -0
  60. package/templates/.claude/skills/project-optimizer/rules/code-dead-elimination.md +32 -0
  61. package/templates/.claude/skills/project-optimizer/rules/code-duplication.md +54 -0
  62. package/templates/.claude/skills/project-optimizer/rules/code-error-handling.md +75 -0
  63. package/templates/.claude/skills/project-optimizer/rules/code-naming.md +52 -0
  64. package/templates/.claude/skills/project-optimizer/rules/concurrency-defer-await.md +54 -0
  65. package/templates/.claude/skills/project-optimizer/rules/concurrency-parallel.md +90 -0
  66. package/templates/.claude/skills/project-optimizer/rules/concurrency-pipeline.md +68 -0
  67. package/templates/.claude/skills/project-optimizer/rules/concurrency-pool.md +68 -0
  68. package/templates/.claude/skills/project-optimizer/rules/deps-lightweight-alt.md +37 -0
  69. package/templates/.claude/skills/project-optimizer/rules/deps-peer-align.md +44 -0
  70. package/templates/.claude/skills/project-optimizer/rules/deps-security-audit.md +45 -0
  71. package/templates/.claude/skills/project-optimizer/rules/deps-unused-removal.md +25 -0
  72. package/templates/.claude/skills/project-optimizer/rules/deps-version-pin.md +40 -0
  73. package/templates/.claude/skills/project-optimizer/rules/dx-ci-speed.md +47 -0
  74. package/templates/.claude/skills/project-optimizer/rules/dx-dev-server.md +35 -0
  75. package/templates/.claude/skills/project-optimizer/rules/dx-lint-config.md +36 -0
  76. package/templates/.claude/skills/project-optimizer/rules/dx-test-coverage.md +34 -0
  77. package/templates/.claude/skills/project-optimizer/rules/dx-type-safety.md +49 -0
  78. package/templates/.claude/skills/project-optimizer/rules/io-batch-queries.md +67 -0
  79. package/templates/.claude/skills/project-optimizer/rules/io-cache-layer.md +67 -0
  80. package/templates/.claude/skills/project-optimizer/rules/io-connection-reuse.md +67 -0
  81. package/templates/.claude/skills/project-optimizer/rules/io-serialize-minimal.md +61 -0
  82. package/templates/.claude/skills/project-optimizer/rules/io-stream.md +75 -0
  83. package/templates/.claude/skills/project-optimizer/rules/memory-bounded-cache.md +65 -0
  84. package/templates/.claude/skills/project-optimizer/rules/memory-large-data.md +64 -0
  85. package/templates/.claude/skills/project-optimizer/rules/memory-lazy-init.md +78 -0
  86. package/templates/.claude/skills/project-optimizer/rules/memory-leak-prevention.md +79 -0
  87. package/templates/.claude/skills/project-optimizer/rules/memory-pool-reuse.md +70 -0
  88. package/templates/.claude/skills/ralph/SKILL.md +1 -0
  89. package/templates/.claude/skills/refactor/SKILL.md +1 -0
  90. package/templates/.claude/skills/research/SKILL.md +1 -0
  91. package/templates/.claude/skills/sql-optimizer/SKILL.md +438 -0
  92. package/templates/.claude/skills/sql-optimizer/orm-patterns.md +218 -0
  93. package/templates/.claude/skills/startup-validator/SKILL.md +1 -0
  94. package/templates/.claude/skills/tanstack-start-react-best-practices/AGENTS.md +53 -14
  95. package/templates/.claude/skills/tanstack-start-react-best-practices/SKILL.md +94 -27
  96. package/templates/.claude/skills/tanstack-start-react-best-practices/rules/bundle-defer-third-party.md +42 -19
  97. package/templates/.claude/skills/tanstack-start-react-best-practices/rules/client-optimistic-updates.md +109 -0
  98. package/templates/.claude/skills/tanstack-start-react-best-practices/rules/client-suspense-query.md +74 -0
  99. package/templates/.claude/skills/tanstack-start-react-best-practices/rules/client-use-hook.md +81 -0
  100. package/templates/.claude/skills/tanstack-start-react-best-practices/rules/rerender-react-compiler.md +81 -0
  101. package/templates/.claude/skills/tanstack-start-react-best-practices/rules/routing-beforeload-auth.md +121 -0
  102. package/templates/.claude/skills/tanstack-start-react-best-practices/rules/routing-file-conventions.md +104 -0
  103. package/templates/.claude/skills/tanstack-start-react-best-practices/rules/routing-link-navigation.md +119 -0
  104. package/templates/.claude/skills/tanstack-start-react-best-practices/rules/routing-nested-layouts.md +155 -0
  105. package/templates/.claude/skills/tanstack-start-react-best-practices/rules/routing-path-params.md +89 -0
  106. package/templates/.claude/skills/tanstack-start-react-best-practices/rules/routing-pending-component.md +110 -0
  107. package/templates/.claude/skills/tanstack-start-react-best-practices/rules/routing-preload-strategy.md +91 -0
  108. package/templates/.claude/skills/tanstack-start-react-best-practices/rules/routing-router-context.md +120 -0
  109. package/templates/.claude/skills/tanstack-start-react-best-practices/rules/routing-search-params.md +114 -0
  110. package/templates/.claude/skills/tanstack-start-react-best-practices/rules/server-deferred-data.md +1 -1
  111. package/templates/.claude/skills/tanstack-start-react-best-practices/rules/server-error-boundaries.md +79 -0
  112. package/templates/.claude/skills/tanstack-start-react-best-practices/rules/server-middleware.md +85 -0
  113. package/templates/.claude/skills/tanstack-start-react-best-practices/rules/server-serialization.md +56 -21
  114. package/templates/.claude/skills/tanstack-start-react-best-practices/rules/server-streaming.md +84 -0
  115. package/templates/.claude/skills/tanstack-start-react-best-practices/rules/server-validator.md +71 -0
  116. package/templates/.claude/skills/tauri-react-best-practices/AGENTS.md +527 -0
  117. package/templates/.claude/skills/tauri-react-best-practices/SKILL.md +571 -0
  118. package/templates/.claude/skills/tauri-react-best-practices/rules/bundle-barrel-imports.md +140 -0
  119. package/templates/.claude/skills/tauri-react-best-practices/rules/bundle-cargo-profile.md +96 -0
  120. package/templates/.claude/skills/tauri-react-best-practices/rules/bundle-frontend-treeshake.md +242 -0
  121. package/templates/.claude/skills/tauri-react-best-practices/rules/bundle-lazy-components.md +255 -0
  122. package/templates/.claude/skills/tauri-react-best-practices/rules/bundle-remove-unused-commands.md +160 -0
  123. package/templates/.claude/skills/tauri-react-best-practices/rules/deploy-ci-pipeline.md +269 -0
  124. package/templates/.claude/skills/tauri-react-best-practices/rules/deploy-signing.md +207 -0
  125. package/templates/.claude/skills/tauri-react-best-practices/rules/deploy-updater.md +226 -0
  126. package/templates/.claude/skills/tauri-react-best-practices/rules/ipc-async-commands.md +172 -0
  127. package/templates/.claude/skills/tauri-react-best-practices/rules/ipc-batch-commands.md +133 -0
  128. package/templates/.claude/skills/tauri-react-best-practices/rules/ipc-binary-response.md +198 -0
  129. package/templates/.claude/skills/tauri-react-best-practices/rules/ipc-channel-streaming.md +186 -0
  130. package/templates/.claude/skills/tauri-react-best-practices/rules/ipc-error-handling.md +250 -0
  131. package/templates/.claude/skills/tauri-react-best-practices/rules/ipc-type-safe.md +227 -0
  132. package/templates/.claude/skills/tauri-react-best-practices/rules/perf-derived-state.md +231 -0
  133. package/templates/.claude/skills/tauri-react-best-practices/rules/perf-functional-setstate.md +191 -0
  134. package/templates/.claude/skills/tauri-react-best-practices/rules/perf-index-maps.md +276 -0
  135. package/templates/.claude/skills/tauri-react-best-practices/rules/perf-lazy-state-init.md +196 -0
  136. package/templates/.claude/skills/tauri-react-best-practices/rules/plugin-lifecycle.md +265 -0
  137. package/templates/.claude/skills/tauri-react-best-practices/rules/plugin-mobile-compat.md +199 -0
  138. package/templates/.claude/skills/tauri-react-best-practices/rules/plugin-permission-scope.md +193 -0
  139. package/templates/.claude/skills/tauri-react-best-practices/rules/react-error-boundary.md +239 -0
  140. package/templates/.claude/skills/tauri-react-best-practices/rules/react-event-listener.md +151 -0
  141. package/templates/.claude/skills/tauri-react-best-practices/rules/react-file-src.md +155 -0
  142. package/templates/.claude/skills/tauri-react-best-practices/rules/react-invoke-hook.md +139 -0
  143. package/templates/.claude/skills/tauri-react-best-practices/rules/react-optimistic-update.md +211 -0
  144. package/templates/.claude/skills/tauri-react-best-practices/rules/security-capability-split.md +205 -0
  145. package/templates/.claude/skills/tauri-react-best-practices/rules/security-csp.md +207 -0
  146. package/templates/.claude/skills/tauri-react-best-practices/rules/security-least-privilege.md +106 -0
  147. package/templates/.claude/skills/tauri-react-best-practices/rules/security-no-wildcard.md +253 -0
  148. package/templates/.claude/skills/tauri-react-best-practices/rules/security-scope-paths.md +160 -0
  149. package/templates/.claude/skills/tauri-react-best-practices/rules/state-async-mutex.md +270 -0
  150. package/templates/.claude/skills/tauri-react-best-practices/rules/state-mutex-pattern.md +265 -0
  151. package/templates/.claude/skills/tauri-react-best-practices/rules/state-react-sync.md +375 -0
  152. package/templates/.claude/skills/tauri-react-best-practices/rules/state-single-container.md +275 -0
  153. package/templates/tanstack-start/docs/architecture.md +238 -167
  154. package/templates/tanstack-start/docs/library/tanstack-router/error-handling.md +777 -38
  155. package/templates/tanstack-start/docs/library/tanstack-router/hooks.md +549 -37
  156. package/templates/tanstack-start/docs/library/tanstack-router/index.md +895 -111
  157. package/templates/tanstack-start/docs/library/tanstack-router/navigation.md +641 -43
  158. package/templates/tanstack-start/docs/library/tanstack-router/route-context.md +889 -38
  159. package/templates/tanstack-start/docs/library/tanstack-router/search-params.md +891 -29
  160. package/templates/tanstack-start/docs/library/tanstack-start/auth-patterns.md +972 -36
  161. package/templates/tanstack-start/docs/library/tanstack-start/index.md +1525 -881
  162. package/templates/tanstack-start/docs/library/tanstack-start/middleware.md +1099 -20
  163. package/templates/tanstack-start/docs/library/tanstack-start/routing.md +796 -30
  164. package/templates/tanstack-start/docs/library/tanstack-start/server-functions.md +953 -35
  165. package/templates/tanstack-start/docs/library/tanstack-start/setup.md +371 -15
  166. package/templates/tauri/CLAUDE.md +189 -0
  167. package/templates/tauri/docs/guides/distribution.md +261 -0
  168. package/templates/tauri/docs/guides/getting-started.md +302 -0
  169. package/templates/tauri/docs/guides/mobile.md +288 -0
  170. package/templates/tauri/docs/library/tauri/index.md +510 -0
@@ -6,6 +6,7 @@ ui-only: true
6
6
  ---
7
7
 
8
8
  @../../instructions/agent-patterns/read-parallelization.md
9
+ @../../instructions/agent-patterns/agent-teams-usage.md
9
10
  @../../instructions/validation/forbidden-patterns.md
10
11
  @../../instructions/validation/required-behaviors.md
11
12
 
@@ -7,6 +7,7 @@ user-invocable: true
7
7
  @../../instructions/workflow-patterns/sequential-thinking.md
8
8
  @../../instructions/agent-patterns/parallel-execution.md
9
9
  @../../instructions/agent-patterns/model-routing.md
10
+ @../../instructions/agent-patterns/agent-teams-usage.md
10
11
  @../../instructions/validation/forbidden-patterns.md
11
12
  @../../instructions/validation/required-behaviors.md
12
13
 
@@ -6,6 +6,7 @@ ui-only: true
6
6
  ---
7
7
 
8
8
  @../../instructions/agent-patterns/read-parallelization.md
9
+ @../../instructions/agent-patterns/agent-teams-usage.md
9
10
  @../../instructions/validation/forbidden-patterns.md
10
11
  @../../instructions/validation/required-behaviors.md
11
12
 
@@ -6,6 +6,7 @@ ui-only: true
6
6
  ---
7
7
 
8
8
  @../../instructions/agent-patterns/read-parallelization.md
9
+ @../../instructions/agent-patterns/agent-teams-usage.md
9
10
  @../../instructions/validation/forbidden-patterns.md
10
11
  @../../instructions/validation/required-behaviors.md
11
12
 
@@ -9,6 +9,7 @@ metadata:
9
9
  ---
10
10
 
11
11
  @../../instructions/agent-patterns/read-parallelization.md
12
+ @../../instructions/agent-patterns/agent-teams-usage.md
12
13
  @../../instructions/validation/forbidden-patterns.md
13
14
  @../../instructions/validation/required-behaviors.md
14
15
  @../../instructions/multi-agent/coordination-guide.md
@@ -7,6 +7,7 @@ user-invocable: true
7
7
  @../../instructions/workflow-patterns/sequential-thinking.md
8
8
  @../../instructions/agent-patterns/parallel-execution.md
9
9
  @../../instructions/agent-patterns/model-routing.md
10
+ @../../instructions/agent-patterns/agent-teams-usage.md
10
11
  @../../instructions/sourcing/reliable-search.md
11
12
  @../../instructions/context-optimization/phase-based-execution.md
12
13
  @../../instructions/context-optimization/sub-agent-distribution.md
@@ -6,6 +6,7 @@ user-invocable: true
6
6
 
7
7
  @../../instructions/workflow-patterns/sequential-thinking.md
8
8
  @../../instructions/agent-patterns/read-parallelization.md
9
+ @../../instructions/agent-patterns/agent-teams-usage.md
9
10
  @../../instructions/sourcing/reliable-search.md
10
11
  @../../instructions/context-optimization/redundant-exploration-prevention.md
11
12
  @../../instructions/validation/forbidden-patterns.md
@@ -0,0 +1,275 @@
1
+ # Project Optimizer
2
+
3
+ **Version 1.0.0**
4
+ 범용 프로젝트 최적화 가이드 (언어/프레임워크 무관)
5
+ February 2026
6
+
7
+ > **참고:**
8
+ > 이 문서는 주로 에이전트와 LLM이 프로젝트 코드베이스를 분석, 최적화, 리팩토링할 때 따르기 위한 것입니다. 어떤 언어/프레임워크든 적용 가능한 보편적 최적화 원칙 기반.
9
+
10
+ ---
11
+
12
+ ## 요약
13
+
14
+ AI 에이전트를 위한 범용 프로젝트 최적화 가이드. 8개 카테고리에 걸쳐 38개 규칙을 포함하며, 영향도별로 우선순위 매김 (critical: 동시성, 빌드 최적화 → incremental: 아키텍처). 언어/프레임워크를 자동 감지하여 해당 언어의 관용적 패턴으로 규칙 적용. 프레임워크 특화 스킬(nextjs, tanstack-start, tauri)과 자동 체이닝 지원.
15
+
16
+ ---
17
+
18
+ <instructions>
19
+
20
+ ## 문서 사용 지침
21
+
22
+ @rules/concurrency-parallel.md
23
+ @rules/concurrency-defer-await.md
24
+ @rules/concurrency-pipeline.md
25
+ @rules/concurrency-pool.md
26
+ @rules/build-incremental.md
27
+ @rules/build-tree-shake.md
28
+ @rules/build-code-split.md
29
+ @rules/build-minify.md
30
+ @rules/build-cache.md
31
+ @rules/io-batch-queries.md
32
+ @rules/io-cache-layer.md
33
+ @rules/io-stream.md
34
+ @rules/io-connection-reuse.md
35
+ @rules/io-serialize-minimal.md
36
+ @rules/memory-leak-prevention.md
37
+ @rules/memory-pool-reuse.md
38
+ @rules/memory-lazy-init.md
39
+ @rules/memory-bounded-cache.md
40
+ @rules/memory-large-data.md
41
+ @rules/code-dead-elimination.md
42
+ @rules/code-duplication.md
43
+ @rules/code-complexity.md
44
+ @rules/code-naming.md
45
+ @rules/code-error-handling.md
46
+ @rules/deps-unused-removal.md
47
+ @rules/deps-security-audit.md
48
+ @rules/deps-version-pin.md
49
+ @rules/deps-lightweight-alt.md
50
+ @rules/deps-peer-align.md
51
+ @rules/dx-type-safety.md
52
+ @rules/dx-lint-config.md
53
+ @rules/dx-test-coverage.md
54
+ @rules/dx-ci-speed.md
55
+ @rules/dx-dev-server.md
56
+ @rules/arch-module-boundary.md
57
+ @rules/arch-interface-segregation.md
58
+ @rules/arch-config-centralize.md
59
+ @rules/arch-hot-path.md
60
+
61
+ </instructions>
62
+
63
+ ---
64
+
65
+ <categories>
66
+
67
+ ## 카테고리별 우선순위
68
+
69
+ | 우선순위 | 카테고리 | 영향도 | 설명 |
70
+ |---------|---------|--------|------|
71
+ | 1 | 동시성/병렬화 | **CRITICAL** | 순차 I/O를 병렬로 전환. 가장 큰 성능 향상 |
72
+ | 2 | 빌드/번들 최적화 | **CRITICAL** | 빌드 시간, 출력 크기 감소 |
73
+ | 3 | I/O 성능 | **HIGH** | DB/네트워크/파일 I/O 효율화 |
74
+ | 4 | 메모리/리소스 관리 | HIGH | 메모리 누수 방지, 리소스 효율 |
75
+ | 5 | 코드 품질 | MEDIUM-HIGH | 유지보수성, 가독성, 정확성 |
76
+ | 6 | 의존성 관리 | MEDIUM | 보안, 크기, 호환성 |
77
+ | 7 | DX (개발자 경험) | MEDIUM | 타입 안전성, 린팅, 테스트, CI |
78
+ | 8 | 아키텍처 | LOW-MEDIUM | 모듈 경계, 인터페이스, 설정 관리 |
79
+
80
+ </categories>
81
+
82
+ ---
83
+
84
+ <critical_patterns>
85
+
86
+ ## 1. 동시성/병렬화 (CRITICAL)
87
+
88
+ 순차 I/O는 가장 큰 성능 저해 요소. 독립 작업은 항상 동시 실행.
89
+
90
+ ### 병렬 실행 (다국어)
91
+
92
+ | 언어 | 순차 (❌) | 병렬 (✅) |
93
+ |------|----------|----------|
94
+ | **JS/TS** | `await a(); await b()` | `await Promise.all([a(), b()])` |
95
+ | **Python** | `await a(); await b()` | `await asyncio.gather(a(), b())` |
96
+ | **Go** | `a(); b()` | `errgroup.Go(a); errgroup.Go(b)` |
97
+ | **Rust** | `a.await; b.await` | `tokio::try_join!(a, b)` |
98
+ | **Java** | `a.get(); b.get()` | `CompletableFuture.allOf(a, b)` |
99
+ | **C#** | `await A(); await B()` | `await Task.WhenAll(A(), B())` |
100
+ | **Elixir** | sequential calls | `Task.async` + `Task.await_many` |
101
+ | **Ruby** | sequential calls | `Async { [task1, task2].map(&:wait) }` |
102
+
103
+ ### 커넥션 풀링
104
+
105
+ | 언어 | 라이브러리 | 설정 |
106
+ |------|-----------|------|
107
+ | **JS/TS** | `generic-pool`, Prisma | `pool: { min: 2, max: 10 }` |
108
+ | **Python** | `sqlalchemy`, `asyncpg` | `pool_size=10, max_overflow=20` |
109
+ | **Go** | `database/sql` | `SetMaxOpenConns(25)` |
110
+ | **Rust** | `deadpool`, `bb8` | `Pool::builder().max_size(16)` |
111
+ | **Java** | HikariCP | `maximumPoolSize=10` |
112
+
113
+ </critical_patterns>
114
+
115
+ ---
116
+
117
+ <build_optimization>
118
+
119
+ ## 2. 빌드/번들 최적화 (CRITICAL)
120
+
121
+ ### 증분 빌드 설정
122
+
123
+ | 도구 | 설정 |
124
+ |------|------|
125
+ | **TypeScript** | `"incremental": true` in tsconfig.json |
126
+ | **Rust** | `incremental = true` in Cargo.toml `[profile.dev]` |
127
+ | **Go** | 기본 활성화 (`go build` 캐시) |
128
+ | **Python** | Ruff `cache-dir`, mypy `incremental` |
129
+ | **Gradle** | `org.gradle.caching=true` |
130
+ | **CMake** | ccache / sccache 연동 |
131
+
132
+ ### CI 캐시 전략
133
+
134
+ | 패키지 매니저 | 캐시 대상 |
135
+ |-------------|----------|
136
+ | npm/yarn/pnpm | `node_modules`, `.yarn/cache` |
137
+ | pip | `~/.cache/pip` |
138
+ | cargo | `~/.cargo/registry`, `target/` |
139
+ | go | `~/go/pkg/mod`, `~/.cache/go-build` |
140
+ | gradle | `~/.gradle/caches` |
141
+
142
+ </build_optimization>
143
+
144
+ ---
145
+
146
+ <io_performance>
147
+
148
+ ## 3. I/O 성능 (HIGH)
149
+
150
+ ### N+1 쿼리 패턴 제거
151
+
152
+ ```
153
+ ❌ N+1: 목록 1쿼리 + 각 항목 N쿼리 = N+1 쿼리
154
+ ✅ 배치: 목록 1쿼리 + IN절 1쿼리 = 2쿼리
155
+ ✅ 조인: 1쿼리로 전체 해결
156
+ ```
157
+
158
+ | ORM | N+1 해결 방법 |
159
+ |-----|-------------|
160
+ | **Prisma** | `include: { relation: true }` |
161
+ | **SQLAlchemy** | `joinedload()`, `selectinload()` |
162
+ | **GORM** | `Preload("Relation")` |
163
+ | **ActiveRecord** | `includes(:relation)` |
164
+ | **Hibernate** | `@EntityGraph`, `JOIN FETCH` |
165
+ | **Diesel** | `belonging_to().load()` |
166
+
167
+ ### 캐시 레이어
168
+
169
+ ```
170
+ 요청 → L1 (인메모리, <1ms) → L2 (Redis, <5ms) → L3 (DB, ~50ms)
171
+ ↑ 캐시 히트 ↑ 캐시 히트 ↑ 캐시 미스
172
+ ```
173
+
174
+ </io_performance>
175
+
176
+ ---
177
+
178
+ <memory_management>
179
+
180
+ ## 4. 메모리/리소스 관리 (HIGH)
181
+
182
+ ### 리소스 해제 패턴
183
+
184
+ | 언어 | 패턴 |
185
+ |------|------|
186
+ | **Python** | `with` (context manager) |
187
+ | **Go** | `defer resource.Close()` |
188
+ | **Rust** | RAII (Drop trait, 자동 해제) |
189
+ | **Java** | try-with-resources |
190
+ | **C#** | `using` statement |
191
+ | **JS/TS** | `try/finally`, `using` (TC39 Stage 3) |
192
+ | **C++** | RAII, `std::unique_ptr` |
193
+
194
+ ### 대용량 데이터 처리
195
+
196
+ ```
197
+ ❌ 전체 로드: loadAll() → 메모리 폭발
198
+ ✅ 스트리밍: stream/iterator/generator → 일정 메모리
199
+ ✅ 페이지네이션: page(offset, limit) → 제한된 메모리
200
+ ```
201
+
202
+ </memory_management>
203
+
204
+ ---
205
+
206
+ <code_quality>
207
+
208
+ ## 5. 코드 품질 (MEDIUM-HIGH)
209
+
210
+ ### 복잡도 감소 패턴
211
+
212
+ | 패턴 | 효과 |
213
+ |------|------|
214
+ | **Early return** | 중첩 깊이 -2~3단계 |
215
+ | **Guard clause** | 예외 조건 상단 배치 |
216
+ | **Extract method** | 단일 책임 분리 |
217
+ | **Replace conditional with polymorphism** | if-else 체인 제거 |
218
+ | **Table-driven** | switch/case → 맵/딕셔너리 |
219
+
220
+ ### 에러 처리 일관성
221
+
222
+ | 언어 | 권장 패턴 |
223
+ |------|----------|
224
+ | **Go** | `(value, error)` 튜플, sentinel errors |
225
+ | **Rust** | `Result<T, E>`, `?` 연산자 |
226
+ | **Python** | 커스텀 Exception 계층, `raise from` |
227
+ | **JS/TS** | 커스텀 Error 클래스, Result 패턴 |
228
+ | **Java** | checked exception 최소화, unchecked 선호 |
229
+
230
+ </code_quality>
231
+
232
+ ---
233
+
234
+ <dependency_management>
235
+
236
+ ## 6. 의존성 관리 (MEDIUM)
237
+
238
+ ### 미사용 의존성 감지 도구
239
+
240
+ | 언어 | 도구 |
241
+ |------|------|
242
+ | **JS/TS** | `depcheck`, `knip` |
243
+ | **Python** | `pip-autoremove`, `deptry` |
244
+ | **Go** | `go mod tidy` (내장) |
245
+ | **Rust** | `cargo-udeps` |
246
+ | **Java** | `gradle-dependency-analysis` |
247
+
248
+ ### 보안 취약점 스캔
249
+
250
+ | 언어 | 도구 |
251
+ |------|------|
252
+ | **JS/TS** | `npm audit`, `yarn audit`, `snyk` |
253
+ | **Python** | `pip-audit`, `safety` |
254
+ | **Go** | `govulncheck` |
255
+ | **Rust** | `cargo-audit` |
256
+ | **범용** | `trivy`, `grype`, Dependabot |
257
+
258
+ </dependency_management>
259
+
260
+ ---
261
+
262
+ <references>
263
+
264
+ ## 참고 자료
265
+
266
+ ### 범용
267
+ 1. [Google Engineering Practices](https://google.github.io/eng-practices/)
268
+ 2. [The Twelve-Factor App](https://12factor.net/)
269
+
270
+ ### 언어별
271
+ 3. [Effective Go](https://go.dev/doc/effective_go)
272
+ 4. [Rust Performance Book](https://nnethercote.github.io/perf-book/)
273
+ 5. [Node.js Best Practices](https://github.com/goldbergyoni/nodebestpractices)
274
+
275
+ </references>