@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
@@ -13,7 +13,7 @@ chain-next: [vibe-spec, vibe-figma]
13
13
 
14
14
  ## When to Use
15
15
 
16
- - `vibe-interview` has just completed and `.claude/vibe/interviews/{feature}.md` exists
16
+ - `vibe-interview` has just completed and `.vibe/interviews/{feature}.md` exists
17
17
  - The user requests "write me a plan document" or "clean up the interview"
18
18
  - Need to convert an external PRD/wireframe into the vibe plan document format
19
19
 
@@ -24,7 +24,7 @@ chain-next: [vibe-spec, vibe-figma]
24
24
 
25
25
  ```
26
26
  1. Read interview file
27
- .claude/vibe/interviews/{feature}.md
27
+ .vibe/interviews/{feature}.md
28
28
 
29
29
  2. Load template
30
30
  ~/.claude/vibe/templates/plan-template.md
@@ -40,7 +40,7 @@ chain-next: [vibe-spec, vibe-figma]
40
40
  type ∈ {api, library, feature-data} → omit
41
41
 
42
42
  5. Save plan document
43
- .claude/vibe/plans/{feature}.md
43
+ .vibe/plans/{feature}.md
44
44
 
45
45
  6. Handoff guidance
46
46
  Next steps: /vibe.spec, /vibe.figma, parallel
@@ -49,7 +49,7 @@ chain-next: [vibe-spec, vibe-figma]
49
49
  ## Step 1: Read Interview File
50
50
 
51
51
  ```
52
- Read .claude/vibe/interviews/{feature-name}.md
52
+ Read .vibe/interviews/{feature-name}.md
53
53
  ```
54
54
 
55
55
  Extract `type`, `status`, `requiredCollected`, `optionalCollected`, etc. from the frontmatter.
@@ -104,7 +104,7 @@ Edit anything that doesn't match your intent.
104
104
  ### `.last-feature` Pointer Update
105
105
 
106
106
  ```
107
- Write ".claude/vibe/.last-feature" ← feature-name (one line)
107
+ Write ".vibe/.last-feature" ← feature-name (one line)
108
108
  Run immediately after extracting the feature name from the interview file.
109
109
  No-op if the value is already the same.
110
110
  ```
@@ -180,7 +180,7 @@ else: # api, library, feature-data
180
180
 
181
181
  ## Step 5: Save Plan Document
182
182
 
183
- **Output path**: `.claude/vibe/plans/{feature-name}.md`
183
+ **Output path**: `.vibe/plans/{feature-name}.md`
184
184
 
185
185
  **Frontmatter**:
186
186
 
@@ -191,7 +191,7 @@ type: {website | webapp | mobile | api | library | feature}
191
191
  status: draft
192
192
  createdAt: {ISO-timestamp}
193
193
  lastUpdated: {ISO-timestamp}
194
- source: .claude/vibe/interviews/{feature-name}.md
194
+ source: .vibe/interviews/{feature-name}.md
195
195
  downstream: [spec, figma] # or [spec] for non-UI
196
196
  ---
197
197
  ```
@@ -213,7 +213,7 @@ After saving the plan document, guide the user on next steps:
213
213
  ✅ Plan document complete!
214
214
  ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
215
215
 
216
- 📄 .claude/vibe/plans/{feature-name}.md
216
+ 📄 .vibe/plans/{feature-name}.md
217
217
  Sections: {N} written
218
218
  TBD: {M} (to be decided later)
219
219
 
@@ -222,7 +222,7 @@ Type: {type}
222
222
  Next steps:
223
223
 
224
224
  [UI project: website/webapp/mobile]
225
- 1. /vibe.spec ".claude/vibe/plans/{feature-name}.md"
225
+ 1. /vibe.spec ".vibe/plans/{feature-name}.md"
226
226
  → Write code spec → /vibe.run implementation
227
227
  2. /vibe.figma
228
228
  → Figma design → FE UI code
@@ -230,7 +230,7 @@ Next steps:
230
230
  → Feature + Design → website prototype
231
231
 
232
232
  [Non-UI: api/library]
233
- 1. /vibe.spec ".claude/vibe/plans/{feature-name}.md"
233
+ 1. /vibe.spec ".vibe/plans/{feature-name}.md"
234
234
  → Code spec → /vibe.run implementation
235
235
 
236
236
  Where would you like to start?
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  name: vibe-regress
3
3
  tier: core
4
- description: "Regression test auto-evolution. Registers bugs (auto from /vibe.verify failures or manual), generates preventive vitest/jest files from bug records, clusters repeated patterns (3+ same root-cause-tag) into shared tests, and imports historical `fix:` commits from git log. Storage: .claude/vibe/regressions/<slug>.md. Must use this skill when user runs /vibe.regress, when /vibe.verify produces a failure, or when the user says 'don't let this happen again' / 'regression test' / '회귀 테스트'."
4
+ description: "Regression test auto-evolution. Registers bugs (auto from /vibe.verify failures or manual), generates preventive vitest/jest files from bug records, clusters repeated patterns (3+ same root-cause-tag) into shared tests, and imports historical `fix:` commits from git log. Storage: .vibe/regressions/<slug>.md. Must use this skill when user runs /vibe.regress, when /vibe.verify produces a failure, or when the user says 'don't let this happen again' / 'regression test' / '회귀 테스트'."
5
5
  triggers: [regress, regression, "회귀", "다시는", "반복 버그", "fix commit"]
6
6
  priority: 70
7
7
  chain-next: []
@@ -18,7 +18,7 @@ A classic vibe-coding weakness: LLMs reintroduce bugs of the same class. Regress
18
18
  ## Storage Contract
19
19
 
20
20
  ```
21
- .claude/vibe/regressions/
21
+ .vibe/regressions/
22
22
  <bug-slug>.md # one file per bug
23
23
  _cluster-<tag>.md # shared-test design produced by `cluster`
24
24
  ```
@@ -69,7 +69,7 @@ Most calls are automatic; manual use is rare (bugs found outside `/vibe.verify`,
69
69
  - Fix description
70
70
  4. `root-cause-tag` is **inferred from the allowed set, then confirmed with the user**. If unclear → `other`.
71
71
  5. Generate slug: kebab-case keywords from the symptom; on collision append `-2`
72
- 6. Write `.claude/vibe/regressions/<slug>.md` (status: `open`)
72
+ 6. Write `.vibe/regressions/<slug>.md` (status: `open`)
73
73
 
74
74
  ### 2. `generate <slug>` — generate preventive test
75
75
 
@@ -106,7 +106,7 @@ cart-stock-race-double-deduct cart concurrency open 1d
106
106
 
107
107
  **Steps**:
108
108
  1. `git log --grep='^fix:' --format='%H|%s|%ci' --since=<last-import-date>`
109
- - `last-import-date` lives in `.claude/vibe/regressions/.import-cursor` (defaults to 90 days ago)
109
+ - `last-import-date` lives in `.vibe/regressions/.import-cursor` (defaults to 90 days ago)
110
110
  2. For each commit:
111
111
  - If a bug file with the same `fix-commit` already exists → **skip**
112
112
  - Otherwise infer symptom + root-cause-tag from message/diff (LLM call)
@@ -152,7 +152,7 @@ Load skill `vibe-regress` with: register --from-verify
152
152
 
153
153
  At the start of `/vibe.run "<feature>"`:
154
154
 
155
- 1. Filter `.claude/vibe/regressions/*.md` for `feature: <feature-name>` + `status != resolved`
155
+ 1. Filter `.vibe/regressions/*.md` for `feature: <feature-name>` + `status != resolved`
156
156
  2. If any open items:
157
157
  ```
158
158
  ⚠️ Open regressions for this feature:
@@ -35,7 +35,7 @@ feature: {{FEATURE}}
35
35
 
36
36
  ## Related
37
37
 
38
- - Feature: [.claude/vibe/features/{{FEATURE}}.feature](../../features/{{FEATURE}}.feature)
38
+ - Feature: [.vibe/features/{{FEATURE}}.feature](../../features/{{FEATURE}}.feature)
39
39
  - Fix commit: `{{FIX_COMMIT}}`
40
40
  - Regression test: `{{TEST_PATH}}`
41
41
 
@@ -4,7 +4,7 @@
4
4
  * Symptom: {{SYMPTOM}}
5
5
  * Root cause tag: {{ROOT_CAUSE_TAG}}
6
6
  * Fix commit: {{FIX_COMMIT}}
7
- * Source record: .claude/vibe/regressions/{{SLUG}}.md
7
+ * Source record: .vibe/regressions/{{SLUG}}.md
8
8
  *
9
9
  * DO NOT delete this test when the bug is fixed — it exists to prevent the
10
10
  * same bug from being reintroduced. Update only if the reproduction steps
@@ -4,7 +4,7 @@
4
4
  * Symptom: {{SYMPTOM}}
5
5
  * Root cause tag: {{ROOT_CAUSE_TAG}}
6
6
  * Fix commit: {{FIX_COMMIT}}
7
- * Source record: .claude/vibe/regressions/{{SLUG}}.md
7
+ * Source record: .vibe/regressions/{{SLUG}}.md
8
8
  *
9
9
  * DO NOT delete this test when the bug is fixed — it exists to prevent the
10
10
  * same bug from being reintroduced. Update only if the reproduction steps
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  name: vibe-spec
3
3
  tier: core
4
- description: "Create an AI-executable PTCF-structured SPEC document through conversational requirements gathering, parallel research (GPT/Gemini/Claude agents), PTCF writing, ambiguity scan, and 100-point quality gate (loops until perfect or stuck). Produces .claude/vibe/specs/{feature}.md + matching .claude/vibe/features/{feature}.feature (BDD). Must use this skill when the user says 'write spec', 'create spec', '/vibe.spec', or when a plan document exists and is ready for code specification."
4
+ description: "Create an AI-executable PTCF-structured SPEC document through conversational requirements gathering, parallel research (GPT/Gemini/Claude agents), PTCF writing, ambiguity scan, and 100-point quality gate (loops until perfect or stuck). Produces .vibe/specs/{feature}.md + matching .vibe/features/{feature}.feature (BDD). Must use this skill when the user says 'write spec', 'create spec', '/vibe.spec', or when a plan document exists and is ready for code specification."
5
5
  triggers: [spec, SPEC, 명세, "코드 명세", "구현 명세", "write spec", "create spec", PTCF]
6
6
  priority: 85
7
7
  chain-next: [vibe-spec-review]
@@ -225,7 +225,7 @@ $ git checkout -b feature/login-page
225
225
  **`.last-feature` pointer update** (immediately after Git branch setup):
226
226
 
227
227
  ```
228
- Write ".claude/vibe/.last-feature" ← feature-name (single line)
228
+ Write ".vibe/.last-feature" ← feature-name (single line)
229
229
  Execute at the point when the feature name is finalized.
230
230
  No-op if the value is already the same.
231
231
  ```
@@ -350,7 +350,7 @@ const response = parseUserResponse(question, "1, 2, 4");
350
350
  Reference documents are automatically generated in `config.json` based on the stack detected during `vibe init`:
351
351
 
352
352
  ```json
353
- // .claude/vibe/config.json
353
+ // .vibe/config.json
354
354
  {
355
355
  "language": "ko",
356
356
  "stacks": [
@@ -376,14 +376,14 @@ Reference documents are automatically generated in `config.json` based on the st
376
376
 
377
377
  **Workflow:**
378
378
 
379
- 1. Read `.claude/vibe/config.json`
379
+ 1. Read `.vibe/config.json`
380
380
  2. Extract `references.languages[]` paths
381
381
  3. Read each language document for stack-specific guidelines
382
382
 
383
383
  **Example:**
384
384
  ```bash
385
385
  # 1. Check references in config.json
386
- Read .claude/vibe/config.json
386
+ Read .vibe/config.json
387
387
 
388
388
  # 2. Reference documents specified in references.languages
389
389
  Read ~/.claude/vibe/languages/typescript-react.md
@@ -401,13 +401,13 @@ Before spawning any research agents, check for a prior persisted dataset:
401
401
 
402
402
  ```bash
403
403
  # Slug = kebab-case of the feature/topic, max 50 chars
404
- ls .claude/vibe/research/<slug>/paper.md 2>/dev/null
404
+ ls .vibe/research/<slug>/paper.md 2>/dev/null
405
405
  ```
406
406
 
407
407
  **If `paper.md` exists:**
408
- 1. Read `.claude/vibe/research/<slug>/paper.md`
409
- 2. Read `.claude/vibe/research/<slug>/awesome-list.md` (if present)
410
- 3. Inject the **Findings**, **Recommendation**, and **Security considerations** sections verbatim into SPEC Context, prefixed with `> Source: .claude/vibe/research/<slug>/paper.md (cached {{FILE_MTIME}})`
408
+ 1. Read `.vibe/research/<slug>/paper.md`
409
+ 2. Read `.vibe/research/<slug>/awesome-list.md` (if present)
410
+ 3. Inject the **Findings**, **Recommendation**, and **Security considerations** sections verbatim into SPEC Context, prefixed with `> Source: .vibe/research/<slug>/paper.md (cached {{FILE_MTIME}})`
411
411
  4. **Skip step 3** (parallel research) entirely — do not re-run GPT/Gemini/Claude agents
412
412
  5. Print: `✅ Research cache hit: <slug> (saved ~30s of LLM calls)`
413
413
 
@@ -436,7 +436,7 @@ Proceed to step 3. After step 3 completes, the synthesizer **must** write the 3
436
436
  6. **DO NOT** create SECURITY_*.md, RESEARCH_*.md, SUMMARY_*.md files
437
437
  7. **DO NOT** use Write tool during research phase
438
438
  8. **ALL research results** must be returned as text output only
439
- 9. **Files are ONLY created** in Step 4 (SPEC) and Step 5 (Feature) in `.claude/vibe/` directory
439
+ 9. **Files are ONLY created** in Step 4 (SPEC) and Step 5 (Feature) in `.vibe/` directory
440
440
 
441
441
  **When to trigger:**
442
442
  1. ✅ Feature type decided (e.g., "passkey authentication")
@@ -520,7 +520,7 @@ node "[LLM_SCRIPT]" gemini orchestrate-json "Security advisories for passkey aut
520
520
  ### 3.2 UI/UX Design Intelligence (Auto-triggered)
521
521
 
522
522
  > **Condition**: Auto-executes when UI/UX keywords are present in the SPEC context (website, landing, dashboard, app, e-commerce, portfolio, SaaS, mobile app, web app, UI, UX, frontend, design)
523
- > **Disable**: Set `"uiUxAnalysis": false` in `.claude/vibe/config.json`
523
+ > **Disable**: Set `"uiUxAnalysis": false` in `.vibe/config.json`
524
524
 
525
525
  **When UI/UX keywords are detected, run 3 agents sequentially in parallel with research:**
526
526
 
@@ -540,7 +540,7 @@ node "[LLM_SCRIPT]" gemini orchestrate-json "Security advisories for passkey aut
540
540
  1. **① ui-industry-analyzer** — Run as Task(haiku) agent:
541
541
  ```text
542
542
  Task(subagent_type="ui-industry-analyzer",
543
- prompt="Analyze product: [USER_DESCRIPTION]. Use core_ui_search to detect category, style priority, color mood, typography mood. Save result to .claude/vibe/design-system/{project}/analysis-result.json")
543
+ prompt="Analyze product: [USER_DESCRIPTION]. Use core_ui_search to detect category, style priority, color mood, typography mood. Save result to .vibe/design-system/{project}/analysis-result.json")
544
544
  ```
545
545
 
546
546
  2. **②③ parallel execution** — Using ①'s result as input:
@@ -559,7 +559,7 @@ Task(subagent_type="ui-layout-architect",
559
559
  ### Design System (Auto-generated)
560
560
  - Category: {① category}
561
561
  - Style: {① style_priority}
562
- - MASTER.md: .claude/vibe/design-system/{project}/MASTER.md
562
+ - MASTER.md: .vibe/design-system/{project}/MASTER.md
563
563
  - Layout: {③ pattern + sections}
564
564
  ```
565
565
 
@@ -567,13 +567,13 @@ Task(subagent_type="ui-layout-architect",
567
567
 
568
568
  > The "no Write during research" rule from step 3 does **not** apply here — research is done; artifacts are safe to persist.
569
569
 
570
- After parallel research + UI/UX intelligence complete, before writing the SPEC, save the merged research to `.claude/vibe/research/<slug>/`:
570
+ After parallel research + UI/UX intelligence complete, before writing the SPEC, save the merged research to `.vibe/research/<slug>/`:
571
571
 
572
572
  1. Compute slug: kebab-case of feature name, max 50 chars
573
573
  2. Write **three files** using templates from `parallel-research/templates/`:
574
- - `.claude/vibe/research/<slug>/synthesis.md` — raw merged findings (all agent outputs)
575
- - `.claude/vibe/research/<slug>/awesome-list.md` — curated links/repos/patterns (every entry needs a one-line "why"; drop entries without one)
576
- - `.claude/vibe/research/<slug>/paper.md` — structured survey (Abstract → Background → Method → Findings → Recommendation → Security → References)
574
+ - `.vibe/research/<slug>/synthesis.md` — raw merged findings (all agent outputs)
575
+ - `.vibe/research/<slug>/awesome-list.md` — curated links/repos/patterns (every entry needs a one-line "why"; drop entries without one)
576
+ - `.vibe/research/<slug>/paper.md` — structured survey (Abstract → Background → Method → Findings → Recommendation → Security → References)
577
577
  3. Include a frontmatter header in `paper.md` with a `stack:` field so step 2.9 can detect stack drift
578
578
  4. If the directory already exists (user passed `--refresh-research`), overwrite
579
579
 
@@ -599,13 +599,13 @@ This makes the next `/vibe.spec` (or future `/vibe.research`) invocation on the
599
599
  **Auto-split output (SPEC + Feature files must match):**
600
600
 
601
601
  ```
602
- .claude/vibe/specs/{feature-name}/
602
+ .vibe/specs/{feature-name}/
603
603
  ├── _index.md # Master SPEC
604
604
  ├── phase-1-setup.md
605
605
  ├── phase-2-core.md
606
606
  └── ...
607
607
 
608
- .claude/vibe/features/{feature-name}/
608
+ .vibe/features/{feature-name}/
609
609
  ├── _index.feature # Master Feature
610
610
  ├── phase-1-setup.feature
611
611
  ├── phase-2-core.feature
@@ -640,7 +640,7 @@ This makes the next `/vibe.spec` (or future `/vibe.research`) invocation on the
640
640
  ```markdown
641
641
  # Feature: {feature-name} (Master)
642
642
 
643
- **Master SPEC**: `.claude/vibe/specs/{feature-name}/_index.md`
643
+ **Master SPEC**: `.vibe/specs/{feature-name}/_index.md`
644
644
 
645
645
  ## Sub-Features
646
646
 
@@ -657,7 +657,7 @@ This makes the next `/vibe.spec` (or future `/vibe.research`) invocation on the
657
657
 
658
658
  **Small scope (default):**
659
659
 
660
- Create `.claude/vibe/specs/{feature-name}.md`:
660
+ Create `.vibe/specs/{feature-name}.md`:
661
661
 
662
662
  ```markdown
663
663
  ---
@@ -756,7 +756,7 @@ Define AI role and expertise for implementation
756
756
 
757
757
  #### 5.1 Single File (Small Scope)
758
758
 
759
- Create `.claude/vibe/features/{feature-name}.feature`:
759
+ Create `.vibe/features/{feature-name}.feature`:
760
760
 
761
761
  **Creation rules:**
762
762
  1. Convert each SPEC Acceptance Criteria → one Scenario
@@ -766,7 +766,7 @@ Create `.claude/vibe/features/{feature-name}.feature`:
766
766
  ```markdown
767
767
  # Feature: {feature-name}
768
768
 
769
- **SPEC**: `.claude/vibe/specs/{feature-name}.md`
769
+ **SPEC**: `.vibe/specs/{feature-name}.md`
770
770
 
771
771
  ## User Story
772
772
  **As a** {user}
@@ -798,7 +798,7 @@ Scenario: {title}
798
798
  When SPEC is split into phases, Feature files MUST also be split:
799
799
 
800
800
  ```
801
- .claude/vibe/features/{feature-name}/
801
+ .vibe/features/{feature-name}/
802
802
  ├── _index.feature # Master: links to all phase features
803
803
  ├── phase-1-setup.feature # Scenarios for phase-1-setup.md
804
804
  ├── phase-2-core.feature # Scenarios for phase-2-core.md
@@ -810,8 +810,8 @@ When SPEC is split into phases, Feature files MUST also be split:
810
810
  ```markdown
811
811
  # Feature: {feature-name} - Phase {N}: {phase-name}
812
812
 
813
- **SPEC**: `.claude/vibe/specs/{feature-name}/phase-{N}-{name}.md`
814
- **Master Feature**: `.claude/vibe/features/{feature-name}/_index.feature`
813
+ **SPEC**: `.vibe/specs/{feature-name}/phase-{N}-{name}.md`
814
+ **Master Feature**: `.vibe/features/{feature-name}/_index.feature`
815
815
 
816
816
  ## User Story (Phase Scope)
817
817
  **As a** {user}
@@ -988,8 +988,8 @@ Output the handoff message:
988
988
  ✅ SPEC DRAFT COMPLETE: {feature-name}
989
989
  ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
990
990
 
991
- 📋 SPEC: .claude/vibe/specs/{feature-name}.md
992
- 📋 Feature: .claude/vibe/features/{feature-name}.feature
991
+ 📋 SPEC: .vibe/specs/{feature-name}.md
992
+ 📋 Feature: .vibe/features/{feature-name}.feature
993
993
  📊 Quality Score: {score}/100
994
994
  ⏱️ Started: {start_time}
995
995
  ⏱️ Completed: {getCurrentTime result}
@@ -1017,22 +1017,22 @@ Option 2 (recommended for large context):
1017
1017
 
1018
1018
  | File | Path | When |
1019
1019
  |------|------|------|
1020
- | SPEC | `.claude/vibe/specs/{feature-name}.md` | After quality validation (Step 7) |
1021
- | Feature | `.claude/vibe/features/{feature-name}.feature` | Immediately after SPEC |
1020
+ | SPEC | `.vibe/specs/{feature-name}.md` | After quality validation (Step 7) |
1021
+ | Feature | `.vibe/features/{feature-name}.feature` | Immediately after SPEC |
1022
1022
 
1023
1023
  ### Large Scope (Split Files)
1024
1024
 
1025
1025
  | File | Path | When |
1026
1026
  |------|------|------|
1027
- | Master SPEC | `.claude/vibe/specs/{feature-name}/_index.md` | After quality validation |
1028
- | Phase SPEC | `.claude/vibe/specs/{feature-name}/phase-{N}-{name}.md` | Per phase |
1029
- | Master Feature | `.claude/vibe/features/{feature-name}/_index.feature` | After Master SPEC |
1030
- | Phase Feature | `.claude/vibe/features/{feature-name}/phase-{N}-{name}.feature` | Per phase SPEC |
1027
+ | Master SPEC | `.vibe/specs/{feature-name}/_index.md` | After quality validation |
1028
+ | Phase SPEC | `.vibe/specs/{feature-name}/phase-{N}-{name}.md` | Per phase |
1029
+ | Master Feature | `.vibe/features/{feature-name}/_index.feature` | After Master SPEC |
1030
+ | Phase Feature | `.vibe/features/{feature-name}/phase-{N}-{name}.feature` | Per phase SPEC |
1031
1031
 
1032
1032
  **❌ FORBIDDEN:**
1033
1033
 
1034
1034
  - Creating files in project root (e.g., `feature-name.md`)
1035
- - Creating files outside `.claude/vibe/` directory
1035
+ - Creating files outside `.vibe/` directory
1036
1036
  - Skipping file creation
1037
1037
  - Using different file names than feature-name
1038
1038
  - Creating split SPEC without matching split Feature files
@@ -1048,19 +1048,19 @@ Option 2 (recommended for large context):
1048
1048
 
1049
1049
  **Single file:**
1050
1050
  ```
1051
- 1. Write .claude/vibe/specs/{feature-name}.md
1052
- 2. Write .claude/vibe/features/{feature-name}.feature
1051
+ 1. Write .vibe/specs/{feature-name}.md
1052
+ 2. Write .vibe/features/{feature-name}.feature
1053
1053
  3. Confirm: "✅ Created: specs/{feature-name}.md + features/{feature-name}.feature"
1054
1054
  ```
1055
1055
 
1056
1056
  **Split files:**
1057
1057
  ```
1058
- 1. Write .claude/vibe/specs/{feature-name}/_index.md
1059
- 2. Write .claude/vibe/specs/{feature-name}/phase-1-setup.md
1060
- 3. Write .claude/vibe/specs/{feature-name}/phase-2-core.md
1061
- 4. Write .claude/vibe/features/{feature-name}/_index.feature
1062
- 5. Write .claude/vibe/features/{feature-name}/phase-1-setup.feature
1063
- 6. Write .claude/vibe/features/{feature-name}/phase-2-core.feature
1058
+ 1. Write .vibe/specs/{feature-name}/_index.md
1059
+ 2. Write .vibe/specs/{feature-name}/phase-1-setup.md
1060
+ 3. Write .vibe/specs/{feature-name}/phase-2-core.md
1061
+ 4. Write .vibe/features/{feature-name}/_index.feature
1062
+ 5. Write .vibe/features/{feature-name}/phase-1-setup.feature
1063
+ 6. Write .vibe/features/{feature-name}/phase-2-core.feature
1064
1064
  7. Confirm: "✅ Created: {N} SPEC files + {N} Feature files"
1065
1065
  ```
1066
1066
 
@@ -1144,8 +1144,8 @@ Claude: Thank you. SPEC has been refined.
1144
1144
  ✅ SPEC Complete!
1145
1145
  ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
1146
1146
 
1147
- 📄 .claude/vibe/specs/brick-game.md (PTCF structure)
1148
- 📄 .claude/vibe/features/brick-game.feature
1147
+ 📄 .vibe/specs/brick-game.md (PTCF structure)
1148
+ 📄 .vibe/features/brick-game.feature
1149
1149
  📊 Quality score: 100/100 ← Loop converged (no remaining gaps)
1150
1150
  ```
1151
1151
 
@@ -26,8 +26,8 @@ Load skill `vibe-spec-review` with feature: "feature-name"
26
26
  Or via natural language trigger: "스펙 리뷰", "review spec", "명세 리뷰".
27
27
 
28
28
  **Prerequisites:**
29
- - SPEC file exists: `.claude/vibe/specs/{feature-name}.md` (single) or `.claude/vibe/specs/{feature-name}/_index.md` (split)
30
- - Feature file exists: `.claude/vibe/features/{feature-name}.feature` (single) or `.claude/vibe/features/{feature-name}/_index.feature` (split)
29
+ - SPEC file exists: `.vibe/specs/{feature-name}.md` (single) or `.vibe/specs/{feature-name}/_index.md` (split)
30
+ - Feature file exists: `.vibe/features/{feature-name}.feature` (single) or `.vibe/features/{feature-name}/_index.feature` (split)
31
31
 
32
32
  ---
33
33
 
@@ -48,7 +48,7 @@ Or via natural language trigger: "스펙 리뷰", "review spec", "명세 리뷰"
48
48
  **`.last-feature` pointer update** (immediately after Timer):
49
49
 
50
50
  ```
51
- Write ".claude/vibe/.last-feature" ← feature-name (one line)
51
+ Write ".vibe/.last-feature" ← feature-name (one line)
52
52
  If the value is already the same, no-op.
53
53
  ```
54
54
 
@@ -80,21 +80,21 @@ Detect SPEC structure (single file or split folder) and read files:
80
80
 
81
81
  **Single file structure:**
82
82
  ```
83
- .claude/vibe/specs/{feature-name}.md
84
- .claude/vibe/features/{feature-name}.feature
83
+ .vibe/specs/{feature-name}.md
84
+ .vibe/features/{feature-name}.feature
85
85
  ```
86
86
 
87
87
  **Split folder structure:**
88
88
  ```
89
- .claude/vibe/specs/{feature-name}/_index.md (+ phase files)
90
- .claude/vibe/specs/{feature-name}/phase-*.md (phase-1-xxx.md, phase-2-xxx.md, ...)
91
- .claude/vibe/features/{feature-name}/_index.feature (+ phase files)
92
- .claude/vibe/features/{feature-name}/phase-*.feature
89
+ .vibe/specs/{feature-name}/_index.md (+ phase files)
90
+ .vibe/specs/{feature-name}/phase-*.md (phase-1-xxx.md, phase-2-xxx.md, ...)
91
+ .vibe/features/{feature-name}/_index.feature (+ phase files)
92
+ .vibe/features/{feature-name}/phase-*.feature
93
93
  ```
94
94
 
95
95
  **Detection logic:**
96
- 1. Check if `.claude/vibe/specs/{feature-name}/` directory exists → Split mode
97
- 2. Otherwise check `.claude/vibe/specs/{feature-name}.md` → Single mode
96
+ 1. Check if `.vibe/specs/{feature-name}/` directory exists → Split mode
97
+ 2. Otherwise check `.vibe/specs/{feature-name}.md` → Single mode
98
98
  3. If neither exists → Error
99
99
 
100
100
  **Split mode file loading:**
@@ -110,8 +110,8 @@ Detect SPEC structure (single file or split folder) and read files:
110
110
 
111
111
  Loading files...
112
112
  Mode: {single|split}
113
- ✅ SPEC: .claude/vibe/specs/{feature-name}.md (or _index.md + N phase files)
114
- ✅ Feature: .claude/vibe/features/{feature-name}.feature (or _index.feature + N phase files)
113
+ ✅ SPEC: .vibe/specs/{feature-name}.md (or _index.md + N phase files)
114
+ ✅ Feature: .vibe/features/{feature-name}.feature (or _index.feature + N phase files)
115
115
 
116
116
  Extracted info:
117
117
  - Feature: {feature description}
@@ -579,8 +579,8 @@ Total Improvements: {M}
579
579
  ⏱️ Completed: {getCurrentTime result}
580
580
 
581
581
  Updated files:
582
- 📋 .claude/vibe/specs/{feature-name}.md (or split folder)
583
- 📋 .claude/vibe/features/{feature-name}.feature (or split folder)
582
+ 📋 .vibe/specs/{feature-name}.md (or split folder)
583
+ 📋 .vibe/features/{feature-name}.feature (or split folder)
584
584
  ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
585
585
  ```
586
586
 
@@ -678,8 +678,8 @@ Please answer the following questions:
678
678
  ```
679
679
  ❌ ERROR: SPEC file not found
680
680
 
681
- Expected (single): .claude/vibe/specs/{feature-name}.md
682
- Expected (split): .claude/vibe/specs/{feature-name}/_index.md
681
+ Expected (single): .vibe/specs/{feature-name}.md
682
+ Expected (split): .vibe/specs/{feature-name}/_index.md
683
683
 
684
684
  Please run /vibe.spec "{feature-name}" first to create the SPEC.
685
685
  ```
@@ -688,8 +688,8 @@ Please run /vibe.spec "{feature-name}" first to create the SPEC.
688
688
  ```
689
689
  ❌ ERROR: Feature file not found
690
690
 
691
- Expected (single): .claude/vibe/features/{feature-name}.feature
692
- Expected (split): .claude/vibe/features/{feature-name}/_index.feature
691
+ Expected (single): .vibe/features/{feature-name}.feature
692
+ Expected (split): .vibe/features/{feature-name}/_index.feature
693
693
 
694
694
  Please run /vibe.spec "{feature-name}" first to create the Feature file.
695
695
  ```
@@ -718,9 +718,9 @@ ARGUMENTS: $ARGUMENTS
718
718
  ```
719
719
  Feature name: $ARGUMENTS
720
720
 
721
- 1. Check split folder: .claude/vibe/specs/$ARGUMENTS/_index.md
721
+ 1. Check split folder: .vibe/specs/$ARGUMENTS/_index.md
722
722
  - If exists → Split mode (read all files in folder)
723
- 2. Check single file: .claude/vibe/specs/$ARGUMENTS.md
723
+ 2. Check single file: .vibe/specs/$ARGUMENTS.md
724
724
  - If exists → Single mode
725
725
  3. Neither exists → Show error with both expected paths
726
726
  ```
@@ -136,5 +136,5 @@ If `failed` is empty, replace the Failures section with `_All probes passed._`.
136
136
  - [ ] Target install dir missing → clean exit with guidance (not an error)
137
137
  - [ ] JSON report matches the template above exactly (fields, types, naming)
138
138
  - [ ] Markdown summary printed to console after the run
139
- - [ ] Reports land in `~/.vibe/test-reports/`, never in project-local `.claude/vibe/`
139
+ - [ ] Reports land in `~/.vibe/test-reports/`, never in project-local `.vibe/`
140
140
  - [ ] `failed.length > 0` → auto-invokes `/vibe.regress register --from-test`
@@ -11,7 +11,7 @@ This document defines the core principles and coding standards for the project.
11
11
  This setting controls **conversation language with user only**.
12
12
  All generated documents (SPEC, Feature, etc.) are **always in English**.
13
13
 
14
- To change, modify in `.claude/vibe/config.json`:
14
+ To change, modify in `.vibe/config.json`:
15
15
 
16
16
  ```json
17
17
  {
@@ -23,7 +23,7 @@ To change, modify in `.claude/vibe/config.json`:
23
23
 
24
24
  ## Document References
25
25
 
26
- All reference documents are stored globally and specified in `.claude/vibe/config.json`:
26
+ All reference documents are stored globally and specified in `.vibe/config.json`:
27
27
 
28
28
  ```json
29
29
  {
@@ -36,9 +36,9 @@
36
36
 
37
37
  ## References
38
38
 
39
- - **Rules**: See `.claude/vibe/config.json` → `references.rules[]`
40
- - **Language standards**: See `.claude/vibe/languages/`
41
- - **Constitution**: See `.claude/vibe/constitution.md`
39
+ - **Rules**: See `.vibe/config.json` → `references.rules[]`
40
+ - **Language standards**: See `.vibe/languages/`
41
+ - **Constitution**: See `.vibe/constitution.md`
42
42
 
43
43
  ## Workflow
44
44
 
@@ -68,7 +68,7 @@ At 70%+ context: `save_memory` → `/new` → `/vibe.utils --continue`
68
68
 
69
69
  ## Git Commit Rules
70
70
 
71
- **Include:** `.claude/vibe/plans/`, `.claude/vibe/specs/`, `.claude/vibe/features/`, `.claude/vibe/config.json`, `CLAUDE.md`
71
+ **Include:** `.vibe/plans/`, `.vibe/specs/`, `.vibe/features/`, `.vibe/config.json`, `CLAUDE.md`
72
72
  **Exclude:** `~/.claude/vibe/rules/`, `~/.claude/commands/`, `~/.claude/agents/`, `~/.claude/skills/`, `.claude/settings.local.json`
73
73
 
74
74
  <!-- VIBE:END -->
@@ -11,7 +11,7 @@ This document defines the core principles and coding standards for the project.
11
11
  This setting controls **conversation language with user only**.
12
12
  All generated documents (SPEC, Feature, etc.) are **always in English**.
13
13
 
14
- To change, modify in `.claude/vibe/config.json`:
14
+ To change, modify in `.vibe/config.json`:
15
15
 
16
16
  ```json
17
17
  {
@@ -23,7 +23,7 @@ To change, modify in `.claude/vibe/config.json`:
23
23
 
24
24
  ## Document References
25
25
 
26
- All reference documents are stored globally and specified in `.claude/vibe/config.json`:
26
+ All reference documents are stored globally and specified in `.vibe/config.json`:
27
27
 
28
28
  ```json
29
29
  {
@@ -2,7 +2,7 @@
2
2
 
3
3
  > This file is **the core of quality assurance**. All scenarios passing = feature complete.
4
4
 
5
- **SPEC**: `.claude/vibe/specs/{feature-name}.md`
5
+ **SPEC**: `.vibe/specs/{feature-name}.md`
6
6
  **Last verified**: -
7
7
  **Quality score**: -
8
8