geminize 1.0.0 โ 1.1.0
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.
- checksums.yaml +4 -4
- data/.cursor/mcp.json +3 -0
- data/.cursor/rules/isolation_rules/Core/command-execution.mdc +235 -0
- data/.cursor/rules/isolation_rules/Core/complexity-decision-tree.mdc +187 -0
- data/.cursor/rules/isolation_rules/Core/creative-phase-enforcement.mdc +145 -0
- data/.cursor/rules/isolation_rules/Core/creative-phase-metrics.mdc +195 -0
- data/.cursor/rules/isolation_rules/Core/file-verification.mdc +198 -0
- data/.cursor/rules/isolation_rules/Core/platform-awareness.mdc +71 -0
- data/.cursor/rules/isolation_rules/Level3/planning-comprehensive.mdc +159 -0
- data/.cursor/rules/isolation_rules/Level3/task-tracking-intermediate.mdc +135 -0
- data/.cursor/rules/isolation_rules/Phases/CreativePhase/creative-phase-architecture.mdc +187 -0
- data/.cursor/rules/isolation_rules/main.mdc +123 -0
- data/.cursor/rules/isolation_rules/visual-maps/archive-mode-map.mdc +277 -0
- data/.cursor/rules/isolation_rules/visual-maps/creative-mode-map.mdc +224 -0
- data/.cursor/rules/isolation_rules/visual-maps/implement-mode-map.mdc +321 -0
- data/.cursor/rules/isolation_rules/visual-maps/plan-mode-map.mdc +269 -0
- data/.cursor/rules/isolation_rules/visual-maps/qa-mode-map.mdc +495 -0
- data/.cursor/rules/isolation_rules/visual-maps/reflect-mode-map.mdc +234 -0
- data/.cursor/rules/isolation_rules/visual-maps/van-mode-map.mdc +902 -0
- data/.cursor/rules/isolation_rules/visual-maps/van_mode_split/van-complexity-determination.mdc +60 -0
- data/.cursor/rules/isolation_rules/visual-maps/van_mode_split/van-file-verification.mdc +49 -0
- data/.cursor/rules/isolation_rules/visual-maps/van_mode_split/van-mode-map.mdc +49 -0
- data/.cursor/rules/isolation_rules/visual-maps/van_mode_split/van-platform-detection.mdc +50 -0
- data/.cursor/rules/isolation_rules/visual-maps/van_mode_split/van-qa-checks/build-test.mdc +117 -0
- data/.cursor/rules/isolation_rules/visual-maps/van_mode_split/van-qa-checks/config-check.mdc +103 -0
- data/.cursor/rules/isolation_rules/visual-maps/van_mode_split/van-qa-checks/dependency-check.mdc +147 -0
- data/.cursor/rules/isolation_rules/visual-maps/van_mode_split/van-qa-checks/environment-check.mdc +104 -0
- data/.cursor/rules/isolation_rules/visual-maps/van_mode_split/van-qa-checks/file-verification.mdc +1 -0
- data/.cursor/rules/isolation_rules/visual-maps/van_mode_split/van-qa-main.mdc +142 -0
- data/.cursor/rules/isolation_rules/visual-maps/van_mode_split/van-qa-utils/common-fixes.mdc +92 -0
- data/.cursor/rules/isolation_rules/visual-maps/van_mode_split/van-qa-utils/mode-transitions.mdc +101 -0
- data/.cursor/rules/isolation_rules/visual-maps/van_mode_split/van-qa-utils/reports.mdc +149 -0
- data/.cursor/rules/isolation_rules/visual-maps/van_mode_split/van-qa-utils/rule-calling-guide.mdc +66 -0
- data/.cursor/rules/isolation_rules/visual-maps/van_mode_split/van-qa-utils/rule-calling-help.mdc +19 -0
- data/.cursor/rules/isolation_rules/visual-maps/van_mode_split/van-qa-validation.md.old +363 -0
- data/.env.example +7 -0
- data/.memory_bank/activeContext.md +78 -0
- data/.memory_bank/progress.md +80 -0
- data/.memory_bank/projectbrief.md +29 -0
- data/.memory_bank/systemPatterns.md +90 -0
- data/.memory_bank/tasks.md +98 -0
- data/.memory_bank/techContext.md +73 -0
- data/.tool-versions +1 -0
- data/CHANGELOG.md +20 -0
- data/README.md +42 -5
- data/examples/models_api.rb +125 -0
- data/lib/geminize/configuration.rb +4 -4
- data/lib/geminize/model_info.rb +87 -8
- data/lib/geminize/models/model.rb +101 -109
- data/lib/geminize/models/model_list.rb +70 -28
- data/lib/geminize/request_builder.rb +29 -0
- data/lib/geminize/version.rb +1 -1
- data/lib/geminize.rb +71 -14
- metadata +45 -2
@@ -0,0 +1,902 @@
|
|
1
|
+
---
|
2
|
+
description: Visual process map for VAN mode (Initialization)
|
3
|
+
globs: van-mode-map.mdc
|
4
|
+
alwaysApply: false
|
5
|
+
---
|
6
|
+
# VAN MODE: INITIALIZATION PROCESS MAP
|
7
|
+
|
8
|
+
> **TL;DR:** This visual map defines the VAN mode process for project initialization, task analysis, and technical validation. It guides users through platform detection, file verification, complexity determination, and technical validation to ensure proper setup before implementation.
|
9
|
+
|
10
|
+
## ๐งญ VAN MODE PROCESS FLOW
|
11
|
+
|
12
|
+
```mermaid
|
13
|
+
graph TD
|
14
|
+
Start["START VAN MODE"] --> PlatformDetect["PLATFORM DETECTION"]
|
15
|
+
PlatformDetect --> DetectOS["Detect Operating System"]
|
16
|
+
DetectOS --> CheckPath["Check Path Separator Format"]
|
17
|
+
CheckPath --> AdaptCmds["Adapt Commands if Needed"]
|
18
|
+
AdaptCmds --> PlatformCP["โ PLATFORM CHECKPOINT"]
|
19
|
+
|
20
|
+
%% Basic File Verification with checkpoint
|
21
|
+
PlatformCP --> BasicFileVerify["BASIC FILE VERIFICATION"]
|
22
|
+
BasicFileVerify --> BatchCheck["Batch Check Essential Components"]
|
23
|
+
BatchCheck --> BatchCreate["Batch Create Essential Structure"]
|
24
|
+
BatchCreate --> BasicFileCP["โ BASIC FILE CHECKPOINT"]
|
25
|
+
|
26
|
+
%% Early Complexity Determination
|
27
|
+
BasicFileCP --> EarlyComplexity["EARLY COMPLEXITY DETERMINATION"]
|
28
|
+
EarlyComplexity --> AnalyzeTask["Analyze Task Requirements"]
|
29
|
+
AnalyzeTask --> EarlyLevelCheck{"Complexity Level?"}
|
30
|
+
|
31
|
+
%% Level handling paths
|
32
|
+
EarlyLevelCheck -->|"Level 1"| ComplexityCP["โ COMPLEXITY CHECKPOINT"]
|
33
|
+
EarlyLevelCheck -->|"Level 2-4"| CRITICALGATE["๐ซ CRITICAL GATE: FORCE MODE SWITCH"]
|
34
|
+
CRITICALGATE --> ForceExit["Exit to PLAN mode"]
|
35
|
+
|
36
|
+
%% Level 1 continues normally
|
37
|
+
ComplexityCP --> InitSystem["INITIALIZE MEMORY BANK"]
|
38
|
+
InitSystem --> Complete1["LEVEL 1 INITIALIZATION COMPLETE"]
|
39
|
+
|
40
|
+
%% For Level 2+ tasks after PLAN and CREATIVE modes
|
41
|
+
ForceExit -.-> OtherModes["PLAN โ CREATIVE modes"]
|
42
|
+
OtherModes -.-> VANQA["VAN QA MODE"]
|
43
|
+
VANQA --> QAProcess["Technical Validation Process"]
|
44
|
+
QAProcess --> QACheck{"All Checks Pass?"}
|
45
|
+
QACheck -->|"Yes"| BUILD["To BUILD MODE"]
|
46
|
+
QACheck -->|"No"| FixIssues["Fix Technical Issues"]
|
47
|
+
FixIssues --> QAProcess
|
48
|
+
|
49
|
+
%% Style nodes
|
50
|
+
style PlatformCP fill:#f55,stroke:#d44,color:white
|
51
|
+
style BasicFileCP fill:#f55,stroke:#d44,color:white
|
52
|
+
style ComplexityCP fill:#f55,stroke:#d44,color:white
|
53
|
+
style CRITICALGATE fill:#ff0000,stroke:#990000,color:white,stroke-width:3px
|
54
|
+
style ForceExit fill:#ff0000,stroke:#990000,color:white,stroke-width:2px
|
55
|
+
style VANQA fill:#4da6ff,stroke:#0066cc,color:white,stroke-width:3px
|
56
|
+
style QAProcess fill:#4da6ff,stroke:#0066cc,color:white
|
57
|
+
style QACheck fill:#4da6ff,stroke:#0066cc,color:white
|
58
|
+
style FixIssues fill:#ff5555,stroke:#dd3333,color:white
|
59
|
+
```
|
60
|
+
|
61
|
+
## ๐ PLATFORM DETECTION PROCESS
|
62
|
+
|
63
|
+
```mermaid
|
64
|
+
graph TD
|
65
|
+
PD["Platform Detection"] --> CheckOS["Detect Operating System"]
|
66
|
+
CheckOS --> Win["Windows"]
|
67
|
+
CheckOS --> Mac["macOS"]
|
68
|
+
CheckOS --> Lin["Linux"]
|
69
|
+
|
70
|
+
Win & Mac & Lin --> Adapt["Adapt Commands<br>for Platform"]
|
71
|
+
|
72
|
+
Win --> WinPath["Path: Backslash (\\)"]
|
73
|
+
Mac --> MacPath["Path: Forward Slash (/)"]
|
74
|
+
Lin --> LinPath["Path: Forward Slash (/)"]
|
75
|
+
|
76
|
+
Win --> WinCmd["Command Adaptations:<br>dir, icacls, etc."]
|
77
|
+
Mac --> MacCmd["Command Adaptations:<br>ls, chmod, etc."]
|
78
|
+
Lin --> LinCmd["Command Adaptations:<br>ls, chmod, etc."]
|
79
|
+
|
80
|
+
WinPath & MacPath & LinPath --> PathCP["Path Separator<br>Checkpoint"]
|
81
|
+
WinCmd & MacCmd & LinCmd --> CmdCP["Command<br>Checkpoint"]
|
82
|
+
|
83
|
+
PathCP & CmdCP --> PlatformComplete["Platform Detection<br>Complete"]
|
84
|
+
|
85
|
+
style PD fill:#4da6ff,stroke:#0066cc,color:white
|
86
|
+
style PlatformComplete fill:#10b981,stroke:#059669,color:white
|
87
|
+
```
|
88
|
+
|
89
|
+
## ๐ FILE VERIFICATION PROCESS
|
90
|
+
|
91
|
+
```mermaid
|
92
|
+
graph TD
|
93
|
+
FV["File Verification"] --> CheckFiles["Check Essential Files"]
|
94
|
+
CheckFiles --> CheckMB["Check Memory Bank<br>Structure"]
|
95
|
+
CheckMB --> MBExists{"Memory Bank<br>Exists?"}
|
96
|
+
|
97
|
+
MBExists -->|"Yes"| VerifyMB["Verify Memory Bank<br>Contents"]
|
98
|
+
MBExists -->|"No"| CreateMB["Create Memory Bank<br>Structure"]
|
99
|
+
|
100
|
+
CheckFiles --> CheckDocs["Check Documentation<br>Files"]
|
101
|
+
CheckDocs --> DocsExist{"Docs<br>Exist?"}
|
102
|
+
|
103
|
+
DocsExist -->|"Yes"| VerifyDocs["Verify Documentation<br>Structure"]
|
104
|
+
DocsExist -->|"No"| CreateDocs["Create Documentation<br>Structure"]
|
105
|
+
|
106
|
+
VerifyMB & CreateMB --> MBCP["Memory Bank<br>Checkpoint"]
|
107
|
+
VerifyDocs & CreateDocs --> DocsCP["Documentation<br>Checkpoint"]
|
108
|
+
|
109
|
+
MBCP & DocsCP --> FileComplete["File Verification<br>Complete"]
|
110
|
+
|
111
|
+
style FV fill:#4da6ff,stroke:#0066cc,color:white
|
112
|
+
style FileComplete fill:#10b981,stroke:#059669,color:white
|
113
|
+
style MBCP fill:#f6546a,stroke:#c30052,color:white
|
114
|
+
style DocsCP fill:#f6546a,stroke:#c30052,color:white
|
115
|
+
```
|
116
|
+
|
117
|
+
## ๐งฉ COMPLEXITY DETERMINATION PROCESS
|
118
|
+
|
119
|
+
```mermaid
|
120
|
+
graph TD
|
121
|
+
CD["Complexity<br>Determination"] --> AnalyzeTask["Analyze Task<br>Requirements"]
|
122
|
+
|
123
|
+
AnalyzeTask --> CheckKeywords["Check Task<br>Keywords"]
|
124
|
+
CheckKeywords --> ScopeCheck["Assess<br>Scope Impact"]
|
125
|
+
ScopeCheck --> RiskCheck["Evaluate<br>Risk Level"]
|
126
|
+
RiskCheck --> EffortCheck["Estimate<br>Implementation Effort"]
|
127
|
+
|
128
|
+
EffortCheck --> DetermineLevel{"Determine<br>Complexity Level"}
|
129
|
+
DetermineLevel -->|"Level 1"| L1["Level 1:<br>Quick Bug Fix"]
|
130
|
+
DetermineLevel -->|"Level 2"| L2["Level 2:<br>Simple Enhancement"]
|
131
|
+
DetermineLevel -->|"Level 3"| L3["Level 3:<br>Intermediate Feature"]
|
132
|
+
DetermineLevel -->|"Level 4"| L4["Level 4:<br>Complex System"]
|
133
|
+
|
134
|
+
L1 --> CDComplete["Complexity Determination<br>Complete"]
|
135
|
+
L2 & L3 & L4 --> ModeSwitch["Force Mode Switch<br>to PLAN"]
|
136
|
+
|
137
|
+
style CD fill:#4da6ff,stroke:#0066cc,color:white
|
138
|
+
style CDComplete fill:#10b981,stroke:#059669,color:white
|
139
|
+
style ModeSwitch fill:#ff0000,stroke:#990000,color:white
|
140
|
+
style DetermineLevel fill:#f6546a,stroke:#c30052,color:white
|
141
|
+
```
|
142
|
+
|
143
|
+
## ๐ COMPLETE WORKFLOW WITH QA VALIDATION
|
144
|
+
|
145
|
+
The full workflow includes technical validation before implementation:
|
146
|
+
|
147
|
+
```mermaid
|
148
|
+
flowchart LR
|
149
|
+
VAN1["VAN MODE
|
150
|
+
(Initial Analysis)"] --> PLAN["PLAN MODE
|
151
|
+
(Task Planning)"]
|
152
|
+
PLAN --> CREATIVE["CREATIVE MODE
|
153
|
+
(Design Decisions)"]
|
154
|
+
CREATIVE --> VANQA["VAN QA MODE
|
155
|
+
(Technical Validation)"]
|
156
|
+
VANQA --> BUILD["BUILD MODE
|
157
|
+
(Implementation)"]
|
158
|
+
```
|
159
|
+
|
160
|
+
## ๐ TECHNICAL VALIDATION OVERVIEW
|
161
|
+
|
162
|
+
The VAN QA technical validation process consists of four key validation points:
|
163
|
+
|
164
|
+
```mermaid
|
165
|
+
graph TD
|
166
|
+
VANQA["VAN QA MODE"] --> FourChecks["FOUR-POINT VALIDATION"]
|
167
|
+
|
168
|
+
FourChecks --> DepCheck["1๏ธโฃ DEPENDENCY VERIFICATION<br>Check all required packages"]
|
169
|
+
DepCheck --> ConfigCheck["2๏ธโฃ CONFIGURATION VALIDATION<br>Verify format & compatibility"]
|
170
|
+
ConfigCheck --> EnvCheck["3๏ธโฃ ENVIRONMENT VALIDATION<br>Check build environment"]
|
171
|
+
EnvCheck --> MinBuildCheck["4๏ธโฃ MINIMAL BUILD TEST<br>Test core functionality"]
|
172
|
+
|
173
|
+
MinBuildCheck --> ValidationResults{"All Checks<br>Passed?"}
|
174
|
+
ValidationResults -->|"Yes"| SuccessReport["GENERATE SUCCESS REPORT"]
|
175
|
+
ValidationResults -->|"No"| FailureReport["GENERATE FAILURE REPORT"]
|
176
|
+
|
177
|
+
SuccessReport --> BUILD["Proceed to BUILD MODE"]
|
178
|
+
FailureReport --> FixIssues["Fix Technical Issues"]
|
179
|
+
FixIssues --> ReValidate["Re-validate"]
|
180
|
+
ReValidate --> ValidationResults
|
181
|
+
|
182
|
+
style VANQA fill:#4da6ff,stroke:#0066cc,color:white
|
183
|
+
style FourChecks fill:#f6546a,stroke:#c30052,color:white
|
184
|
+
style ValidationResults fill:#f6546a,stroke:#c30052,color:white
|
185
|
+
style BUILD fill:#10b981,stroke:#059669,color:white
|
186
|
+
style FixIssues fill:#ff5555,stroke:#dd3333,color:white
|
187
|
+
```
|
188
|
+
|
189
|
+
## ๐ VALIDATION STATUS FORMAT
|
190
|
+
|
191
|
+
The QA Validation step includes clear status indicators:
|
192
|
+
|
193
|
+
```
|
194
|
+
โโโโโโโโโโโโโโโโโโ ๐ QA VALIDATION STATUS โโโโโโโโโโโโโโโโโโ
|
195
|
+
โ โ Design Decisions โ Verified as implementable โ
|
196
|
+
โ โ Dependencies โ All required packages installed โ
|
197
|
+
โ โ Configurations โ Format verified for platform โ
|
198
|
+
โ โ Environment โ Suitable for implementation โ
|
199
|
+
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
|
200
|
+
โ
VERIFIED - Clear to proceed to BUILD mode
|
201
|
+
```
|
202
|
+
|
203
|
+
## ๐จ MODE TRANSITION TRIGGERS
|
204
|
+
|
205
|
+
### VAN to PLAN Transition
|
206
|
+
For complexity levels 2-4:
|
207
|
+
```
|
208
|
+
๐ซ LEVEL [2-4] TASK DETECTED
|
209
|
+
Implementation in VAN mode is BLOCKED
|
210
|
+
This task REQUIRES PLAN mode
|
211
|
+
You MUST switch to PLAN mode for proper documentation and planning
|
212
|
+
Type 'PLAN' to switch to planning mode
|
213
|
+
```
|
214
|
+
|
215
|
+
### CREATIVE to VAN QA Transition
|
216
|
+
After completing the CREATIVE mode:
|
217
|
+
```
|
218
|
+
โญ๏ธ NEXT MODE: VAN QA
|
219
|
+
To validate technical requirements before implementation, please type 'VAN QA'
|
220
|
+
```
|
221
|
+
|
222
|
+
### VAN QA to BUILD Transition
|
223
|
+
After successful validation:
|
224
|
+
```
|
225
|
+
โ
TECHNICAL VALIDATION COMPLETE
|
226
|
+
All prerequisites verified successfully
|
227
|
+
You may now proceed to BUILD mode
|
228
|
+
Type 'BUILD' to begin implementation
|
229
|
+
```
|
230
|
+
|
231
|
+
## ๐ BUILD MODE PREVENTION MECHANISM
|
232
|
+
|
233
|
+
The system prevents moving to BUILD mode without passing QA validation:
|
234
|
+
|
235
|
+
```mermaid
|
236
|
+
graph TD
|
237
|
+
Start["User Types: BUILD"] --> CheckQA{"QA Validation<br>Completed?"}
|
238
|
+
CheckQA -->|"Yes and Passed"| AllowBuild["Allow BUILD Mode"]
|
239
|
+
CheckQA -->|"No or Failed"| BlockBuild["BLOCK BUILD MODE"]
|
240
|
+
BlockBuild --> Message["Display:<br>โ ๏ธ QA VALIDATION REQUIRED"]
|
241
|
+
Message --> ReturnToVANQA["Prompt: Type VAN QA"]
|
242
|
+
|
243
|
+
style CheckQA fill:#f6546a,stroke:#c30052,color:white
|
244
|
+
style BlockBuild fill:#ff0000,stroke:#990000,color:white,stroke-width:3px
|
245
|
+
style Message fill:#ff5555,stroke:#dd3333,color:white
|
246
|
+
style ReturnToVANQA fill:#4da6ff,stroke:#0066cc,color:white
|
247
|
+
```
|
248
|
+
|
249
|
+
## ๐ QA COMMAND PRECEDENCE
|
250
|
+
|
251
|
+
QA validation can be called at any point in the process flow, and takes immediate precedence over any other current steps, including forced mode switches:
|
252
|
+
|
253
|
+
```mermaid
|
254
|
+
graph TD
|
255
|
+
UserQA["User Types: QA"] --> HighPriority["โ ๏ธ HIGH PRIORITY COMMAND"]
|
256
|
+
HighPriority --> CurrentTask["Pause Current Task/Process"]
|
257
|
+
CurrentTask --> LoadQA["Load QA Mode Map"]
|
258
|
+
LoadQA --> RunQA["Execute QA Validation Process"]
|
259
|
+
RunQA --> QAResults{"QA Results"}
|
260
|
+
|
261
|
+
QAResults -->|"PASS"| ResumeFlow["Resume Prior Process Flow"]
|
262
|
+
QAResults -->|"FAIL"| FixIssues["Fix Identified Issues"]
|
263
|
+
FixIssues --> ReRunQA["Re-run QA Validation"]
|
264
|
+
ReRunQA --> QAResults
|
265
|
+
|
266
|
+
style UserQA fill:#f8d486,stroke:#e8b84d,color:black
|
267
|
+
style HighPriority fill:#ff0000,stroke:#cc0000,color:white,stroke-width:3px
|
268
|
+
style LoadQA fill:#4da6ff,stroke:#0066cc,color:white
|
269
|
+
style RunQA fill:#4da6ff,stroke:#0066cc,color:white
|
270
|
+
style QAResults fill:#f6546a,stroke:#c30052,color:white
|
271
|
+
```
|
272
|
+
|
273
|
+
### QA Interruption Rules
|
274
|
+
|
275
|
+
When a user types **QA** at any point:
|
276
|
+
|
277
|
+
1. **The QA command MUST take immediate precedence** over any current operation, including the "FORCE MODE SWITCH" triggered by complexity assessment.
|
278
|
+
2. The system MUST:
|
279
|
+
- Immediately load the QA mode map
|
280
|
+
- Execute the full QA validation process
|
281
|
+
- Address any failures before continuing
|
282
|
+
3. **Required remediation steps take priority** over any pending mode switches or complexity rules
|
283
|
+
4. After QA validation is complete and passes:
|
284
|
+
- Resume the previously determined process flow
|
285
|
+
- Continue with any required mode switches
|
286
|
+
|
287
|
+
```
|
288
|
+
โ ๏ธ QA OVERRIDE ACTIVATED
|
289
|
+
All other processes paused
|
290
|
+
QA validation checks now running...
|
291
|
+
Any issues found MUST be remediated before continuing with normal process flow
|
292
|
+
```
|
293
|
+
|
294
|
+
## ๐ CHECKPOINT VERIFICATION TEMPLATE
|
295
|
+
|
296
|
+
Each major checkpoint in VAN mode uses this format:
|
297
|
+
|
298
|
+
```
|
299
|
+
โ SECTION CHECKPOINT: [SECTION NAME]
|
300
|
+
- Requirement 1? [YES/NO]
|
301
|
+
- Requirement 2? [YES/NO]
|
302
|
+
- Requirement 3? [YES/NO]
|
303
|
+
|
304
|
+
โ If all YES: Ready for next section
|
305
|
+
โ If any NO: Fix missing items before proceeding
|
306
|
+
```
|
307
|
+
|
308
|
+
## ๐ VAN MODE ACTIVATION
|
309
|
+
|
310
|
+
When the user types "VAN", respond with a confirmation and start the process:
|
311
|
+
|
312
|
+
```
|
313
|
+
User: VAN
|
314
|
+
|
315
|
+
Response: OK VAN - Beginning Initialization Process
|
316
|
+
```
|
317
|
+
|
318
|
+
After completing CREATIVE mode, when the user types "VAN QA", respond:
|
319
|
+
|
320
|
+
```
|
321
|
+
User: VAN QA
|
322
|
+
|
323
|
+
Response: OK VAN QA - Beginning Technical Validation
|
324
|
+
```
|
325
|
+
|
326
|
+
This ensures clear communication about which phase of VAN mode is active.
|
327
|
+
|
328
|
+
## ๐ DETAILED QA VALIDATION PROCESS
|
329
|
+
|
330
|
+
### 1๏ธโฃ DEPENDENCY VERIFICATION
|
331
|
+
|
332
|
+
This step verifies that all required packages are installed and compatible:
|
333
|
+
|
334
|
+
```mermaid
|
335
|
+
graph TD
|
336
|
+
Start["Dependency Verification"] --> ReadDeps["Read Required Dependencies<br>from Creative Phase"]
|
337
|
+
ReadDeps --> CheckInstalled["Check if Dependencies<br>are Installed"]
|
338
|
+
CheckInstalled --> DepStatus{"All Dependencies<br>Installed?"}
|
339
|
+
|
340
|
+
DepStatus -->|"Yes"| VerifyVersions["Verify Versions<br>and Compatibility"]
|
341
|
+
DepStatus -->|"No"| InstallMissing["Install Missing<br>Dependencies"]
|
342
|
+
InstallMissing --> VerifyVersions
|
343
|
+
|
344
|
+
VerifyVersions --> VersionStatus{"Versions<br>Compatible?"}
|
345
|
+
VersionStatus -->|"Yes"| DepSuccess["Dependencies Verified<br>โ
PASS"]
|
346
|
+
VersionStatus -->|"No"| UpgradeVersions["Upgrade/Downgrade<br>as Needed"]
|
347
|
+
UpgradeVersions --> RetryVerify["Retry Verification"]
|
348
|
+
RetryVerify --> VersionStatus
|
349
|
+
|
350
|
+
style Start fill:#4da6ff,stroke:#0066cc,color:white
|
351
|
+
style DepSuccess fill:#10b981,stroke:#059669,color:white
|
352
|
+
style DepStatus fill:#f6546a,stroke:#c30052,color:white
|
353
|
+
style VersionStatus fill:#f6546a,stroke:#c30052,color:white
|
354
|
+
```
|
355
|
+
|
356
|
+
#### Windows (PowerShell) Implementation:
|
357
|
+
```powershell
|
358
|
+
# Example: Verify Node.js dependencies for a React project
|
359
|
+
function Verify-Dependencies {
|
360
|
+
$requiredDeps = @{
|
361
|
+
"node" = ">=14.0.0"
|
362
|
+
"npm" = ">=6.0.0"
|
363
|
+
}
|
364
|
+
|
365
|
+
$missingDeps = @()
|
366
|
+
$incompatibleDeps = @()
|
367
|
+
|
368
|
+
# Check Node.js version
|
369
|
+
$nodeVersion = $null
|
370
|
+
try {
|
371
|
+
$nodeVersion = node -v
|
372
|
+
if ($nodeVersion -match "v(\d+)\.(\d+)\.(\d+)") {
|
373
|
+
$major = [int]$Matches[1]
|
374
|
+
if ($major -lt 14) {
|
375
|
+
$incompatibleDeps += "node (found $nodeVersion, required >=14.0.0)"
|
376
|
+
}
|
377
|
+
}
|
378
|
+
} catch {
|
379
|
+
$missingDeps += "node"
|
380
|
+
}
|
381
|
+
|
382
|
+
# Check npm version
|
383
|
+
$npmVersion = $null
|
384
|
+
try {
|
385
|
+
$npmVersion = npm -v
|
386
|
+
if ($npmVersion -match "(\d+)\.(\d+)\.(\d+)") {
|
387
|
+
$major = [int]$Matches[1]
|
388
|
+
if ($major -lt 6) {
|
389
|
+
$incompatibleDeps += "npm (found $npmVersion, required >=6.0.0)"
|
390
|
+
}
|
391
|
+
}
|
392
|
+
} catch {
|
393
|
+
$missingDeps += "npm"
|
394
|
+
}
|
395
|
+
|
396
|
+
# Display results
|
397
|
+
if ($missingDeps.Count -eq 0 -and $incompatibleDeps.Count -eq 0) {
|
398
|
+
Write-Output "โ
All dependencies verified and compatible"
|
399
|
+
return $true
|
400
|
+
} else {
|
401
|
+
if ($missingDeps.Count -gt 0) {
|
402
|
+
Write-Output "โ Missing dependencies: $($missingDeps -join ', ')"
|
403
|
+
}
|
404
|
+
if ($incompatibleDeps.Count -gt 0) {
|
405
|
+
Write-Output "โ Incompatible versions: $($incompatibleDeps -join ', ')"
|
406
|
+
}
|
407
|
+
return $false
|
408
|
+
}
|
409
|
+
}
|
410
|
+
```
|
411
|
+
|
412
|
+
#### Mac/Linux (Bash) Implementation:
|
413
|
+
```bash
|
414
|
+
#!/bin/bash
|
415
|
+
|
416
|
+
# Example: Verify Node.js dependencies for a React project
|
417
|
+
verify_dependencies() {
|
418
|
+
local missing_deps=()
|
419
|
+
local incompatible_deps=()
|
420
|
+
|
421
|
+
# Check Node.js version
|
422
|
+
if command -v node &> /dev/null; then
|
423
|
+
local node_version=$(node -v)
|
424
|
+
if [[ $node_version =~ v([0-9]+)\.([0-9]+)\.([0-9]+) ]]; then
|
425
|
+
local major=${BASH_REMATCH[1]}
|
426
|
+
if (( major < 14 )); then
|
427
|
+
incompatible_deps+=("node (found $node_version, required >=14.0.0)")
|
428
|
+
fi
|
429
|
+
fi
|
430
|
+
else
|
431
|
+
missing_deps+=("node")
|
432
|
+
fi
|
433
|
+
|
434
|
+
# Check npm version
|
435
|
+
if command -v npm &> /dev/null; then
|
436
|
+
local npm_version=$(npm -v)
|
437
|
+
if [[ $npm_version =~ ([0-9]+)\.([0-9]+)\.([0-9]+) ]]; then
|
438
|
+
local major=${BASH_REMATCH[1]}
|
439
|
+
if (( major < 6 )); then
|
440
|
+
incompatible_deps+=("npm (found $npm_version, required >=6.0.0)")
|
441
|
+
fi
|
442
|
+
fi
|
443
|
+
else
|
444
|
+
missing_deps+=("npm")
|
445
|
+
fi
|
446
|
+
|
447
|
+
# Display results
|
448
|
+
if [ ${#missing_deps[@]} -eq 0 ] && [ ${#incompatible_deps[@]} -eq 0 ]; then
|
449
|
+
echo "โ
All dependencies verified and compatible"
|
450
|
+
return 0
|
451
|
+
else
|
452
|
+
if [ ${#missing_deps[@]} -gt 0 ]; then
|
453
|
+
echo "โ Missing dependencies: ${missing_deps[*]}"
|
454
|
+
fi
|
455
|
+
if [ ${#incompatible_deps[@]} -gt 0 ]; then
|
456
|
+
echo "โ Incompatible versions: ${incompatible_deps[*]}"
|
457
|
+
fi
|
458
|
+
return 1
|
459
|
+
fi
|
460
|
+
}
|
461
|
+
```
|
462
|
+
|
463
|
+
### 2๏ธโฃ CONFIGURATION VALIDATION
|
464
|
+
|
465
|
+
This step validates configuration files format and compatibility:
|
466
|
+
|
467
|
+
```mermaid
|
468
|
+
graph TD
|
469
|
+
Start["Configuration Validation"] --> IdentifyConfigs["Identify Configuration<br>Files"]
|
470
|
+
IdentifyConfigs --> ReadConfigs["Read Configuration<br>Files"]
|
471
|
+
ReadConfigs --> ValidateSyntax["Validate Syntax<br>and Format"]
|
472
|
+
ValidateSyntax --> SyntaxStatus{"Syntax<br>Valid?"}
|
473
|
+
|
474
|
+
SyntaxStatus -->|"Yes"| CheckCompatibility["Check Compatibility<br>with Platform"]
|
475
|
+
SyntaxStatus -->|"No"| FixSyntax["Fix Syntax<br>Errors"]
|
476
|
+
FixSyntax --> RetryValidate["Retry Validation"]
|
477
|
+
RetryValidate --> SyntaxStatus
|
478
|
+
|
479
|
+
CheckCompatibility --> CompatStatus{"Compatible with<br>Platform?"}
|
480
|
+
CompatStatus -->|"Yes"| ConfigSuccess["Configurations Validated<br>โ
PASS"]
|
481
|
+
CompatStatus -->|"No"| AdaptConfigs["Adapt Configurations<br>for Platform"]
|
482
|
+
AdaptConfigs --> RetryCompat["Retry Compatibility<br>Check"]
|
483
|
+
RetryCompat --> CompatStatus
|
484
|
+
|
485
|
+
style Start fill:#4da6ff,stroke:#0066cc,color:white
|
486
|
+
style ConfigSuccess fill:#10b981,stroke:#059669,color:white
|
487
|
+
style SyntaxStatus fill:#f6546a,stroke:#c30052,color:white
|
488
|
+
style CompatStatus fill:#f6546a,stroke:#c30052,color:white
|
489
|
+
```
|
490
|
+
|
491
|
+
#### Configuration Validation Implementation:
|
492
|
+
```powershell
|
493
|
+
# Example: Validate configuration files for a web project
|
494
|
+
function Validate-Configurations {
|
495
|
+
$configFiles = @(
|
496
|
+
"package.json",
|
497
|
+
"tsconfig.json",
|
498
|
+
"vite.config.js"
|
499
|
+
)
|
500
|
+
|
501
|
+
$invalidConfigs = @()
|
502
|
+
$incompatibleConfigs = @()
|
503
|
+
|
504
|
+
foreach ($configFile in $configFiles) {
|
505
|
+
if (Test-Path $configFile) {
|
506
|
+
# Check JSON syntax for JSON files
|
507
|
+
if ($configFile -match "\.json$") {
|
508
|
+
try {
|
509
|
+
Get-Content $configFile -Raw | ConvertFrom-Json | Out-Null
|
510
|
+
} catch {
|
511
|
+
$invalidConfigs += "$configFile (JSON syntax error: $($_.Exception.Message))"
|
512
|
+
continue
|
513
|
+
}
|
514
|
+
}
|
515
|
+
|
516
|
+
# Specific configuration compatibility checks
|
517
|
+
if ($configFile -eq "vite.config.js") {
|
518
|
+
$content = Get-Content $configFile -Raw
|
519
|
+
# Check for React plugin in Vite config
|
520
|
+
if ($content -notmatch "react\(\)") {
|
521
|
+
$incompatibleConfigs += "$configFile (Missing React plugin for React project)"
|
522
|
+
}
|
523
|
+
}
|
524
|
+
} else {
|
525
|
+
$invalidConfigs += "$configFile (file not found)"
|
526
|
+
}
|
527
|
+
}
|
528
|
+
|
529
|
+
# Display results
|
530
|
+
if ($invalidConfigs.Count -eq 0 -and $incompatibleConfigs.Count -eq 0) {
|
531
|
+
Write-Output "โ
All configurations validated and compatible"
|
532
|
+
return $true
|
533
|
+
} else {
|
534
|
+
if ($invalidConfigs.Count -gt 0) {
|
535
|
+
Write-Output "โ Invalid configurations: $($invalidConfigs -join ', ')"
|
536
|
+
}
|
537
|
+
if ($incompatibleConfigs.Count -gt 0) {
|
538
|
+
Write-Output "โ Incompatible configurations: $($incompatibleConfigs -join ', ')"
|
539
|
+
}
|
540
|
+
return $false
|
541
|
+
}
|
542
|
+
}
|
543
|
+
```
|
544
|
+
|
545
|
+
### 3๏ธโฃ ENVIRONMENT VALIDATION
|
546
|
+
|
547
|
+
This step checks if the environment is properly set up for the implementation:
|
548
|
+
|
549
|
+
```mermaid
|
550
|
+
graph TD
|
551
|
+
Start["Environment Validation"] --> CheckEnv["Check Build Environment"]
|
552
|
+
CheckEnv --> VerifyBuildTools["Verify Build Tools"]
|
553
|
+
VerifyBuildTools --> ToolsStatus{"Build Tools<br>Available?"}
|
554
|
+
|
555
|
+
ToolsStatus -->|"Yes"| CheckPerms["Check Permissions<br>and Access"]
|
556
|
+
ToolsStatus -->|"No"| InstallTools["Install Required<br>Build Tools"]
|
557
|
+
InstallTools --> RetryTools["Retry Verification"]
|
558
|
+
RetryTools --> ToolsStatus
|
559
|
+
|
560
|
+
CheckPerms --> PermsStatus{"Permissions<br>Sufficient?"}
|
561
|
+
PermsStatus -->|"Yes"| EnvSuccess["Environment Validated<br>โ
PASS"]
|
562
|
+
PermsStatus -->|"No"| FixPerms["Fix Permission<br>Issues"]
|
563
|
+
FixPerms --> RetryPerms["Retry Permission<br>Check"]
|
564
|
+
RetryPerms --> PermsStatus
|
565
|
+
|
566
|
+
style Start fill:#4da6ff,stroke:#0066cc,color:white
|
567
|
+
style EnvSuccess fill:#10b981,stroke:#059669,color:white
|
568
|
+
style ToolsStatus fill:#f6546a,stroke:#c30052,color:white
|
569
|
+
style PermsStatus fill:#f6546a,stroke:#c30052,color:white
|
570
|
+
```
|
571
|
+
|
572
|
+
#### Environment Validation Implementation:
|
573
|
+
```powershell
|
574
|
+
# Example: Validate environment for a web project
|
575
|
+
function Validate-Environment {
|
576
|
+
$requiredTools = @(
|
577
|
+
@{Name = "git"; Command = "git --version"},
|
578
|
+
@{Name = "node"; Command = "node --version"},
|
579
|
+
@{Name = "npm"; Command = "npm --version"}
|
580
|
+
)
|
581
|
+
|
582
|
+
$missingTools = @()
|
583
|
+
$permissionIssues = @()
|
584
|
+
|
585
|
+
# Check build tools
|
586
|
+
foreach ($tool in $requiredTools) {
|
587
|
+
try {
|
588
|
+
Invoke-Expression $tool.Command | Out-Null
|
589
|
+
} catch {
|
590
|
+
$missingTools += $tool.Name
|
591
|
+
}
|
592
|
+
}
|
593
|
+
|
594
|
+
# Check write permissions in project directory
|
595
|
+
try {
|
596
|
+
$testFile = ".__permission_test"
|
597
|
+
New-Item -Path $testFile -ItemType File -Force | Out-Null
|
598
|
+
Remove-Item -Path $testFile -Force
|
599
|
+
} catch {
|
600
|
+
$permissionIssues += "Current directory (write permission denied)"
|
601
|
+
}
|
602
|
+
|
603
|
+
# Check if port 3000 is available (commonly used for dev servers)
|
604
|
+
try {
|
605
|
+
$listener = New-Object System.Net.Sockets.TcpListener([System.Net.IPAddress]::Loopback, 3000)
|
606
|
+
$listener.Start()
|
607
|
+
$listener.Stop()
|
608
|
+
} catch {
|
609
|
+
$permissionIssues += "Port 3000 (already in use or access denied)"
|
610
|
+
}
|
611
|
+
|
612
|
+
# Display results
|
613
|
+
if ($missingTools.Count -eq 0 -and $permissionIssues.Count -eq 0) {
|
614
|
+
Write-Output "โ
Environment validated successfully"
|
615
|
+
return $true
|
616
|
+
} else {
|
617
|
+
if ($missingTools.Count -gt 0) {
|
618
|
+
Write-Output "โ Missing tools: $($missingTools -join ', ')"
|
619
|
+
}
|
620
|
+
if ($permissionIssues.Count -gt 0) {
|
621
|
+
Write-Output "โ Permission issues: $($permissionIssues -join ', ')"
|
622
|
+
}
|
623
|
+
return $false
|
624
|
+
}
|
625
|
+
}
|
626
|
+
```
|
627
|
+
|
628
|
+
### 4๏ธโฃ MINIMAL BUILD TEST
|
629
|
+
|
630
|
+
This step performs a minimal build test to ensure core functionality:
|
631
|
+
|
632
|
+
```mermaid
|
633
|
+
graph TD
|
634
|
+
Start["Minimal Build Test"] --> CreateTest["Create Minimal<br>Test Project"]
|
635
|
+
CreateTest --> BuildTest["Attempt<br>Build"]
|
636
|
+
BuildTest --> BuildStatus{"Build<br>Successful?"}
|
637
|
+
|
638
|
+
BuildStatus -->|"Yes"| RunTest["Run Basic<br>Functionality Test"]
|
639
|
+
BuildStatus -->|"No"| FixBuild["Fix Build<br>Issues"]
|
640
|
+
FixBuild --> RetryBuild["Retry Build"]
|
641
|
+
RetryBuild --> BuildStatus
|
642
|
+
|
643
|
+
RunTest --> TestStatus{"Test<br>Passed?"}
|
644
|
+
TestStatus -->|"Yes"| TestSuccess["Minimal Build Test<br>โ
PASS"]
|
645
|
+
TestStatus -->|"No"| FixTest["Fix Test<br>Issues"]
|
646
|
+
FixTest --> RetryTest["Retry Test"]
|
647
|
+
RetryTest --> TestStatus
|
648
|
+
|
649
|
+
style Start fill:#4da6ff,stroke:#0066cc,color:white
|
650
|
+
style TestSuccess fill:#10b981,stroke:#059669,color:white
|
651
|
+
style BuildStatus fill:#f6546a,stroke:#c30052,color:white
|
652
|
+
style TestStatus fill:#f6546a,stroke:#c30052,color:white
|
653
|
+
```
|
654
|
+
|
655
|
+
#### Minimal Build Test Implementation:
|
656
|
+
```powershell
|
657
|
+
# Example: Perform minimal build test for a React project
|
658
|
+
function Perform-MinimalBuildTest {
|
659
|
+
$buildSuccess = $false
|
660
|
+
$testSuccess = $false
|
661
|
+
|
662
|
+
# Create minimal test project
|
663
|
+
$testDir = ".__build_test"
|
664
|
+
if (Test-Path $testDir) {
|
665
|
+
Remove-Item -Path $testDir -Recurse -Force
|
666
|
+
}
|
667
|
+
|
668
|
+
try {
|
669
|
+
# Create minimal test directory
|
670
|
+
New-Item -Path $testDir -ItemType Directory | Out-Null
|
671
|
+
Push-Location $testDir
|
672
|
+
|
673
|
+
# Initialize minimal package.json
|
674
|
+
@"
|
675
|
+
{
|
676
|
+
"name": "build-test",
|
677
|
+
"version": "1.0.0",
|
678
|
+
"description": "Minimal build test",
|
679
|
+
"main": "index.js",
|
680
|
+
"scripts": {
|
681
|
+
"build": "echo Build test successful"
|
682
|
+
}
|
683
|
+
}
|
684
|
+
"@ | Set-Content -Path "package.json"
|
685
|
+
|
686
|
+
# Attempt build
|
687
|
+
npm run build | Out-Null
|
688
|
+
$buildSuccess = $true
|
689
|
+
|
690
|
+
# Create minimal test file
|
691
|
+
@"
|
692
|
+
console.log('Test successful');
|
693
|
+
"@ | Set-Content -Path "index.js"
|
694
|
+
|
695
|
+
# Run basic test
|
696
|
+
node index.js | Out-Null
|
697
|
+
$testSuccess = $true
|
698
|
+
|
699
|
+
} catch {
|
700
|
+
Write-Output "โ Build test failed: $($_.Exception.Message)"
|
701
|
+
} finally {
|
702
|
+
Pop-Location
|
703
|
+
if (Test-Path $testDir) {
|
704
|
+
Remove-Item -Path $testDir -Recurse -Force
|
705
|
+
}
|
706
|
+
}
|
707
|
+
|
708
|
+
# Display results
|
709
|
+
if ($buildSuccess -and $testSuccess) {
|
710
|
+
Write-Output "โ
Minimal build test passed successfully"
|
711
|
+
return $true
|
712
|
+
} else {
|
713
|
+
if (-not $buildSuccess) {
|
714
|
+
Write-Output "โ Build process failed"
|
715
|
+
}
|
716
|
+
if (-not $testSuccess) {
|
717
|
+
Write-Output "โ Basic functionality test failed"
|
718
|
+
}
|
719
|
+
return $false
|
720
|
+
}
|
721
|
+
}
|
722
|
+
```
|
723
|
+
|
724
|
+
## ๐ COMPREHENSIVE QA REPORT FORMAT
|
725
|
+
|
726
|
+
After running all validation steps, a comprehensive report is generated:
|
727
|
+
|
728
|
+
```
|
729
|
+
โโโโโโโโโโโโโโโโโโโโโโ ๐ QA VALIDATION REPORT โโโโโโโโโโโโโโโโโโโโโโโ
|
730
|
+
โ โ
|
731
|
+
โ PROJECT: [Project Name] โ
|
732
|
+
โ TIMESTAMP: [Current Date/Time] โ
|
733
|
+
โ โ
|
734
|
+
โ 1๏ธโฃ DEPENDENCY VERIFICATION โ
|
735
|
+
โ โ Required: [List of required dependencies] โ
|
736
|
+
โ โ Installed: [List of installed dependencies] โ
|
737
|
+
โ โ Compatible: [Yes/No] โ
|
738
|
+
โ โ
|
739
|
+
โ 2๏ธโฃ CONFIGURATION VALIDATION โ
|
740
|
+
โ โ Config Files: [List of configuration files] โ
|
741
|
+
โ โ Syntax Valid: [Yes/No] โ
|
742
|
+
โ โ Platform Compatible: [Yes/No] โ
|
743
|
+
โ โ
|
744
|
+
โ 3๏ธโฃ ENVIRONMENT VALIDATION โ
|
745
|
+
โ โ Build Tools: [Available/Missing] โ
|
746
|
+
โ โ Permissions: [Sufficient/Insufficient] โ
|
747
|
+
โ โ Environment Ready: [Yes/No] โ
|
748
|
+
โ โ
|
749
|
+
โ 4๏ธโฃ MINIMAL BUILD TEST โ
|
750
|
+
โ โ Build Process: [Successful/Failed] โ
|
751
|
+
โ โ Functionality Test: [Passed/Failed] โ
|
752
|
+
โ โ Build Ready: [Yes/No] โ
|
753
|
+
โ โ
|
754
|
+
โ ๐จ FINAL VERDICT: [PASS/FAIL] โ
|
755
|
+
โ โก๏ธ [Success message or error details] โ
|
756
|
+
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
|
757
|
+
```
|
758
|
+
|
759
|
+
## โ FAILURE REPORT FORMAT
|
760
|
+
|
761
|
+
If any validation step fails, a detailed failure report is generated:
|
762
|
+
|
763
|
+
```
|
764
|
+
โ ๏ธโ ๏ธโ ๏ธ QA VALIDATION FAILED โ ๏ธโ ๏ธโ ๏ธ
|
765
|
+
|
766
|
+
The following issues must be resolved before proceeding to BUILD mode:
|
767
|
+
|
768
|
+
1๏ธโฃ DEPENDENCY ISSUES:
|
769
|
+
- [Detailed description of dependency issues]
|
770
|
+
- [Recommended fix]
|
771
|
+
|
772
|
+
2๏ธโฃ CONFIGURATION ISSUES:
|
773
|
+
- [Detailed description of configuration issues]
|
774
|
+
- [Recommended fix]
|
775
|
+
|
776
|
+
3๏ธโฃ ENVIRONMENT ISSUES:
|
777
|
+
- [Detailed description of environment issues]
|
778
|
+
- [Recommended fix]
|
779
|
+
|
780
|
+
4๏ธโฃ BUILD TEST ISSUES:
|
781
|
+
- [Detailed description of build test issues]
|
782
|
+
- [Recommended fix]
|
783
|
+
|
784
|
+
โ ๏ธ BUILD MODE IS BLOCKED until these issues are resolved.
|
785
|
+
Type 'VAN QA' after fixing the issues to re-validate.
|
786
|
+
```
|
787
|
+
|
788
|
+
## ๐ INTEGRATION WITH DESIGN DECISIONS
|
789
|
+
|
790
|
+
The VAN QA mode reads and validates design decisions from the CREATIVE phase:
|
791
|
+
|
792
|
+
```mermaid
|
793
|
+
graph TD
|
794
|
+
Start["Read Design Decisions"] --> ReadCreative["Parse Creative Phase<br>Documentation"]
|
795
|
+
ReadCreative --> ExtractTech["Extract Technology<br>Choices"]
|
796
|
+
ExtractTech --> ExtractDeps["Extract Required<br>Dependencies"]
|
797
|
+
ExtractDeps --> BuildValidationPlan["Build Validation<br>Plan"]
|
798
|
+
BuildValidationPlan --> StartValidation["Start Four-Point<br>Validation Process"]
|
799
|
+
|
800
|
+
style Start fill:#4da6ff,stroke:#0066cc,color:white
|
801
|
+
style ExtractTech fill:#f6546a,stroke:#c30052,color:white
|
802
|
+
style BuildValidationPlan fill:#10b981,stroke:#059669,color:white
|
803
|
+
style StartValidation fill:#f6546a,stroke:#c30052,color:white
|
804
|
+
```
|
805
|
+
|
806
|
+
### Technology Extraction Process:
|
807
|
+
```powershell
|
808
|
+
# Example: Extract technology choices from creative phase documentation
|
809
|
+
function Extract-TechnologyChoices {
|
810
|
+
$techChoices = @{}
|
811
|
+
|
812
|
+
# Read from systemPatterns.md
|
813
|
+
if (Test-Path "memory-bank\systemPatterns.md") {
|
814
|
+
$content = Get-Content "memory-bank\systemPatterns.md" -Raw
|
815
|
+
|
816
|
+
# Extract framework choice
|
817
|
+
if ($content -match "Framework:\s*(\w+)") {
|
818
|
+
$techChoices["framework"] = $Matches[1]
|
819
|
+
}
|
820
|
+
|
821
|
+
# Extract UI library choice
|
822
|
+
if ($content -match "UI Library:\s*(\w+)") {
|
823
|
+
$techChoices["ui_library"] = $Matches[1]
|
824
|
+
}
|
825
|
+
|
826
|
+
# Extract state management choice
|
827
|
+
if ($content -match "State Management:\s*([^\\n]+)") {
|
828
|
+
$techChoices["state_management"] = $Matches[1].Trim()
|
829
|
+
}
|
830
|
+
}
|
831
|
+
|
832
|
+
return $techChoices
|
833
|
+
}
|
834
|
+
```
|
835
|
+
|
836
|
+
## ๐จ IMPLEMENTATION PREVENTION MECHANISM
|
837
|
+
|
838
|
+
If QA validation fails, the system prevents moving to BUILD mode:
|
839
|
+
|
840
|
+
```powershell
|
841
|
+
# Example: Enforce QA validation before allowing BUILD mode
|
842
|
+
function Check-QAValidationStatus {
|
843
|
+
$qaStatusFile = "memory-bank\.qa_validation_status"
|
844
|
+
|
845
|
+
if (Test-Path $qaStatusFile) {
|
846
|
+
$status = Get-Content $qaStatusFile -Raw
|
847
|
+
if ($status -match "PASS") {
|
848
|
+
return $true
|
849
|
+
}
|
850
|
+
}
|
851
|
+
|
852
|
+
# Display block message
|
853
|
+
Write-Output "`n`n"
|
854
|
+
Write-Output "๐ซ๐ซ๐ซ๐ซ๐ซ๐ซ๐ซ๐ซ๐ซ๐ซ๐ซ๐ซ๐ซ๐ซ๐ซ๐ซ๐ซ๐ซ๐ซ๐ซ๐ซ๐ซ๐ซ๐ซ๐ซ๐ซ๐ซ๐ซ๐ซ"
|
855
|
+
Write-Output "โ๏ธ BUILD MODE BLOCKED: QA VALIDATION REQUIRED"
|
856
|
+
Write-Output "โ๏ธ You must complete QA validation before proceeding to BUILD mode"
|
857
|
+
Write-Output "`n"
|
858
|
+
Write-Output "Type 'VAN QA' to perform technical validation"
|
859
|
+
Write-Output "`n"
|
860
|
+
Write-Output "๐ซ NO IMPLEMENTATION CAN PROCEED WITHOUT VALIDATION ๐ซ"
|
861
|
+
Write-Output "๐ซ๐ซ๐ซ๐ซ๐ซ๐ซ๐ซ๐ซ๐ซ๐ซ๐ซ๐ซ๐ซ๐ซ๐ซ๐ซ๐ซ๐ซ๐ซ๐ซ๐ซ๐ซ๐ซ๐ซ๐ซ๐ซ๐ซ๐ซ๐ซ"
|
862
|
+
|
863
|
+
return $false
|
864
|
+
}
|
865
|
+
```
|
866
|
+
|
867
|
+
## ๐งช COMMON QA VALIDATION FIXES
|
868
|
+
|
869
|
+
Here are common fixes for issues encountered during QA validation:
|
870
|
+
|
871
|
+
### Dependency Issues:
|
872
|
+
- **Missing Node.js**: Install Node.js from https://nodejs.org/
|
873
|
+
- **Outdated npm**: Run `npm install -g npm@latest` to update
|
874
|
+
- **Missing packages**: Run `npm install` or `npm install [package-name]`
|
875
|
+
|
876
|
+
### Configuration Issues:
|
877
|
+
- **Invalid JSON**: Use a JSON validator to check syntax
|
878
|
+
- **Missing React plugin**: Add `import react from '@vitejs/plugin-react'` and `plugins: [react()]` to vite.config.js
|
879
|
+
- **Incompatible TypeScript config**: Update `tsconfig.json` with correct React settings
|
880
|
+
|
881
|
+
### Environment Issues:
|
882
|
+
- **Permission denied**: Run terminal as administrator (Windows) or use sudo (Mac/Linux)
|
883
|
+
- **Port already in use**: Kill process using the port or change the port in configuration
|
884
|
+
- **Missing build tools**: Install required command-line tools
|
885
|
+
|
886
|
+
### Build Test Issues:
|
887
|
+
- **Build fails**: Check console for specific error messages
|
888
|
+
- **Test fails**: Verify minimal configuration is correct
|
889
|
+
- **Path issues**: Ensure paths use correct separators for the platform
|
890
|
+
|
891
|
+
## ๐ FINAL QA VALIDATION CHECKPOINT
|
892
|
+
|
893
|
+
```
|
894
|
+
โ SECTION CHECKPOINT: QA VALIDATION
|
895
|
+
- Dependency Verification Passed? [YES/NO]
|
896
|
+
- Configuration Validation Passed? [YES/NO]
|
897
|
+
- Environment Validation Passed? [YES/NO]
|
898
|
+
- Minimal Build Test Passed? [YES/NO]
|
899
|
+
|
900
|
+
โ If all YES: Ready for BUILD mode
|
901
|
+
โ If any NO: Fix identified issues before proceeding
|
902
|
+
```
|