@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.
Files changed (70) hide show
  1. package/CLAUDE.md +64 -291
  2. package/README.md +112 -217
  3. package/dist/cli/collaborator.js +1 -1
  4. package/dist/cli/commands/info.js +1 -1
  5. package/dist/cli/setup/GlobalInstaller.d.ts +0 -7
  6. package/dist/cli/setup/GlobalInstaller.d.ts.map +1 -1
  7. package/dist/cli/setup/GlobalInstaller.js +4 -23
  8. package/dist/cli/setup/GlobalInstaller.js.map +1 -1
  9. package/hooks/scripts/utils.js +13 -27
  10. package/package.json +4 -4
  11. package/dist/cli/commands/sync.d.ts +0 -9
  12. package/dist/cli/commands/sync.d.ts.map +0 -1
  13. package/dist/cli/commands/sync.js +0 -166
  14. package/dist/cli/commands/sync.js.map +0 -1
  15. package/dist/infra/lib/claude-storage.d.ts +0 -12
  16. package/dist/infra/lib/claude-storage.d.ts.map +0 -1
  17. package/dist/infra/lib/claude-storage.js +0 -59
  18. package/dist/infra/lib/claude-storage.js.map +0 -1
  19. package/dist/infra/lib/gemini-api.d.ts +0 -13
  20. package/dist/infra/lib/gemini-api.d.ts.map +0 -1
  21. package/dist/infra/lib/gemini-api.js +0 -13
  22. package/dist/infra/lib/gemini-api.js.map +0 -1
  23. package/dist/infra/lib/gemini-constants.d.ts +0 -8
  24. package/dist/infra/lib/gemini-constants.d.ts.map +0 -1
  25. package/dist/infra/lib/gemini-constants.js +0 -18
  26. package/dist/infra/lib/gemini-constants.js.map +0 -1
  27. package/dist/infra/lib/gemini-oauth.d.ts.map +0 -1
  28. package/dist/infra/lib/gemini-oauth.js.map +0 -1
  29. package/dist/infra/lib/gemini-storage.d.ts.map +0 -1
  30. package/dist/infra/lib/gemini-storage.js.map +0 -1
  31. package/dist/infra/lib/gpt-api.d.ts +0 -13
  32. package/dist/infra/lib/gpt-api.d.ts.map +0 -1
  33. package/dist/infra/lib/gpt-api.js +0 -13
  34. package/dist/infra/lib/gpt-api.js.map +0 -1
  35. package/dist/infra/lib/gpt-constants.d.ts +0 -12
  36. package/dist/infra/lib/gpt-constants.d.ts.map +0 -1
  37. package/dist/infra/lib/gpt-constants.js +0 -18
  38. package/dist/infra/lib/gpt-constants.js.map +0 -1
  39. package/dist/infra/lib/gpt-oauth.d.ts +0 -66
  40. package/dist/infra/lib/gpt-oauth.d.ts.map +0 -1
  41. package/dist/infra/lib/gpt-oauth.js +0 -389
  42. package/dist/infra/lib/gpt-oauth.js.map +0 -1
  43. package/dist/infra/lib/gpt-storage.d.ts +0 -40
  44. package/dist/infra/lib/gpt-storage.d.ts.map +0 -1
  45. package/dist/infra/lib/gpt-storage.js +0 -106
  46. package/dist/infra/lib/gpt-storage.js.map +0 -1
  47. package/dist/infra/lib/sync/constants.d.ts +0 -21
  48. package/dist/infra/lib/sync/constants.d.ts.map +0 -1
  49. package/dist/infra/lib/sync/constants.js +0 -78
  50. package/dist/infra/lib/sync/constants.js.map +0 -1
  51. package/dist/infra/lib/sync/crypto.d.ts +0 -23
  52. package/dist/infra/lib/sync/crypto.d.ts.map +0 -1
  53. package/dist/infra/lib/sync/crypto.js +0 -55
  54. package/dist/infra/lib/sync/crypto.js.map +0 -1
  55. package/dist/infra/lib/sync/drive.d.ts +0 -22
  56. package/dist/infra/lib/sync/drive.d.ts.map +0 -1
  57. package/dist/infra/lib/sync/drive.js +0 -99
  58. package/dist/infra/lib/sync/drive.js.map +0 -1
  59. package/dist/infra/lib/sync/index.d.ts +0 -9
  60. package/dist/infra/lib/sync/index.d.ts.map +0 -1
  61. package/dist/infra/lib/sync/index.js +0 -9
  62. package/dist/infra/lib/sync/index.js.map +0 -1
  63. package/dist/infra/lib/sync/oauth.d.ts +0 -12
  64. package/dist/infra/lib/sync/oauth.d.ts.map +0 -1
  65. package/dist/infra/lib/sync/oauth.js +0 -157
  66. package/dist/infra/lib/sync/oauth.js.map +0 -1
  67. package/dist/infra/lib/sync/storage.d.ts +0 -21
  68. package/dist/infra/lib/sync/storage.d.ts.map +0 -1
  69. package/dist/infra/lib/sync/storage.js +0 -32
  70. package/dist/infra/lib/sync/storage.js.map +0 -1
package/README.md CHANGED
@@ -1,16 +1,14 @@
1
- # Vibe
1
+ # VIBE — AI Coding Framework for Claude Code
2
2
 
3
- ### Personalized AI Agent for Claude Code
4
-
5
- [![npm downloads](https://img.shields.io/npm/dt/@su-record/vibe.svg?style=flat-square&color=blue)](https://www.npmjs.com/package/@su-record/vibe)
6
3
  [![npm version](https://img.shields.io/npm/v/@su-record/vibe)](https://www.npmjs.com/package/@su-record/vibe)
4
+ [![npm downloads](https://img.shields.io/npm/dt/@su-record/vibe.svg?style=flat-square&color=blue)](https://www.npmjs.com/package/@su-record/vibe)
7
5
  [![Node.js](https://img.shields.io/badge/Node.js-%3E%3D18.0.0-green)](https://nodejs.org/)
8
6
  [![TypeScript](https://img.shields.io/badge/TypeScript-5.5+-blue)](https://www.typescriptlang.org/)
9
7
  [![License: MIT](https://img.shields.io/badge/License-MIT-yellow.svg)](https://opensource.org/licenses/MIT)
10
8
 
11
- **설치 한 줄로 Claude Code에 46개 에이전트, 41+ 도구, 4개 LLM을 더합니다.**
9
+ **설치 한 줄로 Claude Code에 49개 에이전트, 41+ 도구, 멀티 LLM을 더합니다.**
12
10
 
13
- 46개 에이전트 · 41+ 내장 도구 · 34개 스킬 · 4개 LLM 오케스트레이션 · 25개 프레임워크 지원
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
- - [34개 스킬](#34개-스킬)
36
+ - [스킬](#스킬)
39
37
  - [25개 프레임워크 지원](#25개-프레임워크-지원)
40
38
  - [품질 보장 시스템](#품질-보장-시스템)
41
39
  - [CLI 명령어](#cli-명령어)
42
- - [인증 동기화 (vibe sync)](#인증-동기화-vibe-sync)
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로 제공합니다. 필요한 모듈만 선택적으로 import할 수 있습니다.
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` | 메모리 시스템 (Storage, KnowledgeGraph, Session RAG) | `MemoryStorage`, `KnowledgeGraph`, `SessionRAGStore` 등 7개 클래스 + 18개 타입 |
106
- | `@su-record/vibe/orchestrator` | 오케스트레이터 (Swarm, Pipeline, Background) | `SwarmOrchestrator`, `PhasePipeline`, `BackgroundManager` |
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
- | **Claude** | Opus / Sonnet / Haiku | 오케스트레이션, 코드 생성 | 내장 |
142
- | **GPT** | GPT (Responses API) | 아키텍처, 디버깅 | OAuth / API 키 |
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
- | 코드 분석, 리뷰, 추론 | GPT → Gemini → Claude |
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
- 46개 전문 에이전트가 각자의 역할에 맞게 작업을 수행합니다.
166
+ 49개 전문 에이전트가 각자의 역할에 맞게 작업을 수행합니다.
188
167
 
189
- ### 메인 에이전트 (18)
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 데이터 기반 디자인 인텔리전스. BM25 검색 엔진으로 24개 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
- ### 에이전트 팀 (Experimental)
223
+ ### 에이전트 팀 (9팀)
245
224
 
246
- 에이전트들이 팀을 구성하여 공유 태스크 리스트로 협업하고 상호 피드백합니다.
225
+ 에이전트들이 팀을 구성하여 공유 태스크 리스트로 협업합니다.
247
226
 
248
- | 팀 | 워크플로우 | 역할 |
227
+ | 팀 | 워크플로우 | 멤버 |
249
228
  |-----|-----------|------|
250
- | Research Team | `/vibe.spec` | 리서치 결과 교차 검증 + 통합 |
251
- | Review Debate Team | `/vibe.review` | P1/P2 교차 검증 + 오탐 제거 |
252
- | Implementation Team | `/vibe.run` ULTRAWORK | 실시간 협업 구현 + 즉시 피드백 |
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
- - 최대 깊이 2단계, 동시 실행 5개, 기본 타임아웃 5분
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 모드 기반 에이전트 실행 추적. 고아 프로세스 감지, 통계 조회, 24시간 TTL 자동 정리.
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** | 명시적 제약조건 | title, type(technical/business/resource/quality), severity |
309
- | **Goal** | 현재 목표 (계층 지원) | title, status, priority, progressPercent, parentId |
310
- | **Evidence** | 검증/테스트 결과 | title, type(test/build/lint/coverage), status, metrics |
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 점수 × 0.4 + 최신성 점수 × 0.3 + 우선순위 점수 × 0.3
293
+ 최종 점수 = BM25 × 0.4 + 최신성 × 0.3 + 우선순위 × 0.3
316
294
  ```
317
295
 
318
- - **BM25 (40%)** FTS5 전문 검색, BM25 랭크 정규화
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
- 추가 훅: `code-review.js`, `llm-orchestrate.js`, `recall.js`, `complexity.js`, `compound.js`
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
- | `core_restore_session_context` | 세션 컨텍스트 복원 |
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
- ## 34개 스킬
378
+ ## 스킬
455
379
 
456
380
  에이전트가 특정 도메인 지식을 활용할 수 있는 스킬 모듈입니다.
457
381
 
458
- ### 코어 스킬 (18)
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
- 모노레포도 지원합니다 (pnpm-workspace, npm workspaces, Lerna, Nx, Turborepo).
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
- **기타 (7)** — Rails, Go, Rust, Swift (iOS), Unity (C#), Flutter (Dart), Godot (GDScript)
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 변명 패턴 6개 카테고리 차단 |
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 status # Claude Code 상태 확인
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
- ## 인증 동기화 (vibe sync)
561
-
562
- 작업 환경이 바뀔 때마다 인증을 반복하는 문제를 해결합니다.
563
- Google Drive AppData에 암호화된 인증 정보를 저장하고, 새 환경에서 한 줄로 복원합니다.
564
-
565
- ```bash
566
- vibe sync login # Google 계정 연결 (1회)
567
- vibe sync push # 인증/메모리 업로드
568
- vibe sync pull # 새 환경에서 복원
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
- ├── reports/ # 리뷰 및 분석 리포트
611
- │ └── agents/
612
- │ └── registry.db # 에이전트 실행 추적
514
+ └── reports/ # 리뷰 리포트
613
515
  ├── CLAUDE.md # 프로젝트 가이드 (자동 생성)
614
516
  └── ...
615
517
  ```
616
518
 
617
519
  전역 설정:
618
520
  ```
619
- ~/.config/vibe/ # LLM 인증 토큰/키
620
- ~/.claude/vibe/
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
- ~/.claude/commands/ # 슬래시 명령어 (10개)
625
- ~/.claude/agents/ # 에이전트 정의 (46개)
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"] -.-> |"저장"| M["Decision/Constraint/Goal/Evidence"]
655
- L -.-> |"검색"| N["BM25 × 0.4 + 최신성 × 0.3 + 우선순위 × 0.3"]
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
@@ -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 [Core](https://github.com/su-record/core) AI coding framework.
99
+ This project uses [VIBE](https://github.com/su-record/vibe) AI coding framework.
100
100
 
101
101
  ### Collaborator Install
102
102
 
@@ -42,7 +42,7 @@ Slash Commands (Claude Code):
42
42
  /vibe.utils 유틸리티 (--e2e, --diagram, --continue)
43
43
  /vibe.voice 음성 코딩 (Gemini + sox)
44
44
 
45
- Docs: https://github.com/su-record/core
45
+ Docs: https://github.com/su-record/vibe
46
46
  `);
47
47
  }
48
48
  /**
@@ -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,CAmD/D;AA4BD;;;;;GAKG;AACH,wBAAgB,cAAc,IAAI,MAAM,CAUvC;AAyBD;;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"}
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"}