@su-record/vibe 2.3.0 → 2.3.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.
Files changed (98) hide show
  1. package/.claude/settings.json +35 -35
  2. package/.claude/settings.local.json +24 -25
  3. package/.claude/vibe/constitution.md +184 -184
  4. package/.claude/vibe/rules/core/communication-guide.md +104 -104
  5. package/.claude/vibe/rules/core/development-philosophy.md +52 -52
  6. package/.claude/vibe/rules/core/quick-start.md +120 -120
  7. package/.claude/vibe/rules/languages/dart-flutter.md +509 -509
  8. package/.claude/vibe/rules/languages/go.md +396 -396
  9. package/.claude/vibe/rules/languages/java-spring.md +586 -586
  10. package/.claude/vibe/rules/languages/kotlin-android.md +491 -491
  11. package/.claude/vibe/rules/languages/python-django.md +371 -371
  12. package/.claude/vibe/rules/languages/python-fastapi.md +386 -386
  13. package/.claude/vibe/rules/languages/rust.md +425 -425
  14. package/.claude/vibe/rules/languages/swift-ios.md +516 -516
  15. package/.claude/vibe/rules/languages/typescript-nextjs.md +441 -441
  16. package/.claude/vibe/rules/languages/typescript-node.md +375 -375
  17. package/.claude/vibe/rules/languages/typescript-nuxt.md +521 -521
  18. package/.claude/vibe/rules/languages/typescript-react-native.md +446 -446
  19. package/.claude/vibe/rules/languages/typescript-react.md +525 -525
  20. package/.claude/vibe/rules/languages/typescript-vue.md +353 -353
  21. package/.claude/vibe/rules/quality/bdd-contract-testing.md +388 -388
  22. package/.claude/vibe/rules/quality/checklist.md +276 -276
  23. package/.claude/vibe/rules/quality/testing-strategy.md +437 -437
  24. package/.claude/vibe/rules/standards/anti-patterns.md +369 -369
  25. package/.claude/vibe/rules/standards/code-structure.md +291 -291
  26. package/.claude/vibe/rules/standards/complexity-metrics.md +312 -312
  27. package/.claude/vibe/rules/standards/naming-conventions.md +198 -198
  28. package/.claude/vibe/setup.sh +31 -31
  29. package/.claude/vibe/templates/constitution-template.md +184 -184
  30. package/.claude/vibe/templates/contract-backend-template.md +517 -517
  31. package/.claude/vibe/templates/contract-frontend-template.md +594 -594
  32. package/.claude/vibe/templates/feature-template.md +96 -96
  33. package/.claude/vibe/templates/spec-template.md +199 -199
  34. package/CLAUDE.md +345 -323
  35. package/LICENSE +21 -21
  36. package/README.md +744 -724
  37. package/agents/compounder.md +261 -261
  38. package/agents/diagrammer.md +178 -178
  39. package/agents/e2e-tester.md +266 -266
  40. package/agents/explorer.md +48 -48
  41. package/agents/implementer.md +53 -53
  42. package/agents/research/best-practices-agent.md +139 -139
  43. package/agents/research/codebase-patterns-agent.md +147 -147
  44. package/agents/research/framework-docs-agent.md +181 -181
  45. package/agents/research/security-advisory-agent.md +167 -167
  46. package/agents/review/architecture-reviewer.md +107 -107
  47. package/agents/review/complexity-reviewer.md +116 -116
  48. package/agents/review/data-integrity-reviewer.md +88 -88
  49. package/agents/review/git-history-reviewer.md +103 -103
  50. package/agents/review/performance-reviewer.md +86 -86
  51. package/agents/review/python-reviewer.md +152 -152
  52. package/agents/review/rails-reviewer.md +139 -139
  53. package/agents/review/react-reviewer.md +144 -144
  54. package/agents/review/security-reviewer.md +80 -80
  55. package/agents/review/simplicity-reviewer.md +140 -140
  56. package/agents/review/test-coverage-reviewer.md +116 -116
  57. package/agents/review/typescript-reviewer.md +127 -127
  58. package/agents/searcher.md +54 -54
  59. package/agents/simplifier.md +119 -119
  60. package/agents/tester.md +49 -49
  61. package/agents/ui-previewer.md +137 -137
  62. package/commands/vibe.analyze.md +245 -180
  63. package/commands/vibe.reason.md +223 -183
  64. package/commands/vibe.review.md +200 -136
  65. package/commands/vibe.run.md +838 -836
  66. package/commands/vibe.spec.md +419 -383
  67. package/commands/vibe.utils.md +101 -101
  68. package/commands/vibe.verify.md +282 -241
  69. package/dist/cli/index.js +385 -385
  70. package/dist/lib/MemoryManager.d.ts.map +1 -1
  71. package/dist/lib/MemoryManager.js +119 -114
  72. package/dist/lib/MemoryManager.js.map +1 -1
  73. package/dist/lib/PythonParser.js +108 -108
  74. package/dist/lib/gemini-mcp.js +15 -15
  75. package/dist/lib/gemini-oauth.js +35 -35
  76. package/dist/lib/gpt-mcp.js +17 -17
  77. package/dist/lib/gpt-oauth.js +44 -44
  78. package/dist/tools/analytics/getUsageAnalytics.js +12 -12
  79. package/dist/tools/index.d.ts +50 -0
  80. package/dist/tools/index.d.ts.map +1 -0
  81. package/dist/tools/index.js +61 -0
  82. package/dist/tools/index.js.map +1 -0
  83. package/dist/tools/memory/createMemoryTimeline.js +10 -10
  84. package/dist/tools/memory/getMemoryGraph.js +12 -12
  85. package/dist/tools/memory/getSessionContext.js +9 -9
  86. package/dist/tools/memory/linkMemories.js +14 -14
  87. package/dist/tools/memory/listMemories.js +4 -4
  88. package/dist/tools/memory/recallMemory.js +4 -4
  89. package/dist/tools/memory/saveMemory.js +4 -4
  90. package/dist/tools/memory/searchMemoriesAdvanced.js +22 -22
  91. package/dist/tools/planning/generatePrd.js +46 -46
  92. package/dist/tools/prompt/enhancePromptGemini.js +160 -160
  93. package/dist/tools/reasoning/applyReasoningFramework.js +56 -56
  94. package/dist/tools/semantic/analyzeDependencyGraph.js +12 -12
  95. package/hooks/hooks.json +121 -103
  96. package/package.json +73 -69
  97. package/skills/git-worktree.md +178 -178
  98. package/skills/priority-todos.md +236 -236
@@ -1,198 +1,198 @@
1
- # 📖 자동 네이밍 규칙
2
-
3
- ## 기본 규칙
4
-
5
- ```
6
- 변수: 명사 (userList, userData)
7
- 함수: 동사+명사 (fetchData, updateUser)
8
- 이벤트: handle 접두사 (handleClick, handleSubmit)
9
- Boolean: is/has/can 접두사 (isLoading, hasError, canEdit)
10
- 상수: UPPER_SNAKE_CASE (MAX_RETRY_COUNT, API_TIMEOUT)
11
- 컴포넌트: PascalCase (UserProfile, HeaderSection)
12
- 훅: use 접두사 (useUserData, useAuth)
13
- ```
14
-
15
- ## 변수 네이밍
16
-
17
- ### ✅ 좋은 예
18
-
19
- ```typescript
20
- const userList = [...];
21
- const totalAmount = 0;
22
- const currentPage = 1;
23
- ```
24
-
25
- ### ❌ 나쁜 예
26
-
27
- ```typescript
28
- const list = [...]; // 무엇의 리스트?
29
- const total = 0; // 무엇의 총합?
30
- const page = 1; // 명확하지 않음
31
- ```
32
-
33
- ## 함수 네이밍
34
-
35
- ### ✅ 좋은 예
36
-
37
- ```typescript
38
- function fetchUserData() { }
39
- function updateProfile() { }
40
- function validateEmail() { }
41
- function calculateTotal() { }
42
- ```
43
-
44
- ### ❌ 나쁜 예
45
-
46
- ```typescript
47
- function user() { } // 동사 없음
48
- function data() { } // 불명확
49
- function process() { } // 무엇을 처리?
50
- ```
51
-
52
- ## 이벤트 핸들러
53
-
54
- ### ✅ 좋은 예
55
-
56
- ```typescript
57
- function handleClick() { }
58
- function handleSubmit() { }
59
- function handleInputChange() { }
60
- ```
61
-
62
- ### ❌ 나쁜 예
63
-
64
- ```typescript
65
- function onClick() { } // handle 접두사 권장
66
- function submit() { } // 이벤트임이 불명확
67
- function change() { } // 무엇의 변경?
68
- ```
69
-
70
- ## Boolean 변수
71
-
72
- ### ✅ 좋은 예
73
-
74
- ```typescript
75
- const isLoading = false;
76
- const hasError = false;
77
- const canEdit = true;
78
- const shouldUpdate = false;
79
- ```
80
-
81
- ### ❌ 나쁜 예
82
-
83
- ```typescript
84
- const loading = false; // is 접두사 권장
85
- const error = false; // has 권장
86
- const editable = true; // can 권장
87
- ```
88
-
89
- ## 상수
90
-
91
- ### ✅ 좋은 예
92
-
93
- ```typescript
94
- const MAX_RETRY_COUNT = 3;
95
- const API_TIMEOUT_MS = 5000;
96
- const DEFAULT_PAGE_SIZE = 20;
97
- ```
98
-
99
- ### ❌ 나쁜 예
100
-
101
- ```typescript
102
- const maxRetry = 3; // UPPER_SNAKE_CASE 사용
103
- const timeout = 5000; // 단위 명시 부족
104
- ```
105
-
106
- ## 컴포넌트 & 클래스
107
-
108
- ### ✅ 좋은 예
109
-
110
- ```typescript
111
- class UserProfile { }
112
- class DataRepository { }
113
- function ProfileCard() { }
114
- function NavigationBar() { }
115
- ```
116
-
117
- ### ❌ 나쁜 예
118
-
119
- ```typescript
120
- class userProfile { } // PascalCase 사용
121
- class data { } // 불명확
122
- function profile() { } // PascalCase 권장
123
- ```
124
-
125
- ## 커스텀 훅 (React)
126
-
127
- ### ✅ 좋은 예
128
-
129
- ```typescript
130
- function useUserData() { }
131
- function useAuth() { }
132
- function useLocalStorage() { }
133
- ```
134
-
135
- ### ❌ 나쁜 예
136
-
137
- ```typescript
138
- function getUserData() { } // use 접두사 필수
139
- function auth() { } // use 접두사 필수
140
- ```
141
-
142
- ## 타입 & 인터페이스 (TypeScript)
143
-
144
- ### ✅ 좋은 예
145
-
146
- ```typescript
147
- interface User { }
148
- type UserRole = 'admin' | 'user';
149
- interface ApiResponse<T> { }
150
- ```
151
-
152
- ### ❌ 나쁜 예
153
-
154
- ```typescript
155
- interface IUser { } // I 접두사 불필요 (TypeScript)
156
- type user = { }; // PascalCase 사용
157
- ```
158
-
159
- ## 파일 네이밍
160
-
161
- ### ✅ 좋은 예
162
-
163
- ```
164
- user-profile.component.tsx
165
- user.service.ts
166
- auth.utils.ts
167
- constants.ts
168
- ```
169
-
170
- ### ❌ 나쁜 예
171
-
172
- ```
173
- UserProfile.tsx // kebab-case 권장
174
- user_service.ts // kebab-case 권장
175
- utils.ts // 불명확
176
- ```
177
-
178
- ## 약어 사용 원칙
179
-
180
- - 일반적인 약어만 사용 (URL, API, ID, HTML, CSS)
181
- - 프로젝트 특정 약어는 문서화 필수
182
- - 의미가 명확하지 않으면 전체 단어 사용
183
-
184
- ### ✅ 좋은 예
185
-
186
- ```typescript
187
- const userId = '123';
188
- const apiEndpoint = '/users';
189
- const htmlContent = '<div>';
190
- ```
191
-
192
- ### ❌ 나쁜 예
193
-
194
- ```typescript
195
- const usrId = '123'; // 불명확한 약어
196
- const endpt = '/users'; // 과도한 축약
197
- const cnt = '<div>'; // content로 명확히
198
- ```
1
+ # 📖 자동 네이밍 규칙
2
+
3
+ ## 기본 규칙
4
+
5
+ ```
6
+ 변수: 명사 (userList, userData)
7
+ 함수: 동사+명사 (fetchData, updateUser)
8
+ 이벤트: handle 접두사 (handleClick, handleSubmit)
9
+ Boolean: is/has/can 접두사 (isLoading, hasError, canEdit)
10
+ 상수: UPPER_SNAKE_CASE (MAX_RETRY_COUNT, API_TIMEOUT)
11
+ 컴포넌트: PascalCase (UserProfile, HeaderSection)
12
+ 훅: use 접두사 (useUserData, useAuth)
13
+ ```
14
+
15
+ ## 변수 네이밍
16
+
17
+ ### ✅ 좋은 예
18
+
19
+ ```typescript
20
+ const userList = [...];
21
+ const totalAmount = 0;
22
+ const currentPage = 1;
23
+ ```
24
+
25
+ ### ❌ 나쁜 예
26
+
27
+ ```typescript
28
+ const list = [...]; // 무엇의 리스트?
29
+ const total = 0; // 무엇의 총합?
30
+ const page = 1; // 명확하지 않음
31
+ ```
32
+
33
+ ## 함수 네이밍
34
+
35
+ ### ✅ 좋은 예
36
+
37
+ ```typescript
38
+ function fetchUserData() { }
39
+ function updateProfile() { }
40
+ function validateEmail() { }
41
+ function calculateTotal() { }
42
+ ```
43
+
44
+ ### ❌ 나쁜 예
45
+
46
+ ```typescript
47
+ function user() { } // 동사 없음
48
+ function data() { } // 불명확
49
+ function process() { } // 무엇을 처리?
50
+ ```
51
+
52
+ ## 이벤트 핸들러
53
+
54
+ ### ✅ 좋은 예
55
+
56
+ ```typescript
57
+ function handleClick() { }
58
+ function handleSubmit() { }
59
+ function handleInputChange() { }
60
+ ```
61
+
62
+ ### ❌ 나쁜 예
63
+
64
+ ```typescript
65
+ function onClick() { } // handle 접두사 권장
66
+ function submit() { } // 이벤트임이 불명확
67
+ function change() { } // 무엇의 변경?
68
+ ```
69
+
70
+ ## Boolean 변수
71
+
72
+ ### ✅ 좋은 예
73
+
74
+ ```typescript
75
+ const isLoading = false;
76
+ const hasError = false;
77
+ const canEdit = true;
78
+ const shouldUpdate = false;
79
+ ```
80
+
81
+ ### ❌ 나쁜 예
82
+
83
+ ```typescript
84
+ const loading = false; // is 접두사 권장
85
+ const error = false; // has 권장
86
+ const editable = true; // can 권장
87
+ ```
88
+
89
+ ## 상수
90
+
91
+ ### ✅ 좋은 예
92
+
93
+ ```typescript
94
+ const MAX_RETRY_COUNT = 3;
95
+ const API_TIMEOUT_MS = 5000;
96
+ const DEFAULT_PAGE_SIZE = 20;
97
+ ```
98
+
99
+ ### ❌ 나쁜 예
100
+
101
+ ```typescript
102
+ const maxRetry = 3; // UPPER_SNAKE_CASE 사용
103
+ const timeout = 5000; // 단위 명시 부족
104
+ ```
105
+
106
+ ## 컴포넌트 & 클래스
107
+
108
+ ### ✅ 좋은 예
109
+
110
+ ```typescript
111
+ class UserProfile { }
112
+ class DataRepository { }
113
+ function ProfileCard() { }
114
+ function NavigationBar() { }
115
+ ```
116
+
117
+ ### ❌ 나쁜 예
118
+
119
+ ```typescript
120
+ class userProfile { } // PascalCase 사용
121
+ class data { } // 불명확
122
+ function profile() { } // PascalCase 권장
123
+ ```
124
+
125
+ ## 커스텀 훅 (React)
126
+
127
+ ### ✅ 좋은 예
128
+
129
+ ```typescript
130
+ function useUserData() { }
131
+ function useAuth() { }
132
+ function useLocalStorage() { }
133
+ ```
134
+
135
+ ### ❌ 나쁜 예
136
+
137
+ ```typescript
138
+ function getUserData() { } // use 접두사 필수
139
+ function auth() { } // use 접두사 필수
140
+ ```
141
+
142
+ ## 타입 & 인터페이스 (TypeScript)
143
+
144
+ ### ✅ 좋은 예
145
+
146
+ ```typescript
147
+ interface User { }
148
+ type UserRole = 'admin' | 'user';
149
+ interface ApiResponse<T> { }
150
+ ```
151
+
152
+ ### ❌ 나쁜 예
153
+
154
+ ```typescript
155
+ interface IUser { } // I 접두사 불필요 (TypeScript)
156
+ type user = { }; // PascalCase 사용
157
+ ```
158
+
159
+ ## 파일 네이밍
160
+
161
+ ### ✅ 좋은 예
162
+
163
+ ```
164
+ user-profile.component.tsx
165
+ user.service.ts
166
+ auth.utils.ts
167
+ constants.ts
168
+ ```
169
+
170
+ ### ❌ 나쁜 예
171
+
172
+ ```
173
+ UserProfile.tsx // kebab-case 권장
174
+ user_service.ts // kebab-case 권장
175
+ utils.ts // 불명확
176
+ ```
177
+
178
+ ## 약어 사용 원칙
179
+
180
+ - 일반적인 약어만 사용 (URL, API, ID, HTML, CSS)
181
+ - 프로젝트 특정 약어는 문서화 필수
182
+ - 의미가 명확하지 않으면 전체 단어 사용
183
+
184
+ ### ✅ 좋은 예
185
+
186
+ ```typescript
187
+ const userId = '123';
188
+ const apiEndpoint = '/users';
189
+ const htmlContent = '<div>';
190
+ ```
191
+
192
+ ### ❌ 나쁜 예
193
+
194
+ ```typescript
195
+ const usrId = '123'; // 불명확한 약어
196
+ const endpt = '/users'; // 과도한 축약
197
+ const cnt = '<div>'; // content로 명확히
198
+ ```
@@ -1,31 +1,31 @@
1
- #!/bin/bash
2
- # Vibe 협업자 자동 설치 스크립트
3
- # 사용법: ./.claude/vibe/setup.sh
4
-
5
- set -e
6
-
7
- echo "🔧 Vibe 설치 확인 중..."
8
-
9
- # npm/npx 확인
10
- if ! command -v npx &> /dev/null; then
11
- echo "❌ Node.js/npm이 설치되어 있지 않습니다."
12
- echo " https://nodejs.org 에서 설치해주세요."
13
- exit 1
14
- fi
15
-
16
- # vibe 설치 확인 및 업데이트
17
- if command -v vibe &> /dev/null; then
18
- echo "✅ Vibe가 이미 설치되어 있습니다."
19
- vibe update --silent
20
- echo "✅ Vibe 업데이트 완료!"
21
- else
22
- echo "📦 Vibe 설치 중..."
23
- npm install -g @su-record/vibe
24
- vibe update --silent
25
- echo "✅ Vibe 설치 및 설정 완료!"
26
- fi
27
-
28
- echo ""
29
- echo "다음 명령어로 시작하세요:"
30
- echo " /vibe.spec \"기능명\" SPEC 작성"
31
- echo " /vibe.run \"기능명\" 구현 실행"
1
+ #!/bin/bash
2
+ # Vibe 협업자 자동 설치 스크립트
3
+ # 사용법: ./.claude/vibe/setup.sh
4
+
5
+ set -e
6
+
7
+ echo "🔧 Vibe 설치 확인 중..."
8
+
9
+ # npm/npx 확인
10
+ if ! command -v npx &> /dev/null; then
11
+ echo "❌ Node.js/npm이 설치되어 있지 않습니다."
12
+ echo " https://nodejs.org 에서 설치해주세요."
13
+ exit 1
14
+ fi
15
+
16
+ # vibe 설치 확인 및 업데이트
17
+ if command -v vibe &> /dev/null; then
18
+ echo "✅ Vibe가 이미 설치되어 있습니다."
19
+ vibe update --silent
20
+ echo "✅ Vibe 업데이트 완료!"
21
+ else
22
+ echo "📦 Vibe 설치 중..."
23
+ npm install -g @su-record/vibe
24
+ vibe update --silent
25
+ echo "✅ Vibe 설치 및 설정 완료!"
26
+ fi
27
+
28
+ echo ""
29
+ echo "다음 명령어로 시작하세요:"
30
+ echo " /vibe.spec \"기능명\" SPEC 작성"
31
+ echo " /vibe.run \"기능명\" 구현 실행"