@su-record/vibe 2.6.53 → 2.7.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.
- package/CLAUDE.md +64 -291
- package/README.md +112 -217
- package/dist/cli/collaborator.js +1 -1
- package/dist/cli/commands/info.js +1 -1
- package/dist/cli/setup/GlobalInstaller.d.ts +0 -7
- package/dist/cli/setup/GlobalInstaller.d.ts.map +1 -1
- package/dist/cli/setup/GlobalInstaller.js +4 -23
- package/dist/cli/setup/GlobalInstaller.js.map +1 -1
- package/hooks/scripts/utils.js +13 -27
- package/package.json +4 -4
- package/dist/cli/commands/sync.d.ts +0 -9
- package/dist/cli/commands/sync.d.ts.map +0 -1
- package/dist/cli/commands/sync.js +0 -166
- package/dist/cli/commands/sync.js.map +0 -1
- package/dist/infra/lib/claude-storage.d.ts +0 -12
- package/dist/infra/lib/claude-storage.d.ts.map +0 -1
- package/dist/infra/lib/claude-storage.js +0 -59
- package/dist/infra/lib/claude-storage.js.map +0 -1
- package/dist/infra/lib/gemini-api.d.ts +0 -13
- package/dist/infra/lib/gemini-api.d.ts.map +0 -1
- package/dist/infra/lib/gemini-api.js +0 -13
- package/dist/infra/lib/gemini-api.js.map +0 -1
- package/dist/infra/lib/gemini-constants.d.ts +0 -8
- package/dist/infra/lib/gemini-constants.d.ts.map +0 -1
- package/dist/infra/lib/gemini-constants.js +0 -18
- package/dist/infra/lib/gemini-constants.js.map +0 -1
- package/dist/infra/lib/gemini-oauth.d.ts.map +0 -1
- package/dist/infra/lib/gemini-oauth.js.map +0 -1
- package/dist/infra/lib/gemini-storage.d.ts.map +0 -1
- package/dist/infra/lib/gemini-storage.js.map +0 -1
- package/dist/infra/lib/gpt-api.d.ts +0 -13
- package/dist/infra/lib/gpt-api.d.ts.map +0 -1
- package/dist/infra/lib/gpt-api.js +0 -13
- package/dist/infra/lib/gpt-api.js.map +0 -1
- package/dist/infra/lib/gpt-constants.d.ts +0 -12
- package/dist/infra/lib/gpt-constants.d.ts.map +0 -1
- package/dist/infra/lib/gpt-constants.js +0 -18
- package/dist/infra/lib/gpt-constants.js.map +0 -1
- package/dist/infra/lib/gpt-oauth.d.ts +0 -66
- package/dist/infra/lib/gpt-oauth.d.ts.map +0 -1
- package/dist/infra/lib/gpt-oauth.js +0 -389
- package/dist/infra/lib/gpt-oauth.js.map +0 -1
- package/dist/infra/lib/gpt-storage.d.ts +0 -40
- package/dist/infra/lib/gpt-storage.d.ts.map +0 -1
- package/dist/infra/lib/gpt-storage.js +0 -106
- package/dist/infra/lib/gpt-storage.js.map +0 -1
- package/dist/infra/lib/sync/constants.d.ts +0 -21
- package/dist/infra/lib/sync/constants.d.ts.map +0 -1
- package/dist/infra/lib/sync/constants.js +0 -78
- package/dist/infra/lib/sync/constants.js.map +0 -1
- package/dist/infra/lib/sync/crypto.d.ts +0 -23
- package/dist/infra/lib/sync/crypto.d.ts.map +0 -1
- package/dist/infra/lib/sync/crypto.js +0 -55
- package/dist/infra/lib/sync/crypto.js.map +0 -1
- package/dist/infra/lib/sync/drive.d.ts +0 -22
- package/dist/infra/lib/sync/drive.d.ts.map +0 -1
- package/dist/infra/lib/sync/drive.js +0 -99
- package/dist/infra/lib/sync/drive.js.map +0 -1
- package/dist/infra/lib/sync/index.d.ts +0 -9
- package/dist/infra/lib/sync/index.d.ts.map +0 -1
- package/dist/infra/lib/sync/index.js +0 -9
- package/dist/infra/lib/sync/index.js.map +0 -1
- package/dist/infra/lib/sync/oauth.d.ts +0 -12
- package/dist/infra/lib/sync/oauth.d.ts.map +0 -1
- package/dist/infra/lib/sync/oauth.js +0 -157
- package/dist/infra/lib/sync/oauth.js.map +0 -1
- package/dist/infra/lib/sync/storage.d.ts +0 -21
- package/dist/infra/lib/sync/storage.d.ts.map +0 -1
- package/dist/infra/lib/sync/storage.js +0 -32
- package/dist/infra/lib/sync/storage.js.map +0 -1
package/README.md
CHANGED
|
@@ -1,16 +1,14 @@
|
|
|
1
|
-
#
|
|
1
|
+
# VIBE — AI Coding Framework for Claude Code
|
|
2
2
|
|
|
3
|
-
### Personalized AI Agent for Claude Code
|
|
4
|
-
|
|
5
|
-
[](https://www.npmjs.com/package/@su-record/vibe)
|
|
6
3
|
[](https://www.npmjs.com/package/@su-record/vibe)
|
|
4
|
+
[](https://www.npmjs.com/package/@su-record/vibe)
|
|
7
5
|
[](https://nodejs.org/)
|
|
8
6
|
[](https://www.typescriptlang.org/)
|
|
9
7
|
[](https://opensource.org/licenses/MIT)
|
|
10
8
|
|
|
11
|
-
**설치 한 줄로 Claude Code에
|
|
9
|
+
**설치 한 줄로 Claude Code에 49개 에이전트, 41+ 도구, 멀티 LLM을 더합니다.**
|
|
12
10
|
|
|
13
|
-
|
|
11
|
+
49개 에이전트 · 41+ 내장 도구 · 멀티 LLM 오케스트레이션 · 25개 프레임워크 지원
|
|
14
12
|
|
|
15
13
|
---
|
|
16
14
|
|
|
@@ -35,11 +33,11 @@ vibe init
|
|
|
35
33
|
- [훅 시스템](#훅-시스템)
|
|
36
34
|
- [슬래시 명령어](#슬래시-명령어)
|
|
37
35
|
- [41+ 내장 도구](#41-내장-도구)
|
|
38
|
-
- [
|
|
36
|
+
- [스킬](#스킬)
|
|
39
37
|
- [25개 프레임워크 지원](#25개-프레임워크-지원)
|
|
40
38
|
- [품질 보장 시스템](#품질-보장-시스템)
|
|
41
39
|
- [CLI 명령어](#cli-명령어)
|
|
42
|
-
- [
|
|
40
|
+
- [설정](#설정)
|
|
43
41
|
- [매직 키워드](#매직-키워드)
|
|
44
42
|
- [프로젝트 구조](#프로젝트-구조)
|
|
45
43
|
- [시스템 아키텍처](#시스템-아키텍처)
|
|
@@ -95,69 +93,50 @@ flowchart LR
|
|
|
95
93
|
|
|
96
94
|
## 모듈 서브패스 Export
|
|
97
95
|
|
|
98
|
-
`@su-record/vibe`는 런타임 모듈을 서브패스 export로 제공합니다.
|
|
99
|
-
|
|
100
|
-
### 사용 가능한 서브패스
|
|
96
|
+
`@su-record/vibe`는 런타임 모듈을 서브패스 export로 제공합니다.
|
|
101
97
|
|
|
102
98
|
| 서브패스 | 설명 | 주요 export |
|
|
103
99
|
|---------|------|------------|
|
|
104
100
|
| `@su-record/vibe/agent` | 에이전트 시스템 | Agent 관련 클래스 및 타입 |
|
|
105
|
-
| `@su-record/vibe/memory` | 메모리 시스템
|
|
106
|
-
| `@su-record/vibe/orchestrator` | 오케스트레이터
|
|
101
|
+
| `@su-record/vibe/memory` | 메모리 시스템 | `MemoryStorage`, `KnowledgeGraph`, `SessionRAGStore` 등 |
|
|
102
|
+
| `@su-record/vibe/orchestrator` | 오케스트레이터 | `SwarmOrchestrator`, `PhasePipeline`, `BackgroundManager` |
|
|
107
103
|
| `@su-record/vibe/tools` | 41+ 내장 도구 | `findSymbol`, `validateCodeQuality`, `saveMemory` 등 |
|
|
108
|
-
| `@su-record/vibe/tools/*` | 개별 도구 서브패스 | 특정 도구만 import |
|
|
109
|
-
|
|
110
|
-
### 사용 예시
|
|
111
104
|
|
|
112
105
|
```typescript
|
|
113
|
-
// 메모리 시스템
|
|
114
106
|
import { MemoryStorage, SessionRAGStore } from '@su-record/vibe/memory';
|
|
115
|
-
import type { Decision, Goal, Evidence } from '@su-record/vibe/memory';
|
|
116
|
-
|
|
117
|
-
// 오케스트레이터
|
|
118
107
|
import { SwarmOrchestrator, PhasePipeline } from '@su-record/vibe/orchestrator';
|
|
119
|
-
|
|
120
|
-
// 도구
|
|
121
108
|
import { findSymbol, validateCodeQuality } from '@su-record/vibe/tools';
|
|
122
109
|
```
|
|
123
110
|
|
|
124
|
-
### LLM Provider API
|
|
125
|
-
|
|
126
|
-
```typescript
|
|
127
|
-
import gptApi from '@su-record/vibe/lib/gpt';
|
|
128
|
-
import geminiApi from '@su-record/vibe/lib/gemini';
|
|
129
|
-
```
|
|
130
|
-
|
|
131
111
|
---
|
|
132
112
|
|
|
133
113
|
## 멀티 LLM 오케스트레이션
|
|
134
114
|
|
|
135
115
|
복수의 LLM 프로바이더를 통합하여 작업 유형별 최적의 모델에 자동 라우팅합니다.
|
|
136
116
|
|
|
137
|
-
|
|
117
|
+
| 프로바이더 | 역할 | 인증 |
|
|
118
|
+
|-----------|------|------|
|
|
119
|
+
| **Claude** | 오케스트레이션, 코드 생성 | 내장 (Claude Code) |
|
|
120
|
+
| **GPT** | 아키텍처, 디버깅, 교차 리뷰 | OAuth / API Key |
|
|
121
|
+
| **Gemini** | UI/UX, 웹 검색, 음성, 리서치 | OAuth / API Key |
|
|
138
122
|
|
|
139
|
-
|
|
140
|
-
|
|
141
|
-
|
|
142
|
-
|
|
143
|
-
| **Gemini** | Gemini Flash / Pro | UI/UX, 웹 검색, 음성 | OAuth / API 키 |
|
|
123
|
+
```bash
|
|
124
|
+
vibe gpt auth # GPT OAuth (Plus/Pro)
|
|
125
|
+
vibe gemini auth # Gemini OAuth
|
|
126
|
+
```
|
|
144
127
|
|
|
145
128
|
### SmartRouter — 작업 유형별 자동 라우팅
|
|
146
129
|
|
|
147
130
|
| 작업 유형 | 우선순위 (폴백 체인) |
|
|
148
131
|
|----------|---------------------|
|
|
149
|
-
| 코드 분석, 리뷰,
|
|
150
|
-
| 아키텍처, 디버깅 | GPT → Gemini → Claude |
|
|
132
|
+
| 코드 분석, 리뷰, 추론, 아키텍처 | GPT → Gemini → Claude |
|
|
151
133
|
| UI/UX, 웹 검색 | Gemini → GPT → Claude |
|
|
152
|
-
| 코드 생성, 일반 | GPT → Claude |
|
|
153
134
|
|
|
154
135
|
- 프로바이더별 30초 타임아웃, 최대 3회 재시도 (지수 백오프)
|
|
155
136
|
- 5분 가용성 캐시 — 실패한 프로바이더는 5분간 스킵
|
|
156
137
|
|
|
157
138
|
### LLMCluster — 병렬 멀티 LLM 호출
|
|
158
139
|
|
|
159
|
-
복수의 LLM에 동시에 쿼리하여 교차 검증합니다.
|
|
160
|
-
|
|
161
140
|
```mermaid
|
|
162
141
|
flowchart TD
|
|
163
142
|
A["사용자 요청"] --> B["LLMCluster.multiQuery"]
|
|
@@ -170,7 +149,7 @@ flowchart TD
|
|
|
170
149
|
|
|
171
150
|
### ReviewRace — 병렬 코드 리뷰
|
|
172
151
|
|
|
173
|
-
GPT/Gemini가 동시에 코드를 리뷰하고,
|
|
152
|
+
GPT/Gemini가 동시에 코드를 리뷰하고, Jaccard 유사도로 교차 검증하여 우선순위를 산출합니다.
|
|
174
153
|
|
|
175
154
|
| 우선순위 | 조건 |
|
|
176
155
|
|----------|------|
|
|
@@ -184,9 +163,9 @@ P1/P2 이슈는 자동으로 수정됩니다.
|
|
|
184
163
|
|
|
185
164
|
## 에이전트 시스템
|
|
186
165
|
|
|
187
|
-
|
|
166
|
+
49개 전문 에이전트가 각자의 역할에 맞게 작업을 수행합니다.
|
|
188
167
|
|
|
189
|
-
### 메인 에이전트 (
|
|
168
|
+
### 메인 에이전트 (19)
|
|
190
169
|
|
|
191
170
|
| 에이전트 | 등급 | 역할 |
|
|
192
171
|
|----------|------|------|
|
|
@@ -218,13 +197,9 @@ P1/P2 이슈는 자동으로 수정됩니다.
|
|
|
218
197
|
| Git History Reviewer | 커밋 히스토리 위험 패턴 |
|
|
219
198
|
| TypeScript/Python/Rails/React | 언어/프레임워크별 전문 리뷰 |
|
|
220
199
|
|
|
221
|
-
### 리서치 에이전트 (4)
|
|
222
|
-
|
|
223
|
-
Best Practices, Framework Docs, Codebase Patterns, Security Advisory
|
|
224
|
-
|
|
225
200
|
### UI/UX 에이전트 (8)
|
|
226
201
|
|
|
227
|
-
CSV 데이터 기반 디자인 인텔리전스.
|
|
202
|
+
CSV 데이터 기반 디자인 인텔리전스. 24개 CSV에서 산업별 디자인 전략을 자동 생성합니다.
|
|
228
203
|
|
|
229
204
|
| 단계 | 에이전트 | 역할 |
|
|
230
205
|
|------|---------|------|
|
|
@@ -237,19 +212,29 @@ CSV 데이터 기반 디자인 인텔리전스. BM25 검색 엔진으로 24개 C
|
|
|
237
212
|
| REVIEW | ui-a11y-auditor | WCAG 2.1 AA 접근성 감사 |
|
|
238
213
|
| REVIEW | ui-antipattern-detector | UI 안티패턴 검출 |
|
|
239
214
|
|
|
215
|
+
### 리서치 에이전트 (4)
|
|
216
|
+
|
|
217
|
+
Best Practices, Framework Docs, Codebase Patterns, Security Advisory
|
|
218
|
+
|
|
240
219
|
### QA & 기획 에이전트 (6)
|
|
241
220
|
|
|
242
221
|
Requirements Analyst, UX Advisor, Acceptance Tester, Edge Case Finder, API Documenter, Changelog Writer
|
|
243
222
|
|
|
244
|
-
### 에이전트 팀 (
|
|
223
|
+
### 에이전트 팀 (9팀)
|
|
245
224
|
|
|
246
|
-
에이전트들이 팀을 구성하여 공유 태스크 리스트로
|
|
225
|
+
에이전트들이 팀을 구성하여 공유 태스크 리스트로 협업합니다.
|
|
247
226
|
|
|
248
|
-
| 팀 | 워크플로우 |
|
|
227
|
+
| 팀 | 워크플로우 | 멤버 |
|
|
249
228
|
|-----|-----------|------|
|
|
250
|
-
|
|
|
251
|
-
|
|
|
252
|
-
|
|
|
229
|
+
| Lite | `/vibe.run` 일반 | architect, implementer, tester |
|
|
230
|
+
| Dev | `/vibe.run` ULTRAWORK | + security-reviewer |
|
|
231
|
+
| Research | `/vibe.spec` | 4개 리서치 에이전트 |
|
|
232
|
+
| Review Debate | `/vibe.review` | security, architecture, performance, simplicity |
|
|
233
|
+
| SPEC Debate | `/vibe.spec.review` | 동일 |
|
|
234
|
+
| Debug | `/vibe.run` 실패 | architect, implementer, tester |
|
|
235
|
+
| Security | `/vibe.run` 보안 | security, data-integrity, security-advisory, tester |
|
|
236
|
+
| Migration | `/vibe.run` 마이그레이션 | + build-error-resolver |
|
|
237
|
+
| Fullstack | `/vibe.run` 풀스택 | frontend + backend implementer |
|
|
253
238
|
|
|
254
239
|
---
|
|
255
240
|
|
|
@@ -257,8 +242,6 @@ Requirements Analyst, UX Advisor, Acceptance Tester, Edge Case Finder, API Docum
|
|
|
257
242
|
|
|
258
243
|
### SwarmOrchestrator — 자동 작업 분해
|
|
259
244
|
|
|
260
|
-
복잡한 요청을 자동으로 서브태스크로 분해하여 병렬 실행합니다.
|
|
261
|
-
|
|
262
245
|
```mermaid
|
|
263
246
|
flowchart TD
|
|
264
247
|
A["인증 시스템 구현해줘"] --> B{"복잡도 분석"}
|
|
@@ -273,72 +256,60 @@ flowchart TD
|
|
|
273
256
|
G --> H
|
|
274
257
|
```
|
|
275
258
|
|
|
276
|
-
|
|
277
|
-
- 복잡도 산정: 프롬프트 길이 + 키워드 가중치 + 파일 멘션 수 + 리스트 항목 수
|
|
259
|
+
최대 깊이 2단계, 동시 실행 5개, 기본 타임아웃 5분
|
|
278
260
|
|
|
279
261
|
### PhasePipeline — 단계별 실행
|
|
280
262
|
|
|
281
|
-
각 Phase는 `prepare()` → `execute()` → `cleanup()`
|
|
282
|
-
|
|
283
|
-
ULTRAWORK 모드에서는 현재 Phase 실행 중에 다음 Phase의 `prepare()`를 백그라운드로 미리 실행하여 Phase 간 대기 시간을 제거합니다.
|
|
263
|
+
각 Phase는 `prepare()` → `execute()` → `cleanup()` 생명주기. ULTRAWORK 모드에서는 다음 Phase의 `prepare()`를 병렬 실행합니다.
|
|
284
264
|
|
|
285
265
|
### BackgroundManager — 비동기 에이전트 실행
|
|
286
266
|
|
|
287
267
|
- 모델별/프로바이더별 동시 실행 제한
|
|
288
|
-
- 바운디드 큐 (오버플로 방지)
|
|
289
|
-
- 태스크 생명주기: `pending → running → completed/failed/cancelled`
|
|
290
268
|
- 타임아웃 시 kill이 아닌 retry (최대 3회, 지수 백오프)
|
|
291
269
|
- 24시간 이상 된 완료 태스크 자동 정리
|
|
292
270
|
|
|
293
271
|
### AgentRegistry — 실행 추적
|
|
294
272
|
|
|
295
|
-
SQLite WAL 모드
|
|
273
|
+
SQLite WAL 모드 기반. 고아 프로세스 감지, 통계 조회, 24시간 TTL 자동 정리.
|
|
296
274
|
|
|
297
275
|
---
|
|
298
276
|
|
|
299
277
|
## Session RAG — 세션 간 컨텍스트 유지
|
|
300
278
|
|
|
301
|
-
SQLite + FTS5 하이브리드 검색으로 세션 간 결정사항, 목표, 제약조건을
|
|
279
|
+
SQLite + FTS5 하이브리드 검색으로 세션 간 결정사항, 목표, 제약조건을 유지합니다.
|
|
302
280
|
|
|
303
281
|
### 4가지 엔티티
|
|
304
282
|
|
|
305
283
|
| 엔티티 | 설명 | 주요 필드 |
|
|
306
284
|
|--------|------|-----------|
|
|
307
285
|
| **Decision** | 사용자가 확인한 결정사항 | title, rationale, alternatives, priority |
|
|
308
|
-
| **Constraint** | 명시적 제약조건 |
|
|
309
|
-
| **Goal** | 현재 목표 (계층 지원) |
|
|
310
|
-
| **Evidence** | 검증/테스트 결과 |
|
|
286
|
+
| **Constraint** | 명시적 제약조건 | type(technical/business/resource/quality), severity |
|
|
287
|
+
| **Goal** | 현재 목표 (계층 지원) | status, priority, progressPercent, parentId |
|
|
288
|
+
| **Evidence** | 검증/테스트 결과 | type(test/build/lint/coverage), status, metrics |
|
|
311
289
|
|
|
312
|
-
### 하이브리드 검색
|
|
290
|
+
### 하이브리드 검색
|
|
313
291
|
|
|
314
292
|
```
|
|
315
|
-
최종 점수 = BM25
|
|
293
|
+
최종 점수 = BM25 × 0.4 + 최신성 × 0.3 + 우선순위 × 0.3
|
|
316
294
|
```
|
|
317
295
|
|
|
318
|
-
|
|
319
|
-
- **최신성 (30%)** — 지수 감쇠: `exp(-age × ln(2) / 7일)` (7일 반감기)
|
|
320
|
-
- **우선순위 (30%)** — 엔티티 유형별 가중치
|
|
321
|
-
|
|
322
|
-
세션 시작 시 활성 Goals, 중요 Constraints, 최근 Decisions가 자동으로 컨텍스트에 주입됩니다.
|
|
296
|
+
세션 시작 시 활성 Goals, 중요 Constraints, 최근 Decisions 자동 주입.
|
|
323
297
|
|
|
324
298
|
---
|
|
325
299
|
|
|
326
300
|
## 훅 시스템
|
|
327
301
|
|
|
328
|
-
Claude Code의 이벤트에 자동으로 반응하는 훅 스크립트입니다.
|
|
329
|
-
|
|
330
302
|
| 이벤트 | 스크립트 | 역할 |
|
|
331
303
|
|--------|---------|------|
|
|
332
304
|
| **SessionStart** | `session-start.js` | 세션 컨텍스트 복원, 메모리 로드 |
|
|
333
305
|
| **PreToolUse** | `pre-tool-guard.js` | 파괴적 명령어 차단, 스코프 보호 |
|
|
334
|
-
| **PostToolUse** | `code-check.js` |
|
|
306
|
+
| **PostToolUse** | `code-check.js` | 타입 안전성/복잡도 검증 |
|
|
335
307
|
| **PostToolUse** | `post-edit.js` | Git 인덱스 업데이트 |
|
|
336
308
|
| **UserPromptSubmit** | `prompt-dispatcher.js` | 명령어 라우팅 |
|
|
337
|
-
| **UserPromptSubmit** | `skill-injector.js` | 스킬 자동 주입 |
|
|
338
309
|
| **UserPromptSubmit** | `keyword-detector.js` | 매직 키워드 감지 |
|
|
339
|
-
| **Notification** | `context-save.js` | 컨텍스트 80/90/95%
|
|
310
|
+
| **Notification** | `context-save.js` | 컨텍스트 80/90/95% 자동 저장 |
|
|
340
311
|
|
|
341
|
-
추가 훅: `
|
|
312
|
+
추가 훅: `llm-orchestrate.js`, `code-review.js`, `recall.js`, `complexity.js`, `compound.js`, `stop-notify.js`
|
|
342
313
|
|
|
343
314
|
---
|
|
344
315
|
|
|
@@ -372,17 +343,6 @@ flowchart TD
|
|
|
372
343
|
H --> I
|
|
373
344
|
```
|
|
374
345
|
|
|
375
|
-
### SPEC 문서 구조 (PTCF)
|
|
376
|
-
|
|
377
|
-
| 섹션 | 설명 |
|
|
378
|
-
|------|------|
|
|
379
|
-
| `<role>` | AI 역할 정의 |
|
|
380
|
-
| `<context>` | 프로젝트 컨텍스트 |
|
|
381
|
-
| `<task>` | 구현 작업 |
|
|
382
|
-
| `<constraints>` | 제약조건 |
|
|
383
|
-
| `<output_format>` | 출력 형식 |
|
|
384
|
-
| `<acceptance>` | 인수 기준 |
|
|
385
|
-
|
|
386
346
|
---
|
|
387
347
|
|
|
388
348
|
## 41+ 내장 도구
|
|
@@ -396,102 +356,48 @@ flowchart TD
|
|
|
396
356
|
| `manage_goals` | Goal 생명주기 관리 |
|
|
397
357
|
| `core_save_memory` | 중요 결정사항 메모리 저장 |
|
|
398
358
|
| `core_recall_memory` | 저장된 메모리 회상 |
|
|
399
|
-
| `core_list_memories` | 전체 메모리 목록 |
|
|
400
359
|
| `core_search_memories` | 메모리 검색 |
|
|
401
|
-
| `core_search_memories_advanced` | 고급 메모리 검색 |
|
|
402
|
-
| `core_link_memories` | 관련 메모리 연결 |
|
|
403
|
-
| `core_get_memory_graph` | 메모리 그래프 시각화 |
|
|
404
|
-
| `core_create_memory_timeline` | 메모리 타임라인 생성 |
|
|
405
360
|
| `core_start_session` | 이전 세션 컨텍스트 복원 |
|
|
406
361
|
| `core_auto_save_context` | 현재 상태 자동 저장 |
|
|
407
|
-
|
|
|
408
|
-
| `core_prioritize_memory` | 메모리 우선순위 지정 |
|
|
409
|
-
| `core_add_observation` | 관찰 기록 추가 |
|
|
410
|
-
| `core_search_observations` | 관찰 기록 검색 |
|
|
411
|
-
| `core_update_memory` | 메모리 업데이트 |
|
|
412
|
-
| `core_delete_memory` | 메모리 삭제 |
|
|
413
|
-
| `core_get_session_context` | 현재 세션 컨텍스트 조회 |
|
|
414
|
-
| `core_ask_user` | 사용자 질문 |
|
|
362
|
+
| 그 외 12개 | 메모리 그래프, 타임라인, 우선순위, 관찰 기록 등 |
|
|
415
363
|
|
|
416
364
|
### 코드 품질 & 분석 (8)
|
|
417
365
|
|
|
418
|
-
|
|
419
|
-
|------|------|
|
|
420
|
-
| `core_find_symbol` | 심볼 정의 검색 |
|
|
421
|
-
| `core_find_references` | 참조 검색 |
|
|
422
|
-
| `core_analyze_dependency_graph` | 의존성 그래프 분석 |
|
|
423
|
-
| `core_analyze_complexity` | 순환 복잡도 분석 |
|
|
424
|
-
| `core_validate_code_quality` | 품질 검증 (`any`, `@ts-ignore` 차단) |
|
|
425
|
-
| `core_check_coupling_cohesion` | 커플링/응집도 체크 |
|
|
426
|
-
| `core_suggest_improvements` | 개선 제안 |
|
|
427
|
-
| `core_apply_quality_rules` | 품질 규칙 적용 |
|
|
366
|
+
`core_find_symbol`, `core_find_references`, `core_analyze_dependency_graph`, `core_analyze_complexity`, `core_validate_code_quality`, `core_check_coupling_cohesion`, `core_suggest_improvements`, `core_apply_quality_rules`
|
|
428
367
|
|
|
429
368
|
### SPEC & 테스트 (9)
|
|
430
369
|
|
|
431
|
-
|
|
432
|
-
|------|------|
|
|
433
|
-
| `core_spec_generator` | SPEC 문서 생성 (PTCF 형식) |
|
|
434
|
-
| `core_prd_parser` | PRD 문서 파싱 |
|
|
435
|
-
| `core_traceability_matrix` | 추적성 매트릭스 생성 |
|
|
436
|
-
| `core_e2e_test_generator` | E2E 테스트 생성 |
|
|
437
|
-
| `core_spec_versioning` | SPEC 버전 관리 |
|
|
438
|
-
| `core_requirement_id` | 요구사항 ID 생성 |
|
|
439
|
-
| `core_preview_ui_ascii` | ASCII UI 미리보기 |
|
|
440
|
-
| `core_get_current_time` | 현재 시간 (소요 시간 추적) |
|
|
441
|
-
| `core_ask_user` | 사용자 상호작용 |
|
|
370
|
+
`core_spec_generator`, `core_prd_parser`, `core_traceability_matrix`, `core_e2e_test_generator`, `core_preview_ui_ascii`, `core_get_current_time` 등
|
|
442
371
|
|
|
443
372
|
### UI/UX 도구 (4)
|
|
444
373
|
|
|
445
|
-
|
|
446
|
-
|------|------|
|
|
447
|
-
| `core_ui_search` | BM25 기반 UI 데이터 검색 |
|
|
448
|
-
| `core_ui_stack_search` | 프레임워크별 UI 패턴 검색 |
|
|
449
|
-
| `core_ui_generate_design_system` | 디자인 시스템 자동 생성 |
|
|
450
|
-
| `core_ui_persist_design_system` | 디자인 시스템 저장 |
|
|
374
|
+
`core_ui_search`, `core_ui_stack_search`, `core_ui_generate_design_system`, `core_ui_persist_design_system`
|
|
451
375
|
|
|
452
376
|
---
|
|
453
377
|
|
|
454
|
-
##
|
|
378
|
+
## 스킬
|
|
455
379
|
|
|
456
380
|
에이전트가 특정 도메인 지식을 활용할 수 있는 스킬 모듈입니다.
|
|
457
381
|
|
|
458
|
-
|
|
459
|
-
|
|
460
|
-
Brand Assets, Commerce Patterns, Commit Push PR, Context7 Usage, Core Capabilities, E2E Commerce, Frontend Design, Git Worktree, Handoff, Multi-LLM Orchestration, Parallel Research, Priority Todos, SEO Checklist, Tech Debt, Tool Fallback, TypeScript Advanced Types, Vercel React, Vibe Capabilities
|
|
382
|
+
**코어**: Brand Assets, Commerce Patterns, Commit Push PR, Context7, Core/Vibe Capabilities, E2E Commerce, Frontend Design, Git Worktree, Handoff, Parallel Research, Priority Todos, SEO Checklist, Tech Debt, Tool Fallback, TypeScript Advanced Types, Vercel React Best Practices, UI/UX Pro Max
|
|
461
383
|
|
|
462
|
-
|
|
384
|
+
**언어별**: TypeScript-Next.js, TypeScript-React, TypeScript-React Native, Python-FastAPI, Dart-Flutter
|
|
463
385
|
|
|
464
|
-
|
|
465
|
-
|----------|------|
|
|
466
|
-
| **핵심 (3)** | Communication Guide, Development Philosophy, Quick Start |
|
|
467
|
-
| **언어별 (5)** | TypeScript-Next.js, TypeScript-React, TypeScript-React Native, Python-FastAPI, Dart-Flutter |
|
|
468
|
-
| **품질 (2)** | Checklist, Testing Strategy |
|
|
469
|
-
| **표준 (4)** | Anti-Patterns, Code Structure, Complexity Metrics, Naming Conventions |
|
|
470
|
-
| **도구 (2)** | MCP Hi-AI Guide, MCP Workflow |
|
|
386
|
+
**품질/표준**: Checklist, Testing Strategy, Anti-Patterns, Code Structure, Complexity Metrics, Naming Conventions
|
|
471
387
|
|
|
472
388
|
---
|
|
473
389
|
|
|
474
390
|
## 25개 프레임워크 지원
|
|
475
391
|
|
|
476
|
-
프로젝트의 기술 스택을 자동
|
|
477
|
-
|
|
478
|
-
|
|
479
|
-
**TypeScript (12)** — Next.js, React, Angular, Vue, Svelte, Nuxt, NestJS, Node, Electron, Tauri, React Native, Astro
|
|
480
|
-
|
|
481
|
-
**Python (2)** — Django, FastAPI
|
|
482
|
-
|
|
483
|
-
**Java/Kotlin (4)** — Spring Boot, Java, Android, Kotlin
|
|
392
|
+
프로젝트의 기술 스택을 자동 감지하고 프레임워크별 코딩 규칙을 적용합니다.
|
|
393
|
+
모노레포 지원 (pnpm-workspace, npm workspaces, Lerna, Nx, Turborepo).
|
|
484
394
|
|
|
485
|
-
|
|
395
|
+
- **TypeScript (12)** — Next.js, React, Angular, Vue, Svelte, Nuxt, NestJS, Node, Electron, Tauri, React Native, Astro
|
|
396
|
+
- **Python (2)** — Django, FastAPI
|
|
397
|
+
- **Java/Kotlin (2)** — Spring Boot, Android
|
|
398
|
+
- **기타** — Rails, Go, Rust, Swift (iOS), Unity (C#), Flutter (Dart), Godot (GDScript)
|
|
486
399
|
|
|
487
|
-
|
|
488
|
-
|
|
489
|
-
| 카테고리 | 감지 항목 |
|
|
490
|
-
|----------|----------|
|
|
491
|
-
| **데이터베이스** | PostgreSQL, MySQL, MongoDB, Redis, SQLite, Prisma, Drizzle, Sequelize, TypeORM |
|
|
492
|
-
| **상태 관리** | Redux, Zustand, Jotai, Recoil, MobX, React Query, SWR, Pinia, Vuex, Riverpod, BLoC |
|
|
493
|
-
| **CI/CD** | GitHub Actions, GitLab CI, Jenkins, CircleCI |
|
|
494
|
-
| **호스팅** | Vercel, Netlify, Google Cloud, Docker, Fly.io, Railway |
|
|
400
|
+
자동 감지: DB (PostgreSQL, MySQL, MongoDB, Redis, Prisma, Drizzle 등), 상태 관리 (Redux, Zustand, Jotai 등), CI/CD (GitHub Actions 등), 호스팅 (Vercel, Docker 등)
|
|
495
401
|
|
|
496
402
|
---
|
|
497
403
|
|
|
@@ -500,14 +406,12 @@ Brand Assets, Commerce Patterns, Commit Push PR, Context7 Usage, Core Capabiliti
|
|
|
500
406
|
| 가드레일 | 메커니즘 |
|
|
501
407
|
|----------|---------|
|
|
502
408
|
| **타입 안전성** | Quality Gate — `any`, `@ts-ignore` 차단 |
|
|
503
|
-
| **코드 리뷰** | ReviewRace — GPT + Gemini
|
|
409
|
+
| **코드 리뷰** | ReviewRace — GPT + Gemini 교차 검증 |
|
|
504
410
|
| **완성도** | Ralph Loop — 100%까지 반복 (범위 축소 없음) |
|
|
505
|
-
| **멀티 LLM** | LLMCluster — 교차 검증 |
|
|
506
411
|
| **스코프 보호** | pre-tool-guard — 요청 범위 외 수정 방지 |
|
|
507
|
-
| **컨텍스트 보호** | context-save — 80/90/95
|
|
508
|
-
| **합리화 방지** | Anti-Rationalization — AI 변명 패턴
|
|
412
|
+
| **컨텍스트 보호** | context-save — 80/90/95% 자동 저장 |
|
|
413
|
+
| **합리화 방지** | Anti-Rationalization — AI 변명 패턴 차단 |
|
|
509
414
|
| **증거 게이트** | Evidence Gate — 증거 없는 완료 주장 금지 |
|
|
510
|
-
| **3-수정 규칙** | 동일 실패 3회 → 아키텍처 질문 전환 |
|
|
511
415
|
|
|
512
416
|
### 코드 복잡도 제한
|
|
513
417
|
|
|
@@ -524,7 +428,7 @@ Brand Assets, Commerce Patterns, Commit Push PR, Context7 Usage, Core Capabiliti
|
|
|
524
428
|
|
|
525
429
|
```bash
|
|
526
430
|
# 셋업
|
|
527
|
-
vibe setup # 셋업 위자드 (인증, 채널, 설정
|
|
431
|
+
vibe setup # 셋업 위자드 (인증, 채널, 설정)
|
|
528
432
|
vibe init [project] # 프로젝트 초기화
|
|
529
433
|
vibe update # 설정 업데이트
|
|
530
434
|
vibe upgrade # 최신 버전으로 업그레이드
|
|
@@ -534,16 +438,14 @@ vibe remove # 제거
|
|
|
534
438
|
# LLM 인증
|
|
535
439
|
vibe gpt auth / key / status / logout
|
|
536
440
|
vibe gemini auth / key / status / logout
|
|
537
|
-
vibe claude
|
|
538
|
-
|
|
539
|
-
# 인증 동기화
|
|
540
|
-
vibe sync login / push / pull / status / logout
|
|
441
|
+
vibe claude key / status / logout
|
|
541
442
|
|
|
542
443
|
# 외부 채널
|
|
543
444
|
vibe telegram setup / chat / status
|
|
544
445
|
vibe slack setup / channel / status
|
|
545
446
|
|
|
546
|
-
#
|
|
447
|
+
# 기타
|
|
448
|
+
vibe env import [path] # .env → config.json 마이그레이션
|
|
547
449
|
vibe help # 도움말
|
|
548
450
|
vibe version # 버전
|
|
549
451
|
```
|
|
@@ -557,30 +459,32 @@ vibe version # 버전
|
|
|
557
459
|
|
|
558
460
|
---
|
|
559
461
|
|
|
560
|
-
##
|
|
561
|
-
|
|
562
|
-
|
|
563
|
-
|
|
564
|
-
|
|
565
|
-
|
|
566
|
-
|
|
567
|
-
|
|
568
|
-
|
|
462
|
+
## 설정
|
|
463
|
+
|
|
464
|
+
### 전역: `~/.vibe/config.json`
|
|
465
|
+
|
|
466
|
+
모든 인증, 채널, 모델 설정을 하나의 파일에 통합 관리합니다 (파일 권한 0o600).
|
|
467
|
+
|
|
468
|
+
```json
|
|
469
|
+
{
|
|
470
|
+
"credentials": {
|
|
471
|
+
"gpt": { "apiKey": "sk-...", "oauthRefreshToken": "..." },
|
|
472
|
+
"gemini": { "apiKey": "AIza...", "oauthRefreshToken": "..." }
|
|
473
|
+
},
|
|
474
|
+
"channels": {
|
|
475
|
+
"telegram": { "botToken": "123:ABC", "allowedChatIds": ["-100..."] },
|
|
476
|
+
"slack": { "botToken": "xoxb-...", "appToken": "xapp-...", "allowedChannelIds": ["C01..."] }
|
|
477
|
+
},
|
|
478
|
+
"models": {
|
|
479
|
+
"gpt": "gpt-5.2",
|
|
480
|
+
"gemini": "gemini-3-pro-preview"
|
|
481
|
+
}
|
|
482
|
+
}
|
|
569
483
|
```
|
|
570
484
|
|
|
571
|
-
###
|
|
485
|
+
### 프로젝트: `.claude/vibe/config.json`
|
|
572
486
|
|
|
573
|
-
|
|
574
|
-
|----------|------|
|
|
575
|
-
| **인증** | GPT/Gemini 토큰 및 API 키 |
|
|
576
|
-
| **메모리** | Session RAG DB, 저장된 메모리 |
|
|
577
|
-
|
|
578
|
-
### 보안
|
|
579
|
-
|
|
580
|
-
- AES-256-GCM 암호화 (Drive에 암호문만 저장)
|
|
581
|
-
- Google Drive AppData 스코프만 사용 (사용자 Drive 파일 접근 불가)
|
|
582
|
-
- PKCE + localhost 콜백 OAuth 플로우
|
|
583
|
-
- 파일 권한 0o600
|
|
487
|
+
프로젝트별 설정 (language, quality, stacks, details, references).
|
|
584
488
|
|
|
585
489
|
---
|
|
586
490
|
|
|
@@ -602,28 +506,32 @@ vibe sync pull # 새 환경에서 복원
|
|
|
602
506
|
your-project/
|
|
603
507
|
├── .claude/
|
|
604
508
|
│ └── vibe/
|
|
605
|
-
│ ├── config.json #
|
|
509
|
+
│ ├── config.json # 프로젝트 설정 (모델, 스택)
|
|
606
510
|
│ ├── constitution.md # 프로젝트 원칙
|
|
607
511
|
│ ├── specs/ # SPEC 문서
|
|
608
512
|
│ ├── features/ # 기능 추적
|
|
609
513
|
│ ├── todos/ # 이슈 추적 (P1/P2/P3)
|
|
610
|
-
│
|
|
611
|
-
│ └── agents/
|
|
612
|
-
│ └── registry.db # 에이전트 실행 추적
|
|
514
|
+
│ └── reports/ # 리뷰 리포트
|
|
613
515
|
├── CLAUDE.md # 프로젝트 가이드 (자동 생성)
|
|
614
516
|
└── ...
|
|
615
517
|
```
|
|
616
518
|
|
|
617
519
|
전역 설정:
|
|
618
520
|
```
|
|
619
|
-
~/.
|
|
620
|
-
|
|
521
|
+
~/.vibe/
|
|
522
|
+
├── config.json # 전역 설정 (인증, 채널, 모델)
|
|
523
|
+
├── hooks/scripts/ # 훅 스크립트
|
|
524
|
+
└── node_modules/@su-record/vibe/ # 패키지 복사본
|
|
525
|
+
|
|
526
|
+
~/.claude/
|
|
527
|
+
├── vibe/
|
|
621
528
|
│ ├── rules/ # 코딩 규칙
|
|
529
|
+
│ ├── skills/ # 스킬 정의
|
|
530
|
+
│ ├── ui-ux-data/ # UI/UX CSV 데이터
|
|
622
531
|
│ ├── session-rag.db # Session RAG (SQLite + FTS5)
|
|
623
532
|
│ └── memories.json # 저장된 메모리
|
|
624
|
-
|
|
625
|
-
|
|
626
|
-
~/.claude/skills/ # 스킬 정의 (34개)
|
|
533
|
+
├── commands/ # 슬래시 명령어 (10개)
|
|
534
|
+
└── agents/ # 에이전트 정의 (49개)
|
|
627
535
|
```
|
|
628
536
|
|
|
629
537
|
---
|
|
@@ -651,12 +559,11 @@ flowchart TD
|
|
|
651
559
|
J1 --> K["교차 검증 → P1/P2/P3"]
|
|
652
560
|
J2 --> K
|
|
653
561
|
|
|
654
|
-
L["Session RAG"] -.->
|
|
655
|
-
L -.->
|
|
562
|
+
L["Session RAG"] -.-> M["Decision/Constraint/Goal/Evidence"]
|
|
563
|
+
L -.-> N["BM25 × 0.4 + 최신성 × 0.3 + 우선순위 × 0.3"]
|
|
656
564
|
|
|
657
565
|
O["품질 게이트"] -.-> P["pre-tool-guard → 차단"]
|
|
658
566
|
O -.-> Q["code-check → 검증"]
|
|
659
|
-
O -.-> R["post-edit → Git 동기화"]
|
|
660
567
|
```
|
|
661
568
|
|
|
662
569
|
---
|
|
@@ -668,18 +575,6 @@ flowchart TD
|
|
|
668
575
|
- GPT, Gemini는 선택사항 (멀티 LLM 기능용)
|
|
669
576
|
- sox는 선택사항 (`/vibe.voice` 음성 입력용)
|
|
670
577
|
|
|
671
|
-
### 주요 의존성
|
|
672
|
-
|
|
673
|
-
| 패키지 | 용도 |
|
|
674
|
-
|--------|------|
|
|
675
|
-
| `@anthropic-ai/claude-agent-sdk` | Claude Agent SDK |
|
|
676
|
-
| `better-sqlite3` | Session RAG, AgentRegistry |
|
|
677
|
-
| `ts-morph` | TypeScript AST 조작 |
|
|
678
|
-
| `zod` | 스키마 검증 |
|
|
679
|
-
| `playwright` | E2E 테스트, 브라우저 자동화 |
|
|
680
|
-
| `chalk` | 터미널 색상 |
|
|
681
|
-
| `glob` | 파일 패턴 매칭 |
|
|
682
|
-
|
|
683
578
|
## 라이선스
|
|
684
579
|
|
|
685
580
|
MIT License - Copyright (c) 2025 Su
|
package/dist/cli/collaborator.js
CHANGED
|
@@ -96,7 +96,7 @@ echo " /vibe.run \\"feature\\" Implement"
|
|
|
96
96
|
const coreSetupSection = `
|
|
97
97
|
## Core Setup (AI Coding)
|
|
98
98
|
|
|
99
|
-
This project uses [
|
|
99
|
+
This project uses [VIBE](https://github.com/su-record/vibe) AI coding framework.
|
|
100
100
|
|
|
101
101
|
### Collaborator Install
|
|
102
102
|
|
|
@@ -10,13 +10,6 @@ export declare const getCoreConfigDir: typeof getGlobalConfigDir;
|
|
|
10
10
|
* 전역 core 패키지 설치
|
|
11
11
|
*/
|
|
12
12
|
export declare function installGlobalCorePackage(isUpdate?: boolean): void;
|
|
13
|
-
/**
|
|
14
|
-
* npm 전역 prefix를 file:// URL로 변환 (크로스 플랫폼)
|
|
15
|
-
* postinstall에서 저장한 캐시 파일 → npm prefix -g fallback
|
|
16
|
-
* - Windows: file:///C:/Users/.../npm
|
|
17
|
-
* - macOS/Linux: file:///usr/local (또는 nvm 경로)
|
|
18
|
-
*/
|
|
19
|
-
export declare function getCorePathUrl(): string;
|
|
20
13
|
/**
|
|
21
14
|
* ~/.claude/ 전역 assets 설치 (commands, agents, skills)
|
|
22
15
|
*/
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"GlobalInstaller.d.ts","sourceRoot":"","sources":["../../../src/cli/setup/GlobalInstaller.ts"],"names":[],"mappings":"AAAA;;GAEG;AAQH,OAAO,EAAE,kBAAkB,EAAE,MAAM,2CAA2C,CAAC;AAK/E;;GAEG;AACH,eAAO,MAAM,gBAAgB,2BAAqB,CAAC;AAEnD;;GAEG;AACH,wBAAgB,wBAAwB,CAAC,QAAQ,UAAQ,GAAG,IAAI,
|
|
1
|
+
{"version":3,"file":"GlobalInstaller.d.ts","sourceRoot":"","sources":["../../../src/cli/setup/GlobalInstaller.ts"],"names":[],"mappings":"AAAA;;GAEG;AAQH,OAAO,EAAE,kBAAkB,EAAE,MAAM,2CAA2C,CAAC;AAK/E;;GAEG;AACH,eAAO,MAAM,gBAAgB,2BAAqB,CAAC;AAEnD;;GAEG;AACH,wBAAgB,wBAAwB,CAAC,QAAQ,UAAQ,GAAG,IAAI,CA+C/D;AAqDD;;GAEG;AACH,wBAAgB,mBAAmB,CAAC,QAAQ,UAAQ,GAAG,IAAI,CA2B1D;AAED;;;GAGG;AACH,wBAAgB,kBAAkB,CAAC,SAAS,UAAQ,GAAG,IAAI,CAE1D;AAED;;;;GAIG;AACH,wBAAgB,0BAA0B,IAAI,IAAI,CAsBjD"}
|