@su-record/vibe 2.9.36 β†’ 2.9.38

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 (96) hide show
  1. package/CLAUDE.md +1 -1
  2. package/README.en.md +1 -1
  3. package/README.md +1 -1
  4. package/agents/compounder.md +6 -6
  5. package/agents/diagrammer.md +2 -2
  6. package/agents/e2e-tester.md +5 -5
  7. package/agents/qa/acceptance-tester.md +2 -2
  8. package/agents/refactor-cleaner.md +2 -2
  9. package/agents/tester.md +1 -1
  10. package/agents/ui/ui-antipattern-detector.md +1 -1
  11. package/agents/ui/ui-design-system-gen.md +3 -3
  12. package/agents/ui/ui-industry-analyzer.md +1 -1
  13. package/agents/ui/ui-layout-architect.md +1 -1
  14. package/agents/ui/ui-stack-implementer.md +1 -1
  15. package/commands/vibe.analyze.md +1 -1
  16. package/commands/vibe.contract.md +2 -2
  17. package/commands/vibe.figma.md +3 -3
  18. package/commands/vibe.harness.md +3 -3
  19. package/commands/vibe.regress.md +2 -2
  20. package/commands/vibe.review.md +4 -4
  21. package/commands/vibe.run.md +27 -27
  22. package/commands/vibe.scaffold.md +1 -1
  23. package/commands/vibe.spec.md +38 -38
  24. package/commands/vibe.trace.md +14 -14
  25. package/commands/vibe.utils.md +3 -3
  26. package/commands/vibe.verify.md +18 -18
  27. package/dist/cli/commands/init.d.ts.map +1 -1
  28. package/dist/cli/commands/init.js +12 -9
  29. package/dist/cli/commands/init.js.map +1 -1
  30. package/dist/cli/commands/update.d.ts.map +1 -1
  31. package/dist/cli/commands/update.js +5 -3
  32. package/dist/cli/commands/update.js.map +1 -1
  33. package/dist/cli/llm/gpt-commands.js +1 -1
  34. package/dist/cli/postinstall/constants.js +1 -1
  35. package/dist/cli/postinstall/global-config.d.ts.map +1 -1
  36. package/dist/cli/postinstall/global-config.js +21 -15
  37. package/dist/cli/postinstall/global-config.js.map +1 -1
  38. package/dist/cli/setup/LegacyMigration.d.ts.map +1 -1
  39. package/dist/cli/setup/LegacyMigration.js +28 -6
  40. package/dist/cli/setup/LegacyMigration.js.map +1 -1
  41. package/dist/cli/utils.d.ts +6 -0
  42. package/dist/cli/utils.d.ts.map +1 -1
  43. package/dist/cli/utils.js +23 -0
  44. package/dist/cli/utils.js.map +1 -1
  45. package/dist/infra/lib/ReviewRace.js +1 -1
  46. package/dist/infra/lib/codex-proxy.js +1 -1
  47. package/dist/infra/lib/gpt/chat.d.ts +1 -1
  48. package/dist/infra/lib/gpt/chat.js +24 -24
  49. package/dist/infra/lib/gpt/chat.js.map +1 -1
  50. package/dist/infra/lib/gpt/orchestration.js +1 -1
  51. package/dist/infra/lib/gpt/specializations.d.ts +2 -2
  52. package/dist/infra/lib/gpt/specializations.js +3 -3
  53. package/hooks/scripts/lib/scope-from-spec.js +30 -0
  54. package/hooks/scripts/llm-orchestrate.js +2 -2
  55. package/hooks/scripts/prompt-dispatcher.js +15 -0
  56. package/hooks/scripts/session-start.js +7 -5
  57. package/hooks/scripts/utils.js +6 -1
  58. package/package.json +1 -1
  59. package/skills/arch-guard/SKILL.md +2 -2
  60. package/skills/arch-guard/agents/rule-generator.md +3 -3
  61. package/skills/arch-guard/scripts/check-boundaries.js +1 -1
  62. package/skills/arch-guard/templates/arch-rules.json +1 -1
  63. package/skills/capability-loop/SKILL.md +2 -2
  64. package/skills/capability-loop/templates/capability-spec.md +1 -1
  65. package/skills/claude-md-guide/SKILL.md +2 -2
  66. package/skills/design-audit/SKILL.md +3 -3
  67. package/skills/design-critique/SKILL.md +2 -2
  68. package/skills/design-distill/SKILL.md +1 -1
  69. package/skills/design-normalize/SKILL.md +4 -4
  70. package/skills/design-polish/SKILL.md +2 -2
  71. package/skills/design-teach/SKILL.md +6 -6
  72. package/skills/design-teach/templates/design-context.json +1 -1
  73. package/skills/devlog/SKILL.md +1 -1
  74. package/skills/event-planning/SKILL.md +1 -1
  75. package/skills/exec-plan/SKILL.md +5 -5
  76. package/skills/exec-plan/agents/decomposer.md +1 -1
  77. package/skills/exec-plan/templates/plan.md +2 -2
  78. package/skills/parallel-research/SKILL.md +3 -3
  79. package/skills/parallel-research/orchestrator.md +1 -1
  80. package/skills/parallel-research/templates/paper.md +1 -1
  81. package/skills/priority-todos/SKILL.md +1 -1
  82. package/skills/vibe-contract/SKILL.md +6 -6
  83. package/skills/vibe-interview/SKILL.md +6 -6
  84. package/skills/vibe-interview/checklists/feature.md +1 -1
  85. package/skills/vibe-plan/SKILL.md +10 -10
  86. package/skills/vibe-regress/SKILL.md +5 -5
  87. package/skills/vibe-regress/templates/bug.md +1 -1
  88. package/skills/vibe-regress/templates/test-jest.md +1 -1
  89. package/skills/vibe-regress/templates/test-vitest.md +1 -1
  90. package/skills/vibe-spec/SKILL.md +45 -45
  91. package/skills/vibe-spec-review/SKILL.md +21 -21
  92. package/skills/vibe-test/SKILL.md +1 -1
  93. package/vibe/constitution.md +2 -2
  94. package/vibe/templates/claudemd-template.md +4 -4
  95. package/vibe/templates/constitution-template.md +2 -2
  96. package/vibe/templates/feature-template.md +1 -1
package/CLAUDE.md CHANGED
@@ -69,7 +69,7 @@ Legacy: κΈ°μ‘΄ `.claude/vibe/`Β·`.coco/vibe/` λŠ” λŸ°νƒ€μž„μ— μžλ™ μΈμ‹λ˜
69
69
 
70
70
  ## Workflow
71
71
 
72
- `/vibe.spec` is the single entry point β€” orchestrates interview β†’ plan β†’ spec β†’ review β†’ `/vibe.run` β†’ `/vibe.verify` β†’ `/vibe.contract` β†’ `/vibe.trace`. For UI types (website/webapp/mobile), `/vibe.figma` branches in parallel. Smart Resume detects existing `.claude/vibe/{interviews,plans,specs}/*.md` to skip phases.
72
+ `/vibe.spec` is the single entry point β€” orchestrates interview β†’ plan β†’ spec β†’ review β†’ `/vibe.run` β†’ `/vibe.verify` β†’ `/vibe.contract` β†’ `/vibe.trace`. For UI types (website/webapp/mobile), `/vibe.figma` branches in parallel. Smart Resume detects existing `.vibe/{interviews,plans,specs}/*.md` to skip phases.
73
73
 
74
74
  **Quality-loop commands** (bug β†’ prevention):
75
75
  - `/vibe.regress` β€” Regression test auto-evolution. Auto-registers on `/vibe.verify` failure; `generate` produces preventive tests; `cluster` promotes recurring patterns.
package/README.en.md CHANGED
@@ -27,7 +27,7 @@ One entry point. Everything else is automatic.
27
27
  Interview ─── "Who's the audience?" "What sections?" "Dark mode?" ───
28
28
  | (loops until you say stop)
29
29
  v
30
- Plan ─── Structured planning document (.claude/vibe/plans/)
30
+ Plan ─── Structured planning document (.vibe/plans/)
31
31
  |
32
32
  v
33
33
  SPEC ─── PTCF spec + BDD features, GPT+Gemini parallel research
package/README.md CHANGED
@@ -27,7 +27,7 @@ vibe init
27
27
  인터뷰 ─── "타깃은 λˆ„κ΅¬?" "μ–΄λ–€ μ„Ήμ…˜?" "닀크 λͺ¨λ“œ?" ───
28
28
  | (μ‚¬μš©μžκ°€ "그만"ν•  λ•ŒκΉŒμ§€ 반볡)
29
29
  v
30
- κΈ°νšμ„œ ─── κ΅¬μ‘°ν™”λœ λ§ˆν¬λ‹€μš΄ κΈ°νšμ„œ (.claude/vibe/plans/)
30
+ κΈ°νšμ„œ ─── κ΅¬μ‘°ν™”λœ λ§ˆν¬λ‹€μš΄ κΈ°νšμ„œ (.vibe/plans/)
31
31
  |
32
32
  v
33
33
  SPEC ─── PTCF λͺ…μ„Έ + BDD ν”Όμ²˜, GPT+Gemini 병렬 λ¦¬μ„œμΉ˜
@@ -75,7 +75,7 @@ Parallel agents analyze the solution:
75
75
  ### Phase 2: Category Classification
76
76
 
77
77
  ```
78
- .claude/vibe/solutions/
78
+ .vibe/solutions/
79
79
  β”œβ”€β”€ security/ # Security related
80
80
  β”‚ β”œβ”€β”€ sql-injection-prevention.md
81
81
  β”‚ └── xss-sanitization.md
@@ -161,7 +161,7 @@ cache_key = f"user:{user_id}:v{updated_at.timestamp()}"
161
161
 
162
162
  ### Phase 4: Index Update
163
163
 
164
- Auto-update `.claude/vibe/solutions/index.md`:
164
+ Auto-update `.vibe/solutions/index.md`:
165
165
 
166
166
  ```markdown
167
167
  # Solution Index
@@ -196,7 +196,7 @@ When similar problem detected:
196
196
  β”‚ You're working on: "Cache not updating" β”‚
197
197
  β”‚ β”‚
198
198
  β”‚ Related solution (85% match): β”‚
199
- β”‚ πŸ“„ .claude/vibe/solutions/performance/redis-cache-invalidation.md β”‚
199
+ β”‚ πŸ“„ .vibe/solutions/performance/redis-cache-invalidation.md β”‚
200
200
  β”‚ β”‚
201
201
  β”‚ Key insight: Add version suffix to cache key β”‚
202
202
  β”‚ β”‚
@@ -212,7 +212,7 @@ When similar problem detected:
212
212
  β”‚ πŸ“š SOLUTION DOCUMENTED β”‚
213
213
  β”œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€
214
214
  β”‚ β”‚
215
- β”‚ βœ… Created: .claude/vibe/solutions/performance/redis-cache-invalid... β”‚
215
+ β”‚ βœ… Created: .vibe/solutions/performance/redis-cache-invalid... β”‚
216
216
  β”‚ β”‚
217
217
  β”‚ πŸ“Š Knowledge Base Stats: β”‚
218
218
  β”‚ β”œβ”€β”€ Total Solutions: 42 β”‚
@@ -239,7 +239,7 @@ Auto-invoke `core_save_memory`:
239
239
  "category": "performance",
240
240
  "title": "Redis cache invalidation",
241
241
  "keywords": ["redis", "cache", "invalidation"],
242
- "file": ".claude/vibe/solutions/performance/redis-cache-invalidation.md"
242
+ "file": ".vibe/solutions/performance/redis-cache-invalidation.md"
243
243
  }
244
244
  ```
245
245
 
@@ -249,7 +249,7 @@ Auto-invoke `core_save_memory`:
249
249
  /vibe.spec β†’ /vibe.run β†’ /vibe.verify β†’ /vibe.compound
250
250
  β”‚
251
251
  β–Ό
252
- .claude/vibe/solutions/
252
+ .vibe/solutions/
253
253
  β”‚
254
254
  β–Ό
255
255
  Future problem?
@@ -159,7 +159,7 @@ erDiagram
159
159
  ```
160
160
 
161
161
  **Diagram save location:**
162
- .claude/vibe/diagrams/erd-2025-11-17.md
162
+ .vibe/diagrams/erd-2025-11-17.md
163
163
 
164
164
  **Rendering options:**
165
165
  1. Push to GitHub (auto-renders)
@@ -171,7 +171,7 @@ erDiagram
171
171
 
172
172
  - Mermaid is supported in GitHub, GitLab, VSCode, etc.
173
173
  - Complex diagrams may need manual adjustments
174
- - Generated diagrams are saved in `.claude/vibe/diagrams/` folder
174
+ - Generated diagrams are saved in `.vibe/diagrams/` folder
175
175
 
176
176
  ---
177
177
 
@@ -81,8 +81,8 @@ AIμ—κ²Œ ν•„μš”ν•œ 건 ν›„μžλ‹€.
81
81
 
82
82
  ```
83
83
  Scenario Detection
84
- β”œβ”€β”€ .claude/vibe/features/{feature}.feature β†’ Extract BDD scenarios
85
- β”œβ”€β”€ .claude/vibe/specs/{feature}.md β†’ Check acceptance criteria
84
+ β”œβ”€β”€ .vibe/features/{feature}.feature β†’ Extract BDD scenarios
85
+ β”œβ”€β”€ .vibe/specs/{feature}.md β†’ Check acceptance criteria
86
86
  └── Analyze existing e2e/*.spec.ts
87
87
  ```
88
88
 
@@ -189,8 +189,8 @@ E2E scenario FAILED
189
189
  ```
190
190
  Comparing screenshots:
191
191
  β”œβ”€β”€ login-page.png
192
- β”‚ β”œβ”€β”€ Baseline: .claude/vibe/e2e/baseline/login-page.png
193
- β”‚ β”œβ”€β”€ Current: .claude/vibe/e2e/current/login-page.png
192
+ β”‚ β”œβ”€β”€ Baseline: .vibe/e2e/baseline/login-page.png
193
+ β”‚ β”œβ”€β”€ Current: .vibe/e2e/current/login-page.png
194
194
  β”‚ └── Diff: 0.02% (threshold: 1%) β†’ PASS
195
195
  β”œβ”€β”€ dashboard.png
196
196
  β”‚ └── Diff: 5.3% (threshold: 1%) β†’ FAIL β†’ auto-fix loop
@@ -240,7 +240,7 @@ Token Usage: ~2,400 chars (vs ~96,000 with DOM-based approach)
240
240
 
241
241
  ## Configuration
242
242
 
243
- `.claude/vibe/e2e/config.json`:
243
+ `.vibe/e2e/config.json`:
244
244
 
245
245
  ```json
246
246
  {
@@ -27,8 +27,8 @@
27
27
  This agent analyzes **SPEC and Feature documents**, NOT source code.
28
28
 
29
29
  Input files:
30
- - `.claude/vibe/specs/{feature-name}.md` - SPEC with `<acceptance>` section
31
- - `.claude/vibe/features/{feature-name}.feature` - Feature with Gherkin scenarios
30
+ - `.vibe/specs/{feature-name}.md` - SPEC with `<acceptance>` section
31
+ - `.vibe/features/{feature-name}.feature` - Feature with Gherkin scenarios
32
32
 
33
33
  ## Checklist
34
34
 
@@ -64,7 +64,7 @@ Task(model: "sonnet", prompt: "Find and remove dead code, maintain DELETION_LOG"
64
64
 
65
65
  ## DELETION_LOG Format
66
66
 
67
- Create/update `.claude/vibe/DELETION_LOG.md`:
67
+ Create/update `.vibe/DELETION_LOG.md`:
68
68
 
69
69
  ```markdown
70
70
  # Deletion Log
@@ -112,7 +112,7 @@ Create/update `.claude/vibe/DELETION_LOG.md`:
112
112
 
113
113
  ### DELETION_LOG Updated
114
114
  - Added 18 entries
115
- - Location: .claude/vibe/DELETION_LOG.md
115
+ - Location: .vibe/DELETION_LOG.md
116
116
  ```
117
117
 
118
118
  ## Anti-Patterns
package/agents/tester.md CHANGED
@@ -22,7 +22,7 @@ Task(model: "haiku", prompt: "Write tests for the implemented code")
22
22
 
23
23
  ## Process
24
24
 
25
- 1. Check `.claude/vibe/features/{feature-name}.feature`
25
+ 1. Check `.vibe/features/{feature-name}.feature`
26
26
  2. Analyze implemented code
27
27
  3. Write test cases
28
28
  4. Run tests
@@ -24,7 +24,7 @@
24
24
 
25
25
  1. Receive list of changed UI files from git diff
26
26
  2. Read each changed file
27
- 3. Load MASTER.md from `.claude/vibe/design-system/{project}/MASTER.md` if exists
27
+ 3. Load MASTER.md from `.vibe/design-system/{project}/MASTER.md` if exists
28
28
  4. Use `core_ui_search` for anti-pattern detection rules
29
29
  5. Compare implementation against design system tokens
30
30
  6. Return findings with anti-pattern name and suggested fix
@@ -24,7 +24,7 @@
24
24
 
25
25
  ## Process
26
26
 
27
- 1. Read `.claude/vibe/design-system/{project}/analysis-result.json` from β‘ 
27
+ 1. Read `.vibe/design-system/{project}/analysis-result.json` from β‘ 
28
28
  2. Use `core_ui_search` to retrieve detailed style, color, typography data
29
29
  3. Use `core_ui_generate_design_system` with product description and project name
30
30
  4. Use `core_ui_persist_design_system` to write MASTER.md
@@ -32,8 +32,8 @@
32
32
 
33
33
  ## Output
34
34
 
35
- - **Primary**: `.claude/vibe/design-system/{project}/MASTER.md`
36
- - **Optional**: `.claude/vibe/design-system/{project}/pages/{page}.md`
35
+ - **Primary**: `.vibe/design-system/{project}/MASTER.md`
36
+ - **Optional**: `.vibe/design-system/{project}/pages/{page}.md`
37
37
 
38
38
  ## MASTER.md Structure
39
39
 
@@ -27,7 +27,7 @@
27
27
  3. Use `core_ui_search` with domain `style` to determine style priority
28
28
  4. Use `core_ui_search` with domain `color` to determine color mood
29
29
  5. Use `core_ui_search` with domain `typography` to determine typography mood
30
- 6. Save result to `.claude/vibe/design-system/{project}/analysis-result.json`
30
+ 6. Save result to `.vibe/design-system/{project}/analysis-result.json`
31
31
 
32
32
  ## Output Format
33
33
 
@@ -22,7 +22,7 @@
22
22
 
23
23
  ## Process
24
24
 
25
- 1. Read `.claude/vibe/design-system/{project}/analysis-result.json` from β‘ 
25
+ 1. Read `.vibe/design-system/{project}/analysis-result.json` from β‘ 
26
26
  2. Use `core_ui_search` with domain `landing` for page patterns
27
27
  3. Use `core_ui_search` with domain `product` for product-specific layouts
28
28
  4. Design section structure with component hierarchy
@@ -24,7 +24,7 @@
24
24
  ## Process
25
25
 
26
26
  1. Detect project tech stack from package.json or project files
27
- 2. Load MASTER.md from `.claude/vibe/design-system/{project}/MASTER.md` if exists
27
+ 2. Load MASTER.md from `.vibe/design-system/{project}/MASTER.md` if exists
28
28
  3. Use `core_ui_stack_search` with detected stack for framework patterns
29
29
  4. Use `core_ui_search` with domain `react` for performance patterns (if React/Next.js)
30
30
  5. Generate implementation guidelines mapping design system to framework
@@ -389,7 +389,7 @@ If `WebFetch` fails:
389
389
 
390
390
  ### Report
391
391
 
392
- Save to `.claude/vibe/reports/analysis-{date}.md`:
392
+ Save to `.vibe/reports/analysis-{date}.md`:
393
393
 
394
394
  ```markdown
395
395
  # Project Analysis Report
@@ -12,7 +12,7 @@ argument-hint: "extract | check | diff [feature-name]"
12
12
  ## Usage
13
13
 
14
14
  ```
15
- /vibe.contract extract <feature> # SPEC β†’ contract record at .claude/vibe/contracts/<feature>.md
15
+ /vibe.contract extract <feature> # SPEC β†’ contract record at .vibe/contracts/<feature>.md
16
16
  /vibe.contract check <feature> # contract vs implementation, drift report
17
17
  /vibe.contract diff <feature> # changed fields since last check
18
18
  ```
@@ -53,7 +53,7 @@ Load skill `vibe-contract` with subcommand: `$ARGUMENTS`
53
53
  ## Storage Format
54
54
 
55
55
  ```
56
- .claude/vibe/contracts/
56
+ .vibe/contracts/
57
57
  <feature>.md # extracted contract (SSOT)
58
58
  <feature>.snapshot.md # implementation snapshot at last check (for diff)
59
59
  ```
@@ -64,7 +64,7 @@ Step 3) Create λͺ¨λ“œ κ²°μ •
64
64
  Step 4) λͺ¨μˆœ 검증 (μ¦‰μ‹œ reject β€” μ§„ν–‰ κΈˆμ§€)
65
65
  isBranch3 AND hasNew β†’ ❌ "--create-* 와 --newλŠ” ν•¨κ»˜ μ‚¬μš©ν•  수 μ—†μŠ΅λ‹ˆλ‹€."
66
66
  isBranch3 AND mdArg == null β†’ ❌ "--create-* λŠ” plan.md κ²½λ‘œκ°€ ν•„μš”ν•©λ‹ˆλ‹€.
67
- 예: /vibe.figma .claude/vibe/plans/foo.md --create"
67
+ 예: /vibe.figma .vibe/plans/foo.md --create"
68
68
  isBranch3 AND urlArgs.length > 0 β†’ ❌ "--create-* λͺ¨λ“œμ—μ„œλŠ” figma URL을 μœ„μΉ˜ 인자둜 λ°›μ§€ μ•ŠμŠ΅λ‹ˆλ‹€.
69
69
  target νŒŒμΌμ€ Step Bμ—μ„œ μ§ˆλ¬Έν•©λ‹ˆλ‹€."
70
70
  NOT isBranch3 AND mdArg != null β†’ ⚠ "plan.mdλ₯Ό λ°›μ•˜μ§€λ§Œ --create-* ν”Œλž˜κ·Έκ°€ μ—†μŠ΅λ‹ˆλ‹€.
@@ -130,7 +130,7 @@ AskUserQuestion μ‚¬μš© μ‹œ μ ˆλŒ€ 선택지(options) 제곡 κΈˆμ§€. 자유 텍
130
130
  β›” design-teach μŠ€ν‚¬μ„ μžλ™μœΌλ‘œ λ‘œλ“œν•˜μ§€ 말 것 (μΈν„°λž™ν‹°λΈŒλΌ 흐름이 λŠκΉ€)
131
131
 
132
132
  μ•Œκ³ λ¦¬μ¦˜:
133
- - Read .claude/vibe/design-context.json
133
+ - Read .vibe/design-context.json
134
134
  - 쑴재 β†’ λ©”λͺ¨λ¦¬μ— binding ν›„ 계속
135
135
  - μ—†μŒ β†’ λ‹€μŒ ν•œ μ€„λ§Œ 좜λ ₯ν•˜κ³  계속:
136
136
  "πŸ’‘ design-context.json μ—†μŒ β€” κΈ°λ³Έκ°’μœΌλ‘œ μ§„ν–‰ν•©λ‹ˆλ‹€.
@@ -351,7 +351,7 @@ Load skill `design-audit`
351
351
  βœ… ν”Όμ²˜λͺ… κ²°μ •: mdArg 파일λͺ…μ—μ„œ .md μ œκ±°ν•œ 값을 {feature}둜 μ‚¬μš©
352
352
 
353
353
  2. Design context λ‘œλ“œ (non-interactive κΈ°λ³Έ)
354
- - Read .claude/vibe/design-context.json
354
+ - Read .vibe/design-context.json
355
355
  Β· 쑴재 β†’ 톀/νŒ”λ ˆνŠΈ λ³΄κ°•μš©μœΌλ‘œ binding
356
356
  Β· μ—†μŒ β†’ plan.md의 "## 7. Look & Feel" κ°’μœΌλ‘œ μž„μ‹œ μ»¨ν…μŠ€νŠΈ ꡬ성
357
357
  - hasTeach == true 인 κ²½μš°μ—λ§Œ Load skill `design-teach`둜 μΈν„°λž™ν‹°λΈŒ 보강
@@ -35,10 +35,10 @@ Agent(subagent_type="explorer-low", model="haiku",
35
35
  prompt="Check project scaffolding: 1) Does docs/ exist with business documents? 2) Does .dev/ exist for AI logs? 3) Is src/ organized by role (not flat)? 4) Is tests/ separate from src/? 5) List top-level directory structure.")
36
36
 
37
37
  Agent(subagent_type="explorer-low", model="haiku",
38
- prompt="Check project context and boundaries: 1) Does CLAUDE.md exist? How many lines? 2) Does .claude/rules/ or .claude/vibe/ exist? How many rule files? 3) Does .claude/settings.local.json exist with hooks? 4) Does .claude/vibe/config.json exist? 5) Are there any .claude/skills/ directories?")
38
+ prompt="Check project context and boundaries: 1) Does CLAUDE.md exist? How many lines? 2) Does .claude/rules/ or .vibe/ exist? How many rule files? 3) Does .claude/settings.local.json exist with hooks? 4) Does .vibe/config.json exist? 5) Are there any .claude/skills/ directories?")
39
39
 
40
40
  Agent(subagent_type="explorer-low", model="haiku",
41
- prompt="Check project planning, execution, and verification: 1) Are there SPEC files in .claude/vibe/specs/? 2) Are there Feature (BDD) files in .claude/vibe/features/? 3) Are there test files? How many? 4) Is there CI config (.github/workflows, etc.)? 5) Are there .dev/learnings/ files?")
41
+ prompt="Check project planning, execution, and verification: 1) Are there SPEC files in .vibe/specs/? 2) Are there Feature (BDD) files in .vibe/features/? 3) Are there test files? How many? 4) Is there CI config (.github/workflows, etc.)? 5) Are there .dev/learnings/ files?")
42
42
  ```
43
43
 
44
44
  ### 2. Score Each Axis
@@ -147,7 +147,7 @@ Proceed with auto-fix? (y/n)
147
147
 
148
148
  ### 4. Save Report
149
149
 
150
- Save results to `.claude/vibe/reports/harness-{date}.md` for historical tracking.
150
+ Save results to `.vibe/reports/harness-{date}.md` for historical tracking.
151
151
 
152
152
  ### 5. Self-Repair Chain
153
153
 
@@ -33,14 +33,14 @@ The `vibe-regress` skill performs registration, generation, and clustering.
33
33
  **Core steps** (see `skills/vibe-regress/SKILL.md` for details):
34
34
 
35
35
  1. Parse subcommand
36
- 2. Read/write `.claude/vibe/regressions/<slug>.md` (frontmatter schema enforced)
36
+ 2. Read/write `.vibe/regressions/<slug>.md` (frontmatter schema enforced)
37
37
  3. On `generate`, detect the project's test stack β†’ choose template (vitest / jest)
38
38
  4. On `cluster`, group by `root-cause-tag`; β‰₯3 entries β†’ propose a shared test
39
39
  5. On `import`, parse `git log --grep='^fix:'`; skip duplicates by commit hash
40
40
 
41
41
  ## Output
42
42
 
43
- - `.claude/vibe/regressions/<slug>.md` β€” bug record (frontmatter + reproduction / root cause)
43
+ - `.vibe/regressions/<slug>.md` β€” bug record (frontmatter + reproduction / root cause)
44
44
  - Project test dir β€” generated vitest file (`*.regression.test.ts`)
45
45
  - `list` prints a terminal table
46
46
 
@@ -213,7 +213,7 @@ Read CLAUDE.md -> Explicit tech stack declaration
213
213
  > When SPEC files exist, verify that code changes align with the SPEC
214
214
 
215
215
  ```
216
- 1. Search .claude/vibe/specs/ for related SPEC files (based on git diff filenames)
216
+ 1. Search .vibe/specs/ for related SPEC files (based on git diff filenames)
217
217
  2. Compare SPEC REQ-* list against functionality in changed code
218
218
  3. If functionality added that's not in SPEC β†’ P2 finding: "Feature added without SPEC"
219
219
  4. If implementation differs from SPEC β†’ P1 finding: "SPEC ↔ code mismatch"
@@ -256,7 +256,7 @@ node -e "import('{{VIBE_PATH_URL}}/node_modules/@su-record/vibe/dist/infra/orche
256
256
  ### Phase 2.5: UI/UX Review Agents (Auto-triggered)
257
257
 
258
258
  > **ν™œμ„±ν™” 쑰건**: λ³€κ²½λœ 파일 쀑 UI 파일 쑴재 (`.tsx`, `.jsx`, `.vue`, `.svelte`, `.html`, `.css`, `.scss`)
259
- > **λΉ„ν™œμ„±ν™”**: `.claude/vibe/config.json`에 `"uiUxAnalysis": false` μ„€μ •
259
+ > **λΉ„ν™œμ„±ν™”**: `.vibe/config.json`에 `"uiUxAnalysis": false` μ„€μ •
260
260
 
261
261
  **κΈ°μ‘΄ 12+ 리뷰 μ—μ΄μ „νŠΈμ™€ 병렬 μ‹€ν–‰:**
262
262
 
@@ -279,7 +279,7 @@ Task(subagent_type="ui-a11y-auditor",
279
279
 
280
280
  # β‘§ μ•ˆν‹°νŒ¨ν„΄ κ²€μΆœ (Haiku)
281
281
  Task(subagent_type="ui-antipattern-detector",
282
- prompt="Detect UI anti-patterns in: {changed_ui_files}. Check against MASTER.md if exists at .claude/vibe/design-system/{project}/MASTER.md.")
282
+ prompt="Detect UI anti-patterns in: {changed_ui_files}. Check against MASTER.md if exists at .vibe/design-system/{project}/MASTER.md.")
283
283
  ```
284
284
 
285
285
  **findings 톡합**: β‘₯⑦⑧ findingsλ₯Ό κΈ°μ‘΄ findings[]와 병합 β†’ P1/P2/P3 톡합 μ •λ ¬
@@ -427,7 +427,7 @@ Codex μˆ˜μ • μ™„λ£Œ ν›„ ν•΄λ‹Ή 리뷰 μ—μ΄μ „νŠΈκ°€ μž¬κ²€μ¦.
427
427
 
428
428
  ### Phase 6: Todo File Creation (Items Requiring Manual Handling)
429
429
 
430
- Save **remaining** findings to `.claude/vibe/todos/`:
430
+ Save **remaining** findings to `.vibe/todos/`:
431
431
 
432
432
  ```
433
433
  {priority}-{category}-{short-desc}.md
@@ -37,7 +37,7 @@ Execute **Scenario-Driven Implementation** with automatic quality verification.
37
37
  > **πŸ“Š Step Counter Reset (MANDATORY at START)**: Run this Bash command once at the very start to reset the tool-call counter so `/vibe.verify` can report "how many steps to reach the goal":
38
38
  >
39
39
  > ```bash
40
- > mkdir -p .claude/vibe/metrics && printf '{"feature":"%s","startedAt":"%s","steps":0}\n' "{feature-name}" "$(date -u +%Y-%m-%dT%H:%M:%SZ)" > .claude/vibe/metrics/current-run.json
40
+ > mkdir -p .vibe/metrics && printf '{"feature":"%s","startedAt":"%s","steps":0}\n' "{feature-name}" "$(date -u +%Y-%m-%dT%H:%M:%SZ)" > .vibe/metrics/current-run.json
41
41
  > ```
42
42
 
43
43
  ## File Reading Policy (Mandatory)
@@ -65,7 +65,7 @@ Load skill `vibe-regress` with: list --feature "{feature-name}"
65
65
  - ultrawork mode: auto-invoke `/vibe.regress generate <slug>` for each, then proceed
66
66
  - No open regressions β†’ silently continue
67
67
 
68
- Also load `.claude/vibe/contracts/{feature-name}.md` if present β€” use it as the contract reference during implementation.
68
+ Also load `.vibe/contracts/{feature-name}.md` if present β€” use it as the contract reference during implementation.
69
69
 
70
70
  ### Core Flow
71
71
 
@@ -172,7 +172,7 @@ After implementing each scenario, **automatic verification**:
172
172
 
173
173
  **ν™œμ„±ν™” 쑰건:**
174
174
  - Feature νŒŒμΌμ— UI κ΄€λ ¨ μ‹œλ‚˜λ¦¬μ˜€ 쑴재 (form, button, page, navigate λ“±)
175
- - `.claude/vibe/e2e/config.json`의 `closedLoop.enabled: true` (κΈ°λ³Έκ°’)
175
+ - `.vibe/e2e/config.json`의 `closedLoop.enabled: true` (κΈ°λ³Έκ°’)
176
176
  - dev serverκ°€ μ‹€ν–‰ 쀑 (`baseURL` μ ‘κ·Ό κ°€λŠ₯)
177
177
 
178
178
  ### Auto-Fix on Failure
@@ -402,7 +402,7 @@ Type Check: βœ… No errors
402
402
 
403
403
  βœ… RALPH VERIFIED COMPLETE!
404
404
 
405
- πŸ“„ RTM saved: .claude/vibe/rtm/login-rtm.md
405
+ πŸ“„ RTM saved: .vibe/rtm/login-rtm.md
406
406
  ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
407
407
  ```
408
408
 
@@ -431,7 +431,7 @@ Claude:
431
431
  πŸš€ ULTRAWORK MODE ACTIVATED
432
432
  ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
433
433
 
434
- πŸ“„ SPEC: .claude/vibe/specs/brick-game.md
434
+ πŸ“„ SPEC: .vibe/specs/brick-game.md
435
435
  🎯 4 Phases detected
436
436
  ⚑ Boulder Loop: ENABLED (will continue until all phases complete)
437
437
  πŸ”„ Auto-retry: ON (loop until 100% or stuck β†’ auto-TODO)
@@ -757,7 +757,7 @@ Each agent has tier variants for cost optimization:
757
757
 
758
758
  ### External LLM Usage (When Enabled)
759
759
 
760
- When external LLMs are enabled in `.claude/vibe/config.json`:
760
+ When external LLMs are enabled in `.vibe/config.json`:
761
761
 
762
762
  | Role | Method | Condition |
763
763
  |------|--------|-----------|
@@ -851,25 +851,25 @@ node -e "import('{{VIBE_PATH_URL}}/node_modules/@su-record/vibe/dist/tools/index
851
851
 
852
852
  ```
853
853
  Step 1: Check if SPLIT structure exists (folder)
854
- πŸ“ .claude/vibe/specs/{feature-name}/ β†’ Folder with _index.md + phase files
855
- πŸ“ .claude/vibe/features/{feature-name}/ β†’ Folder with _index.feature + phase files
854
+ πŸ“ .vibe/specs/{feature-name}/ β†’ Folder with _index.md + phase files
855
+ πŸ“ .vibe/features/{feature-name}/ β†’ Folder with _index.feature + phase files
856
856
 
857
857
  Step 2: If no folder, check single file
858
- πŸ“„ .claude/vibe/specs/{feature-name}.md β†’ Single SPEC file
859
- πŸ“„ .claude/vibe/features/{feature-name}.feature β†’ Single Feature file
858
+ πŸ“„ .vibe/specs/{feature-name}.md β†’ Single SPEC file
859
+ πŸ“„ .vibe/features/{feature-name}.feature β†’ Single Feature file
860
860
 
861
861
  Step 3: If neither exists β†’ Error
862
862
  ```
863
863
 
864
864
  **Split structure (folder) detected:**
865
865
  ```
866
- πŸ“ .claude/vibe/specs/{feature-name}/
866
+ πŸ“ .vibe/specs/{feature-name}/
867
867
  β”œβ”€β”€ _index.md β†’ Master SPEC (read first for overview)
868
868
  β”œβ”€β”€ phase-1-{name}.md β†’ Phase 1 SPEC
869
869
  β”œβ”€β”€ phase-2-{name}.md β†’ Phase 2 SPEC
870
870
  └── ...
871
871
 
872
- πŸ“ .claude/vibe/features/{feature-name}/
872
+ πŸ“ .vibe/features/{feature-name}/
873
873
  β”œβ”€β”€ _index.feature β†’ Master Feature (read first for scenario overview)
874
874
  β”œβ”€β”€ phase-1-{name}.feature β†’ Phase 1 scenarios
875
875
  β”œβ”€β”€ phase-2-{name}.feature β†’ Phase 2 scenarios
@@ -881,15 +881,15 @@ Step 3: If neither exists β†’ Error
881
881
 
882
882
  **Single file detected:**
883
883
  ```
884
- πŸ“„ .claude/vibe/specs/{feature-name}.md β†’ SPEC (structure, constraints, context)
885
- πŸ“„ .claude/vibe/features/{feature-name}.feature β†’ Feature (scenario = implementation unit)
884
+ πŸ“„ .vibe/specs/{feature-name}.md β†’ SPEC (structure, constraints, context)
885
+ πŸ“„ .vibe/features/{feature-name}.feature β†’ Feature (scenario = implementation unit)
886
886
  ```
887
887
 
888
888
  **Error if NEITHER file NOR folder found:**
889
889
  ```
890
890
  ❌ SPEC not found. Searched:
891
- - .claude/vibe/specs/{feature-name}/ (folder)
892
- - .claude/vibe/specs/{feature-name}.md (file)
891
+ - .vibe/specs/{feature-name}/ (folder)
892
+ - .vibe/specs/{feature-name}.md (file)
893
893
 
894
894
  Run /vibe.spec "{feature-name}" first.
895
895
  ```
@@ -915,13 +915,13 @@ Step 3: If neither exists β†’ Error
915
915
  β”‚ 3. Extract Phase N scope: files, scenarios, requirements β”‚
916
916
  β”‚ 4. Implement Phase N scenarios β”‚
917
917
  β”‚ 5. Verify Phase N β”‚
918
- β”‚ 6. Write Phase Checkpoint β†’ .claude/vibe/checkpoints/ β”‚
918
+ β”‚ 6. Write Phase Checkpoint β†’ .vibe/checkpoints/ β”‚
919
919
  β”‚ 7. DISCARD Phase N details from working memory β”‚
920
920
  β”‚ Step C: Next Phase β€” go to Step B β”‚
921
921
  β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜
922
922
  ```
923
923
 
924
- **Phase Checkpoint Format** (`.claude/vibe/checkpoints/{feature}-phase-{N}.md`):
924
+ **Phase Checkpoint Format** (`.vibe/checkpoints/{feature}-phase-{N}.md`):
925
925
 
926
926
  ```markdown
927
927
  # Checkpoint: {feature} Phase {N}
@@ -996,7 +996,7 @@ Discovery during implementation: "An API endpoint not in SPEC is needed"
996
996
  β”‚
997
997
  └─ Outside SPEC scope?
998
998
  YES β†’ Record as TODO and exclude from current scope
999
- .claude/vibe/todos/out-of-scope-{item}.md
999
+ .vibe/todos/out-of-scope-{item}.md
1000
1000
  ```
1001
1001
 
1002
1002
  **Required when changing SPEC:**
@@ -1245,7 +1245,7 @@ core ProjectCache (LRU) caches ts-morph parsing results. Parallel calls share th
1245
1245
  ### UI/UX Design Intelligence (Auto-triggered before Phase 1)
1246
1246
 
1247
1247
  > **쑰건**: SPEC λ˜λŠ” Feature에 UI/UX ν‚€μ›Œλ“œ 포함 μ‹œ μžλ™ μ‹€ν–‰
1248
- > **λΉ„ν™œμ„±ν™”**: `.claude/vibe/config.json`에 `"uiUxAnalysis": false` μ„€μ •
1248
+ > **λΉ„ν™œμ„±ν™”**: `.vibe/config.json`에 `"uiUxAnalysis": false` μ„€μ •
1249
1249
 
1250
1250
  **Phase 1 μ‹œμž‘ μ „, 2개 μ—μ΄μ „νŠΈ μžλ™ μ‹€ν–‰:**
1251
1251
 
@@ -1267,7 +1267,7 @@ Task(subagent_type="ui-dataviz-advisor",
1267
1267
  ```
1268
1268
 
1269
1269
  **λ””μžμΈ μ‹œμŠ€ν…œ μžλ™ μ°Έμ‘°:**
1270
- - `.claude/vibe/design-system/{project}/MASTER.md` 쑴재 μ‹œ μžλ™ λ‘œλ“œ
1270
+ - `.vibe/design-system/{project}/MASTER.md` 쑴재 μ‹œ μžλ™ λ‘œλ“œ
1271
1271
  - κ΅¬ν˜„ μ—μ΄μ „νŠΈκ°€ CSS λ³€μˆ˜, 폰트, 색상 νŒ”λ ˆνŠΈλ₯Ό 직접 μ°Έμ‘°
1272
1272
  - νŽ˜μ΄μ§€λ³„ μ˜€λ²„λΌμ΄λ“œ `pages/{page}.md` 쑴재 μ‹œ μš°μ„  적용
1273
1273
 
@@ -1646,8 +1646,8 @@ Follow during implementation:
1646
1646
 
1647
1647
  ## Input
1648
1648
 
1649
- - `.claude/vibe/specs/{feature-name}.md` (PTCF SPEC)
1650
- - `.claude/vibe/features/{feature-name}.feature` (BDD)
1649
+ - `.vibe/specs/{feature-name}.md` (PTCF SPEC)
1650
+ - `.vibe/features/{feature-name}.feature` (BDD)
1651
1651
  - `CLAUDE.md` (project context)
1652
1652
 
1653
1653
  ## Output
@@ -1662,8 +1662,8 @@ Follow during implementation:
1662
1662
  User: /vibe.run "login"
1663
1663
 
1664
1664
  Claude:
1665
- πŸ“„ Loading SPEC: .claude/vibe/specs/login.md
1666
- πŸ“„ Loading Feature: .claude/vibe/features/login.feature
1665
+ πŸ“„ Loading SPEC: .vibe/specs/login.md
1666
+ πŸ“„ Loading Feature: .vibe/features/login.feature
1667
1667
 
1668
1668
  ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
1669
1669
  πŸ“‹ Scenarios to Implement
@@ -1799,7 +1799,7 @@ Then: Login success + JWT token returned
1799
1799
  User: /vibe.run "brick-game" --phase 2
1800
1800
 
1801
1801
  Claude:
1802
- πŸ“„ Reading SPEC: .claude/vibe/specs/brick-game.md
1802
+ πŸ“„ Reading SPEC: .vibe/specs/brick-game.md
1803
1803
  🎯 Executing Phase 2 only.
1804
1804
 
1805
1805
  Phase 2: Game Logic
@@ -1923,7 +1923,7 @@ After ALL phases complete successfully, **automatically** perform a brief retros
1923
1923
  ### Execution Steps
1924
1924
 
1925
1925
  1. Generate retrospective based on the implementation session
1926
- 2. Save to `.claude/vibe/retros/{feature-name}.md`
1926
+ 2. Save to `.vibe/retros/{feature-name}.md`
1927
1927
  3. Save key lessons via `core_save_memory` (for cross-session recall)
1928
1928
  4. Update `claude-progress.txt` with final status
1929
1929
 
@@ -26,7 +26,7 @@ Design and generate a project structure where AI works effectively on its own.
26
26
 
27
27
  1. Read `CLAUDE.md`, `package.json`, `pyproject.toml`, `pubspec.yaml`
28
28
  2. Scan existing folder structure via `Glob`
29
- 3. Read `.claude/vibe/config.json` for detected stacks
29
+ 3. Read `.vibe/config.json` for detected stacks
30
30
 
31
31
  ### 2. Determine Project Type
32
32