@kood/claude-code 0.6.5 → 0.6.7

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (137) hide show
  1. package/dist/index.js +255 -149
  2. package/package.json +1 -1
  3. package/templates/.claude/agents/researcher.md +8 -1
  4. package/templates/.claude/instructions/sourcing/reliable-search.md +49 -2
  5. package/templates/.claude/scripts/deploy/build-run.sh +36 -0
  6. package/templates/.claude/scripts/deploy/deploy-check.sh +38 -0
  7. package/templates/.claude/scripts/git/git-all.sh +57 -0
  8. package/templates/.claude/scripts/git/git-clean-check.sh +31 -0
  9. package/templates/.claude/scripts/git/git-commit.sh +51 -0
  10. package/templates/.claude/scripts/git/git-info.sh +34 -0
  11. package/templates/.claude/scripts/git/git-push.sh +50 -0
  12. package/templates/.claude/scripts/lint/lint-check.sh +56 -0
  13. package/templates/.claude/scripts/lint/lint-file.sh +41 -0
  14. package/templates/.claude/scripts/pm/pm-detect.sh +25 -0
  15. package/templates/.claude/scripts/pm/pm-run.sh +41 -0
  16. package/templates/.claude/scripts/version/version-bump.sh +54 -0
  17. package/templates/.claude/scripts/version/version-find.sh +49 -0
  18. package/templates/.claude/skills/docs-fetch/SKILL.md +5 -4
  19. package/templates/.claude/skills/project-optimizer/AGENTS.md +275 -0
  20. package/templates/.claude/skills/project-optimizer/SKILL.md +374 -0
  21. package/templates/.claude/skills/project-optimizer/rules/arch-config-centralize.md +66 -0
  22. package/templates/.claude/skills/project-optimizer/rules/arch-hot-path.md +35 -0
  23. package/templates/.claude/skills/project-optimizer/rules/arch-interface-segregation.md +51 -0
  24. package/templates/.claude/skills/project-optimizer/rules/arch-module-boundary.md +42 -0
  25. package/templates/.claude/skills/project-optimizer/rules/build-cache.md +57 -0
  26. package/templates/.claude/skills/project-optimizer/rules/build-code-split.md +56 -0
  27. package/templates/.claude/skills/project-optimizer/rules/build-incremental.md +65 -0
  28. package/templates/.claude/skills/project-optimizer/rules/build-minify.md +61 -0
  29. package/templates/.claude/skills/project-optimizer/rules/build-tree-shake.md +60 -0
  30. package/templates/.claude/skills/project-optimizer/rules/code-complexity.md +65 -0
  31. package/templates/.claude/skills/project-optimizer/rules/code-dead-elimination.md +32 -0
  32. package/templates/.claude/skills/project-optimizer/rules/code-duplication.md +54 -0
  33. package/templates/.claude/skills/project-optimizer/rules/code-error-handling.md +75 -0
  34. package/templates/.claude/skills/project-optimizer/rules/code-naming.md +52 -0
  35. package/templates/.claude/skills/project-optimizer/rules/concurrency-defer-await.md +54 -0
  36. package/templates/.claude/skills/project-optimizer/rules/concurrency-parallel.md +90 -0
  37. package/templates/.claude/skills/project-optimizer/rules/concurrency-pipeline.md +68 -0
  38. package/templates/.claude/skills/project-optimizer/rules/concurrency-pool.md +68 -0
  39. package/templates/.claude/skills/project-optimizer/rules/deps-lightweight-alt.md +37 -0
  40. package/templates/.claude/skills/project-optimizer/rules/deps-peer-align.md +44 -0
  41. package/templates/.claude/skills/project-optimizer/rules/deps-security-audit.md +45 -0
  42. package/templates/.claude/skills/project-optimizer/rules/deps-unused-removal.md +25 -0
  43. package/templates/.claude/skills/project-optimizer/rules/deps-version-pin.md +40 -0
  44. package/templates/.claude/skills/project-optimizer/rules/dx-ci-speed.md +47 -0
  45. package/templates/.claude/skills/project-optimizer/rules/dx-dev-server.md +35 -0
  46. package/templates/.claude/skills/project-optimizer/rules/dx-lint-config.md +36 -0
  47. package/templates/.claude/skills/project-optimizer/rules/dx-test-coverage.md +34 -0
  48. package/templates/.claude/skills/project-optimizer/rules/dx-type-safety.md +49 -0
  49. package/templates/.claude/skills/project-optimizer/rules/io-batch-queries.md +67 -0
  50. package/templates/.claude/skills/project-optimizer/rules/io-cache-layer.md +67 -0
  51. package/templates/.claude/skills/project-optimizer/rules/io-connection-reuse.md +67 -0
  52. package/templates/.claude/skills/project-optimizer/rules/io-serialize-minimal.md +61 -0
  53. package/templates/.claude/skills/project-optimizer/rules/io-stream.md +75 -0
  54. package/templates/.claude/skills/project-optimizer/rules/memory-bounded-cache.md +65 -0
  55. package/templates/.claude/skills/project-optimizer/rules/memory-large-data.md +64 -0
  56. package/templates/.claude/skills/project-optimizer/rules/memory-lazy-init.md +78 -0
  57. package/templates/.claude/skills/project-optimizer/rules/memory-leak-prevention.md +79 -0
  58. package/templates/.claude/skills/project-optimizer/rules/memory-pool-reuse.md +70 -0
  59. package/templates/.claude/skills/sql-optimizer/SKILL.md +437 -0
  60. package/templates/.claude/skills/sql-optimizer/orm-patterns.md +218 -0
  61. package/templates/.claude/skills/tanstack-start-react-best-practices/AGENTS.md +53 -14
  62. package/templates/.claude/skills/tanstack-start-react-best-practices/SKILL.md +93 -27
  63. package/templates/.claude/skills/tanstack-start-react-best-practices/rules/bundle-defer-third-party.md +42 -19
  64. package/templates/.claude/skills/tanstack-start-react-best-practices/rules/client-optimistic-updates.md +109 -0
  65. package/templates/.claude/skills/tanstack-start-react-best-practices/rules/client-suspense-query.md +74 -0
  66. package/templates/.claude/skills/tanstack-start-react-best-practices/rules/client-use-hook.md +81 -0
  67. package/templates/.claude/skills/tanstack-start-react-best-practices/rules/rerender-react-compiler.md +81 -0
  68. package/templates/.claude/skills/tanstack-start-react-best-practices/rules/routing-beforeload-auth.md +121 -0
  69. package/templates/.claude/skills/tanstack-start-react-best-practices/rules/routing-file-conventions.md +104 -0
  70. package/templates/.claude/skills/tanstack-start-react-best-practices/rules/routing-link-navigation.md +119 -0
  71. package/templates/.claude/skills/tanstack-start-react-best-practices/rules/routing-nested-layouts.md +155 -0
  72. package/templates/.claude/skills/tanstack-start-react-best-practices/rules/routing-path-params.md +89 -0
  73. package/templates/.claude/skills/tanstack-start-react-best-practices/rules/routing-pending-component.md +110 -0
  74. package/templates/.claude/skills/tanstack-start-react-best-practices/rules/routing-preload-strategy.md +91 -0
  75. package/templates/.claude/skills/tanstack-start-react-best-practices/rules/routing-router-context.md +120 -0
  76. package/templates/.claude/skills/tanstack-start-react-best-practices/rules/routing-search-params.md +114 -0
  77. package/templates/.claude/skills/tanstack-start-react-best-practices/rules/server-deferred-data.md +1 -1
  78. package/templates/.claude/skills/tanstack-start-react-best-practices/rules/server-error-boundaries.md +79 -0
  79. package/templates/.claude/skills/tanstack-start-react-best-practices/rules/server-middleware.md +85 -0
  80. package/templates/.claude/skills/tanstack-start-react-best-practices/rules/server-serialization.md +56 -21
  81. package/templates/.claude/skills/tanstack-start-react-best-practices/rules/server-streaming.md +84 -0
  82. package/templates/.claude/skills/tanstack-start-react-best-practices/rules/server-validator.md +71 -0
  83. package/templates/.claude/skills/tauri-react-best-practices/AGENTS.md +527 -0
  84. package/templates/.claude/skills/tauri-react-best-practices/SKILL.md +570 -0
  85. package/templates/.claude/skills/tauri-react-best-practices/rules/bundle-barrel-imports.md +140 -0
  86. package/templates/.claude/skills/tauri-react-best-practices/rules/bundle-cargo-profile.md +96 -0
  87. package/templates/.claude/skills/tauri-react-best-practices/rules/bundle-frontend-treeshake.md +242 -0
  88. package/templates/.claude/skills/tauri-react-best-practices/rules/bundle-lazy-components.md +255 -0
  89. package/templates/.claude/skills/tauri-react-best-practices/rules/bundle-remove-unused-commands.md +160 -0
  90. package/templates/.claude/skills/tauri-react-best-practices/rules/deploy-ci-pipeline.md +269 -0
  91. package/templates/.claude/skills/tauri-react-best-practices/rules/deploy-signing.md +207 -0
  92. package/templates/.claude/skills/tauri-react-best-practices/rules/deploy-updater.md +226 -0
  93. package/templates/.claude/skills/tauri-react-best-practices/rules/ipc-async-commands.md +172 -0
  94. package/templates/.claude/skills/tauri-react-best-practices/rules/ipc-batch-commands.md +133 -0
  95. package/templates/.claude/skills/tauri-react-best-practices/rules/ipc-binary-response.md +198 -0
  96. package/templates/.claude/skills/tauri-react-best-practices/rules/ipc-channel-streaming.md +186 -0
  97. package/templates/.claude/skills/tauri-react-best-practices/rules/ipc-error-handling.md +250 -0
  98. package/templates/.claude/skills/tauri-react-best-practices/rules/ipc-type-safe.md +227 -0
  99. package/templates/.claude/skills/tauri-react-best-practices/rules/perf-derived-state.md +231 -0
  100. package/templates/.claude/skills/tauri-react-best-practices/rules/perf-functional-setstate.md +191 -0
  101. package/templates/.claude/skills/tauri-react-best-practices/rules/perf-index-maps.md +276 -0
  102. package/templates/.claude/skills/tauri-react-best-practices/rules/perf-lazy-state-init.md +196 -0
  103. package/templates/.claude/skills/tauri-react-best-practices/rules/plugin-lifecycle.md +265 -0
  104. package/templates/.claude/skills/tauri-react-best-practices/rules/plugin-mobile-compat.md +199 -0
  105. package/templates/.claude/skills/tauri-react-best-practices/rules/plugin-permission-scope.md +193 -0
  106. package/templates/.claude/skills/tauri-react-best-practices/rules/react-error-boundary.md +239 -0
  107. package/templates/.claude/skills/tauri-react-best-practices/rules/react-event-listener.md +151 -0
  108. package/templates/.claude/skills/tauri-react-best-practices/rules/react-file-src.md +155 -0
  109. package/templates/.claude/skills/tauri-react-best-practices/rules/react-invoke-hook.md +139 -0
  110. package/templates/.claude/skills/tauri-react-best-practices/rules/react-optimistic-update.md +211 -0
  111. package/templates/.claude/skills/tauri-react-best-practices/rules/security-capability-split.md +205 -0
  112. package/templates/.claude/skills/tauri-react-best-practices/rules/security-csp.md +207 -0
  113. package/templates/.claude/skills/tauri-react-best-practices/rules/security-least-privilege.md +106 -0
  114. package/templates/.claude/skills/tauri-react-best-practices/rules/security-no-wildcard.md +253 -0
  115. package/templates/.claude/skills/tauri-react-best-practices/rules/security-scope-paths.md +160 -0
  116. package/templates/.claude/skills/tauri-react-best-practices/rules/state-async-mutex.md +270 -0
  117. package/templates/.claude/skills/tauri-react-best-practices/rules/state-mutex-pattern.md +265 -0
  118. package/templates/.claude/skills/tauri-react-best-practices/rules/state-react-sync.md +375 -0
  119. package/templates/.claude/skills/tauri-react-best-practices/rules/state-single-container.md +275 -0
  120. package/templates/tanstack-start/docs/architecture.md +238 -167
  121. package/templates/tanstack-start/docs/library/tanstack-router/error-handling.md +777 -38
  122. package/templates/tanstack-start/docs/library/tanstack-router/hooks.md +549 -37
  123. package/templates/tanstack-start/docs/library/tanstack-router/index.md +895 -111
  124. package/templates/tanstack-start/docs/library/tanstack-router/navigation.md +641 -43
  125. package/templates/tanstack-start/docs/library/tanstack-router/route-context.md +889 -38
  126. package/templates/tanstack-start/docs/library/tanstack-router/search-params.md +891 -29
  127. package/templates/tanstack-start/docs/library/tanstack-start/auth-patterns.md +972 -36
  128. package/templates/tanstack-start/docs/library/tanstack-start/index.md +1525 -881
  129. package/templates/tanstack-start/docs/library/tanstack-start/middleware.md +1099 -20
  130. package/templates/tanstack-start/docs/library/tanstack-start/routing.md +796 -30
  131. package/templates/tanstack-start/docs/library/tanstack-start/server-functions.md +953 -35
  132. package/templates/tanstack-start/docs/library/tanstack-start/setup.md +371 -15
  133. package/templates/tauri/CLAUDE.md +189 -0
  134. package/templates/tauri/docs/guides/distribution.md +261 -0
  135. package/templates/tauri/docs/guides/getting-started.md +302 -0
  136. package/templates/tauri/docs/guides/mobile.md +288 -0
  137. package/templates/tauri/docs/library/tauri/index.md +510 -0
@@ -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>
@@ -0,0 +1,374 @@
1
+ ---
2
+ name: project-optimizer
3
+ description: 범용 프로젝트 최적화 스킬. 언어/프레임워크 무관하게 코드 품질, 성능, 빌드, DX를 분석하고 개선. 코드 리뷰, 리팩토링, 성능 개선, 빌드 최적화, 의존성 정리 작업에 트리거.
4
+ license: MIT
5
+ metadata:
6
+ author: kood
7
+ version: "1.0.0"
8
+ adapted_for: universal
9
+ ---
10
+
11
+ @../../instructions/agent-patterns/read-parallelization.md
12
+ @../../instructions/validation/forbidden-patterns.md
13
+ @../../instructions/validation/required-behaviors.md
14
+ @../../instructions/multi-agent/coordination-guide.md
15
+ @../../instructions/multi-agent/execution-patterns.md
16
+
17
+ # Project Optimizer
18
+
19
+ 범용 프로젝트 최적화 가이드. 언어/프레임워크에 종속되지 않는 8개 카테고리, 38개 규칙. 영향도별 우선순위로 자동 분석/리팩토링/코드 생성 가이드 제공. 어떤 프로젝트든 적용 가능한 보편적 최적화 원칙 기반.
20
+
21
+ ---
22
+
23
+ <when_to_use>
24
+
25
+ ## 사용 시점
26
+
27
+ | 상황 | 설명 |
28
+ |------|------|
29
+ | **성능 개선** | 응답 시간, 처리량, 메모리 사용량 최적화 |
30
+ | **빌드 최적화** | 빌드 속도, 출력 크기, CI/CD 파이프라인 개선 |
31
+ | **코드 품질** | 데드 코드 제거, 복잡도 감소, 중복 제거 |
32
+ | **의존성 정리** | 미사용 패키지 제거, 보안 취약점, 버전 관리 |
33
+ | **DX 개선** | 타입 안전성, 린팅, 테스트, 컨벤션 강화 |
34
+ | **코드 리뷰** | 성능/품질 이슈 검토 |
35
+ | **리팩토링** | 기존 코드 구조 개선 |
36
+
37
+ </when_to_use>
38
+
39
+ ---
40
+
41
+ <parallel_agent_execution>
42
+
43
+ ## 병렬 에이전트 실행
44
+
45
+ ### 기본 원칙
46
+
47
+ | 원칙 | 실행 방법 | 효과 |
48
+ |------|----------|------|
49
+ | **PARALLEL** | 독립 작업을 단일 메시지에서 동시 실행 | 5-15배 속도 향상 |
50
+ | **DELEGATE** | 전문 에이전트에게 즉시 위임 | 품질 향상, 컨텍스트 격리 |
51
+ | **SMART MODEL** | 복잡도별 모델 선택 (haiku/sonnet/opus) | 비용 최적화 |
52
+
53
+ ### Phase별 에이전트 활용
54
+
55
+ | Phase | 작업 | 에이전트 | 병렬 실행 |
56
+ |-------|------|---------|----------|
57
+ | **1. 프로젝트 분석** | 언어/프레임워크 감지, 구조 파악, 빌드 시스템 확인 | explore (haiku) | 여러 도메인 동시 탐색 |
58
+ | **2. 문제 진단** | 성능 병목, 코드 품질 이슈, 빌드 비효율 식별 | analyst (sonnet) | 카테고리별 동시 분석 |
59
+ | **3. 규칙 적용** | 최적화 규칙 적용, 리팩토링 실행 | implementation-executor (sonnet) | 독립 모듈/파일 동시 수정 |
60
+ | **4. 검증** | typecheck/lint/build/test 확인 | lint-fixer (sonnet), code-reviewer (opus) | lint 순차, review 병렬 |
61
+ | **5. 완료** | git commit | git-operator (sonnet) | 순차 |
62
+
63
+ ### 실전 패턴
64
+
65
+ #### 패턴 1: 프로젝트 전체 분석 (Fan-Out)
66
+
67
+ ```typescript
68
+ // 4개 도메인 동시 탐색 (60초)
69
+ Task(subagent_type="explore", model="haiku",
70
+ prompt="프로젝트 언어/프레임워크/빌드 시스템 감지. package.json, Cargo.toml, go.mod, pyproject.toml, Makefile 등 확인")
71
+
72
+ Task(subagent_type="explore", model="haiku",
73
+ prompt="코드 구조 분석: 디렉토리 구조, 진입점, 모듈 의존성 그래프 파악")
74
+
75
+ Task(subagent_type="explore", model="haiku",
76
+ prompt="빌드/CI 설정 분석: 빌드 스크립트, CI 파이프라인, Docker 설정")
77
+
78
+ Task(subagent_type="explore", model="haiku",
79
+ prompt="의존성 분석: 직접/간접 의존성 수, 보안 취약점, 미사용 패키지")
80
+ ```
81
+
82
+ #### 패턴 2: 카테고리별 병렬 최적화
83
+
84
+ ```typescript
85
+ // 독립 모듈에 다른 규칙 동시 적용
86
+ Task(subagent_type="implementation-executor", model="sonnet",
87
+ prompt="모듈 A 최적화: concurrency-parallel, io-batch-queries")
88
+
89
+ Task(subagent_type="implementation-executor", model="sonnet",
90
+ prompt="모듈 B 최적화: memory-pool-reuse, code-dead-elimination")
91
+ ```
92
+
93
+ #### 패턴 3: 대규모 리팩토링 (배치 처리)
94
+
95
+ ```typescript
96
+ // 10개+ 파일에 동일 규칙 적용 (토큰 70-90% 절감)
97
+ Task(subagent_type="implementation-executor", model="sonnet",
98
+ prompt=`다음 파일들에 concurrency-parallel 적용:
99
+ 파일 목록: [...]
100
+ 공통 규칙: 독립 I/O는 동시 실행`)
101
+ ```
102
+
103
+ ### Model Routing
104
+
105
+ | 복잡도 | 모델 | 작업 예시 | 비용 | 속도 |
106
+ |--------|------|----------|------|------|
107
+ | **LOW** | haiku | 파일 구조 파악, 의존성 목록 확인 | 1x | 3x |
108
+ | **MEDIUM** | sonnet | 규칙 적용, 리팩토링 실행 | 2x | 2x |
109
+ | **HIGH** | opus | 아키텍처 설계, 보안 검토, 성능 전략 | 3x | 1x |
110
+
111
+ </parallel_agent_execution>
112
+
113
+ ---
114
+
115
+ <categories>
116
+
117
+ ## 카테고리별 우선순위
118
+
119
+ | 우선순위 | 카테고리 | 영향도 | 접두사 | 적용 범위 |
120
+ |---------|---------|--------|--------|----------|
121
+ | 1 | 동시성/병렬화 | **CRITICAL** | `concurrency-` | 모든 언어 |
122
+ | 2 | 빌드/번들 최적화 | **CRITICAL** | `build-` | 빌드 시스템 보유 프로젝트 |
123
+ | 3 | I/O 성능 | **HIGH** | `io-` | DB/네트워크/파일 I/O 사용 |
124
+ | 4 | 메모리/리소스 관리 | HIGH | `memory-` | 모든 언어 |
125
+ | 5 | 코드 품질 | MEDIUM-HIGH | `code-` | 모든 프로젝트 |
126
+ | 6 | 의존성 관리 | MEDIUM | `deps-` | 패키지 매니저 사용 |
127
+ | 7 | DX (개발자 경험) | MEDIUM | `dx-` | 팀 프로젝트 |
128
+ | 8 | 아키텍처 | LOW-MEDIUM | `arch-` | 중대형 프로젝트 |
129
+
130
+ </categories>
131
+
132
+ ---
133
+
134
+ <rules>
135
+
136
+ ## 빠른 참조
137
+
138
+ ### 1. 동시성/병렬화 (CRITICAL)
139
+
140
+ | 규칙 | 설명 |
141
+ |------|------|
142
+ | `concurrency-parallel` | 독립 작업은 동시 실행 (Promise.all, goroutine, asyncio.gather, rayon 등) |
143
+ | `concurrency-defer-await` | await/블로킹을 실제 사용 지점으로 이동 |
144
+ | `concurrency-pipeline` | 파이프라인 병렬화 (생산자-소비자, 스트리밍) |
145
+ | `concurrency-pool` | 동시 실행 수 제한 (connection pool, worker pool, semaphore) |
146
+
147
+ ### 2. 빌드/번들 최적화 (CRITICAL)
148
+
149
+ | 규칙 | 설명 |
150
+ |------|------|
151
+ | `build-incremental` | 증분 빌드 활성화 (캐시, 변경 감지) |
152
+ | `build-tree-shake` | 미사용 코드 자동 제거 (dead code elimination) |
153
+ | `build-code-split` | 진입점/라우트별 코드 분할 (lazy loading) |
154
+ | `build-minify` | 프로덕션 출력 최소화 (minification, compression) |
155
+ | `build-cache` | 빌드 캐시 활용 (CI/로컬) |
156
+
157
+ ### 3. I/O 성능 (HIGH)
158
+
159
+ | 규칙 | 설명 |
160
+ |------|------|
161
+ | `io-batch-queries` | N+1 쿼리 → 배치/조인으로 전환 |
162
+ | `io-cache-layer` | 반복 읽기에 캐시 레이어 추가 (TTL, LRU, 인메모리) |
163
+ | `io-stream` | 대용량 데이터는 스트리밍 처리 (청크, 이터레이터, 제너레이터) |
164
+ | `io-connection-reuse` | 커넥션 풀/keep-alive/재사용 |
165
+ | `io-serialize-minimal` | 필요한 필드만 직렬화/전송 |
166
+
167
+ ### 4. 메모리/리소스 관리 (HIGH)
168
+
169
+ | 규칙 | 설명 |
170
+ |------|------|
171
+ | `memory-leak-prevention` | 리소스 해제 보장 (close, dispose, cleanup, finally) |
172
+ | `memory-pool-reuse` | 객체 풀링/재사용 (버퍼, 커넥션, 스레드) |
173
+ | `memory-lazy-init` | 비싼 초기화는 지연 실행 |
174
+ | `memory-bounded-cache` | 캐시에 크기 제한 설정 (LRU, TTL, maxSize) |
175
+ | `memory-large-data` | 대용량 데이터는 스트림/페이지네이션 처리 |
176
+
177
+ ### 5. 코드 품질 (MEDIUM-HIGH)
178
+
179
+ | 규칙 | 설명 |
180
+ |------|------|
181
+ | `code-dead-elimination` | 미사용 코드/변수/import 제거 |
182
+ | `code-duplication` | 중복 코드 추출/통합 (DRY, 단 3회 이상부터) |
183
+ | `code-complexity` | 순환 복잡도 감소 (early return, guard clause, 분리) |
184
+ | `code-naming` | 의도를 드러내는 명확한 이름 |
185
+ | `code-error-handling` | 일관된 에러 처리 패턴 (Result, Either, 에러 타입 계층) |
186
+
187
+ ### 6. 의존성 관리 (MEDIUM)
188
+
189
+ | 규칙 | 설명 |
190
+ |------|------|
191
+ | `deps-unused-removal` | 미사용 의존성 제거 |
192
+ | `deps-security-audit` | 보안 취약점 스캔 및 업데이트 |
193
+ | `deps-version-pin` | 프로덕션 의존성 버전 고정 |
194
+ | `deps-lightweight-alt` | 무거운 라이브러리 → 경량 대안 또는 자체 구현 |
195
+ | `deps-peer-align` | peer dependency 버전 충돌 해결 |
196
+
197
+ ### 7. DX - 개발자 경험 (MEDIUM)
198
+
199
+ | 규칙 | 설명 |
200
+ |------|------|
201
+ | `dx-type-safety` | 타입 시스템 최대 활용 (strict mode, 제네릭, 유니온) |
202
+ | `dx-lint-config` | 린터/포매터 최적 설정 |
203
+ | `dx-test-coverage` | 핵심 로직 테스트 커버리지 확보 |
204
+ | `dx-ci-speed` | CI 파이프라인 속도 최적화 (캐시, 병렬, 불필요 단계 제거) |
205
+ | `dx-dev-server` | 로컬 개발 서버 시작 속도 개선 |
206
+
207
+ ### 8. 아키텍처 (LOW-MEDIUM)
208
+
209
+ | 규칙 | 설명 |
210
+ |------|------|
211
+ | `arch-module-boundary` | 모듈 경계 명확화 (순환 의존 제거) |
212
+ | `arch-interface-segregation` | 인터페이스 분리 (큰 인터페이스 → 작은 단위) |
213
+ | `arch-config-centralize` | 설정/환경변수 중앙 관리 |
214
+ | `arch-hot-path` | 핫 패스 식별 및 집중 최적화 |
215
+
216
+ </rules>
217
+
218
+ ---
219
+
220
+ <language_detection>
221
+
222
+ ## 언어/프레임워크 자동 감지
223
+
224
+ ### 감지 매트릭스
225
+
226
+ | 감지 파일 | 언어/도구 | 추가 확인 |
227
+ |-----------|----------|----------|
228
+ | `package.json` | Node.js/TypeScript | `tsconfig.json` → TS |
229
+ | `Cargo.toml` | Rust | `rust-toolchain.toml` |
230
+ | `go.mod` | Go | `go.sum` |
231
+ | `pyproject.toml` / `requirements.txt` | Python | `setup.py`, `poetry.lock` |
232
+ | `pom.xml` / `build.gradle` | Java/Kotlin | `settings.gradle` |
233
+ | `Gemfile` | Ruby | `Rakefile` |
234
+ | `composer.json` | PHP | |
235
+ | `mix.exs` | Elixir | |
236
+ | `CMakeLists.txt` | C/C++ | `Makefile` |
237
+ | `*.sln` / `*.csproj` | C#/.NET | |
238
+ | `pubspec.yaml` | Dart/Flutter | |
239
+ | `Package.swift` | Swift | `*.xcodeproj` |
240
+
241
+ ### 감지 후 동작
242
+
243
+ 1. **규칙 필터링**: 감지된 언어의 `languages` 태그가 `all` 또는 해당 언어를 포함하는 규칙만 적용
244
+ 2. **예시 선택**: 규칙 내 코드 예시 중 감지된 언어의 관용적 패턴 우선 제시
245
+ 3. **도구 매핑**: 감지된 언어에 맞는 빌드/린트/테스트 도구 자동 선택
246
+ 4. **프레임워크 체이닝**: 프레임워크 감지 시 해당 best-practices 스킬 자동 참조
247
+
248
+ </language_detection>
249
+
250
+ ---
251
+
252
+ <workflow>
253
+
254
+ ## 실행 워크플로우
255
+
256
+ ### Phase 1: 프로젝트 분석 (병렬)
257
+
258
+ ```
259
+ 1. 언어/프레임워크/빌드 시스템 감지 (explore x haiku)
260
+ 2. 코드 구조/모듈 의존성 파악 (explore x haiku)
261
+ 3. 빌드/CI 설정 분석 (explore x haiku)
262
+ 4. 의존성 상태 분석 (explore x haiku)
263
+ ```
264
+
265
+ ### Phase 2: 문제 진단 (병렬)
266
+
267
+ ```
268
+ 1. 카테고리별 이슈 스캔 (analyst x sonnet)
269
+ - 우선순위 1-4 (CRITICAL/HIGH) 집중
270
+ - 각 이슈에 영향도/규칙 매핑
271
+ 2. 기존 best-practices 스킬과 교차 참조
272
+ - nextjs-react-best-practices (Next.js 프로젝트)
273
+ - tanstack-start-react-best-practices (TanStack 프로젝트)
274
+ - tauri-react-best-practices (Tauri 프로젝트)
275
+ ```
276
+
277
+ ### Phase 3: 최적화 실행 (병렬)
278
+
279
+ ```
280
+ 1. CRITICAL 이슈 먼저 (concurrency, build)
281
+ 2. HIGH 이슈 (io, memory)
282
+ 3. MEDIUM+ 이슈 (code, deps, dx)
283
+ 4. 독립 모듈은 병렬 실행
284
+ ```
285
+
286
+ ### Phase 4: 검증
287
+
288
+ ```
289
+ 1. 빌드 성공 확인
290
+ 2. 테스트 통과 확인
291
+ 3. 린트/타입체크 확인
292
+ 4. 성능 벤치마크 (있으면)
293
+ ```
294
+
295
+ </workflow>
296
+
297
+ ---
298
+
299
+ <skill_chaining>
300
+
301
+ ## 다른 스킬과 병행
302
+
303
+ ### 자동 감지 및 체이닝
304
+
305
+ | 감지 조건 | 추천 스킬 | 역할 |
306
+ |-----------|----------|------|
307
+ | Next.js 프로젝트 | `nextjs-react-best-practices` | 프레임워크 특화 규칙 병행 |
308
+ | TanStack Start 프로젝트 | `tanstack-start-react-best-practices` | 프레임워크 특화 규칙 병행 |
309
+ | Tauri 프로젝트 | `tauri-react-best-practices` | IPC/보안/번들 특화 규칙 병행 |
310
+ | 코드 구조 문제 | `refactor` | 구조적 리팩토링 계획 |
311
+ | 버그 발견 | `bug-fix` | 버그 수정 워크플로우 |
312
+ | 의존성 문서 필요 | `docs-fetch` | 라이브러리 문서 수집 |
313
+ | 배포 전 검증 | `pre-deploy` | typecheck/lint/build 전체 검증 |
314
+
315
+ ### 우선순위 규칙
316
+
317
+ | 우선순위 | 규칙 |
318
+ |---------|------|
319
+ | 1 | **프레임워크 특화 스킬 우선**: 프레임워크 스킬의 규칙이 project-optimizer 범용 규칙보다 우선 |
320
+ | 2 | **충돌 시 특화 우선**: 동일 주제에서 범용 규칙과 프레임워크 규칙이 충돌하면 프레임워크 규칙 적용 |
321
+ | 3 | **보완 병행**: 프레임워크 스킬에 없는 카테고리 (concurrency, memory, deps 등)는 project-optimizer 규칙 적용 |
322
+ | 4 | **단계적 적용**: Phase 1-2에서 project-optimizer 분석 → Phase 3에서 프레임워크 스킬과 병합 실행 |
323
+
324
+ </skill_chaining>
325
+
326
+ ---
327
+
328
+ <usage>
329
+
330
+ ## 사용법
331
+
332
+ **상세 규칙 및 예시:**
333
+
334
+ ```
335
+ rules/concurrency-parallel.md
336
+ rules/build-incremental.md
337
+ rules/io-batch-queries.md
338
+ rules/memory-leak-prevention.md
339
+ rules/code-dead-elimination.md
340
+ rules/deps-unused-removal.md
341
+ rules/dx-type-safety.md
342
+ rules/arch-module-boundary.md
343
+ ```
344
+
345
+ 각 규칙 파일 포함 내용:
346
+ - 중요한 이유 설명
347
+ - 여러 언어의 ❌ 잘못된 코드 예시
348
+ - 여러 언어의 ✅ 올바른 코드 예시
349
+ - 추가 컨텍스트 및 참조
350
+
351
+ </usage>
352
+
353
+ ---
354
+
355
+ <references>
356
+
357
+ ## 참고 자료
358
+
359
+ ### 범용
360
+ 1. [Google Engineering Practices](https://google.github.io/eng-practices/)
361
+ 2. [The Twelve-Factor App](https://12factor.net/)
362
+
363
+ ### 언어별
364
+ 3. [Effective Go](https://go.dev/doc/effective_go)
365
+ 4. [Rust Performance Book](https://nnethercote.github.io/perf-book/)
366
+ 5. [Python Performance Tips](https://docs.python.org/3/howto/perf_profiling.html)
367
+ 6. [Node.js Best Practices](https://github.com/goldbergyoni/nodebestpractices)
368
+
369
+ ### 빌드/번들
370
+ 7. [Vite Performance](https://vite.dev/guide/performance)
371
+ 8. [webpack Tree Shaking](https://webpack.js.org/guides/tree-shaking/)
372
+ 9. [Turborepo](https://turbo.build/repo/docs)
373
+
374
+ </references>