@kood/claude-code 0.1.5 → 0.1.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 (77) hide show
  1. package/dist/index.js +21 -243
  2. package/package.json +1 -1
  3. package/templates/hono/CLAUDE.md +10 -6
  4. package/templates/hono/docs/deployment/index.md +5 -0
  5. package/templates/hono/docs/library/hono/index.md +6 -0
  6. package/templates/hono/docs/library/prisma/index.md +3 -0
  7. package/templates/npx/CLAUDE.md +8 -2
  8. package/templates/tanstack-start/CLAUDE.md +105 -259
  9. package/templates/tanstack-start/docs/deployment/cloudflare.md +37 -424
  10. package/templates/tanstack-start/docs/deployment/index.md +57 -286
  11. package/templates/tanstack-start/docs/deployment/nitro.md +36 -318
  12. package/templates/tanstack-start/docs/deployment/railway.md +40 -409
  13. package/templates/tanstack-start/docs/deployment/vercel.md +43 -465
  14. package/templates/tanstack-start/docs/design/accessibility.md +56 -326
  15. package/templates/tanstack-start/docs/design/color.md +37 -179
  16. package/templates/tanstack-start/docs/design/components.md +77 -311
  17. package/templates/tanstack-start/docs/design/index.md +24 -87
  18. package/templates/tanstack-start/docs/design/safe-area.md +51 -250
  19. package/templates/tanstack-start/docs/design/spacing.md +57 -276
  20. package/templates/tanstack-start/docs/design/tailwind-setup.md +45 -359
  21. package/templates/tanstack-start/docs/design/typography.md +40 -284
  22. package/templates/tanstack-start/docs/guides/best-practices.md +3 -8
  23. package/templates/tanstack-start/docs/guides/env-setup.md +3 -3
  24. package/templates/tanstack-start/docs/library/better-auth/2fa.md +27 -115
  25. package/templates/tanstack-start/docs/library/better-auth/advanced.md +22 -105
  26. package/templates/tanstack-start/docs/library/better-auth/index.md +17 -66
  27. package/templates/tanstack-start/docs/library/better-auth/plugins.md +11 -88
  28. package/templates/tanstack-start/docs/library/better-auth/session.md +12 -92
  29. package/templates/tanstack-start/docs/library/better-auth/setup.md +9 -91
  30. package/templates/tanstack-start/docs/library/prisma/cloudflare-d1.md +30 -358
  31. package/templates/tanstack-start/docs/library/prisma/config.md +27 -327
  32. package/templates/tanstack-start/docs/library/prisma/crud.md +46 -174
  33. package/templates/tanstack-start/docs/library/prisma/index.md +23 -113
  34. package/templates/tanstack-start/docs/library/prisma/relations.md +31 -153
  35. package/templates/tanstack-start/docs/library/prisma/schema.md +40 -217
  36. package/templates/tanstack-start/docs/library/prisma/setup.md +13 -113
  37. package/templates/tanstack-start/docs/library/prisma/transactions.md +20 -110
  38. package/templates/tanstack-start/docs/library/tanstack-query/index.md +12 -99
  39. package/templates/tanstack-start/docs/library/tanstack-query/invalidation.md +28 -107
  40. package/templates/tanstack-start/docs/library/tanstack-query/optimistic-updates.md +44 -146
  41. package/templates/tanstack-start/docs/library/tanstack-query/setup.md +11 -73
  42. package/templates/tanstack-start/docs/library/tanstack-query/use-mutation.md +33 -127
  43. package/templates/tanstack-start/docs/library/tanstack-query/use-query.md +49 -149
  44. package/templates/tanstack-start/docs/library/tanstack-start/auth-patterns.md +19 -112
  45. package/templates/tanstack-start/docs/library/tanstack-start/index.md +33 -80
  46. package/templates/tanstack-start/docs/library/tanstack-start/middleware.md +28 -106
  47. package/templates/tanstack-start/docs/library/tanstack-start/routing.md +21 -118
  48. package/templates/tanstack-start/docs/library/tanstack-start/server-functions.md +41 -172
  49. package/templates/tanstack-start/docs/library/tanstack-start/setup.md +6 -39
  50. package/templates/tanstack-start/docs/library/zod/basic-types.md +33 -145
  51. package/templates/tanstack-start/docs/library/zod/complex-types.md +32 -156
  52. package/templates/tanstack-start/docs/library/zod/index.md +22 -150
  53. package/templates/tanstack-start/docs/library/zod/transforms.md +20 -129
  54. package/templates/tanstack-start/docs/library/zod/validation.md +39 -155
  55. package/templates/hono/docs/commands/git.md +0 -145
  56. package/templates/hono/docs/mcp/context7.md +0 -106
  57. package/templates/hono/docs/mcp/index.md +0 -176
  58. package/templates/hono/docs/mcp/sequential-thinking.md +0 -101
  59. package/templates/hono/docs/mcp/serena.md +0 -269
  60. package/templates/hono/docs/mcp/sgrep.md +0 -105
  61. package/templates/hono/docs/skills/gemini-review/SKILL.md +0 -220
  62. package/templates/hono/docs/skills/gemini-review/references/checklists.md +0 -136
  63. package/templates/hono/docs/skills/gemini-review/references/prompt-templates.md +0 -303
  64. package/templates/npx/docs/commands/git.md +0 -145
  65. package/templates/npx/docs/mcp/index.md +0 -60
  66. package/templates/npx/docs/skills/gemini-review/SKILL.md +0 -220
  67. package/templates/npx/docs/skills/gemini-review/references/checklists.md +0 -134
  68. package/templates/npx/docs/skills/gemini-review/references/prompt-templates.md +0 -301
  69. package/templates/tanstack-start/docs/commands/git.md +0 -145
  70. package/templates/tanstack-start/docs/mcp/context7.md +0 -204
  71. package/templates/tanstack-start/docs/mcp/index.md +0 -177
  72. package/templates/tanstack-start/docs/mcp/sequential-thinking.md +0 -180
  73. package/templates/tanstack-start/docs/mcp/serena.md +0 -269
  74. package/templates/tanstack-start/docs/mcp/sgrep.md +0 -174
  75. package/templates/tanstack-start/docs/skills/gemini-review/SKILL.md +0 -220
  76. package/templates/tanstack-start/docs/skills/gemini-review/references/checklists.md +0 -144
  77. package/templates/tanstack-start/docs/skills/gemini-review/references/prompt-templates.md +0 -292
@@ -1,176 +0,0 @@
1
- # MCP (Model Context Protocol)
2
-
3
- > Claude Code 작업 효율성을 높이는 MCP 서버 활용 가이드
4
-
5
- ---
6
-
7
- ## ⛔ 프로젝트 시작 전 필수 확인
8
-
9
- **작업 시작 전 반드시 아래 3가지 MCP가 활성화되어 있는지 확인하세요:**
10
-
11
- ```
12
- 1. Serena - 프로젝트 활성화 확인
13
- → mcp__serena__get_current_config 호출
14
- → 프로젝트 미활성화 시: mcp__serena__activate_project
15
-
16
- 2. Sequential Thinking - 복잡한 문제 분석용
17
- → 사용 가능 여부 확인
18
-
19
- 3. sgrep - 코드베이스 검색용
20
- → grep/rg 대신 반드시 sgrep 사용
21
- ```
22
-
23
- ---
24
-
25
- ## 🚨 필수 사용 규칙
26
-
27
- ```
28
- ✅ 프로젝트 시작 전 → Serena 활성화 확인 (필수!)
29
- ✅ 코드베이스 검색 → sgrep 사용 (grep/rg 금지)
30
- ✅ 복잡한 분석/디버깅 → Sequential Thinking 사용
31
- ✅ 라이브러리 문서 조회 → Context7 사용
32
- ✅ 세션 컨텍스트 유지 → Serena 메모리 활용
33
- ✅ 도구 조합: sgrep로 위치 파악 → Sequential로 분석 → Context7로 문서 확인
34
- ```
35
-
36
- ---
37
-
38
- ## 🚀 Quick Reference
39
-
40
- ### Serena - 프로젝트 컨텍스트 관리 (필수)
41
-
42
- ```
43
- 프로젝트 시작 시 (필수):
44
- 1. get_current_config → 현재 상태 확인
45
- 2. activate_project → 프로젝트 활성화
46
- 3. check_onboarding_performed → 온보딩 확인
47
-
48
- 사용 시점:
49
- - 프로젝트 시작/재개 시 (필수)
50
- - 심볼 탐색/수정
51
- - 세션 간 컨텍스트 유지 (메모리)
52
- ```
53
-
54
- ### Sequential Thinking - 복잡한 문제 해결
55
-
56
- ```
57
- 사용 시점:
58
- - 버그 분석 및 디버깅
59
- - 아키텍처 설계
60
- - 복잡한 로직 구현
61
- - 코드 리팩토링 계획
62
- - 성능 최적화 분석
63
-
64
- 사용법: 문제를 단계별로 분해하여 체계적으로 해결
65
- ```
66
-
67
- ### sgrep - 코드베이스 검색 (필수)
68
-
69
- ```
70
- 사용 시점:
71
- - 코드 위치 파악
72
- - 자연어 검색
73
- - 심볼 참조 찾기
74
-
75
- 주의: grep/rg 대신 반드시 sgrep 사용!
76
- ```
77
-
78
- ### Context7 - 라이브러리 문서 조회
79
-
80
- ```
81
- 사용 시점:
82
- - API 사용법 확인
83
- - 라이브러리 최신 문법 확인
84
- - 공식 문서 기반 구현
85
- - 버전별 변경사항 확인
86
-
87
- 사용법:
88
- 1. resolve-library-id로 라이브러리 ID 조회
89
- 2. get-library-docs로 문서 가져오기
90
- ```
91
-
92
- ---
93
-
94
- ## 📁 문서 구조
95
-
96
- ```
97
- docs/mcp/
98
- ├── index.md # 이 문서 (개요)
99
- ├── serena.md # Serena 프로젝트 관리 (필수)
100
- ├── sgrep.md # 코드베이스 검색 (필수)
101
- ├── sequential-thinking.md # Sequential Thinking 상세 (필수)
102
- └── context7.md # Context7 상세
103
- ```
104
-
105
- ---
106
-
107
- ## 📋 도구 목록
108
-
109
- | 도구 | 용도 | 필수 여부 |
110
- |-----|------|----------|
111
- | [Serena](./serena.md) | 프로젝트 컨텍스트 관리 | ⭐ 필수 |
112
- | [sgrep](./sgrep.md) | 코드베이스 검색 | ⭐ 필수 |
113
- | [Sequential Thinking](./sequential-thinking.md) | 체계적 문제 해결 | ⭐ 필수 |
114
- | [Context7](./context7.md) | 라이브러리 문서 | 권장 |
115
-
116
- ---
117
-
118
- ## ⚡ 작업별 MCP 선택 가이드
119
-
120
- ### 프로젝트 시작 (필수)
121
- ```
122
- 1. Serena: get_current_config로 상태 확인
123
- 2. Serena: activate_project로 프로젝트 활성화
124
- 3. Serena: list_memories로 이전 컨텍스트 확인
125
- ```
126
-
127
- ### 버그 수정
128
- ```
129
- 1. sgrep로 관련 코드 위치 파악
130
- 2. Sequential Thinking으로 문제 분석
131
- 3. 원인 파악 후 Context7로 관련 API 확인
132
- 4. 수정 구현
133
- ```
134
-
135
- ### 새 기능 구현
136
- ```
137
- 1. sgrep로 기존 패턴 검색
138
- 2. Sequential Thinking으로 구현 계획 수립
139
- 3. Context7로 사용할 라이브러리 문서 확인
140
- 4. 단계별 구현
141
- 5. Serena: write_memory로 주요 결정 저장
142
- ```
143
-
144
- ### 라이브러리 사용
145
- ```
146
- 1. Context7로 공식 문서 조회
147
- 2. 필요시 Sequential Thinking으로 복잡한 통합 분석
148
- ```
149
-
150
- ### 성능 최적화
151
- ```
152
- 1. sgrep로 병목 의심 코드 검색
153
- 2. Sequential Thinking으로 병목 분석
154
- 3. Context7로 최적화 관련 API 확인
155
- 4. 개선 구현
156
- ```
157
-
158
- ### 코드베이스 탐색
159
- ```
160
- 1. sgrep로 자연어 쿼리 검색
161
- 2. 관련 코드 위치 파악
162
- 3. 필요시 Sequential Thinking으로 흐름 분석
163
- ```
164
-
165
- ### 세션 종료
166
- ```
167
- 1. Serena: write_memory로 진행 상황 저장
168
- 2. 다음 세션에서 read_memory로 복구
169
- ```
170
-
171
- ---
172
-
173
- ## 🔗 관련 문서
174
-
175
- - [Hono](../library/hono/index.md) - Web Framework
176
- - [Zod](../library/zod/index.md) - Validation
@@ -1,101 +0,0 @@
1
- # Sequential Thinking
2
-
3
- > 복잡한 문제를 단계별로 분석하는 사고 도구
4
-
5
- ---
6
-
7
- ## 개요
8
-
9
- Sequential Thinking은 복잡한 문제를 체계적으로 분석하고 해결하기 위한 MCP 도구입니다.
10
-
11
- ---
12
-
13
- ## 사용 시점
14
-
15
- ### ✅ 사용 권장
16
- - **복잡한 버그 디버깅**: 원인 파악이 어려운 버그
17
- - **아키텍처 분석/설계**: 시스템 구조 이해 및 설계
18
- - **성능 병목 분석**: 성능 문제 원인 파악
19
- - **리팩토링 계획**: 대규모 코드 변경 계획
20
- - **보안 취약점 분석**: 보안 이슈 탐지 및 해결
21
-
22
- ### ❌ 사용 불필요
23
- - 단순한 코드 작성
24
- - 명확한 버그 수정
25
- - 간단한 질문 응답
26
-
27
- ---
28
-
29
- ## 분석 프로세스
30
-
31
- ```
32
- 1. 문제 정의
33
- └─ 무엇을 해결해야 하는가?
34
-
35
- 2. 정보 수집
36
- └─ 관련 코드, 로그, 에러 메시지
37
-
38
- 3. 가설 설정
39
- └─ 가능한 원인들 나열
40
-
41
- 4. 가설 검증
42
- └─ 각 가설을 코드/데이터로 검증
43
-
44
- 5. 결론 도출
45
- └─ 검증된 원인과 해결책
46
-
47
- 6. 실행 계획
48
- └─ 구체적인 수정 단계
49
- ```
50
-
51
- ---
52
-
53
- ## 예시 상황
54
-
55
- ### 복잡한 버그 디버깅
56
- ```
57
- 문제: "API 응답이 간헐적으로 느림"
58
-
59
- Sequential Thinking 활용:
60
- 1. 느린 요청의 패턴 분석
61
- 2. 가능한 원인 나열 (DB, 네트워크, 코드)
62
- 3. 각 원인별 증거 수집
63
- 4. 병목 지점 확인
64
- 5. 해결책 제시
65
- ```
66
-
67
- ### 아키텍처 분석
68
- ```
69
- 문제: "마이크로서비스 분리 계획"
70
-
71
- Sequential Thinking 활용:
72
- 1. 현재 모놀리스 구조 분석
73
- 2. 도메인 경계 식별
74
- 3. 의존성 그래프 작성
75
- 4. 분리 우선순위 결정
76
- 5. 마이그레이션 계획 수립
77
- ```
78
-
79
- ---
80
-
81
- ## 장점
82
-
83
- ### 1. 체계적 접근
84
- - 단계별 사고 과정 기록
85
- - 놓치는 부분 최소화
86
-
87
- ### 2. 가설 기반 분석
88
- - 추측이 아닌 검증 기반
89
- - 명확한 근거 제시
90
-
91
- ### 3. 재사용 가능
92
- - 분석 과정 문서화
93
- - 유사 문제에 적용 가능
94
-
95
- ---
96
-
97
- ## 관련 문서
98
-
99
- - [MCP 개요](./index.md)
100
- - [sgrep](./sgrep.md)
101
- - [Context7](./context7.md)
@@ -1,269 +0,0 @@
1
- # Serena MCP Server
2
-
3
- > **Purpose**: 시맨틱 코드 이해, 프로젝트 메모리, 세션 지속성을 위한 MCP 서버
4
-
5
- ---
6
-
7
- ## 프로젝트 시작 전 필수 확인
8
-
9
- 프로젝트 작업을 시작하기 전에 **반드시** Serena가 활성화되어 있는지 확인해야 합니다.
10
-
11
- ### 1. 현재 설정 확인
12
-
13
- ```
14
- mcp__serena__get_current_config
15
- ```
16
-
17
- **확인 사항:**
18
- - `Active project`: 현재 작업할 프로젝트명이 표시되는지 확인
19
- - 프로젝트가 `Available projects` 목록에 있는지 확인
20
-
21
- ### 2. 프로젝트 활성화
22
-
23
- 프로젝트가 활성화되지 않은 경우:
24
-
25
- ```
26
- mcp__serena__activate_project({ project: "프로젝트명" })
27
- ```
28
-
29
- ### 3. 온보딩 확인
30
-
31
- 새 프로젝트의 경우 온보딩이 필요할 수 있습니다:
32
-
33
- ```
34
- mcp__serena__check_onboarding_performed
35
- ```
36
-
37
- 온보딩이 필요한 경우:
38
-
39
- ```
40
- mcp__serena__onboarding
41
- ```
42
-
43
- ---
44
-
45
- ## 핵심 기능
46
-
47
- ### 심볼 탐색 (Symbol Navigation)
48
-
49
- 파일 내 심볼(클래스, 함수, 변수 등) 개요 확인:
50
-
51
- ```
52
- mcp__serena__get_symbols_overview({ relative_path: "src/index.ts" })
53
- ```
54
-
55
- 특정 심볼 검색:
56
-
57
- ```
58
- mcp__serena__find_symbol({
59
- name_path_pattern: "MyClass/myMethod",
60
- include_body: true,
61
- depth: 1
62
- })
63
- ```
64
-
65
- 심볼 참조 찾기:
66
-
67
- ```
68
- mcp__serena__find_referencing_symbols({
69
- name_path: "MyClass",
70
- relative_path: "src/my-class.ts"
71
- })
72
- ```
73
-
74
- ### 코드 수정 (Code Modification)
75
-
76
- 심볼 본문 교체:
77
-
78
- ```
79
- mcp__serena__replace_symbol_body({
80
- name_path: "MyClass/myMethod",
81
- relative_path: "src/my-class.ts",
82
- body: "새로운 코드 본문"
83
- })
84
- ```
85
-
86
- 심볼 뒤에 코드 삽입:
87
-
88
- ```
89
- mcp__serena__insert_after_symbol({
90
- name_path: "MyClass",
91
- relative_path: "src/my-class.ts",
92
- body: "\n\nexport const newFunction = () => {}"
93
- })
94
- ```
95
-
96
- 심볼 앞에 코드 삽입:
97
-
98
- ```
99
- mcp__serena__insert_before_symbol({
100
- name_path: "MyClass",
101
- relative_path: "src/my-class.ts",
102
- body: "import { Something } from './something'\n\n"
103
- })
104
- ```
105
-
106
- 심볼 이름 변경 (전체 코드베이스):
107
-
108
- ```
109
- mcp__serena__rename_symbol({
110
- name_path: "oldFunctionName",
111
- relative_path: "src/utils.ts",
112
- new_name: "newFunctionName"
113
- })
114
- ```
115
-
116
- ### 파일 탐색 (File Navigation)
117
-
118
- 디렉토리 목록:
119
-
120
- ```
121
- mcp__serena__list_dir({
122
- relative_path: "src",
123
- recursive: false
124
- })
125
- ```
126
-
127
- 파일 검색:
128
-
129
- ```
130
- mcp__serena__find_file({
131
- file_mask: "*.ts",
132
- relative_path: "src"
133
- })
134
- ```
135
-
136
- 패턴 검색:
137
-
138
- ```
139
- mcp__serena__search_for_pattern({
140
- substring_pattern: "createServerFn",
141
- relative_path: "src/services",
142
- context_lines_before: 2,
143
- context_lines_after: 2
144
- })
145
- ```
146
-
147
- ### 메모리 관리 (Memory Management)
148
-
149
- 프로젝트 관련 정보를 메모리에 저장하여 세션 간 유지:
150
-
151
- 메모리 목록 확인:
152
-
153
- ```
154
- mcp__serena__list_memories
155
- ```
156
-
157
- 메모리 읽기:
158
-
159
- ```
160
- mcp__serena__read_memory({ memory_file_name: "architecture.md" })
161
- ```
162
-
163
- 메모리 작성:
164
-
165
- ```
166
- mcp__serena__write_memory({
167
- memory_file_name: "decisions.md",
168
- content: "# 주요 결정 사항\n\n- API 설계: REST 대신 Server Functions 사용"
169
- })
170
- ```
171
-
172
- 메모리 수정:
173
-
174
- ```
175
- mcp__serena__edit_memory({
176
- memory_file_name: "decisions.md",
177
- needle: "REST 대신",
178
- repl: "REST API 대신",
179
- mode: "literal"
180
- })
181
- ```
182
-
183
- 메모리 삭제:
184
-
185
- ```
186
- mcp__serena__delete_memory({ memory_file_name: "outdated.md" })
187
- ```
188
-
189
- ### 사고 도구 (Thinking Tools)
190
-
191
- 수집된 정보 검토:
192
-
193
- ```
194
- mcp__serena__think_about_collected_information
195
- ```
196
-
197
- 작업 목표 준수 확인:
198
-
199
- ```
200
- mcp__serena__think_about_task_adherence
201
- ```
202
-
203
- 작업 완료 여부 확인:
204
-
205
- ```
206
- mcp__serena__think_about_whether_you_are_done
207
- ```
208
-
209
- ---
210
-
211
- ## 사용 시나리오
212
-
213
- ### 시나리오 1: 새 프로젝트 시작
214
-
215
- ```
216
- 1. get_current_config → 현재 상태 확인
217
- 2. activate_project → 프로젝트 활성화
218
- 3. check_onboarding_performed → 온보딩 필요 여부 확인
219
- 4. onboarding → 필요시 온보딩 진행
220
- 5. list_memories → 기존 메모리 확인
221
- ```
222
-
223
- ### 시나리오 2: 기존 프로젝트 재개
224
-
225
- ```
226
- 1. get_current_config → 프로젝트 활성화 확인
227
- 2. list_memories → 이전 세션 컨텍스트 확인
228
- 3. read_memory → 필요한 메모리 읽기
229
- 4. 작업 진행
230
- 5. write_memory → 중요 결정/진행 상황 저장
231
- ```
232
-
233
- ### 시나리오 3: 대규모 리팩토링
234
-
235
- ```
236
- 1. get_symbols_overview → 파일 구조 파악
237
- 2. find_symbol → 수정할 심볼 찾기
238
- 3. find_referencing_symbols → 영향받는 코드 확인
239
- 4. replace_symbol_body → 심볼 수정
240
- 5. rename_symbol → 필요시 이름 변경
241
- 6. think_about_whether_you_are_done → 완료 확인
242
- ```
243
-
244
- ---
245
-
246
- ## Best Practices
247
-
248
- ### 1. 항상 프로젝트 활성화 확인
249
-
250
- 작업 시작 전 `get_current_config`로 올바른 프로젝트가 활성화되어 있는지 확인하세요.
251
-
252
- ### 2. 심볼 도구 우선 사용
253
-
254
- 전체 파일을 읽지 말고, `get_symbols_overview`와 `find_symbol`을 사용하여 필요한 부분만 확인하세요.
255
-
256
- ### 3. 메모리 적극 활용
257
-
258
- 중요한 결정, 아키텍처 정보, 작업 진행 상황을 메모리에 저장하여 세션 간 컨텍스트를 유지하세요.
259
-
260
- ### 4. 사고 도구 활용
261
-
262
- 복잡한 작업 중에는 `think_about_*` 도구를 사용하여 진행 상황을 검토하세요.
263
-
264
- ---
265
-
266
- ## 참고 자료
267
-
268
- - [Serena GitHub](https://github.com/oraios/serena)
269
- - [MCP Protocol](https://modelcontextprotocol.io)
@@ -1,105 +0,0 @@
1
- # sgrep - Semantic Grep
2
-
3
- > AST 기반 시맨틱 코드 검색 도구
4
-
5
- ---
6
-
7
- ## ⛔ 필수 규칙
8
-
9
- ```
10
- ❌ grep, rg 등 기본 검색 도구 사용 금지
11
- ❌ find 명령어로 코드 검색 금지
12
- ✅ 코드베이스 검색 시 sgrep 사용 필수
13
- ```
14
-
15
- ---
16
-
17
- ## 개요
18
-
19
- sgrep는 단순 텍스트 매칭이 아닌 AST(Abstract Syntax Tree) 기반의 시맨틱 검색을 수행합니다.
20
-
21
- ### grep vs sgrep
22
-
23
- | 기능 | grep | sgrep |
24
- |------|------|-------|
25
- | 검색 방식 | 텍스트 매칭 | AST 기반 |
26
- | 코드 구조 인식 | ❌ | ✅ |
27
- | 언어별 최적화 | ❌ | ✅ |
28
- | False positive | 많음 | 적음 |
29
-
30
- ---
31
-
32
- ## 사용 시점
33
-
34
- ### ✅ sgrep 사용
35
- - 함수 정의 찾기
36
- - 클래스 사용처 검색
37
- - 특정 패턴의 코드 찾기
38
- - import 문 검색
39
- - API 엔드포인트 검색
40
-
41
- ### 예시 상황
42
- ```
43
- "prisma.user.create 사용처를 찾아줘" → sgrep 사용
44
- "authMiddleware가 어디서 쓰이는지 찾아줘" → sgrep 사용
45
- "HTTPException을 throw하는 곳을 찾아줘" → sgrep 사용
46
- ```
47
-
48
- ---
49
-
50
- ## 장점
51
-
52
- ### 1. 정확한 코드 구조 인식
53
- ```typescript
54
- // 주석 안의 function은 무시
55
- // function test() {}
56
-
57
- // 실제 함수만 찾음
58
- function test() {}
59
- ```
60
-
61
- ### 2. 언어별 최적화
62
- - TypeScript/JavaScript
63
- - Python
64
- - Go
65
- - 기타 주요 언어
66
-
67
- ### 3. 패턴 매칭
68
- - 함수 호출 패턴
69
- - 클래스 정의 패턴
70
- - import/export 패턴
71
-
72
- ---
73
-
74
- ## 설치
75
-
76
- ### Claude Code Plugin 설치 (권장)
77
-
78
- ```bash
79
- # Plugin 추가
80
- /plugin marketplace add rika-labs/sgrep
81
-
82
- # 설치
83
- /plugin install sgrep
84
- ```
85
-
86
- ### 사용법
87
-
88
- ```bash
89
- # 인증 처리 코드 찾기
90
- sgrep search for where we handle authentication
91
-
92
- # API 엔드포인트 검색
93
- sgrep search API routes definition
94
-
95
- # 에러 핸들링 패턴
96
- sgrep search error handling with HTTPException
97
- ```
98
-
99
- ---
100
-
101
- ## 관련 문서
102
-
103
- - [MCP 개요](./index.md)
104
- - [Sequential Thinking](./sequential-thinking.md)
105
- - [Context7](./context7.md)