@jaimevalasek/aioson 1.7.0 → 1.7.2

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 (34) hide show
  1. package/CHANGELOG.md +25 -0
  2. package/package.json +1 -1
  3. package/src/constants.js +13 -0
  4. package/template/.aioson/agents/copywriter.md +463 -0
  5. package/template/.aioson/agents/dev.md +29 -1
  6. package/template/.aioson/agents/deyvin.md +1 -0
  7. package/template/.aioson/agents/neo.md +5 -1
  8. package/template/.aioson/agents/qa.md +101 -0
  9. package/template/.aioson/agents/setup.md +17 -1
  10. package/template/.aioson/agents/squad.md +190 -0
  11. package/template/.aioson/agents/ux-ui.md +169 -3
  12. package/template/.aioson/genomes/copywriting.md +204 -0
  13. package/template/.aioson/skills/design/cognitive-core-ui/references/motion.md +2 -0
  14. package/template/.aioson/skills/marketing/references/anti-patterns.md +254 -0
  15. package/template/.aioson/skills/marketing/references/fascinations.md +192 -0
  16. package/template/.aioson/skills/marketing/references/five-acts.md +248 -0
  17. package/template/.aioson/skills/marketing/references/market-intelligence.md +198 -0
  18. package/template/.aioson/skills/marketing/references/offer-structure.md +203 -0
  19. package/template/.aioson/skills/marketing/references/one-belief.md +149 -0
  20. package/template/.aioson/skills/marketing/references/patterns.md +218 -0
  21. package/template/.aioson/skills/marketing/references/pms-research.md +193 -0
  22. package/template/.aioson/skills/marketing/vsl-craft.md +385 -0
  23. package/template/.aioson/skills/static/landing-page-deploy.md +192 -0
  24. package/template/.aioson/skills/static/landing-page-forge.md +730 -0
  25. package/template/.aioson/skills/static/ui-ux-modern.md +1 -0
  26. package/template/.aioson/tasks/squad-create.md +22 -0
  27. package/template/.aioson/tasks/squad-design.md +30 -0
  28. package/template/.aioson/templates/squads/digital-marketing-agency/template.json +96 -0
  29. package/template/CLAUDE.md +1 -0
  30. package/template/.aioson/skills/design-system/components/SKILL.md:Zone.Identifier +0 -0
  31. package/template/.aioson/skills/design-system/dashboards/SKILL.md:Zone.Identifier +0 -0
  32. package/template/.aioson/skills/design-system/foundations/SKILL.md:Zone.Identifier +0 -0
  33. package/template/.aioson/skills/design-system/motion/SKILL.md:Zone.Identifier +0 -0
  34. package/template/.aioson/skills/design-system/patterns/SKILL.md:Zone.Identifier +0 -0
@@ -0,0 +1,385 @@
1
+ ---
2
+ name: vsl-craft
3
+ description: Video Sales Letter production skill — script structure, hook formulas, retention techniques, testing methodology, and production specs. Loaded by @copywriter when Mode 5 (VSL) is active.
4
+ ---
5
+
6
+ # VSL Craft — Video Sales Letter Production
7
+
8
+ ## When to load this skill
9
+
10
+ - User requests a VSL script
11
+ - User requests a video sales page (page with embedded sales video)
12
+ - User requests an advertorial video
13
+ - @copywriter Mode 5 is activated
14
+ - Squad executor with VSL deliverable
15
+
16
+ ---
17
+
18
+ ## 1. What is a VSL?
19
+
20
+ A Video Sales Letter is a scripted video (typically 10-45 minutes) designed to convert cold traffic into buyers. It replaces the live salesperson with a pre-recorded, optimized sales presentation.
21
+
22
+ **Key differences from a written sales page:**
23
+ - The viewer can't scan — they must watch sequentially
24
+ - Retention is everything — if they leave at minute 3, the offer at minute 20 never gets seen
25
+ - Audio + visual = two channels to reinforce the message
26
+ - Pacing, pauses, and emotional tone are scripted, not left to chance
27
+
28
+ ---
29
+
30
+ ## 2. VSL formats
31
+
32
+ ### 2.1 Traditional VSL (horizontal)
33
+ - 16:9 format, presenter or slides
34
+ - Duration: 15-45 minutes
35
+ - Best for: sophisticated offers, higher ticket (R$297+), cold traffic from YouTube/Facebook
36
+ - Production: can be "ugly" (slides only) or "cinematic" (B-roll, editing)
37
+
38
+ ### 2.2 Vertical VSL (mobile-native)
39
+ - 9:16 format, looks like organic content
40
+ - Duration: 3-15 minutes
41
+ - Best for: TikTok/Reels traffic, lower ticket, younger audiences
42
+ - Production: phone-filmed, fast cuts, captions mandatory
43
+
44
+ ### 2.3 Hybrid (advertorial + VSL)
45
+ - Written advertorial page with embedded video at the mechanism section
46
+ - The text does Act 1-2, the video does Act 3-5
47
+ - Best for: sophisticated audiences who want to read before watching
48
+
49
+ ---
50
+
51
+ ## 3. The VSL script structure (5 Acts adapted for video)
52
+
53
+ ### Act 1 — The Hook (0:00 to 0:30)
54
+
55
+ **Goal:** Stop the scroll and keep them watching for the next 30 seconds.
56
+
57
+ **The 3-second rule:** If the first 3 seconds aren't arresting, the viewer leaves.
58
+
59
+ **Hook formulas for VSL:**
60
+
61
+ **Formula 1: The Discovery Hook**
62
+ > "What you're about to see in the next [X] minutes could change the way you [desired outcome] forever. I'm going to show you [specific discovery] that [specific proof]."
63
+
64
+ **Formula 2: The Proof-First Hook**
65
+ > "[Name], [age], from [city], lost [specific result] in [specific time]. And she did it without [painful thing]. Today I'm going to show you exactly how — and why it works even if [objection]."
66
+
67
+ **Formula 3: The Paradox Hook**
68
+ > "Why do [specific group] [achieve result] while [audience group] [fail despite effort]? The answer has nothing to do with [obvious thing] — and everything to do with [curiosity element]."
69
+
70
+ **Formula 4: The Warning Hook**
71
+ > "If you're [doing common thing], stop immediately. A [authority/study] just revealed that [counterintuitive finding] — and it's costing you [consequence]. Stay with me for [time] and I'll show you [solution]."
72
+
73
+ **Formula 5: The Story Hook**
74
+ > "Last [day], [specific person] sent me this message: [screenshot/quote]. [X time] ago, they were [painful situation]. Today they [desired outcome]. This is their story — and it starts with [curiosity element]."
75
+
76
+ **Anti-pattern hooks:**
77
+ - "Hey everyone, welcome to my channel..." → Zero curiosity
78
+ - "In this video I'm going to talk about..." → Passive, no hook
79
+ - "So, I've been getting a lot of questions about..." → About you, not them
80
+
81
+ ### Act 2 — The Background (0:30 to 3:00)
82
+
83
+ **Goal:** Build authority and emotional connection quickly.
84
+
85
+ **For expert-led VSL:**
86
+ > "[Credentials in one sentence]. But what matters more than my degrees is this: I've helped [specific number] of people [achieve result], and what I discovered along the way is the reason you're watching this video."
87
+
88
+ **For avatar transformation:**
89
+ > "I know what it's like to [specific pain]. [Time] ago, I was [painful situation — specific details]. I tried [what they've tried]. Nothing worked. Until [discovery moment]."
90
+
91
+ **Key rule:** Act 2 must be SHORT in a VSL. On a written page, you can have a long background section. On video, 1-2 minutes max. Get to the mechanism fast.
92
+
93
+ ### Act 3 — The Mechanism (3:00 to 12:00)
94
+
95
+ **Goal:** Create the "Aha!" moment. This is where the One Belief is built.
96
+
97
+ **Structure:**
98
+
99
+ **Part A — Why nothing else worked (2-4 minutes)**
100
+ 1. Name what they've tried (validate their experience)
101
+ 2. Reveal the hidden reason it failed (the enemy — not them)
102
+ 3. Use a visual metaphor or diagram to make the concept tangible
103
+
104
+ **Part B — How [Mechanism Name] works (3-5 minutes)**
105
+ 1. Introduce the mechanism by name
106
+ 2. Explain it at surface level (simple enough for a 12-year-old)
107
+ 3. Show ONE proof point (study, case study, demonstration)
108
+ 4. Use B-roll or diagrams to illustrate — never just talk over static slides for more than 30 seconds
109
+
110
+ **Retention techniques for Act 3:**
111
+ - **Pattern interrupt every 60-90 seconds:** Change the visual, show a diagram, cut to B-roll, display a quote
112
+ - **Open loops:** "In a moment I'll show you the third step — but first you need to understand why..."
113
+ - **Micro-fascinations:** Drop curiosity bullets throughout: "The ingredient I'm about to mention is in 90% of Brazilian homes but nobody knows it does THIS..."
114
+ - **Density escalation:** Each minute should be MORE interesting than the last, not less
115
+
116
+ ### Act 4 — The Offer (12:00 to 18:00)
117
+
118
+ **Goal:** Transition from education to sale without breaking trust.
119
+
120
+ **The transition bridge:**
121
+ > "So now you understand WHY [mechanism] works and HOW it produces [result]. The question is: how do YOU implement it? That's exactly why I created [Product Name]."
122
+
123
+ **VSL-specific offer rules:**
124
+ - Never call it a "course" — use Protocol, System, Blueprint, Accelerator
125
+ - Show each component visually (mockup, icon, or slide)
126
+ - Read the fascinations with enthusiasm — pacing matters
127
+ - Pause after stating the price — let it sink in
128
+ - Show the guarantee prominently (text on screen + verbal)
129
+
130
+ **Reference:** `.aioson/skills/marketing/references/offer-structure.md`
131
+
132
+ ### Act 5 — The Close (18:00 to 22:00)
133
+
134
+ **Goal:** Push the fence-sitters over the edge.
135
+
136
+ **The Two Paths technique (optimized for video):**
137
+ > "Right now, you're at a fork in the road.
138
+ > [Pause — 2 seconds]
139
+ > Path one: you close this video. You go back to [specific pain]. Tomorrow feels the same as today. Next month, same. Next year...
140
+ > [Pause — 3 seconds]
141
+ > Path two: you click the button below. You start [Product Name] today. In [timeframe], you [specific visualizable result].
142
+ > [Pause — 2 seconds]
143
+ > Which path makes more sense?"
144
+
145
+ **Recovery techniques (the "Kenyan Village" strategy):**
146
+ - **Pause thumbnail:** When the viewer pauses, a thumbnail appears with a hook to resume
147
+ - **Exit-intent popup:** On the page, when cursor moves to close — offer a discount or bonus
148
+ - **Post-VSL autoplay:** After the main VSL, play a shorter 3-minute "for those still deciding" video
149
+ - **SMS/email retargeting:** Capture email early (before VSL starts) and send follow-up sequence
150
+
151
+ ---
152
+
153
+ ## 4. VSL script format
154
+
155
+ When writing a VSL script, use this format:
156
+
157
+ ```markdown
158
+ # VSL Script: [Product Name]
159
+
160
+ ## Metadata
161
+ - Duration target: [X] minutes
162
+ - Format: Horizontal / Vertical
163
+ - Traffic temperature: Cold / Warm / Hot
164
+ - One Belief: "[New Opportunity] is the key to [Benefit] through [Mechanism]"
165
+ - Awareness level: [1-5]
166
+
167
+ ---
168
+
169
+ ## ACT 1 — HOOK (0:00–0:30)
170
+
171
+ ### VISUAL:
172
+ [What appears on screen]
173
+
174
+ ### AUDIO:
175
+ [What is said — scripted word-for-word]
176
+
177
+ ### NOTES:
178
+ [Production notes: B-roll, text overlay, music cue]
179
+
180
+ ---
181
+
182
+ ## ACT 2 — BACKGROUND (0:30–3:00)
183
+
184
+ ### VISUAL:
185
+ [Screen description]
186
+
187
+ ### AUDIO:
188
+ [Script]
189
+
190
+ ### NOTES:
191
+ [Production notes]
192
+
193
+ ---
194
+
195
+ ## ACT 3 — MECHANISM (3:00–12:00)
196
+
197
+ ### 3A — Why nothing else worked
198
+
199
+ #### VISUAL:
200
+ [Screen]
201
+
202
+ #### AUDIO:
203
+ [Script]
204
+
205
+ #### PATTERN INTERRUPT at [timestamp]:
206
+ [Visual change / diagram / B-roll description]
207
+
208
+ ### 3B — How [Mechanism] works
209
+
210
+ #### VISUAL:
211
+ [Screen]
212
+
213
+ #### AUDIO:
214
+ [Script]
215
+
216
+ #### PROOF POINT:
217
+ [Study / case study / demonstration]
218
+
219
+ ---
220
+
221
+ ## ACT 4 — OFFER (12:00–18:00)
222
+
223
+ ### TRANSITION:
224
+
225
+ #### AUDIO:
226
+ [Bridge sentence]
227
+
228
+ ### COMPONENT STACK:
229
+
230
+ #### VISUAL:
231
+ [Mockup / slide of each component]
232
+
233
+ #### AUDIO:
234
+ [Component name, benefit, value, fascination]
235
+
236
+ ### PRICE REVEAL:
237
+
238
+ #### VISUAL:
239
+ [Anchoring → crossed out prices → final price]
240
+
241
+ #### AUDIO:
242
+ [Not paying X. Not even Y. Today: Z. Reason why.]
243
+
244
+ ### GUARANTEE:
245
+
246
+ #### VISUAL:
247
+ [Guarantee badge / text on screen]
248
+
249
+ #### AUDIO:
250
+ [Full guarantee statement]
251
+
252
+ ---
253
+
254
+ ## ACT 5 — CLOSE (18:00–22:00)
255
+
256
+ ### TWO PATHS:
257
+
258
+ #### AUDIO:
259
+ [Path 1 → Path 2 → Which makes more sense?]
260
+
261
+ ### FINAL CTA:
262
+
263
+ #### VISUAL:
264
+ [Button, URL, QR code on screen]
265
+
266
+ #### AUDIO:
267
+ [Click the button below / link in description]
268
+
269
+ ### RECOVERY ELEMENTS:
270
+ - Pause thumbnail text: [text]
271
+ - Exit-intent offer: [discount/bonus]
272
+ - Post-VSL summary video: [Y/N]
273
+ ```
274
+
275
+ ---
276
+
277
+ ## 5. Testing methodology
278
+
279
+ ### Phase 1 — Validate the thesis (before production)
280
+ Create an "ugly" VSL:
281
+ - White background, black text on slides
282
+ - Presenter reads from teleprompter (or text-to-speech for testing)
283
+ - No B-roll, no editing, no music
284
+ - Duration: 10-15 minutes (condensed version)
285
+
286
+ Run R$500-R$1,000 in cold traffic. Measure:
287
+ - **Hook retention:** % watching past 30 seconds (target: >50%)
288
+ - **Mechanism retention:** % watching past Act 3 (target: >25%)
289
+ - **Offer conversion:** % who reach offer AND click CTA (target: >2%)
290
+
291
+ If the ugly version converts → invest in production.
292
+ If it doesn't → rewrite the script before spending on video production.
293
+
294
+ ### Phase 2 — Optimize the hook
295
+ Create 3-5 hook variations (first 30 seconds only).
296
+ Run equal traffic to each. The winning hook gets 2-3x more budget.
297
+
298
+ **Hook metrics:**
299
+ - 3-second retention rate
300
+ - 15-second retention rate
301
+ - 30-second retention rate
302
+
303
+ ### Phase 3 — Scale with production
304
+ Once the script is validated:
305
+ - Add B-roll and visual elements
306
+ - Professional audio recording
307
+ - Add pattern interrupts and visual variety
308
+ - Consider vertical format for mobile-first traffic
309
+
310
+ ---
311
+
312
+ ## 6. VSL page structure
313
+
314
+ The page that hosts the VSL should be minimal:
315
+
316
+ ```html
317
+ <!-- Above the fold — ONLY the video -->
318
+ <section class="vsl-hero">
319
+ <div class="video-container">
320
+ <!-- Video player (VTurb, Wistia, or custom) -->
321
+ <!-- CTA button appears ONLY after offer section plays -->
322
+ </div>
323
+ </section>
324
+
325
+ <!-- Below the fold — revealed after video plays past offer -->
326
+ <section class="vsl-offer">
327
+ <!-- Component stack (text version of what's in the video) -->
328
+ <!-- Guarantee -->
329
+ <!-- CTA button -->
330
+ <!-- FAQ -->
331
+ <!-- Testimonials -->
332
+ </section>
333
+ ```
334
+
335
+ **Key rules:**
336
+ - **No navigation menu** — remove all escape routes
337
+ - **CTA button hidden until the offer section plays** — don't let them see the price before the mechanism
338
+ - **Video auto-plays on mute with captions** — most mobile traffic has sound off
339
+ - **Exit-intent popup** — "Wait! Before you go..." with a discount or bonus
340
+ - **Timer optional** — only if the offer has a real deadline
341
+
342
+ ---
343
+
344
+ ## 7. Production specifications
345
+
346
+ ### Audio
347
+ - Clear, professional recording (condenser mic, treated room)
348
+ - Pacing: 150-170 words per minute (conversational speed)
349
+ - Consider 1.1x-1.3x playback speed for higher engagement
350
+ - Music: subtle background only, never competing with voice
351
+
352
+ ### Video
353
+ - Resolution: minimum 1080p
354
+ - B-roll: 2-3 second clips every 60-90 seconds in Act 3
355
+ - Text overlays: key claims and proof points on screen while spoken
356
+ - Captions: always (auto-generated + manually corrected)
357
+
358
+ ### Hosting
359
+ - VTurb (Brazilian market — best heatmap and button reveal features)
360
+ - Wistia (international — CTA tools built in)
361
+ - Custom player (maximum control — no platform branding)
362
+
363
+ ---
364
+
365
+ ## 8. Conditional reference loading
366
+
367
+ When writing a VSL script, the @copywriter agent should load:
368
+
369
+ | Phase | Load |
370
+ |---|---|
371
+ | Research | `pms-research.md` + `market-intelligence.md` |
372
+ | Script — hook | `one-belief.md` + `patterns.md` (headline formulas adapt to hooks) |
373
+ | Script — mechanism | `five-acts.md` (Acts 3 focus) |
374
+ | Script — offer | `offer-structure.md` + `fascinations.md` |
375
+ | Script — validation | `anti-patterns.md` |
376
+
377
+ ---
378
+
379
+ ## 9. Output contract
380
+
381
+ VSL script saves to: `.aioson/context/vsl-script-{slug}.md`
382
+ VSL page spec saves to: `.aioson/context/vsl-page-{slug}.md` (if page design is needed)
383
+
384
+ If invoked from @ux-ui: return the page spec for visual implementation.
385
+ If invoked from a squad: save to the squad's output directory.
@@ -0,0 +1,192 @@
1
+ ---
2
+ name: landing-page-deploy
3
+ description: Deploy workflows for landing pages and static sites — Vercel (Git-connected, CDN) and Hostinger VPS (LiteSpeed). Load when the user asks to deploy a site or when project_type=site is ready for production.
4
+ ---
5
+
6
+ # Landing Page Deploy
7
+
8
+ Two production-ready deploy paths. Choose based on where your domain is registered and your cost preference.
9
+
10
+ ---
11
+
12
+ ## Path A — Vercel (recommended for Cloudflare domains + automated CI/CD)
13
+
14
+ **Requirements:**
15
+ - Vercel account (Pro plan minimum — $20/mo — for custom domain on production)
16
+ - Domain registered in Cloudflare (or any DNS provider with CNAME/A record access)
17
+ - Git repository (GitHub, GitLab, or Bitbucket)
18
+
19
+ ### Step A1 — Create Vercel project
20
+ ```bash
21
+ # If Vercel CLI is installed
22
+ vercel login
23
+ vercel --prod
24
+ ```
25
+
26
+ Or via dashboard: vercel.com → New Project → Import Git Repository
27
+
28
+ ### Step A2 — Configure project settings
29
+ - Framework Preset: `Other` (for plain HTML) or the correct framework
30
+ - Build Command: leave blank for plain HTML
31
+ - Output Directory: `.` or `dist` (wherever index.html lives)
32
+ - Install Command: leave blank for plain HTML
33
+
34
+ ### Step A3 — Connect domain (Cloudflare DNS)
35
+ 1. In Vercel: Settings → Domains → Add `yourdomain.com` and `www.yourdomain.com`
36
+ 2. Vercel shows you DNS records to add
37
+ 3. In Cloudflare: DNS → Add records as shown by Vercel
38
+ - Type A: `@` → Vercel IP (proxied OFF — orange cloud OFF for Vercel)
39
+ - Type CNAME: `www` → `cname.vercel-dns.com`
40
+ 4. Wait for propagation (5–30 min)
41
+
42
+ ### Step A4 — Verify SSL
43
+ Vercel auto-provisions SSL via Let's Encrypt. Verify:
44
+ - `https://yourdomain.com` loads without warnings
45
+ - `https://www.yourdomain.com` redirects correctly
46
+
47
+ ### Step A5 — Set environment variables (if needed)
48
+ Vercel Dashboard → Settings → Environment Variables
49
+ Add tracking IDs, API keys as env vars — never hardcode them.
50
+
51
+ ### Step A6 — Post-deploy validation checklist
52
+ - [ ] Production URL loads correctly
53
+ - [ ] SSL certificate active (green padlock)
54
+ - [ ] www → non-www redirect working (or vice versa — consistent)
55
+ - [ ] Preview URL from Vercel PR/branch works
56
+ - [ ] Analytics receiving data (Vercel Analytics or GA)
57
+ - [ ] Meta Pixel fires on production URL (verify with Pixel Helper)
58
+ - [ ] GTM fires on production URL (verify with Tag Assistant)
59
+ - [ ] Test UTM: `https://yourdomain.com?utm_source=test` → check sessionStorage
60
+
61
+ ### Vercel MCP integration (for automated deploy from Claude Code)
62
+ If the Vercel MCP is configured in Claude Code:
63
+ ```
64
+ # Deploy current project to Vercel production
65
+ vercel deploy --prod
66
+ ```
67
+ Claude Code can trigger deploys directly via MCP without leaving the session.
68
+
69
+ ---
70
+
71
+ ## Path B — Hostinger VPS (recommended for BRL billing + Brazilian users)
72
+
73
+ **Requirements:**
74
+ - Hostinger VPS plan (R$29.90+/mo, includes free domain on some plans)
75
+ - Domain registered in Hostinger (or any DNS provider)
76
+ - SSH access to the VPS
77
+
78
+ ### Step B1 — Prepare VPS
79
+ ```bash
80
+ # SSH into VPS
81
+ ssh root@YOUR_VPS_IP
82
+
83
+ # Update system
84
+ apt update && apt upgrade -y
85
+
86
+ # Install LiteSpeed (or use OpenLiteSpeed — pre-installed on some plans)
87
+ # Check if already installed
88
+ litespeed -v
89
+
90
+ # Create site directory
91
+ mkdir -p /var/www/yourdomain.com/public_html
92
+ ```
93
+
94
+ ### Step B2 — Upload site files
95
+ ```bash
96
+ # From local machine — upload entire site folder
97
+ scp -r ./dist/* root@YOUR_VPS_IP:/var/www/yourdomain.com/public_html/
98
+
99
+ # Or use rsync for incremental updates
100
+ rsync -avz --delete ./dist/ root@YOUR_VPS_IP:/var/www/yourdomain.com/public_html/
101
+ ```
102
+
103
+ ### Step B3 — Configure virtual host (LiteSpeed)
104
+ Via Hostinger hPanel → Websites → Add Website → point to your folder.
105
+
106
+ Or via CLI if you have direct LiteSpeed access:
107
+ ```
108
+ # /usr/local/lsws/conf/vhosts/yourdomain.com/vhconf.conf
109
+ docRoot /var/www/yourdomain.com/public_html/
110
+ ```
111
+
112
+ ### Step B4 — SSL certificate
113
+ ```bash
114
+ # Using Let's Encrypt via certbot
115
+ apt install certbot python3-certbot-apache -y
116
+ certbot --apache -d yourdomain.com -d www.yourdomain.com
117
+
118
+ # Auto-renewal
119
+ certbot renew --dry-run
120
+ ```
121
+
122
+ Or use Hostinger's built-in SSL (hPanel → SSL → Free SSL).
123
+
124
+ ### Step B5 — Set up domain DNS
125
+ In Hostinger hPanel → Domains → DNS Zone:
126
+ - Type A: `@` → your VPS IP
127
+ - Type A: `www` → your VPS IP
128
+
129
+ Or in Cloudflare if domain is there:
130
+ - Type A: `@` → VPS IP (proxied ON for DDoS protection)
131
+ - Type A: `www` → VPS IP (proxied ON)
132
+
133
+ ### Step B6 — Start web service
134
+ ```bash
135
+ # LiteSpeed
136
+ service lsws start
137
+
138
+ # Verify site is accessible
139
+ curl -I https://yourdomain.com
140
+ ```
141
+
142
+ ### Step B7 — Post-deploy validation checklist
143
+ - [ ] Production URL loads correctly
144
+ - [ ] SSL active (no mixed content warnings)
145
+ - [ ] PageSpeed score ≥ 90 (LiteSpeed cache helps significantly)
146
+ - [ ] `curl -I https://yourdomain.com` returns `200 OK`
147
+ - [ ] Meta Pixel fires on production URL
148
+ - [ ] GTM fires on production URL
149
+ - [ ] UTM capture working end-to-end
150
+ - [ ] Form submissions go to the correct endpoint
151
+
152
+ ---
153
+
154
+ ## Deploy decision matrix
155
+
156
+ | Factor | Vercel | Hostinger VPS |
157
+ |---|---|---|
158
+ | Domain in Cloudflare | ✓ Best | Works |
159
+ | Domain in Hostinger | Works | ✓ Best |
160
+ | Pay in BRL | ✗ USD only | ✓ BRL |
161
+ | Automated CI/CD | ✓ Git-push deploys | Manual rsync |
162
+ | MCP integration | ✓ Available | SSH only |
163
+ | Serverless functions | ✓ Edge functions | ✗ Not native |
164
+ | Cache/CDN | Vercel Edge Network | LiteSpeed cache |
165
+ | Cheapest option | $20/mo USD | R$29.90/mo BRL |
166
+ | Best for Brazilian users | Both | LiteSpeed + BR server |
167
+
168
+ ---
169
+
170
+ ## Deploy from within Claude Code (no manual steps)
171
+
172
+ ### Vercel via MCP
173
+ If Vercel MCP is connected in Claude Code settings, the agent can deploy directly:
174
+ ```
175
+ Deploy this project to Vercel production with domain yourdomain.com
176
+ ```
177
+
178
+ ### Hostinger via SSH
179
+ Claude Code can SSH into the VPS and run the deploy:
180
+ ```bash
181
+ # The agent executes this sequence
182
+ ssh root@VPS_IP "cd /var/www/yourdomain.com/public_html && rm -rf *"
183
+ scp -r ./dist/* root@VPS_IP:/var/www/yourdomain.com/public_html/
184
+ ssh root@VPS_IP "service lsws restart"
185
+ ```
186
+
187
+ ### Post-deploy automated check
188
+ After any deploy, run:
189
+ ```bash
190
+ curl -o /dev/null -s -w "%{http_code}" https://yourdomain.com
191
+ # Should return 200
192
+ ```