@su-record/vibe 2.9.35 → 2.9.37

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 (74) 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/infra/lib/figma/extract.d.ts.map +1 -1
  28. package/dist/infra/lib/figma/extract.js +55 -0
  29. package/dist/infra/lib/figma/extract.js.map +1 -1
  30. package/dist/infra/lib/figma/types.d.ts +8 -0
  31. package/dist/infra/lib/figma/types.d.ts.map +1 -1
  32. package/hooks/scripts/__tests__/figma-extract.test.js +338 -0
  33. package/hooks/scripts/figma-extract.js +144 -31
  34. package/hooks/scripts/prompt-dispatcher.js +15 -0
  35. package/hooks/scripts/utils.js +4 -0
  36. package/package.json +1 -1
  37. package/skills/arch-guard/SKILL.md +2 -2
  38. package/skills/arch-guard/agents/rule-generator.md +3 -3
  39. package/skills/arch-guard/scripts/check-boundaries.js +1 -1
  40. package/skills/arch-guard/templates/arch-rules.json +1 -1
  41. package/skills/capability-loop/SKILL.md +2 -2
  42. package/skills/capability-loop/templates/capability-spec.md +1 -1
  43. package/skills/claude-md-guide/SKILL.md +2 -2
  44. package/skills/design-audit/SKILL.md +3 -3
  45. package/skills/design-critique/SKILL.md +2 -2
  46. package/skills/design-distill/SKILL.md +1 -1
  47. package/skills/design-normalize/SKILL.md +4 -4
  48. package/skills/design-polish/SKILL.md +2 -2
  49. package/skills/design-teach/SKILL.md +6 -6
  50. package/skills/design-teach/templates/design-context.json +1 -1
  51. package/skills/devlog/SKILL.md +1 -1
  52. package/skills/event-planning/SKILL.md +1 -1
  53. package/skills/exec-plan/SKILL.md +5 -5
  54. package/skills/exec-plan/agents/decomposer.md +1 -1
  55. package/skills/exec-plan/templates/plan.md +2 -2
  56. package/skills/parallel-research/SKILL.md +3 -3
  57. package/skills/parallel-research/orchestrator.md +1 -1
  58. package/skills/parallel-research/templates/paper.md +1 -1
  59. package/skills/priority-todos/SKILL.md +1 -1
  60. package/skills/vibe-contract/SKILL.md +6 -6
  61. package/skills/vibe-interview/SKILL.md +6 -6
  62. package/skills/vibe-interview/checklists/feature.md +1 -1
  63. package/skills/vibe-plan/SKILL.md +10 -10
  64. package/skills/vibe-regress/SKILL.md +5 -5
  65. package/skills/vibe-regress/templates/bug.md +1 -1
  66. package/skills/vibe-regress/templates/test-jest.md +1 -1
  67. package/skills/vibe-regress/templates/test-vitest.md +1 -1
  68. package/skills/vibe-spec/SKILL.md +45 -45
  69. package/skills/vibe-spec-review/SKILL.md +21 -21
  70. package/skills/vibe-test/SKILL.md +1 -1
  71. package/vibe/constitution.md +2 -2
  72. package/vibe/templates/claudemd-template.md +4 -4
  73. package/vibe/templates/constitution-template.md +2 -2
  74. package/vibe/templates/feature-template.md +1 -1
@@ -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