@su-record/vibe 0.2.0 → 0.4.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 (40) hide show
  1. package/.claude/agents/simplifier.md +120 -0
  2. package/.claude/commands/vibe.reason.md +302 -0
  3. package/.claude/commands/vibe.run.md +133 -113
  4. package/.claude/commands/vibe.spec.md +143 -218
  5. package/.claude/commands/vibe.verify.md +7 -0
  6. package/.claude/settings.local.json +24 -2
  7. package/CLAUDE.md +41 -0
  8. package/README.md +182 -440
  9. package/bin/vibe +167 -152
  10. package/package.json +3 -6
  11. package/templates/hooks-template.json +26 -0
  12. package/.claude/commands/vibe.plan.md +0 -81
  13. package/.claude/commands/vibe.tasks.md +0 -83
  14. package/agents/backend-python-expert.md +0 -453
  15. package/agents/database-postgres-expert.md +0 -538
  16. package/agents/frontend-flutter-expert.md +0 -487
  17. package/agents/frontend-react-expert.md +0 -424
  18. package/agents/quality-reviewer.md +0 -542
  19. package/agents/specification-agent.md +0 -505
  20. package/scripts/install-mcp.js +0 -74
  21. package/scripts/install.sh +0 -70
  22. package/templates/plan-template.md +0 -237
  23. package/templates/tasks-template.md +0 -132
  24. /package/{skills → .agent/rules}/core/communication-guide.md +0 -0
  25. /package/{skills → .agent/rules}/core/development-philosophy.md +0 -0
  26. /package/{skills → .agent/rules}/core/quick-start.md +0 -0
  27. /package/{skills → .agent/rules}/languages/dart-flutter.md +0 -0
  28. /package/{skills → .agent/rules}/languages/python-fastapi.md +0 -0
  29. /package/{skills → .agent/rules}/languages/typescript-nextjs.md +0 -0
  30. /package/{skills → .agent/rules}/languages/typescript-react-native.md +0 -0
  31. /package/{skills → .agent/rules}/languages/typescript-react.md +0 -0
  32. /package/{skills → .agent/rules}/quality/bdd-contract-testing.md +0 -0
  33. /package/{skills → .agent/rules}/quality/checklist.md +0 -0
  34. /package/{skills → .agent/rules}/quality/testing-strategy.md +0 -0
  35. /package/{skills → .agent/rules}/standards/anti-patterns.md +0 -0
  36. /package/{skills → .agent/rules}/standards/code-structure.md +0 -0
  37. /package/{skills → .agent/rules}/standards/complexity-metrics.md +0 -0
  38. /package/{skills → .agent/rules}/standards/naming-conventions.md +0 -0
  39. /package/{skills → .agent/rules}/tools/mcp-hi-ai-guide.md +0 -0
  40. /package/{skills → .agent/rules}/tools/mcp-workflow.md +0 -0
@@ -0,0 +1,120 @@
1
+ # Code Simplifier Agent
2
+
3
+ 코드 품질 규칙을 자동으로 검증하고 교정하는 서브에이전트입니다.
4
+
5
+ ## Trigger
6
+
7
+ PostToolUse Hook에서 `Write`, `Edit` 작업 후 자동 실행됩니다.
8
+
9
+ ## Rules Reference
10
+
11
+ **검증 기준 (`.agent/rules/`):**
12
+
13
+ ### 필수 규칙
14
+ - `core/development-philosophy.md` - 수술적 정밀도
15
+ - `core/quick-start.md` - DRY, SRP, YAGNI
16
+ - `quality/checklist.md` - 품질 체크리스트
17
+
18
+ ### 복잡도 기준
19
+ - `standards/complexity-metrics.md`:
20
+ - 순환 복잡도 ≤ 10
21
+ - 함수 길이 ≤ 20줄
22
+ - 중첩 깊이 ≤ 3단계
23
+ - 매개변수 ≤ 5개
24
+ - 컴포넌트 JSX ≤ 50줄
25
+
26
+ ### 안티패턴
27
+ - `standards/anti-patterns.md` - 피해야 할 패턴
28
+
29
+ ## Process
30
+
31
+ ### 1. 변경 파일 분석
32
+
33
+ ```
34
+ 수정된 파일 목록 확인
35
+ 각 파일의 변경 내용 분석
36
+ ```
37
+
38
+ ### 2. 규칙 검증
39
+
40
+ ```typescript
41
+ const checks = {
42
+ // 복잡도
43
+ cyclomaticComplexity: '≤ 10',
44
+ functionLength: '≤ 20 lines',
45
+ nestingDepth: '≤ 3 levels',
46
+ parameterCount: '≤ 5',
47
+
48
+ // 코드 품질
49
+ noAnyType: true,
50
+ noMagicNumbers: true,
51
+ singleResponsibility: true,
52
+
53
+ // 스타일
54
+ koreanComments: true,
55
+ consistentNaming: true,
56
+ };
57
+ ```
58
+
59
+ ### 3. 자동 교정 (가능한 경우)
60
+
61
+ - 긴 함수 → 분리 제안
62
+ - 깊은 중첩 → early return 패턴
63
+ - 매직 넘버 → 상수 추출
64
+ - any 타입 → 타입 추론/명시
65
+
66
+ ### 4. 결과 보고
67
+
68
+ ```
69
+ ✅ 품질 검증 통과 (점수: 95/100)
70
+
71
+ 또는
72
+
73
+ ⚠️ 개선 필요:
74
+ - src/utils/helper.ts:15 - 함수 길이 25줄 (기준: 20줄)
75
+ - src/components/Form.tsx:42 - 중첩 4단계 (기준: 3단계)
76
+
77
+ 🔧 자동 교정:
78
+ - 매직 넘버 3개 → 상수로 변환
79
+ ```
80
+
81
+ ## Quick Check (빠른 검증)
82
+
83
+ ```
84
+ ✅ 요청 범위만 수정했는가?
85
+ ✅ any 타입이 없는가?
86
+ ✅ 함수가 20줄 이하인가?
87
+ ✅ 중첩이 3단계 이하인가?
88
+ ✅ 에러 처리를 했는가?
89
+ ✅ 매직 넘버를 상수화했는가?
90
+ ✅ 테스트를 작성했는가?
91
+ ```
92
+
93
+ ## Grade
94
+
95
+ | 등급 | 점수 | 액션 |
96
+ |------|------|------|
97
+ | A+ | 95-100 | 통과 |
98
+ | A | 90-94 | 통과 |
99
+ | B+ | 85-89 | 경고 표시 |
100
+ | B | 80-84 | 개선 권장 |
101
+ | C | 70-79 | 개선 필요 |
102
+ | F | < 70 | 교정 필수 |
103
+
104
+ ## Usage
105
+
106
+ 이 에이전트는 직접 호출하지 않습니다.
107
+ `settings.json`의 PostToolUse Hook을 통해 자동 실행됩니다.
108
+
109
+ ```json
110
+ {
111
+ "hooks": {
112
+ "PostToolUse": [
113
+ {
114
+ "tools": ["Write", "Edit"],
115
+ "command": "claude --agent simplifier"
116
+ }
117
+ ]
118
+ }
119
+ }
120
+ ```
@@ -0,0 +1,302 @@
1
+ ---
2
+ description: Apply systematic reasoning framework to complex problems
3
+ argument-hint: "problem description"
4
+ ---
5
+
6
+ # /vibe.reason
7
+
8
+ 복잡한 문제에 9단계 추론 프레임워크를 적용합니다 (Reasoning Agent).
9
+
10
+ ## Usage
11
+
12
+ ```
13
+ /vibe.reason "문제 설명"
14
+ ```
15
+
16
+ ## Description
17
+
18
+ 체계적인 9단계 추론 프레임워크를 사용하여 복잡한 문제를 논리적으로 분석하고 최적의 해결책을 도출합니다.
19
+
20
+ ## When to Use
21
+
22
+ 다음과 같은 상황에서 사용하세요:
23
+
24
+ 1. **복잡한 버그 디버깅**
25
+ - 근본 원인이 불명확한 경우
26
+ - 여러 가설을 체계적으로 검증해야 할 때
27
+
28
+ 2. **아키텍처 설계 결정**
29
+ - 여러 옵션 중 최적의 선택이 필요할 때
30
+ - 제약 조건과 위험을 종합적으로 평가해야 할 때
31
+
32
+ 3. **성능 최적화 문제**
33
+ - 병목 지점이 여러 곳일 수 있을 때
34
+ - 단계별 최적화 전략이 필요할 때
35
+
36
+ 4. **리팩토링 계획**
37
+ - 레거시 코드의 복잡도를 체계적으로 분석해야 할 때
38
+ - 점진적 리팩토링 전략이 필요할 때
39
+
40
+ 5. **요구사항 분석**
41
+ - 상충하는 요구사항을 조율해야 할 때
42
+ - 누락된 요구사항을 발견해야 할 때
43
+
44
+ ## Process
45
+
46
+ ### 1. 논리적 종속성 및 제약 조건
47
+ - 정책, 규칙, 필수 전제 조건 확인
48
+ - 작업 순서 최적화 (선행 작업 식별)
49
+ - 사용자 제약 조건 우선 적용
50
+
51
+ ### 2. 위험 평가
52
+ - 행동의 결과 분석
53
+ - 롤백 가능성 확인
54
+ - 호환성, 보안, 성능 위험 검토
55
+
56
+ ### 3. 귀납적 추론 및 가설 탐색
57
+ - 근본 원인에 대한 가설 생성
58
+ - 가능성 기반 우선순위 지정
59
+ - 각 가설의 검증 방법 제시
60
+
61
+ ### 4. 결과 평가 및 적응성
62
+ - 관찰 결과에 따른 계획 수정
63
+ - 가설 반증 시 새 가설 생성
64
+ - 백트래킹 필요성 판단
65
+
66
+ ### 5. 정보 가용성
67
+ - 사용 가능한 모든 도구 식별
68
+ - 관련 정책/규칙 문서 참조
69
+ - 이전 컨텍스트 복원
70
+ - 사용자 확인 필요 사항 구분
71
+
72
+ ### 6. 정밀성 및 근거
73
+ - 정책 인용 시 정확한 출처 명시
74
+ - 코드 참조 시 파일명:라인 포함
75
+ - 메트릭의 정확한 수치 제공
76
+
77
+ ### 7. 완전성
78
+ - 모든 요구사항, 옵션, 선호도 통합
79
+ - 조기 결론 지양
80
+ - 여러 대안 탐색
81
+
82
+ ### 8. 끈기와 인내
83
+ - 일시적 오류는 지능적으로 재시도
84
+ - 전략 변경을 통한 문제 해결
85
+ - 모든 추론 단계 완료까지 진행
86
+
87
+ ### 9. 응답 억제
88
+ - 추론 완료 후에만 행동
89
+ - 복잡한 결정은 추론 과정 문서화
90
+ - 단계별 실행으로 안전성 확보
91
+
92
+ ## MCP Tools Integration
93
+
94
+ 이 명령은 다음 MCP 도구를 자동으로 활용합니다:
95
+
96
+ - **apply_reasoning_framework**: 9단계 추론 프레임워크 적용
97
+ - **create_thinking_chain**: 순차적 사고 체인 생성
98
+ - **analyze_problem**: 문제의 근본 원인 분석
99
+ - **step_by_step_analysis**: 세부적인 단계별 분석
100
+ - **recall_memory**: 이전 컨텍스트 복원
101
+ - **find_symbol / find_references**: 코드 의존성 파악
102
+
103
+ ## Output Format
104
+
105
+ ```markdown
106
+ # 추론 프레임워크 분석
107
+
108
+ **문제**: [문제 설명]
109
+ **컨텍스트**: [관련 정보]
110
+ **적용 단계**: 9/9
111
+
112
+ ---
113
+
114
+ ## 1. 논리적 종속성 및 제약 조건
115
+
116
+ **핵심 질문**:
117
+ - 어떤 정책이나 필수 규칙이 적용되는가?
118
+ - 작업 순서를 재정렬해야 하는가?
119
+ - 필요한 전제 조건이나 정보는?
120
+ - 명시적 사용자 제약 조건이 있는가?
121
+
122
+ **제약 조건 분석**:
123
+ [분석 내용]
124
+
125
+ ---
126
+
127
+ ## 2. 위험 평가
128
+
129
+ ...
130
+
131
+ ---
132
+
133
+ ## 요약
134
+
135
+ [전체 추론 결과 요약 및 권장 사항]
136
+ ```
137
+
138
+ ## Examples
139
+
140
+ ### Example 1: 복잡한 버그 디버깅
141
+
142
+ ```
143
+ 사용자: /vibe.reason "사용자 로그인 후 프로필 페이지에서 간헐적으로 500 에러가 발생합니다. 로그에는 'TypeError: Cannot read property id of undefined'만 찍힙니다."
144
+
145
+ AI: 이 문제를 9단계 추론 프레임워크로 분석하겠습니다.
146
+
147
+ # 추론 프레임워크 분석
148
+
149
+ **문제**: 로그인 후 프로필 페이지 간헐적 500 에러 (TypeError: Cannot read property 'id' of undefined)
150
+ **컨텍스트**: 간헐적 발생, 로그인 성공 후 발생
151
+ **적용 단계**: 9/9
152
+
153
+ ---
154
+
155
+ ## 1. 논리적 종속성 및 제약 조건
156
+
157
+ **제약 조건 분석**:
158
+ - 정책/규칙: 인증/인가 시스템 정책 확인 필요
159
+ - 작업 순서: 로그인 → 세션 생성 → 프로필 조회 순서 확인
160
+ - 전제 조건: 에러 재현을 위한 조건 파악 필요
161
+ - 사용자 제약: 프로덕션 환경이므로 디버깅 도구 사용 제한
162
+
163
+ ---
164
+
165
+ ## 2. 위험 평가
166
+
167
+ **위험 평가**:
168
+ - 작업 유형: 디버깅 (중간 위험 - 로깅 추가는 낮은 위험, DB 변경은 높은 위험)
169
+ - 롤백 가능성: 로깅 추가는 롤백 쉬움
170
+ - 호환성 위험: 세션 구조 변경 시 기존 사용자 영향
171
+ - 보안 위험: 과도한 로깅으로 민감 정보 노출 가능성
172
+ - 성능 위험: 추가 로깅으로 인한 성능 저하 미미
173
+
174
+ ---
175
+
176
+ ## 3. 귀납적 추론 및 가설 탐색
177
+
178
+ **가설 생성**:
179
+ 1. **가설 1: 세션 데이터 불완전** (가능성: 높음)
180
+ - 근거: 간헐적 발생 = 타이밍 이슈 또는 데이터 일관성 문제
181
+ - 검증: 세션 저장 로직에 로깅 추가, Redis 연결 상태 확인
182
+
183
+ 2. **가설 2: 비동기 처리 순서 문제** (가능성: 중간)
184
+ - 근거: undefined = 데이터 로딩 전에 접근
185
+ - 검증: 프로필 조회 API의 Promise 체인 확인, await 누락 검사
186
+
187
+ 3. **가설 3: DB 쿼리 결과 null** (가능성: 낮음)
188
+ - 근거: 특정 조건에서만 사용자 정보 조회 실패
189
+ - 검증: 프로필 조회 쿼리 로그 확인, 외래 키 제약 조건 검토
190
+
191
+ **우선순위**: 가능성 높은 순으로 검증하되, 낮은 가능성도 완전히 배제하지 않음
192
+
193
+ ---
194
+
195
+ [추가 단계 4-9 분석...]
196
+
197
+ ---
198
+
199
+ ## 요약
200
+
201
+ 9단계 추론 프레임워크를 통해 로그인 후 프로필 페이지 500 에러를 분석했습니다.
202
+
203
+ **주요 발견**:
204
+ - 가장 가능성 높은 원인: 세션 데이터 불완전 (Redis 연결 문제 또는 세션 저장 타이밍)
205
+ - 검증 우선순위: 1) 세션 저장 로직 로깅 추가 → 2) 비동기 처리 검토 → 3) DB 쿼리 확인
206
+
207
+ **권장 조치**:
208
+ 1. 즉시: 세션 저장/조회 시점에 상세 로깅 추가 (낮은 위험)
209
+ 2. 단기: 비동기 처리 코드 리뷰 (Promise, await 누락 확인)
210
+ 3. 중기: 세션 저장소 모니터링 강화 (Redis 연결 상태, 메모리)
211
+
212
+ **다음 단계**:
213
+ 서버 코드에서 `profile_controller.ts` 확인 → 세션 처리 로직에 try-catch 및 로깅 추가 → 재현 조건 파악
214
+ ```
215
+
216
+ ### Example 2: 아키텍처 설계 결정
217
+
218
+ ```
219
+ 사용자: /vibe.reason "실시간 알림 기능을 추가하려고 합니다. WebSocket, SSE, Long Polling 중 어떤 걸 써야 할까요?"
220
+
221
+ AI: [9단계 프레임워크를 통해 각 옵션의 제약 조건, 위험, 장단점을 체계적으로 분석하고, 프로젝트 상황에 맞는 최적의 선택을 권장]
222
+ ```
223
+
224
+ ## Integration with Other Commands
225
+
226
+ ### /vibe.spec과 함께 사용
227
+
228
+ ```
229
+ # 1. 요구사항 수집
230
+ /vibe.spec "실시간 알림"
231
+
232
+ # 2. 기술적 결정이 필요한 경우
233
+ /vibe.reason "실시간 알림 구현 시 WebSocket vs SSE vs Long Polling 선택"
234
+
235
+ # 3. SPEC 문서 업데이트 및 계획 수립
236
+ /vibe.plan "실시간 알림"
237
+ ```
238
+
239
+ ### /vibe.analyze와 함께 사용
240
+
241
+ ```
242
+ # 1. 코드 분석으로 문제 발견
243
+ /vibe.analyze --code
244
+
245
+ # 2. 발견된 문제를 추론 프레임워크로 분석
246
+ /vibe.reason "users_service.py의 Cyclomatic Complexity 15를 10 이하로 낮추는 리팩토링 전략"
247
+
248
+ # 3. 리팩토링 실행
249
+ /vibe.run "Task: Refactor users_service.py"
250
+ ```
251
+
252
+ ## Agent Configuration
253
+
254
+ 이 명령은 `~/.claude/agents/reasoning-agent.md`를 사용합니다.
255
+
256
+ **에이전트 역할**:
257
+ - 체계적 추론 및 문제 해결 전문가
258
+ - 복잡한 문제를 논리적으로 분석
259
+ - 모든 관련 요소를 고려하여 최적의 해결책 도출
260
+
261
+ **에이전트 특징**:
262
+ - 9단계 추론 프레임워크 적용
263
+ - 가설 기반 접근
264
+ - 위험 평가 및 완화 전략 제시
265
+ - 정밀한 근거와 출처 명시
266
+
267
+ ## Best Practices
268
+
269
+ 1. **문제를 구체적으로 설명하세요**
270
+ - ❌ "버그가 있어요"
271
+ - ✅ "로그인 후 프로필 페이지에서 간헐적으로 500 에러가 발생합니다. 에러 로그: TypeError: Cannot read property 'id' of undefined"
272
+
273
+ 2. **컨텍스트를 포함하세요**
274
+ - 발생 조건 (항상? 간헐적? 특정 조건에서만?)
275
+ - 관련 기술 스택
276
+ - 이미 시도한 해결 방법
277
+
278
+ 3. **추론 결과를 메모리에 저장하세요**
279
+ - 복잡한 문제의 경우 추론 결과를 `save_memory`로 저장
280
+ - 나중에 `recall_memory`로 참조 가능
281
+
282
+ 4. **단계별로 검증하세요**
283
+ - 추론 프레임워크가 제안한 가설을 순서대로 검증
284
+ - 각 검증 결과를 에이전트에게 피드백
285
+
286
+ 5. **다른 명령과 조합하세요**
287
+ - `/vibe.analyze`로 현황 파악 → `/vibe.reason`으로 해결책 분석 → `/vibe.run`으로 실행
288
+
289
+ ## Notes
290
+
291
+ - 이 명령은 복잡한 문제에 특화되어 있습니다. 단순한 작업은 직접 요청하는 것이 더 효율적입니다.
292
+ - 추론 과정이 길어질 수 있으므로 충분한 시간을 확보하세요.
293
+ - 추론 결과는 권장 사항이며, 최종 결정은 사용자가 내립니다.
294
+ - MCP 도구를 자동으로 활용하므로 hi-ai 서버가 연결되어 있어야 합니다.
295
+
296
+ ## Related
297
+
298
+ - [Reasoning Agent Guide](~/.claude/agents/reasoning-agent.md)
299
+ - [MCP hi-ai Guide](~/.claude/skills/tools/mcp-hi-ai-guide.md)
300
+ - [/vibe.analyze](vibe.analyze.md)
301
+ - [/vibe.spec](vibe.spec.md)
302
+ - [/vibe.plan](vibe.plan.md)