coding-buddy-mcp 1.0.1 → 1.0.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/TEST_CASES.md ADDED
@@ -0,0 +1,165 @@
1
+ # Coding Buddy MCP 테스트 케이스
2
+
3
+ 아무 프로젝트에서 새 세션을 열고 아래 프롬프트를 하나씩 입력합니다.
4
+ 각 테스트 후 `/clear`로 초기화하고 다음 테스트를 진행하세요.
5
+
6
+ ---
7
+
8
+ ## 테스트 0: MCP 연결 확인
9
+ ```
10
+ /mcp
11
+ ```
12
+ - [ ] coding-buddy가 목록에 보인다
13
+ - [ ] 도구 3개 표시: analyze_task, setup_project, cost_reference
14
+
15
+ ---
16
+
17
+ ## A. CRITICAL GATE (구체성 강제) — 가장 중요
18
+
19
+ ### A-1. 모호한 버그 요청 (한국어)
20
+ ```
21
+ 버그 찾아줘
22
+ ```
23
+ - [ ] 도구를 호출하지 않고 파일 경로/증상을 되묻는다
24
+ - [ ] Explore, Glob, Grep 등 탐색을 시작하지 않는다
25
+
26
+ ### A-2. 모호한 버그 요청 (영어)
27
+ ```
28
+ find bugs in this project
29
+ ```
30
+ - [ ] 되묻는다 (which file? what symptoms?)
31
+
32
+ ### A-3. 모호한 리팩토링
33
+ ```
34
+ 코드 리팩토링 해줘
35
+ ```
36
+ - [ ] 범위를 확인한다 (어떤 파일? 어떤 부분?)
37
+
38
+ ### A-4. 모호한 테스트 요청
39
+ ```
40
+ 테스트 작성해줘
41
+ ```
42
+ - [ ] 어떤 파일/함수에 대한 테스트인지 되묻는다
43
+
44
+ ### A-5. 모호한 에러 보고
45
+ ```
46
+ 에러가 나
47
+ ```
48
+ - [ ] 에러 메시지와 발생 파일을 물어본다
49
+
50
+ ### A-6. 구체적 요청 → 바로 실행해야 함
51
+ ```
52
+ package.json의 dependencies 섹션 보여줘
53
+ ```
54
+ - [ ] 되묻지 않고 바로 파일을 읽는다
55
+
56
+ ### A-7. 구체적 버그 요청 → 바로 실행해야 함
57
+ ```
58
+ src/index.ts의 main 함수에서 에러 핸들링이 빠져있어. 확인해줘
59
+ ```
60
+ - [ ] 되묻지 않고 해당 파일을 바로 읽는다
61
+
62
+ ---
63
+
64
+ ## B. 모델 추천 (analyze_task 도구 호출)
65
+
66
+ ### B-1. 단순 작업 → Haiku 추천
67
+ ```
68
+ README.md에서 오타 하나 수정해줘. "recieve"를 "receive"로
69
+ ```
70
+ - [ ] analyze_task 도구를 호출한다
71
+ - [ ] Haiku를 추천한다
72
+
73
+ ### B-2. 중간 작업 → Sonnet 추천
74
+ ```
75
+ src/components/LoginForm.tsx에 비밀번호 유효성 검사 추가해줘
76
+ ```
77
+ - [ ] analyze_task 도구를 호출한다
78
+ - [ ] Sonnet을 추천한다
79
+
80
+ ### B-3. 복잡한 작업 → Opus 추천 + Plan Mode 제안
81
+ ```
82
+ 인증 시스템을 JWT에서 세션 기반으로 전체 마이그레이션 해줘
83
+ ```
84
+ - [ ] analyze_task 도구를 호출한다
85
+ - [ ] Opus를 추천한다
86
+ - [ ] Plan Mode를 먼저 쓰라고 제안한다
87
+
88
+ ---
89
+
90
+ ## C. 세션 관리
91
+
92
+ ### C-1. 주제 변경 감지
93
+ (먼저 아무 작업을 하나 한 후)
94
+ ```
95
+ 그건 됐고, 이제 CI/CD 파이프라인 설정해줘
96
+ ```
97
+ - [ ] 새 세션을 시작하라고 제안한다
98
+
99
+ ### C-2. 작업 완료 후 정리 제안
100
+ (아무 간단한 작업 완료 후 Claude가 "완료했습니다" 류의 답변을 한 후)
101
+ - [ ] /clear 또는 새 세션을 제안한다
102
+
103
+ ---
104
+
105
+ ## D. 캐시 보호
106
+
107
+ ### D-1. 모델 변경 경고
108
+ ```
109
+ 모델을 opus로 바꿔줘
110
+ ```
111
+ - [ ] 캐시가 깨진다고 경고한다
112
+ - [ ] 새 세션에서 바꾸라고 안내한다
113
+
114
+ ### D-2. CLAUDE.md 수정 경고
115
+ ```
116
+ CLAUDE.md에 새로운 규칙 추가해줘
117
+ ```
118
+ - [ ] 세션 시작 전에 수정하라고 경고한다 (캐시 브레이크)
119
+
120
+ ---
121
+
122
+ ## E. 생산성
123
+
124
+ ### E-1. 복잡한 작업 → Plan Mode 제안
125
+ ```
126
+ 데이터베이스 스키마를 PostgreSQL에서 MongoDB로 마이그레이션 계획 세워줘
127
+ ```
128
+ - [ ] Plan Mode를 먼저 제안한다
129
+
130
+ ### E-2. CLAUDE.md 없는 프로젝트에서 setup 제안
131
+ (CLAUDE.md가 없는 프로젝트에서)
132
+ ```
133
+ 이 프로젝트 최적화하고 싶어
134
+ ```
135
+ - [ ] setup_project 도구를 호출하거나 CLAUDE.md 생성을 제안한다
136
+
137
+ ### E-3. 비용 참조
138
+ ```
139
+ Claude Code 모델별 가격이 어떻게 돼?
140
+ ```
141
+ - [ ] cost_reference 도구를 호출한다
142
+ - [ ] 모델별 단가표를 보여준다
143
+
144
+ ---
145
+
146
+ ## F. Output 효율
147
+
148
+ ### F-1. 간결한 응답
149
+ (아무 구체적 작업 후)
150
+ - [ ] 불필요한 요약 없이 간결하게 답한다
151
+ - [ ] "제가 한 작업을 정리하면..." 같은 반복 없음
152
+
153
+ ---
154
+
155
+ ## 테스트 결과 요약
156
+
157
+ | 카테고리 | 통과 | 실패 | 비고 |
158
+ |---------|------|------|------|
159
+ | A. 구체성 강제 (7개) | /7 | /7 | |
160
+ | B. 모델 추천 (3개) | /3 | /3 | |
161
+ | C. 세션 관리 (2개) | /2 | /2 | |
162
+ | D. 캐시 보호 (2개) | /2 | /2 | |
163
+ | E. 생산성 (3개) | /3 | /3 | |
164
+ | F. Output 효율 (1개) | /1 | /1 | |
165
+ | **합계** | **/18** | **/18** | |
package/dist/index.js CHANGED
@@ -41,17 +41,36 @@ This gate exists because vague requests cause tool explosion:
41
41
  - Specific: 1-2 turns × 1-2 tool calls = fast ($0.10-0.30)
42
42
 
43
43
  ======================================================================
44
- END OF CRITICAL GATE
44
+ END OF CRITICAL GATE — SPECIFICITY
45
45
  ======================================================================
46
46
 
47
- ## 1. MODEL SELECTION — call analyze_task tool for each new task
48
- Once the request is specific enough, call the analyze_task tool to get model + approach recommendation.
49
- Present the recommendation naturally: "이 작업은 [model]이 적합합니다. [reason]"
50
- - Haiku ($1/$5 per 1M tokens): typos, renaming, formatting, simple lookups, boilerplate generation
51
- - Sonnet ($15/$75 per 1M tokens): feature implementation, bug fixes, testing, code review
52
- - Opus ($15/$75 per 1M tokens): architecture design, migrations, complex multi-file refactoring
53
- KEY: To switch models → user must start a NEW session. Mid-session model change = cache break = 10x cost spike.
54
- Extended thinking tokens are billed as output ($75/1M). For simple tasks, thinking is pure waste.
47
+ ======================================================================
48
+ CRITICAL GATE 2 MODEL SELECTION (MANDATORY)
49
+ ======================================================================
50
+
51
+ After the request passes the specificity check, you MUST call the analyze_task tool
52
+ BEFORE starting any work. This is NOT optional.
53
+
54
+ Steps:
55
+ 1. Call analyze_task with the user's task description
56
+ 2. Present the result naturally in Korean:
57
+ - "이 작업은 [model]이 적합합니다. [이유]"
58
+ - If current model doesn't match → "현재 [current]를 사용 중인데, 이 작업은 [recommended]가 적합합니다. 새 세션에서 /model [recommended] 로 바꾸시면 비용을 절약할 수 있습니다."
59
+ - If current model matches → briefly confirm and proceed
60
+ 3. THEN start working on the task
61
+
62
+ You MUST call analyze_task even for simple tasks — it only takes one tool call
63
+ and saves the user significant money by recommending the right model.
64
+
65
+ Model pricing reference:
66
+ - Haiku ($1/$5 per 1M tokens): typos, renaming, formatting, simple lookups
67
+ - Sonnet ($15/$75 per 1M tokens): features, bug fixes, tests, code review
68
+ - Opus ($15/$75 per 1M tokens): architecture, migrations, complex refactors
69
+ - Mid-session model change = cache break = 10x cost spike → ALWAYS suggest new session
70
+
71
+ ======================================================================
72
+ END OF CRITICAL GATE — MODEL SELECTION
73
+ ======================================================================
55
74
 
56
75
  ## 3. SESSION DISCIPLINE
57
76
  - ONE session = ONE focused task. When topic changes → suggest: "새 작업이니 새 세션에서 하는 게 효율적입니다"
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "coding-buddy-mcp",
3
- "version": "1.0.1",
3
+ "version": "1.0.2",
4
4
  "description": "A pair programming buddy MCP for Claude Code — optimizes cost and productivity based on Claude Code internals analysis",
5
5
  "type": "module",
6
6
  "main": "dist/index.js",