@su-record/vibe 2.5.18 → 2.5.20

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.
package/CLAUDE.md CHANGED
@@ -40,14 +40,17 @@ Follow these standards when writing code. See `~/.claude/vibe/rules/` (global) f
40
40
  ## Workflow
41
41
 
42
42
  ```
43
- /vibe.spec → (auto) SPEC review → /vibe.run → (auto) code review → (auto) fix → ✅ Done
43
+ /vibe.spec → /new /vibe.spec.review → /vibe.run → (auto) code review → ✅ Done
44
44
  ```
45
45
 
46
- **Automated Flow:**
47
- 1. `/vibe.spec` - Write SPEC + **(auto)** Gemini review → Auto-apply
48
- 2. `/vibe.run` - Implementation + Gemini review
49
- 3. **(auto)** 13+ agent parallel review
50
- 4. **(auto)** P1/P2 issue auto-fix
46
+ **Flow:**
47
+
48
+ 1. `/vibe.spec` - Write SPEC (requirements + research + draft)
49
+ 2. `/new` - Start new session (clean context)
50
+ 3. `/vibe.spec.review` - GPT/Gemini review (3-round mandatory)
51
+ 4. `/vibe.run` - Implementation + Gemini review
52
+ 5. **(auto)** 13+ agent parallel review
53
+ 6. **(auto)** P1/P2 issue auto-fix
51
54
 
52
55
  ## Plan Mode vs VIBE (Workflow Selection)
53
56
 
@@ -102,6 +105,7 @@ Include `ultrawork` or `ulw` keyword to activate maximum performance mode:
102
105
  | Command | Description |
103
106
  |---------|-------------|
104
107
  | `/vibe.spec "feature-name"` | Write SPEC (PTCF structure) + parallel research |
108
+ | `/vibe.spec.review "feature-name"` | **GPT/Gemini review** (run in new session) |
105
109
  | `/vibe.run "feature-name"` | Execute implementation |
106
110
  | `/vibe.run "feature-name" ultrawork` | **Maximum performance mode** |
107
111
  | `/vibe.verify "feature-name"` | Verification |
@@ -131,33 +131,50 @@ vibe status # Check current settings
131
131
 
132
132
  ## Process
133
133
 
134
- ### 0. Git Branch Setup (Automatic)
134
+ ### 0. Git Branch Setup (MANDATORY - Execute First!)
135
135
 
136
- **CRITICAL: Always create feature branch before starting SPEC**
136
+ > ⚠️ **CRITICAL: You MUST execute this step FIRST before anything else!**
137
+ > This is NOT optional documentation - you must RUN these git commands.
138
+
139
+ **Step 0 is BLOCKING - do not proceed to Step 1 until branch is ready.**
140
+
141
+ **Execute these commands using Bash tool:**
137
142
 
138
143
  ```bash
139
- # Check current branch
140
- current=$(git branch --show-current 2>/dev/null || echo "main")
141
-
142
- # Sanitize feature name (spaces → hyphens, lowercase)
143
- branch_name="feature/$(echo "{feature-name}" | tr '[:upper:]' '[:lower:]' | tr ' ' '-')"
144
-
145
- # Create feature branch if on main/master
146
- if [[ "$current" == "main" || "$current" == "master" ]]; then
147
- git checkout -b "$branch_name"
148
- echo " Created and switched to: $branch_name"
149
- else
150
- echo "ℹ️ Already on feature branch: $current"
151
- echo " Continue on this branch? (Y/n)"
152
- # If user says no, create new branch
153
- fi
144
+ # 1. Check current branch
145
+ git branch --show-current
146
+ ```
147
+
148
+ **Then based on result:**
149
+
150
+ | Current Branch | Action |
151
+ |----------------|--------|
152
+ | `main` or `master` | **MUST** create feature branch: `git checkout -b feature/{feature-name}` |
153
+ | `feature/*` | Ask user: "Continue on this branch or create new?" |
154
+ | Other | Ask user to confirm |
155
+
156
+ **Example execution:**
157
+
158
+ ```
159
+ ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
160
+ 🌿 GIT BRANCH SETUP
161
+ ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
162
+
163
+ Current branch: main
164
+
165
+ Creating feature branch...
166
+ $ git checkout -b feature/login-page
167
+
168
+ ✅ Switched to new branch: feature/login-page
169
+
170
+ ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
154
171
  ```
155
172
 
156
- **Rules:**
157
- - If on `main`/`master` → **Always** create `feature/{feature-name}` branch
158
- - If already on feature branch → Ask user to confirm or create new branch
159
- - Branch naming: `feature/passkey-auth`, `feature/dark-mode`, etc.
160
- - Git check BEFORE starting requirements gathering
173
+ **Branch naming rules:**
174
+ - Convert to lowercase: `Login Page` → `login-page`
175
+ - Replace spaces with hyphens
176
+ - Prefix with `feature/`
177
+ - Example: `feature/passkey-auth`, `feature/dark-mode`
161
178
 
162
179
  ### 1. Project Analysis
163
180
 
@@ -263,8 +280,11 @@ Read ~/.claude/vibe/languages/typescript-react.md
263
280
 
264
281
  **→ IMMEDIATELY run these 4 Bash commands IN PARALLEL (all at once):**
265
282
 
283
+ **🚨 MANDATORY: Copy the EXACT path below. DO NOT modify or use alternative paths.**
284
+
266
285
  ```bash
267
286
  # Cross-platform path (works on Windows/macOS/Linux)
287
+ # ⚠️ COPY THIS EXACTLY - DO NOT USE ~/.claude/ or any other path!
268
288
  VIBE_SCRIPTS="$(node -p "process.env.APPDATA || require('os').homedir() + '/.config'")/vibe/hooks/scripts"
269
289
 
270
290
  # 1. GPT: Best practices
@@ -688,7 +708,7 @@ Grades:
688
708
 
689
709
  #### 7.3 Quality Gate (Auto-verification)
690
710
 
691
- **Minimum 95 points required to proceed to next step (GPT+Gemini review)**
711
+ **Minimum 95 points required to complete SPEC draft**
692
712
 
693
713
  ```
694
714
  SPEC writing complete
@@ -697,7 +717,7 @@ SPEC writing complete
697
717
 
698
718
  Score < 95? → Show missing items → Attempt auto-fix → Re-evaluate
699
719
 
700
- Score ≥ 95 → Proceed to GPT + Gemini review
720
+ Score ≥ 95 → SPEC Draft Complete Handoff to /vibe.spec.review
701
721
  ```
702
722
 
703
723
  #### 7.4 Auto-Fix for Low Score
@@ -711,182 +731,33 @@ If score is below 95, attempt automatic fixes:
711
731
  | Missing error handling | Add common error scenarios |
712
732
  | Missing performance targets | Apply industry standard criteria |
713
733
 
714
- ### 8. SPEC Review (GPT/Gemini) - 3-Round Mandatory Review
715
-
716
- **🚨 CRITICAL: YOU MUST EXECUTE ALL 3 ROUNDS. DO NOT SKIP.**
717
-
718
- ```bash
719
- /vibe.spec "feature" # Default: 3 rounds (MANDATORY)
720
- /vibe.spec "feature" --quick # Quick mode: 1 round only
721
- ```
722
-
723
- **3-Round Review Process (MANDATORY):**
724
-
725
- ```
726
- # 🚨 CRITICAL: This is a FOR loop, NOT a WHILE loop with early exit
727
- # You MUST complete all 3 rounds regardless of feedback
728
-
729
- FOR round_count IN [1, 2, 3]: # EXACTLY 3 rounds, NO early exit
730
-
731
- print(f"━━━ Round {round_count}/3 ━━━")
732
-
733
- # 1. Call GPT + Gemini in parallel (Bash)
734
- gpt_result = Bash("node llm-orchestrate.js gpt ...")
735
- gemini_result = Bash("node llm-orchestrate.js gemini ...")
736
-
737
- # 2. Merge and apply feedback (even if "no issues", still run next round)
738
- apply_feedback(gpt_result, gemini_result)
739
- update_spec()
740
-
741
- # 3. Show progress
742
- print(f"✅ Round {round_count}/3 complete")
743
-
744
- # 4. NO EARLY EXIT - continue to next round
745
- # Even if both say "no issues", proceed to next round for verification
746
-
747
- # After ALL 3 rounds complete:
748
- print(f"🎉 Review complete! All 3 rounds finished.")
749
- ```
750
-
751
- **🚨 ABSOLUTE RULES (NO EXCEPTIONS):**
752
- 1. **MUST complete Round 1** - never skip
753
- 2. **MUST complete Round 2** - even if Round 1 had no issues
754
- 3. **MUST complete Round 3** - even if Round 1 and 2 had no issues
755
- 4. **MUST show "Round X/3"** in output for EACH round
756
- 5. **NO EARLY EXIT** - all 3 rounds are mandatory for quality assurance
757
- 6. **VIOLATION = SPEC NOT COMPLETE** - if less than 3 rounds, SPEC is invalid
758
-
759
- **Output format for each round:**
760
-
761
- ```
762
- ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
763
- 🔍 SPEC REVIEW - Round 1/3
764
- ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
765
- [GPT] 3 issues found: ...
766
- [Gemini] 2 issues found: ...
767
- ✅ Applied 5 improvements
768
- ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
769
-
770
- ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
771
- 🔍 SPEC REVIEW - Round 2/3
772
- ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
773
- [GPT] 1 issue found: ...
774
- [Gemini] 0 issues found
775
- ✅ Applied 1 improvement
776
- ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
777
-
778
- ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
779
- 🔍 SPEC REVIEW - Round 3/3
780
- ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
781
- [GPT] 0 issues found
782
- [Gemini] 0 issues found
783
- ✅ No changes needed
784
- ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
734
+ ### 8. SPEC Draft Complete - Handoff to Review
785
735
 
786
- 🎉 SPEC Review complete! 3 rounds, 6 total improvements
787
- ```
736
+ **🚨 IMPORTANT: GPT/Gemini review is now a SEPARATE command**
788
737
 
789
- **After SPEC draft, execute review loop:**
738
+ After SPEC draft is complete (score ≥ 95), output the handoff message:
790
739
 
791
740
  ```
792
- ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
793
- 🔍 SPEC REVIEW
794
- ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
741
+ ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
742
+ SPEC DRAFT COMPLETE: {feature-name}
743
+ ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
795
744
 
796
- [Step 1] Sending SPEC to Gemini/GPT...
797
- - Full SPEC content
798
- - Feature file (scenarios)
799
- - Project context
800
-
801
- [Step 2] Review feedback:
802
- ┌─────────────────────────────────────────┐
803
- │ 📝 SPEC Review Feedback │
804
- │ │
805
- │ 1. [Missing] Error handling scenarios │
806
- │ → Recommend adding "retry on network │
807
- │ error" │
808
- │ │
809
- │ 2. [Security] Auth token expiry │
810
- │ handling undefined │
811
- │ → Recommend adding refresh token │
812
- │ flow │
813
- │ │
814
- │ 3. [Edge] Concurrent login policy │
815
- │ undefined │
816
- │ → Need to specify existing session │
817
- │ handling method │
818
- └─────────────────────────────────────────┘
819
-
820
- [Step 3] Auto-applying...
821
- ✅ Added error handling Phase to SPEC Task
822
- ✅ Added token expiry scenario to Feature
823
- ✅ Added concurrent login policy to Constraints
824
-
825
- [Step 4] Re-verifying...
826
- ✅ Ambiguity Scan: 0 issues
827
- ✅ Quality Score: 95/100
828
-
829
- ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
830
- ✅ SPEC Review complete! 3 improvements applied
831
- ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
832
- ```
745
+ 📋 SPEC: .claude/vibe/specs/{feature-name}.spec.md
746
+ 📋 Feature: .claude/vibe/features/{feature-name}.feature
747
+ 📊 Quality Score: {score}/100
833
748
 
834
- **MUST: SPEC Review (Required) - GPT + Gemini Parallel Execution**
749
+ ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
750
+ ⚠️ NEXT STEP: Run GPT/Gemini review in a NEW session
835
751
 
836
- 🚨 **Run GPT and Gemini in parallel for cross-validation to ensure quality**
837
-
838
- **Parallel execution (2 Bash calls simultaneously):**
839
-
840
- ```bash
841
- # Cross-platform path (works on Windows/macOS/Linux)
842
- VIBE_SCRIPTS="$(node -p "process.env.APPDATA || require('os').homedir() + '/.config'")/vibe/hooks/scripts"
843
-
844
- # GPT review (code patterns, architecture perspective)
845
- node "$VIBE_SCRIPTS/llm-orchestrate.js" gpt orchestrate-json "Review SPEC for [feature-name]. Stack: [stack]. Summary: [summary]. Check: completeness, error handling, security, edge cases."
846
-
847
- # Gemini review (latest docs, best practices perspective)
848
- node "$VIBE_SCRIPTS/llm-orchestrate.js" gemini orchestrate-json "Review SPEC for [feature-name]. Stack: [stack]. Summary: [summary]. Check: completeness, error handling, security, edge cases."
752
+ 1. Start new session: /new
753
+ 2. Run review: /vibe.spec.review "{feature-name}"
754
+ ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
849
755
  ```
850
756
 
851
- **Important:**
852
-
853
- - **Must call both GPT and Gemini** (parallel execution)
854
- - Merge feedback from both models and apply to SPEC
855
- - If one model fails, apply only the remaining result
856
- - Don't send full SPEC, send only **key summary** (save tokens)
857
- - Parse JSON response and auto-apply to SPEC
858
-
859
- **Why parallel execution:**
860
-
861
- | Model | Strengths |
862
- |-------|-----------|
863
- | GPT | Code patterns, architecture, logic validation |
864
- | Gemini | Latest web info, doc search, best practices |
865
-
866
- **Result merge:** Combine feedback from both models for more thorough review
867
-
868
- **Review items:**
869
-
870
- | Category | Check Point |
871
- |----------|-------------|
872
- | Completeness | All user flows covered? |
873
- | Error Handling | Failure scenarios defined? |
874
- | Security | Auth/authorization/data protection? |
875
- | Edge Cases | Boundary conditions handled? |
876
- | Testability | ACs verifiable? |
877
-
878
- **Auto-apply rules:**
879
-
880
- | Feedback Type | Action |
881
- |---------------|--------|
882
- | Missing scenario | Auto-add to Feature |
883
- | Security considerations | Auto-add to Constraints |
884
- | Edge cases | Auto-add to Task Phase |
885
- | Lack of clarity | Supplement the section |
886
-
887
- **Fallback handling:**
888
- - On `"status": "fallback"` response → Skip and proceed to next step
889
- - On network error → Retry once then skip
757
+ **Why separate session?**
758
+ - Prevents context bloat from affecting review accuracy
759
+ - Ensures GPT/Gemini paths and instructions are followed correctly
760
+ - Review command is short and focused
890
761
 
891
762
  ## Output (MANDATORY File Creation)
892
763
 
@@ -0,0 +1,300 @@
1
+ # /vibe.spec.review - SPEC Quality Review
2
+
3
+ Review and enhance SPEC with GPT/Gemini cross-validation.
4
+
5
+ **Purpose:** Run this command in a NEW session after `/vibe.spec` to ensure accurate review execution.
6
+
7
+ ---
8
+
9
+ ## Usage
10
+
11
+ ```bash
12
+ /vibe.spec.review "feature-name"
13
+ ```
14
+
15
+ **Prerequisites:**
16
+ - SPEC file exists: `.claude/vibe/specs/{feature-name}.spec.md`
17
+ - Feature file exists: `.claude/vibe/features/{feature-name}.feature`
18
+
19
+ ---
20
+
21
+ ## Workflow
22
+
23
+ ```
24
+ /vibe.spec "feature" → SPEC 생성 완료
25
+
26
+ /new (새 세션)
27
+
28
+ /vibe.spec.review "feature" → 품질 검증 + GPT/Gemini 리뷰
29
+
30
+ /vibe.run "feature"
31
+ ```
32
+
33
+ ---
34
+
35
+ ## Step 1: Load SPEC Files
36
+
37
+ Read the existing SPEC and Feature files:
38
+
39
+ ```
40
+ .claude/vibe/specs/{feature-name}.spec.md
41
+ .claude/vibe/features/{feature-name}.feature
42
+ ```
43
+
44
+ **Output:**
45
+ ```
46
+ ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
47
+ 📋 SPEC REVIEW: {feature-name}
48
+ ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
49
+
50
+ Loading files...
51
+ ✅ SPEC: .claude/vibe/specs/{feature-name}.spec.md
52
+ ✅ Feature: .claude/vibe/features/{feature-name}.feature
53
+
54
+ Extracted info:
55
+ - Feature: {feature description}
56
+ - Stack: {tech stack}
57
+ - Phases: {number of phases}
58
+ - Scenarios: {number of scenarios}
59
+ ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
60
+ ```
61
+
62
+ ---
63
+
64
+ ## Step 2: Quality Validation (95-Point Gate)
65
+
66
+ **🚨 MANDATORY: Score must be ≥ 95 to proceed**
67
+
68
+ ### 2.1 Quality Checklist
69
+
70
+ | Category | Check Item | Weight |
71
+ |----------|------------|--------|
72
+ | **Completeness** | All user flows included in Task | 15% |
73
+ | **Completeness** | All ACs converted to Feature scenarios | 10% |
74
+ | **Completeness** | Error handling scenarios defined | 10% |
75
+ | **Specificity** | All numbers specified (timeout, limits, etc.) | 15% |
76
+ | **Specificity** | No ambiguous terms ("appropriate", "proper", etc.) | 10% |
77
+ | **Testability** | Each AC is verifiable | 10% |
78
+ | **Testability** | Feature scenarios have concrete Given/When/Then | 10% |
79
+ | **Security** | Auth/permission requirements specified | 10% |
80
+ | **Performance** | Response time/load requirements specified | 10% |
81
+
82
+ ### 2.2 Quality Gate Loop
83
+
84
+ ```python
85
+ max_iterations = 3
86
+ iteration = 0
87
+
88
+ while iteration < max_iterations:
89
+ iteration += 1
90
+ score = calculate_quality_score(spec, feature)
91
+
92
+ print(f"━━━ Quality Check [{iteration}/{max_iterations}] ━━━")
93
+ print(f"Score: {score}/100")
94
+
95
+ if score >= 95:
96
+ print("✅ Quality Gate PASSED")
97
+ break
98
+
99
+ # Auto-fix missing items
100
+ missing_items = identify_missing_items(spec)
101
+ for item in missing_items:
102
+ auto_fix(item)
103
+ update_spec()
104
+ update_feature()
105
+
106
+ print(f"✅ Applied {len(missing_items)} fixes - Re-evaluating...")
107
+
108
+ if score < 95:
109
+ print(f"❌ BLOCKED: Score {score} < 95 after {max_iterations} iterations")
110
+ print("Manual intervention required.")
111
+ ```
112
+
113
+ **Output format:**
114
+ ```
115
+ ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
116
+ 📊 QUALITY GATE [1/3]
117
+ ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
118
+ Score: 87/100 ⚠️ BELOW THRESHOLD (95)
119
+
120
+ Missing items:
121
+ ❌ Error handling scenarios (10%)
122
+ ❌ Performance targets (5%)
123
+
124
+ Auto-fixing...
125
+ ✅ Added network error handling scenario
126
+ ✅ Added response time targets (<500ms)
127
+
128
+ Re-evaluating...
129
+ ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
130
+
131
+ ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
132
+ 📊 QUALITY GATE [2/3]
133
+ ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
134
+ Score: 96/100 ✅ PASSED
135
+
136
+ ✅ Quality Gate PASSED - proceeding to GPT/Gemini review
137
+ ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
138
+ ```
139
+
140
+ ### 2.3 Auto-Fix Rules
141
+
142
+ | Missing Item | Auto-Fix Method |
143
+ |--------------|-----------------|
144
+ | Missing AC | Auto-generate AC based on Task |
145
+ | Numbers not specified | Apply project defaults (timeout 30s, etc.) |
146
+ | Missing error handling | Add common error scenarios |
147
+ | Missing performance targets | Apply industry standard criteria |
148
+ | Missing security | Add auth/data protection requirements |
149
+ | Ambiguous terms | Replace with specific values |
150
+
151
+ ---
152
+
153
+ ## Step 3: GPT/Gemini Review (3-Round Mandatory)
154
+
155
+ **🚨 CRITICAL: Execute ALL 3 rounds. DO NOT skip.**
156
+
157
+ ### 3.1 Path Configuration
158
+
159
+ **🚨 MANDATORY: Copy the EXACT path below. DO NOT modify or use alternative paths.**
160
+
161
+ ```bash
162
+ # Cross-platform path (works on Windows/macOS/Linux)
163
+ # ⚠️ COPY THIS EXACTLY - DO NOT USE ~/.claude/ or any other path!
164
+ VIBE_SCRIPTS="$(node -p "process.env.APPDATA || require('os').homedir() + '/.config'")/vibe/hooks/scripts"
165
+ ```
166
+
167
+ ### 3.2 Review Loop (3 Rounds)
168
+
169
+ For each round (1 to 3):
170
+
171
+ **Run GPT and Gemini in PARALLEL (2 Bash calls simultaneously):**
172
+
173
+ ```bash
174
+ # GPT review
175
+ node "$VIBE_SCRIPTS/llm-orchestrate.js" gpt orchestrate-json "Review SPEC for {feature-name}. Stack: {stack}. Summary: {spec-summary}. Round {N}/3. Check: completeness, error handling, security, edge cases, performance."
176
+
177
+ # Gemini review
178
+ node "$VIBE_SCRIPTS/llm-orchestrate.js" gemini orchestrate-json "Review SPEC for {feature-name}. Stack: {stack}. Summary: {spec-summary}. Round {N}/3. Check: completeness, error handling, security, edge cases, performance."
179
+ ```
180
+
181
+ **After each round:**
182
+ 1. Parse JSON responses from both GPT and Gemini
183
+ 2. Merge feedback (deduplicate, prioritize)
184
+ 3. Auto-apply improvements to SPEC and Feature files
185
+ 4. Continue to next round
186
+
187
+ **Output format:**
188
+ ```
189
+ ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
190
+ 🔍 SPEC REVIEW - Round 1/3
191
+ ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
192
+ [GPT] 2 issues found:
193
+ 1. Missing retry logic for API calls
194
+ 2. Token refresh flow not specified
195
+
196
+ [Gemini] 1 issue found:
197
+ 1. Missing rate limiting specification
198
+
199
+ Merged: 3 unique issues
200
+ Auto-applying...
201
+ ✅ Added retry logic (3 attempts, exponential backoff)
202
+ ✅ Added token refresh flow to auth section
203
+ ✅ Added rate limiting (100 req/min)
204
+
205
+ ✅ Round 1 complete - 3 improvements applied
206
+ ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
207
+
208
+ ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
209
+ 🔍 SPEC REVIEW - Round 2/3
210
+ ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
211
+ [GPT] 1 issue found:
212
+ 1. Concurrent session handling unclear
213
+
214
+ [Gemini] 0 issues found
215
+
216
+ Auto-applying...
217
+ ✅ Added concurrent session policy
218
+
219
+ ✅ Round 2 complete - 1 improvement applied
220
+ ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
221
+
222
+ ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
223
+ 🔍 SPEC REVIEW - Round 3/3
224
+ ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
225
+ [GPT] 0 issues found
226
+ [Gemini] 0 issues found
227
+
228
+ ✅ No changes needed - SPEC is complete
229
+ ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
230
+ ```
231
+
232
+ ---
233
+
234
+ ## Step 4: Final Summary
235
+
236
+ ```
237
+ ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
238
+ ✅ SPEC REVIEW COMPLETE: {feature-name}
239
+ ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
240
+
241
+ Quality Score: 96/100 ✅
242
+ Review Rounds: 3/3 ✅
243
+ Total Improvements: 4
244
+
245
+ Updated files:
246
+ 📋 .claude/vibe/specs/{feature-name}.spec.md
247
+ 📋 .claude/vibe/features/{feature-name}.feature
248
+
249
+ ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
250
+
251
+ ## Next Step
252
+
253
+ /vibe.run "{feature-name}"
254
+ ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
255
+ ```
256
+
257
+ ---
258
+
259
+ ## Error Handling
260
+
261
+ ### SPEC Not Found
262
+ ```
263
+ ❌ ERROR: SPEC file not found
264
+
265
+ Expected: .claude/vibe/specs/{feature-name}.spec.md
266
+
267
+ Please run /vibe.spec "{feature-name}" first to create the SPEC.
268
+ ```
269
+
270
+ ### Feature Not Found
271
+ ```
272
+ ❌ ERROR: Feature file not found
273
+
274
+ Expected: .claude/vibe/features/{feature-name}.feature
275
+
276
+ Please run /vibe.spec "{feature-name}" first to create the Feature file.
277
+ ```
278
+
279
+ ### GPT/Gemini Call Failed
280
+ ```
281
+ ⚠️ WARNING: {GPT|Gemini} call failed
282
+
283
+ Error: {error message}
284
+
285
+ Continuing with {other model} results only...
286
+ ```
287
+
288
+ ---
289
+
290
+ ## Quick Mode
291
+
292
+ For faster iteration (1 round only):
293
+
294
+ ```bash
295
+ /vibe.spec.review "feature-name" --quick
296
+ ```
297
+
298
+ ---
299
+
300
+ ARGUMENTS: $ARGUMENTS
@@ -52,7 +52,9 @@ function getGeminiApiKey() {
52
52
  }
53
53
 
54
54
  async function generateImageWithGemini(prompt, apiKey) {
55
- const url = `https://generativelanguage.googleapis.com/v1beta/models/gemini-2.0-flash-exp:generateContent?key=${apiKey}`;
55
+ // Nano Banana (Gemini 2.5 Flash Image) - fast image generation for icons/logos
56
+ // For professional assets, use gemini-3-pro-image-preview (Nano Banana Pro)
57
+ const url = `https://generativelanguage.googleapis.com/v1beta/models/gemini-2.5-flash-image:generateContent?key=${apiKey}`;
56
58
 
57
59
  const requestBody = {
58
60
  contents: [{
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@su-record/vibe",
3
- "version": "2.5.18",
3
+ "version": "2.5.20",
4
4
  "description": "Vibe - Claude Code exclusive SPEC-driven AI coding framework with 35+ integrated tools",
5
5
  "type": "module",
6
6
  "main": "dist/cli/index.js",