@su-record/vibe 2.4.56 → 2.4.58

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 (44) hide show
  1. package/CLAUDE.md +7 -18
  2. package/agents/compounder.md +1 -1
  3. package/agents/implementer.md +2 -1
  4. package/agents/simplifier.md +2 -1
  5. package/commands/vibe.run.md +4 -1
  6. package/commands/vibe.spec.md +56 -3
  7. package/dist/cli/index.d.ts.map +1 -1
  8. package/dist/cli/index.js +0 -4
  9. package/dist/cli/index.js.map +1 -1
  10. package/dist/cli/postinstall.js +32 -1
  11. package/dist/cli/postinstall.js.map +1 -1
  12. package/dist/cli/setup.d.ts +18 -4
  13. package/dist/cli/setup.d.ts.map +1 -1
  14. package/dist/cli/setup.js +107 -27
  15. package/dist/cli/setup.js.map +1 -1
  16. package/dist/cli/types.d.ts +6 -0
  17. package/dist/cli/types.d.ts.map +1 -1
  18. package/languages/csharp-unity.md +516 -0
  19. package/languages/gdscript-godot.md +470 -0
  20. package/languages/ruby-rails.md +489 -0
  21. package/languages/typescript-angular.md +433 -0
  22. package/languages/typescript-astro.md +416 -0
  23. package/languages/typescript-electron.md +407 -0
  24. package/languages/typescript-nestjs.md +524 -0
  25. package/languages/typescript-svelte.md +407 -0
  26. package/languages/typescript-tauri.md +366 -0
  27. package/package.json +1 -1
  28. package/skills/vibe-capabilities.md +1 -1
  29. package/vibe/constitution.md +130 -97
  30. package/vibe/rules/core/communication-guide.md +50 -56
  31. package/vibe/rules/core/development-philosophy.md +35 -36
  32. package/vibe/rules/core/quick-start.md +66 -85
  33. package/vibe/rules/quality/bdd-contract-testing.md +94 -89
  34. package/vibe/rules/quality/checklist.md +132 -132
  35. package/vibe/rules/quality/testing-strategy.md +132 -129
  36. package/vibe/rules/standards/anti-patterns.md +74 -74
  37. package/vibe/rules/standards/code-structure.md +44 -44
  38. package/vibe/rules/standards/complexity-metrics.md +63 -62
  39. package/vibe/rules/standards/naming-conventions.md +72 -72
  40. package/vibe/templates/constitution-template.md +153 -95
  41. package/vibe/templates/contract-backend-template.md +41 -32
  42. package/vibe/templates/contract-frontend-template.md +35 -30
  43. package/vibe/templates/feature-template.md +33 -33
  44. package/vibe/templates/spec-template.md +118 -96
package/CLAUDE.md CHANGED
@@ -4,7 +4,7 @@ SPEC 주도 AI 코딩 프레임워크 (Claude Code 전용)
4
4
 
5
5
  ## 코드 품질 기준 (필수)
6
6
 
7
- 모든 코드 작성 시 아래 기준을 준수합니다. 상세 규칙은 `.claude/vibe/rules/` 참조.
7
+ 모든 코드 작성 시 아래 기준을 준수합니다. 상세 규칙은 `~/.claude/vibe/rules/` (전역) 참조.
8
8
 
9
9
  ### 핵심 원칙
10
10
  - **요청 범위만 수정** - 관련 없는 코드 건드리지 않음
@@ -25,18 +25,6 @@ SPEC 주도 AI 코딩 프레임워크 (Claude Code 전용)
25
25
  - `@ts-ignore` 금지 → 타입 문제 근본 해결
26
26
  - 모든 함수에 반환 타입 명시
27
27
 
28
- ### TypeScript 규칙
29
- - `any` 타입 사용 금지 → `unknown` + 타입 가드 사용
30
- - `as any` 캐스팅 금지 → 적절한 인터페이스 정의
31
- - `@ts-ignore` 금지 → 타입 문제 근본 해결
32
- - 모든 함수에 반환 타입 명시
33
-
34
- ### TypeScript 규칙
35
- - `any` 타입 사용 금지 → `unknown` + 타입 가드 사용
36
- - `as any` 캐스팅 금지 → 적절한 인터페이스 정의
37
- - `@ts-ignore` 금지 → 타입 문제 근본 해결
38
- - 모든 함수에 반환 타입 명시
39
-
40
28
  ### 에러 처리 필수
41
29
  - try-catch 또는 error state 필수
42
30
  - 로딩 상태 처리
@@ -305,13 +293,14 @@ vibe는 자체 메모리 시스템으로 세션 간 컨텍스트를 유지합니
305
293
  ## Git Commit 규칙
306
294
 
307
295
  **반드시 포함:**
308
- - `.claude/` 폴더 전체 (commands, agents, skills, settings.json)
309
- - `.claude/vibe/rules/`, `.claude/vibe/specs/`, `.claude/vibe/features/`, `.claude/vibe/solutions/`, `.claude/vibe/todos/`
296
+ - `.claude/vibe/specs/`, `.claude/vibe/features/`, `.claude/vibe/todos/` (프로젝트 문서)
297
+ - `.claude/vibe/config.json`, `.claude/vibe/constitution.md` (프로젝트 설정)
310
298
  - `CLAUDE.md`
311
299
 
312
- **제외:**
313
- - `.claude/settings.local.json` (개인 설정, 자동 제외)
314
- - `.claude/vibe/mcp/` (node_modules, 자동 제외)
300
+ **제외 (전역 설치됨):**
301
+ - `~/.claude/vibe/rules/`, `~/.claude/vibe/languages/`, `~/.claude/vibe/templates/` (전역)
302
+ - `~/.claude/commands/`, `~/.claude/agents/`, `~/.claude/skills/` (전역)
303
+ - `.claude/settings.local.json` (개인 설정)
315
304
 
316
305
  ## Getting Started
317
306
 
@@ -222,7 +222,7 @@ When similar problem detected:
222
222
  │ 🔗 Similar solutions linked: 2 │
223
223
  │ 🏷️ Tags: #redis #cache #invalidation #performance │
224
224
  │ │
225
- │ 💡 Prevention rules added to .claude/vibe/rules/
225
+ │ 💡 Prevention rules added to ~/.claude/vibe/rules/
226
226
  │ │
227
227
  │ "This solution will help future you (or teammates) save hours" │
228
228
  │ │
@@ -22,7 +22,8 @@ Task(model: "sonnet", prompt: "Implement according to SPEC")
22
22
 
23
23
  ## Rules Reference
24
24
 
25
- Must follow `.claude/vibe/rules/`:
25
+ Must follow `~/.claude/vibe/rules/` (global):
26
+
26
27
  - `core/development-philosophy.md` - Surgical precision
27
28
  - `standards/complexity-metrics.md` - Functions ≤20 lines, nesting ≤3 levels
28
29
  - `quality/checklist.md` - Quality checklist
@@ -8,9 +8,10 @@ Automatically executed after `Write`, `Edit` operations via PostToolUse Hook.
8
8
 
9
9
  ## Rules Reference
10
10
 
11
- **Validation criteria (`.claude/vibe/rules/`):**
11
+ **Validation criteria (`~/.claude/vibe/rules/` global):**
12
12
 
13
13
  ### Required Rules
14
+
14
15
  - `core/development-philosophy.md` - Surgical precision
15
16
  - `core/quick-start.md` - DRY, SRP, YAGNI
16
17
  - `quality/checklist.md` - Quality checklist
@@ -222,12 +222,15 @@ Claude:
222
222
 
223
223
  ## Rules Reference
224
224
 
225
- **Must follow `.claude/vibe/rules/`:**
225
+ **Must follow `~/.claude/vibe/rules/` (global):**
226
+
226
227
  - `core/development-philosophy.md` - Surgical precision, modify only requested scope
227
228
  - `core/quick-start.md` - Korean, DRY, SRP, YAGNI
228
229
  - `standards/complexity-metrics.md` - Functions ≤20 lines, nesting ≤3 levels
229
230
  - `quality/checklist.md` - Code quality checklist
230
231
 
232
+ **Language guide:** `~/.claude/vibe/languages/{stack}.md` (전역 참조)
233
+
231
234
  ## Description
232
235
 
233
236
  Read PTCF structured SPEC document and execute implementation immediately.
@@ -95,7 +95,7 @@ User: 1시간, 불허, 확인
95
95
 
96
96
  ## Rules Reference
97
97
 
98
- **Must follow `.claude/vibe/rules/`:**
98
+ **Must follow `~/.claude/vibe/rules/` (global):**
99
99
  - `core/development-philosophy.md` - Surgical precision, simplicity
100
100
  - `core/quick-start.md` - Korean first, DRY, SRP
101
101
  - `core/communication-guide.md` - Communication principles
@@ -200,6 +200,58 @@ fi
200
200
  - Tech stack: Confirm existing stack or suggest new
201
201
  - Design reference: UI/UX to reference
202
202
 
203
+ ### 2.5. Reference Documents via config.json (MANDATORY after tech stack confirmed)
204
+
205
+ **🚨 CRITICAL: Read config.json references IMMEDIATELY after tech stack is confirmed**
206
+
207
+ `vibe init` 시 감지된 스택 기반으로 `config.json`에 참조 문서가 자동 생성됩니다:
208
+
209
+ ```json
210
+ // .claude/vibe/config.json
211
+ {
212
+ "language": "ko",
213
+ "stacks": [
214
+ { "type": "typescript-react", "path": "package.json" }
215
+ ],
216
+ "references": {
217
+ "rules": [
218
+ "~/.claude/vibe/rules/code-quality.md",
219
+ "~/.claude/vibe/rules/error-handling.md",
220
+ "~/.claude/vibe/rules/security.md"
221
+ ],
222
+ "languages": [
223
+ "~/.claude/vibe/languages/typescript-react.md"
224
+ ],
225
+ "templates": [
226
+ "~/.claude/vibe/templates/spec-template.md",
227
+ "~/.claude/vibe/templates/feature-template.md",
228
+ "~/.claude/vibe/templates/constitution-template.md"
229
+ ]
230
+ }
231
+ }
232
+ ```
233
+
234
+ **Workflow:**
235
+
236
+ 1. Read `.claude/vibe/config.json`
237
+ 2. Extract `references.languages[]` paths
238
+ 3. Read each language document for stack-specific guidelines
239
+
240
+ **Example:**
241
+ ```bash
242
+ # 1. config.json에서 references 확인
243
+ Read .claude/vibe/config.json
244
+
245
+ # 2. references.languages에 명시된 문서 참조
246
+ Read ~/.claude/vibe/languages/typescript-react.md
247
+ ```
248
+
249
+ **중요:**
250
+
251
+ - 수동 매핑 불필요 - config.json이 모든 참조 경로 포함
252
+ - `/vibe.run` 실행 시 `config.json.references` 자동 참조
253
+ - 프로젝트에 복사하지 않음 (전역 패키지에서 참조)
254
+
203
255
  ### 3. Parallel Research (v2.4.0) - MANDATORY AFTER requirements confirmed
204
256
 
205
257
  **🚨 CRITICAL: Research is MANDATORY after requirements are confirmed**
@@ -207,7 +259,8 @@ fi
207
259
  **When to trigger:**
208
260
  1. ✅ Feature type decided (e.g., "passkey authentication")
209
261
  2. ✅ Tech stack confirmed (e.g., "React + Supabase")
210
- 3. ✅ Core requirements collected
262
+ 3. ✅ Language guide copied (2.5 단계)
263
+ 4. ✅ Core requirements collected
211
264
 
212
265
  **→ IMMEDIATELY run orchestrator research. NO EXCEPTIONS.**
213
266
 
@@ -409,7 +462,7 @@ Please clarify the above items.
409
462
 
410
463
  ### 7. Quality Validation
411
464
 
412
- Self-evaluate against `.claude/vibe/rules/quality/checklist.md` (0-100 score)
465
+ Self-evaluate against `~/.claude/vibe/rules/quality/checklist.md` (0-100 score)
413
466
 
414
467
  ### 8. SPEC Review (GPT/Gemini) - Auto-Fix Loop
415
468
 
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/cli/index.ts"],"names":[],"mappings":";AAEA;;;GAGG;AAueH,cAAc,yBAAyB,CAAC;AACxC,cAAc,wBAAwB,CAAC;AACvC,cAAc,6BAA6B,CAAC;AAE5C,OAAO,EAAE,UAAU,EAAE,MAAM,+BAA+B,CAAC;AAC3D,OAAO,EAAE,YAAY,EAAE,MAAM,iCAAiC,CAAC;AAC/D,OAAO,EAAE,YAAY,EAAE,MAAM,iCAAiC,CAAC;AAC/D,OAAO,EAAE,YAAY,EAAE,MAAM,iCAAiC,CAAC;AAC/D,OAAO,EAAE,YAAY,EAAE,MAAM,iCAAiC,CAAC;AAC/D,OAAO,EAAE,qBAAqB,IAAI,cAAc,EAAE,MAAM,mCAAmC,CAAC;AAC5F,OAAO,EAAE,YAAY,EAAE,MAAM,iCAAiC,CAAC;AAC/D,OAAO,EAAE,cAAc,EAAE,MAAM,mCAAmC,CAAC;AACnE,OAAO,EAAE,oBAAoB,EAAE,MAAM,yCAAyC,CAAC;AAC/E,OAAO,EAAE,sBAAsB,EAAE,MAAM,2CAA2C,CAAC;AACnF,OAAO,EAAE,YAAY,EAAE,MAAM,iCAAiC,CAAC;AAC/D,OAAO,EAAE,eAAe,EAAE,MAAM,oCAAoC,CAAC;AACrE,OAAO,EAAE,qBAAqB,EAAE,MAAM,0CAA0C,CAAC;AACjF,OAAO,EAAE,gBAAgB,EAAE,MAAM,qCAAqC,CAAC;AACvE,OAAO,EAAE,iBAAiB,EAAE,MAAM,sCAAsC,CAAC;AAEzE,OAAO,EAAE,UAAU,EAAE,MAAM,iCAAiC,CAAC;AAC7D,OAAO,EAAE,cAAc,EAAE,MAAM,qCAAqC,CAAC;AACrE,OAAO,EAAE,sBAAsB,EAAE,MAAM,6CAA6C,CAAC;AAErF,OAAO,EAAE,iBAAiB,EAAE,MAAM,0CAA0C,CAAC;AAC7E,OAAO,EAAE,mBAAmB,EAAE,MAAM,4CAA4C,CAAC;AACjF,OAAO,EAAE,qBAAqB,EAAE,MAAM,8CAA8C,CAAC;AACrF,OAAO,EAAE,mBAAmB,EAAE,MAAM,4CAA4C,CAAC;AACjF,OAAO,EAAE,iBAAiB,EAAE,MAAM,0CAA0C,CAAC;AAE7E,OAAO,EAAE,cAAc,EAAE,MAAM,+BAA+B,CAAC;AAC/D,OAAO,EAAE,cAAc,EAAE,MAAM,iCAAiC,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/cli/index.ts"],"names":[],"mappings":";AAEA;;;GAGG;AAkeH,cAAc,yBAAyB,CAAC;AACxC,cAAc,wBAAwB,CAAC;AACvC,cAAc,6BAA6B,CAAC;AAE5C,OAAO,EAAE,UAAU,EAAE,MAAM,+BAA+B,CAAC;AAC3D,OAAO,EAAE,YAAY,EAAE,MAAM,iCAAiC,CAAC;AAC/D,OAAO,EAAE,YAAY,EAAE,MAAM,iCAAiC,CAAC;AAC/D,OAAO,EAAE,YAAY,EAAE,MAAM,iCAAiC,CAAC;AAC/D,OAAO,EAAE,YAAY,EAAE,MAAM,iCAAiC,CAAC;AAC/D,OAAO,EAAE,qBAAqB,IAAI,cAAc,EAAE,MAAM,mCAAmC,CAAC;AAC5F,OAAO,EAAE,YAAY,EAAE,MAAM,iCAAiC,CAAC;AAC/D,OAAO,EAAE,cAAc,EAAE,MAAM,mCAAmC,CAAC;AACnE,OAAO,EAAE,oBAAoB,EAAE,MAAM,yCAAyC,CAAC;AAC/E,OAAO,EAAE,sBAAsB,EAAE,MAAM,2CAA2C,CAAC;AACnF,OAAO,EAAE,YAAY,EAAE,MAAM,iCAAiC,CAAC;AAC/D,OAAO,EAAE,eAAe,EAAE,MAAM,oCAAoC,CAAC;AACrE,OAAO,EAAE,qBAAqB,EAAE,MAAM,0CAA0C,CAAC;AACjF,OAAO,EAAE,gBAAgB,EAAE,MAAM,qCAAqC,CAAC;AACvE,OAAO,EAAE,iBAAiB,EAAE,MAAM,sCAAsC,CAAC;AAEzE,OAAO,EAAE,UAAU,EAAE,MAAM,iCAAiC,CAAC;AAC7D,OAAO,EAAE,cAAc,EAAE,MAAM,qCAAqC,CAAC;AACrE,OAAO,EAAE,sBAAsB,EAAE,MAAM,6CAA6C,CAAC;AAErF,OAAO,EAAE,iBAAiB,EAAE,MAAM,0CAA0C,CAAC;AAC7E,OAAO,EAAE,mBAAmB,EAAE,MAAM,4CAA4C,CAAC;AACjF,OAAO,EAAE,qBAAqB,EAAE,MAAM,8CAA8C,CAAC;AACrF,OAAO,EAAE,mBAAmB,EAAE,MAAM,4CAA4C,CAAC;AACjF,OAAO,EAAE,iBAAiB,EAAE,MAAM,0CAA0C,CAAC;AAE7E,OAAO,EAAE,cAAc,EAAE,MAAM,+BAA+B,CAAC;AAC/D,OAAO,EAAE,cAAc,EAAE,MAAM,iCAAiC,CAAC"}
package/dist/cli/index.js CHANGED
@@ -54,10 +54,6 @@ async function init(projectName) {
54
54
  return;
55
55
  }
56
56
  ensureDir(vibeDir);
57
- // .claude/vibe 폴더 구조 생성
58
- ['specs', 'features'].forEach(dir => {
59
- ensureDir(path.join(vibeDir, dir));
60
- });
61
57
  // 레거시 마이그레이션
62
58
  migrateLegacyVibe(projectRoot, vibeDir);
63
59
  // .gitignore 업데이트
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/cli/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/cli/index.ts"],"names":[],"mappings":"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"}
@@ -105,7 +105,38 @@ function main() {
105
105
  ensureDir(globalSkillsDir);
106
106
  copyDirRecursive(skillsSource, globalSkillsDir);
107
107
  }
108
- // 5. hooks.json → ~/.claude/settings.json 등록
108
+ // 5. ~/.claude/vibe/ 전역 문서 설치 (rules, languages, templates)
109
+ // 프로젝트별로 복사하지 않고 전역에서 참조
110
+ const globalVibeAssetsDir = path.join(globalClaudeDir, 'vibe');
111
+ ensureDir(globalVibeAssetsDir);
112
+ // vibe/rules 복사
113
+ const rulesSource = path.join(packageRoot, 'vibe', 'rules');
114
+ const globalRulesDir = path.join(globalVibeAssetsDir, 'rules');
115
+ if (fs.existsSync(rulesSource)) {
116
+ if (fs.existsSync(globalRulesDir)) {
117
+ removeDirRecursive(globalRulesDir);
118
+ }
119
+ copyDirRecursive(rulesSource, globalRulesDir);
120
+ }
121
+ // vibe/templates 복사
122
+ const templatesSource = path.join(packageRoot, 'vibe', 'templates');
123
+ const globalTemplatesDir = path.join(globalVibeAssetsDir, 'templates');
124
+ if (fs.existsSync(templatesSource)) {
125
+ if (fs.existsSync(globalTemplatesDir)) {
126
+ removeDirRecursive(globalTemplatesDir);
127
+ }
128
+ copyDirRecursive(templatesSource, globalTemplatesDir);
129
+ }
130
+ // languages 복사
131
+ const languagesSource = path.join(packageRoot, 'languages');
132
+ const globalLanguagesDir = path.join(globalVibeAssetsDir, 'languages');
133
+ if (fs.existsSync(languagesSource)) {
134
+ if (fs.existsSync(globalLanguagesDir)) {
135
+ removeDirRecursive(globalLanguagesDir);
136
+ }
137
+ copyDirRecursive(languagesSource, globalLanguagesDir);
138
+ }
139
+ // 6. hooks.json → ~/.claude/settings.json 훅 등록
109
140
  const hooksTemplate = path.join(packageRoot, 'hooks', 'hooks.json');
110
141
  const globalSettingsPath = path.join(globalClaudeDir, 'settings.json');
111
142
  if (fs.existsSync(hooksTemplate)) {
@@ -1 +1 @@
1
- {"version":3,"file":"postinstall.js","sourceRoot":"","sources":["../../src/cli/postinstall.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"postinstall.js","sourceRoot":"","sources":["../../src/cli/postinstall.ts"],"names":[],"mappings":";AACA;;;GAGG;AAEH,OAAO,IAAI,MAAM,MAAM,CAAC;AACxB,OAAO,EAAE,MAAM,IAAI,CAAC;AACpB,OAAO,EAAE,MAAM,IAAI,CAAC;AACpB,OAAO,EAAE,aAAa,EAAE,MAAM,KAAK,CAAC;AAEpC,MAAM,UAAU,GAAG,aAAa,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;AAClD,MAAM,SAAS,GAAG,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC;AAE3C;;GAEG;AACH,SAAS,gBAAgB;IACvB,IAAI,OAAO,CAAC,QAAQ,KAAK,OAAO,EAAE,CAAC;QACjC,OAAO,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,OAAO,IAAI,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,OAAO,EAAE,EAAE,SAAS,EAAE,SAAS,CAAC,EAAE,MAAM,CAAC,CAAC;IACjG,CAAC;IACD,OAAO,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,OAAO,EAAE,EAAE,SAAS,EAAE,MAAM,CAAC,CAAC;AACpD,CAAC;AAED;;GAEG;AACH,SAAS,SAAS,CAAC,GAAW;IAC5B,IAAI,CAAC,EAAE,CAAC,UAAU,CAAC,GAAG,CAAC,EAAE,CAAC;QACxB,EAAE,CAAC,SAAS,CAAC,GAAG,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;IACzC,CAAC;AACH,CAAC;AAED;;GAEG;AACH,SAAS,gBAAgB,CAAC,GAAW,EAAE,IAAY;IACjD,SAAS,CAAC,IAAI,CAAC,CAAC;IAChB,MAAM,OAAO,GAAG,EAAE,CAAC,WAAW,CAAC,GAAG,EAAE,EAAE,aAAa,EAAE,IAAI,EAAE,CAAC,CAAC;IAC7D,KAAK,MAAM,KAAK,IAAI,OAAO,EAAE,CAAC;QAC5B,MAAM,OAAO,GAAG,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,KAAK,CAAC,IAAI,CAAC,CAAC;QAC3C,MAAM,QAAQ,GAAG,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,KAAK,CAAC,IAAI,CAAC,CAAC;QAC7C,IAAI,KAAK,CAAC,WAAW,EAAE,EAAE,CAAC;YACxB,gBAAgB,CAAC,OAAO,EAAE,QAAQ,CAAC,CAAC;QACtC,CAAC;aAAM,CAAC;YACN,EAAE,CAAC,YAAY,CAAC,OAAO,EAAE,QAAQ,CAAC,CAAC;QACrC,CAAC;IACH,CAAC;AACH,CAAC;AAED;;GAEG;AACH,SAAS,kBAAkB,CAAC,GAAW;IACrC,IAAI,EAAE,CAAC,UAAU,CAAC,GAAG,CAAC,EAAE,CAAC;QACvB,EAAE,CAAC,MAAM,CAAC,GAAG,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC;IACnD,CAAC;AACH,CAAC;AAED;;GAEG;AACH,SAAS,IAAI;IACX,IAAI,CAAC;QACH,MAAM,aAAa,GAAG,gBAAgB,EAAE,CAAC;QACzC,MAAM,cAAc,GAAG,IAAI,CAAC,IAAI,CAAC,aAAa,EAAE,cAAc,CAAC,CAAC;QAChE,MAAM,cAAc,GAAG,IAAI,CAAC,IAAI,CAAC,cAAc,EAAE,YAAY,EAAE,MAAM,CAAC,CAAC;QACvE,MAAM,WAAW,GAAG,IAAI,CAAC,OAAO,CAAC,SAAS,EAAE,IAAI,EAAE,IAAI,CAAC,CAAC;QAExD,wBAAwB;QACxB,SAAS,CAAC,aAAa,CAAC,CAAC;QACzB,SAAS,CAAC,cAAc,CAAC,CAAC;QAC1B,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,cAAc,EAAE,YAAY,CAAC,CAAC,CAAC;QAEnD,YAAY;QACZ,IAAI,EAAE,CAAC,UAAU,CAAC,cAAc,CAAC,EAAE,CAAC;YAClC,kBAAkB,CAAC,cAAc,CAAC,CAAC;QACrC,CAAC;QACD,IAAI,EAAE,CAAC,UAAU,CAAC,WAAW,CAAC,EAAE,CAAC;YAC/B,gBAAgB,CAAC,WAAW,EAAE,cAAc,CAAC,CAAC;QAChD,CAAC;QAED,+CAA+C;QAC/C,MAAM,WAAW,GAAG,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,OAAO,EAAE,SAAS,CAAC,CAAC;QAC/D,MAAM,WAAW,GAAG,IAAI,CAAC,IAAI,CAAC,aAAa,EAAE,OAAO,EAAE,SAAS,CAAC,CAAC;QACjE,IAAI,EAAE,CAAC,UAAU,CAAC,WAAW,CAAC,EAAE,CAAC;YAC/B,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,aAAa,EAAE,OAAO,CAAC,CAAC,CAAC;YAC7C,IAAI,EAAE,CAAC,UAAU,CAAC,WAAW,CAAC,EAAE,CAAC;gBAC/B,kBAAkB,CAAC,WAAW,CAAC,CAAC;YAClC,CAAC;YACD,gBAAgB,CAAC,WAAW,EAAE,WAAW,CAAC,CAAC;QAC7C,CAAC;QAED,wDAAwD;QACxD,MAAM,eAAe,GAAG,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,OAAO,EAAE,EAAE,SAAS,CAAC,CAAC;QAC3D,SAAS,CAAC,eAAe,CAAC,CAAC;QAE3B,cAAc;QACd,MAAM,cAAc,GAAG,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,UAAU,CAAC,CAAC;QAC1D,MAAM,iBAAiB,GAAG,IAAI,CAAC,IAAI,CAAC,eAAe,EAAE,UAAU,CAAC,CAAC;QACjE,IAAI,EAAE,CAAC,UAAU,CAAC,cAAc,CAAC,EAAE,CAAC;YAClC,SAAS,CAAC,iBAAiB,CAAC,CAAC;YAC7B,gBAAgB,CAAC,cAAc,EAAE,iBAAiB,CAAC,CAAC;QACtD,CAAC;QAED,YAAY;QACZ,MAAM,YAAY,GAAG,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,QAAQ,CAAC,CAAC;QACtD,MAAM,eAAe,GAAG,IAAI,CAAC,IAAI,CAAC,eAAe,EAAE,QAAQ,CAAC,CAAC;QAC7D,IAAI,EAAE,CAAC,UAAU,CAAC,YAAY,CAAC,EAAE,CAAC;YAChC,SAAS,CAAC,eAAe,CAAC,CAAC;YAC3B,gBAAgB,CAAC,YAAY,EAAE,eAAe,CAAC,CAAC;QAClD,CAAC;QAED,YAAY;QACZ,MAAM,YAAY,GAAG,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,QAAQ,CAAC,CAAC;QACtD,MAAM,eAAe,GAAG,IAAI,CAAC,IAAI,CAAC,eAAe,EAAE,QAAQ,CAAC,CAAC;QAC7D,IAAI,EAAE,CAAC,UAAU,CAAC,YAAY,CAAC,EAAE,CAAC;YAChC,SAAS,CAAC,eAAe,CAAC,CAAC;YAC3B,gBAAgB,CAAC,YAAY,EAAE,eAAe,CAAC,CAAC;QAClD,CAAC;QAED,4DAA4D;QAC5D,yBAAyB;QACzB,MAAM,mBAAmB,GAAG,IAAI,CAAC,IAAI,CAAC,eAAe,EAAE,MAAM,CAAC,CAAC;QAC/D,SAAS,CAAC,mBAAmB,CAAC,CAAC;QAE/B,gBAAgB;QAChB,MAAM,WAAW,GAAG,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,MAAM,EAAE,OAAO,CAAC,CAAC;QAC5D,MAAM,cAAc,GAAG,IAAI,CAAC,IAAI,CAAC,mBAAmB,EAAE,OAAO,CAAC,CAAC;QAC/D,IAAI,EAAE,CAAC,UAAU,CAAC,WAAW,CAAC,EAAE,CAAC;YAC/B,IAAI,EAAE,CAAC,UAAU,CAAC,cAAc,CAAC,EAAE,CAAC;gBAClC,kBAAkB,CAAC,cAAc,CAAC,CAAC;YACrC,CAAC;YACD,gBAAgB,CAAC,WAAW,EAAE,cAAc,CAAC,CAAC;QAChD,CAAC;QAED,oBAAoB;QACpB,MAAM,eAAe,GAAG,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,MAAM,EAAE,WAAW,CAAC,CAAC;QACpE,MAAM,kBAAkB,GAAG,IAAI,CAAC,IAAI,CAAC,mBAAmB,EAAE,WAAW,CAAC,CAAC;QACvE,IAAI,EAAE,CAAC,UAAU,CAAC,eAAe,CAAC,EAAE,CAAC;YACnC,IAAI,EAAE,CAAC,UAAU,CAAC,kBAAkB,CAAC,EAAE,CAAC;gBACtC,kBAAkB,CAAC,kBAAkB,CAAC,CAAC;YACzC,CAAC;YACD,gBAAgB,CAAC,eAAe,EAAE,kBAAkB,CAAC,CAAC;QACxD,CAAC;QAED,eAAe;QACf,MAAM,eAAe,GAAG,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,WAAW,CAAC,CAAC;QAC5D,MAAM,kBAAkB,GAAG,IAAI,CAAC,IAAI,CAAC,mBAAmB,EAAE,WAAW,CAAC,CAAC;QACvE,IAAI,EAAE,CAAC,UAAU,CAAC,eAAe,CAAC,EAAE,CAAC;YACnC,IAAI,EAAE,CAAC,UAAU,CAAC,kBAAkB,CAAC,EAAE,CAAC;gBACtC,kBAAkB,CAAC,kBAAkB,CAAC,CAAC;YACzC,CAAC;YACD,gBAAgB,CAAC,eAAe,EAAE,kBAAkB,CAAC,CAAC;QACxD,CAAC;QAED,+CAA+C;QAC/C,MAAM,aAAa,GAAG,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,OAAO,EAAE,YAAY,CAAC,CAAC;QACpE,MAAM,kBAAkB,GAAG,IAAI,CAAC,IAAI,CAAC,eAAe,EAAE,eAAe,CAAC,CAAC;QACvE,IAAI,EAAE,CAAC,UAAU,CAAC,aAAa,CAAC,EAAE,CAAC;YACjC,IAAI,YAAY,GAAG,EAAE,CAAC,YAAY,CAAC,aAAa,EAAE,OAAO,CAAC,CAAC;YAC3D,kCAAkC;YAClC,MAAM,cAAc,GAAG,aAAa,CAAC,OAAO,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC;YACzD,YAAY,GAAG,YAAY,CAAC,OAAO,CAAC,oBAAoB,EAAE,cAAc,CAAC,CAAC;YAC1E,MAAM,SAAS,GAAG,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,CAAC;YAE3C,IAAI,EAAE,CAAC,UAAU,CAAC,kBAAkB,CAAC,EAAE,CAAC;gBACtC,6BAA6B;gBAC7B,MAAM,gBAAgB,GAAG,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,YAAY,CAAC,kBAAkB,EAAE,OAAO,CAAC,CAAC,CAAC;gBAClF,gBAAgB,CAAC,KAAK,GAAG,SAAS,CAAC,KAAK,CAAC;gBACzC,EAAE,CAAC,aAAa,CAAC,kBAAkB,EAAE,IAAI,CAAC,SAAS,CAAC,gBAAgB,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC;YAClF,CAAC;iBAAM,CAAC;gBACN,QAAQ;gBACR,EAAE,CAAC,aAAa,CAAC,kBAAkB,EAAE,YAAY,CAAC,CAAC;YACrD,CAAC;QACH,CAAC;QAED,OAAO,CAAC,GAAG,CAAC,iCAAiC,aAAa,EAAE,CAAC,CAAC;IAChE,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,6BAA6B;QAC7B,OAAO,CAAC,IAAI,CAAC,+BAA+B,EAAG,KAAe,CAAC,OAAO,CAAC,CAAC;IAC1E,CAAC;AACH,CAAC;AAED,IAAI,EAAE,CAAC"}
@@ -2,6 +2,12 @@
2
2
  * init/update 공통 설정 함수
3
3
  */
4
4
  import { TechStack, StackDetails } from './types.js';
5
+ /**
6
+ * OS 언어 설정 감지하여 vibe 언어 반환
7
+ * - 한국어 OS → 'ko'
8
+ * - 그 외 → 'en' (기본값)
9
+ */
10
+ export declare function detectOsLanguage(): 'ko' | 'en';
5
11
  /**
6
12
  * 전역 vibe 패키지 설치 경로:
7
13
  * - Windows: %APPDATA%\vibe\ (예: C:\Users\xxx\AppData\Roaming\vibe\)
@@ -24,7 +30,18 @@ export declare function updateConstitution(vibeDir: string, detectedStacks: Tech
24
30
  */
25
31
  export declare function updateClaudeMd(projectRoot: string, detectedStacks: TechStack[], isUpdate?: boolean): void;
26
32
  /**
27
- * vibe/ 폴더 전체 복사 + languages/ 스택별 필터링
33
+ * 프로젝트 vibe 폴더 설정 (rules/languages/templates는 전역 패키지 참조)
34
+ *
35
+ * 전역 패키지에서 참조하는 항목 (복사하지 않음):
36
+ * - vibe/rules/ - 범용 코딩 규칙
37
+ * - vibe/languages/ - 언어별 규칙
38
+ * - vibe/templates/ - SPEC/Feature 템플릿
39
+ *
40
+ * 프로젝트에 생성하는 항목:
41
+ * - specs/ - 생성된 SPEC 문서
42
+ * - features/ - 생성된 BDD 시나리오
43
+ * - config.json - 프로젝트 설정
44
+ * - constitution.md - 프로젝트별 커스터마이징
28
45
  */
29
46
  export declare function updateRules(vibeDir: string, detectedStacks: TechStack[], isUpdate?: boolean): void;
30
47
  /**
@@ -39,9 +56,6 @@ export declare function migrateLegacyVibe(projectRoot: string, vibeDir: string):
39
56
  * .gitignore 업데이트 (레거시 정리)
40
57
  */
41
58
  export declare function updateGitignore(projectRoot: string): void;
42
- /**
43
- * config.json 생성 또는 업데이트
44
- */
45
59
  export declare function updateConfig(vibeDir: string, detectedStacks: TechStack[], stackDetails: StackDetails, isUpdate?: boolean): void;
46
60
  /**
47
61
  * 레거시 파일/폴더 정리
@@ -1 +1 @@
1
- {"version":3,"file":"setup.d.ts","sourceRoot":"","sources":["../../src/cli/setup.ts"],"names":[],"mappings":"AAAA;;GAEG;AAOH,OAAO,EAAc,SAAS,EAAE,YAAY,EAAE,MAAM,YAAY,CAAC;AAYjE;;;;;GAKG;AACH,wBAAgB,gBAAgB,IAAI,MAAM,CAOzC;AAED,wBAAgB,wBAAwB,CAAC,QAAQ,UAAQ,GAAG,IAAI,CAkE/D;AAMD;;;GAGG;AACH,wBAAgB,kBAAkB,CAAC,QAAQ,UAAQ,GAAG,IAAI,CAMzD;AAMD;;GAEG;AACH,wBAAgB,kBAAkB,CAChC,OAAO,EAAE,MAAM,EACf,cAAc,EAAE,SAAS,EAAE,EAC3B,YAAY,EAAE,YAAY,GACzB,IAAI,CA8CN;AAMD;;GAEG;AACH,wBAAgB,cAAc,CAC5B,WAAW,EAAE,MAAM,EACnB,cAAc,EAAE,SAAS,EAAE,EAC3B,QAAQ,UAAQ,GACf,IAAI,CAoDN;AAMD;;GAEG;AACH,wBAAgB,WAAW,CAAC,OAAO,EAAE,MAAM,EAAE,cAAc,EAAE,SAAS,EAAE,EAAE,QAAQ,UAAQ,GAAG,IAAI,CA4BhG;AAMD;;GAEG;AACH,wBAAgB,mBAAmB,CAAC,QAAQ,UAAQ,GAAG,IAAI,CA8C1D;AAMD;;GAEG;AACH,wBAAgB,iBAAiB,CAAC,WAAW,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,OAAO,CAyB/E;AAMD;;GAEG;AACH,wBAAgB,eAAe,CAAC,WAAW,EAAE,MAAM,GAAG,IAAI,CAgCzD;AAMD;;GAEG;AACH,wBAAgB,YAAY,CAC1B,OAAO,EAAE,MAAM,EACf,cAAc,EAAE,SAAS,EAAE,EAC3B,YAAY,EAAE,YAAY,EAC1B,QAAQ,UAAQ,GACf,IAAI,CAmBN;AAMD;;GAEG;AACH,wBAAgB,aAAa,CAAC,WAAW,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,GAAG,IAAI,CA8C1E;AAED;;GAEG;AACH,wBAAgB,iBAAiB,CAAC,SAAS,EAAE,MAAM,GAAG,IAAI,CAkBzD;AAED;;GAEG;AACH,wBAAgB,mBAAmB,IAAI,IAAI,CA6C1C;AAED;;GAEG;AACH,wBAAgB,gBAAgB,CAAC,OAAO,EAAE,MAAM,GAAG,IAAI,CAOtD"}
1
+ {"version":3,"file":"setup.d.ts","sourceRoot":"","sources":["../../src/cli/setup.ts"],"names":[],"mappings":"AAAA;;GAEG;AAOH,OAAO,EAA8B,SAAS,EAAE,YAAY,EAAE,MAAM,YAAY,CAAC;AAYjF;;;;GAIG;AACH,wBAAgB,gBAAgB,IAAI,IAAI,GAAG,IAAI,CA6B9C;AAMD;;;;;GAKG;AACH,wBAAgB,gBAAgB,IAAI,MAAM,CAOzC;AAED,wBAAgB,wBAAwB,CAAC,QAAQ,UAAQ,GAAG,IAAI,CAkE/D;AAMD;;;GAGG;AACH,wBAAgB,kBAAkB,CAAC,QAAQ,UAAQ,GAAG,IAAI,CAMzD;AAMD;;GAEG;AACH,wBAAgB,kBAAkB,CAChC,OAAO,EAAE,MAAM,EACf,cAAc,EAAE,SAAS,EAAE,EAC3B,YAAY,EAAE,YAAY,GACzB,IAAI,CA8CN;AAMD;;GAEG;AACH,wBAAgB,cAAc,CAC5B,WAAW,EAAE,MAAM,EACnB,cAAc,EAAE,SAAS,EAAE,EAC3B,QAAQ,UAAQ,GACf,IAAI,CAoDN;AAMD;;;;;;;;;;;;;GAaG;AACH,wBAAgB,WAAW,CAAC,OAAO,EAAE,MAAM,EAAE,cAAc,EAAE,SAAS,EAAE,EAAE,QAAQ,UAAQ,GAAG,IAAI,CAchG;AAMD;;GAEG;AACH,wBAAgB,mBAAmB,CAAC,QAAQ,UAAQ,GAAG,IAAI,CA8C1D;AAMD;;GAEG;AACH,wBAAgB,iBAAiB,CAAC,WAAW,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,OAAO,CAyB/E;AAMD;;GAEG;AACH,wBAAgB,eAAe,CAAC,WAAW,EAAE,MAAM,GAAG,IAAI,CAgCzD;AA+CD,wBAAgB,YAAY,CAC1B,OAAO,EAAE,MAAM,EACf,cAAc,EAAE,SAAS,EAAE,EAC3B,YAAY,EAAE,YAAY,EAC1B,QAAQ,UAAQ,GACf,IAAI,CA8BN;AAMD;;GAEG;AACH,wBAAgB,aAAa,CAAC,WAAW,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,GAAG,IAAI,CA8C1E;AAED;;GAEG;AACH,wBAAgB,iBAAiB,CAAC,SAAS,EAAE,MAAM,GAAG,IAAI,CAkBzD;AAED;;GAEG;AACH,wBAAgB,mBAAmB,IAAI,IAAI,CA6C1C;AAED;;GAEG;AACH,wBAAgB,gBAAgB,CAAC,OAAO,EAAE,MAAM,GAAG,IAAI,CAOtD"}
package/dist/cli/setup.js CHANGED
@@ -12,6 +12,44 @@ import { STACK_NAMES, getLanguageRulesContent } from './detect.js';
12
12
  const __filename = fileURLToPath(import.meta.url);
13
13
  const __dirname = path.dirname(__filename);
14
14
  // ============================================================================
15
+ // OS 언어 감지
16
+ // ============================================================================
17
+ /**
18
+ * OS 언어 설정 감지하여 vibe 언어 반환
19
+ * - 한국어 OS → 'ko'
20
+ * - 그 외 → 'en' (기본값)
21
+ */
22
+ export function detectOsLanguage() {
23
+ try {
24
+ let locale = '';
25
+ if (process.platform === 'win32') {
26
+ // Windows: PowerShell로 시스템 로캘 확인
27
+ try {
28
+ locale = execSync('powershell -Command "[System.Globalization.CultureInfo]::CurrentCulture.Name"', {
29
+ encoding: 'utf-8',
30
+ stdio: ['pipe', 'pipe', 'pipe']
31
+ }).trim();
32
+ }
33
+ catch {
34
+ // 대안: LANG 환경변수
35
+ locale = process.env.LANG || process.env.LC_ALL || '';
36
+ }
37
+ }
38
+ else {
39
+ // macOS/Linux: LANG 환경변수
40
+ locale = process.env.LANG || process.env.LC_ALL || process.env.LC_MESSAGES || '';
41
+ }
42
+ // 한국어 로캘 감지 (ko-KR, ko_KR, ko 등)
43
+ if (locale.toLowerCase().startsWith('ko')) {
44
+ return 'ko';
45
+ }
46
+ return 'en';
47
+ }
48
+ catch {
49
+ return 'en';
50
+ }
51
+ }
52
+ // ============================================================================
15
53
  // 전역 vibe 패키지 설치
16
54
  // ============================================================================
17
55
  /**
@@ -194,32 +232,32 @@ export function updateClaudeMd(projectRoot, detectedStacks, isUpdate = false) {
194
232
  // 규칙 복사/업데이트
195
233
  // ============================================================================
196
234
  /**
197
- * vibe/ 폴더 전체 복사 + languages/ 스택별 필터링
235
+ * 프로젝트 vibe 폴더 설정 (rules/languages/templates는 전역 패키지 참조)
236
+ *
237
+ * 전역 패키지에서 참조하는 항목 (복사하지 않음):
238
+ * - vibe/rules/ - 범용 코딩 규칙
239
+ * - vibe/languages/ - 언어별 규칙
240
+ * - vibe/templates/ - SPEC/Feature 템플릿
241
+ *
242
+ * 프로젝트에 생성하는 항목:
243
+ * - specs/ - 생성된 SPEC 문서
244
+ * - features/ - 생성된 BDD 시나리오
245
+ * - config.json - 프로젝트 설정
246
+ * - constitution.md - 프로젝트별 커스터마이징
198
247
  */
199
248
  export function updateRules(vibeDir, detectedStacks, isUpdate = false) {
200
- // 1. vibe/ 폴더 전체 복사 (rules/, templates/, config.json )
201
- const vibeSource = path.join(__dirname, '../../vibe');
202
- if (fs.existsSync(vibeSource)) {
203
- copyDirRecursive(vibeSource, vibeDir);
204
- }
205
- // 2. languages/ 폴더 처리 (루트에서 별도 복사, 스택별 필터링)
206
- const langSource = path.join(__dirname, '../../languages');
207
- const langTarget = path.join(vibeDir, 'languages');
208
- if (isUpdate && fs.existsSync(langTarget)) {
209
- removeDirRecursive(langTarget);
210
- }
211
- ensureDir(langTarget);
212
- // 감지된 스택 타입에 해당하는 언어 규칙만 복사
213
- const detectedTypes = new Set(detectedStacks.map(s => s.type));
214
- if (fs.existsSync(langSource)) {
215
- const langFiles = fs.readdirSync(langSource);
216
- langFiles.forEach(file => {
217
- const langType = file.replace('.md', '');
218
- if (detectedTypes.has(langType)) {
219
- fs.copyFileSync(path.join(langSource, file), path.join(langTarget, file));
220
- }
221
- });
222
- }
249
+ // 레거시 폴더 정리 (이전 버전에서 복사된 것들)
250
+ const legacyFolders = ['rules', 'languages', 'templates'];
251
+ legacyFolders.forEach(folder => {
252
+ const legacyPath = path.join(vibeDir, folder);
253
+ if (fs.existsSync(legacyPath)) {
254
+ removeDirRecursive(legacyPath);
255
+ }
256
+ });
257
+ // specs, features 폴더 확인/생성
258
+ ['specs', 'features'].forEach(dir => {
259
+ ensureDir(path.join(vibeDir, dir));
260
+ });
223
261
  }
224
262
  // ============================================================================
225
263
  // 전역 assets 설치/업데이트
@@ -338,25 +376,67 @@ export function updateGitignore(projectRoot) {
338
376
  // config.json 생성/업데이트
339
377
  // ============================================================================
340
378
  /**
341
- * config.json 생성 또는 업데이트
379
+ * 스택 기반 references 생성
380
+ * Claude가 명시적으로 참조할 전역 문서 경로 목록
342
381
  */
382
+ function generateReferences(detectedStacks) {
383
+ const globalVibeDir = '~/.claude/vibe';
384
+ // 모든 rules 문서 (core, quality, standards)
385
+ const rules = [
386
+ // core
387
+ `${globalVibeDir}/rules/core/quick-start.md`,
388
+ `${globalVibeDir}/rules/core/development-philosophy.md`,
389
+ `${globalVibeDir}/rules/core/communication-guide.md`,
390
+ // quality
391
+ `${globalVibeDir}/rules/quality/checklist.md`,
392
+ `${globalVibeDir}/rules/quality/bdd-contract-testing.md`,
393
+ `${globalVibeDir}/rules/quality/testing-strategy.md`,
394
+ // standards
395
+ `${globalVibeDir}/rules/standards/anti-patterns.md`,
396
+ `${globalVibeDir}/rules/standards/code-structure.md`,
397
+ `${globalVibeDir}/rules/standards/complexity-metrics.md`,
398
+ `${globalVibeDir}/rules/standards/naming-conventions.md`
399
+ ];
400
+ // 스택 기반 languages
401
+ const languages = detectedStacks.map(stack => `${globalVibeDir}/languages/${stack.type}.md`);
402
+ // 모든 templates
403
+ const templates = [
404
+ `${globalVibeDir}/templates/spec-template.md`,
405
+ `${globalVibeDir}/templates/feature-template.md`,
406
+ `${globalVibeDir}/templates/constitution-template.md`,
407
+ `${globalVibeDir}/templates/contract-backend-template.md`,
408
+ `${globalVibeDir}/templates/contract-frontend-template.md`
409
+ ];
410
+ return { rules, languages, templates };
411
+ }
343
412
  export function updateConfig(vibeDir, detectedStacks, stackDetails, isUpdate = false) {
344
413
  const configPath = path.join(vibeDir, 'config.json');
414
+ const references = generateReferences(detectedStacks);
345
415
  if (isUpdate && fs.existsSync(configPath)) {
346
416
  try {
347
417
  const config = JSON.parse(fs.readFileSync(configPath, 'utf-8'));
418
+ // 기존 config에 language가 없으면 추가
419
+ if (!config.language) {
420
+ config.language = detectOsLanguage();
421
+ }
422
+ // 기존 config에 quality가 없으면 추가
423
+ if (!config.quality) {
424
+ config.quality = { strict: true, autoVerify: true };
425
+ }
348
426
  config.stacks = detectedStacks;
349
427
  config.details = stackDetails;
428
+ config.references = references;
350
429
  fs.writeFileSync(configPath, JSON.stringify(config, null, 2));
351
430
  }
352
431
  catch { /* ignore: optional operation */ }
353
432
  }
354
433
  else {
355
434
  const config = {
356
- language: 'ko',
435
+ language: detectOsLanguage(),
357
436
  quality: { strict: true, autoVerify: true },
358
437
  stacks: detectedStacks,
359
- details: stackDetails
438
+ details: stackDetails,
439
+ references
360
440
  };
361
441
  fs.writeFileSync(configPath, JSON.stringify(config, null, 2));
362
442
  }