vibespot 1.6.5 → 1.8.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.
Files changed (40) hide show
  1. package/README.md +24 -3
  2. package/assets/whats-new.json +27 -0
  3. package/dist/index.js +579 -681
  4. package/dist/index.js.map +1 -1
  5. package/package.json +8 -5
  6. package/ui/chat.js +671 -9
  7. package/ui/dashboard.js +53 -12
  8. package/ui/docs/index.html +57 -2
  9. package/ui/email-preview.js +1 -5
  10. package/ui/escape-html.js +14 -0
  11. package/ui/field-editor.js +6 -12
  12. package/ui/field-save.js +82 -0
  13. package/ui/index.html +10 -4
  14. package/ui/inline-edit.js +116 -570
  15. package/ui/plan.js +22 -13
  16. package/ui/preview-agent.js +1050 -0
  17. package/ui/preview.js +248 -265
  18. package/ui/section-controls.js +16 -622
  19. package/ui/setup.js +73 -20
  20. package/ui/styles.css +424 -0
  21. package/ui/upload-panel.js +7 -8
  22. package/ui/whats-new.js +249 -0
  23. package/assets/readme/00-hero-banner.png +0 -0
  24. package/assets/readme/00-hero-banner.svg +0 -59
  25. package/assets/readme/01-vibe-coding-hero.png +0 -0
  26. package/assets/readme/02-plan-mode.png +0 -0
  27. package/assets/readme/03-figma-import.png +0 -0
  28. package/assets/readme/04-multi-page-sites.png +0 -0
  29. package/assets/readme/05-inline-wysiwyg.png +0 -0
  30. package/assets/readme/06-hubspot-upload.png +0 -0
  31. package/ui/docs/screenshots/brand-kit-preview.png +0 -0
  32. package/ui/docs/screenshots/content-type-dropdown.png +0 -0
  33. package/ui/docs/screenshots/editor-full-layout.png +0 -0
  34. package/ui/docs/screenshots/inline-wysiwyg-editing.png +0 -0
  35. package/ui/docs/screenshots/module-overview-slideout.png +0 -0
  36. package/ui/docs/screenshots/multi-page-tree.png +0 -0
  37. package/ui/docs/screenshots/onboarding-walkthrough.png +0 -0
  38. package/ui/docs/screenshots/split-pane-view.png +0 -0
  39. package/ui/docs/screenshots/visual-controls-toolbar.png +0 -0
  40. package/ui/docs/screenshots/workspace-tabs.png +0 -0
package/README.md CHANGED
@@ -37,11 +37,21 @@ Requires Node.js 18+. No HubSpot CLI install needed — vibeSpot talks to HubSpo
37
37
 
38
38
  Type what you want on the left. Watch real HubSpot modules render on the right — Split, Plan, and Code views, all live. A four-stage agentic pipeline (Intent → Architect → Module Developer → Quality Check) generates modules in parallel and auto-fixes common HubL issues before they reach you.
39
39
 
40
- ### 2. Deliberate before you generatePlan mode
40
+ ### 2. Check the work before the expensive build Checkpoints
41
41
 
42
- <img src="assets/readme/02-plan-mode.png" alt="Plan mode: AI asks elicitation questions and builds a markdown plan" width="100%">
42
+ <p align="center">
43
+ <img src="assets/readme/02-checkpoints.png" alt="Design checkpoint card: palette, type specimen, sample hero, and the estimated build cost — with approve, steer, skip, and cancel actions" width="360">
44
+ </p>
45
+
46
+ By default vibeSpot doesn't run the whole pipeline in one blind shot. It pauses at cheap seams and shows you a card before spending tokens on the parallel module build:
43
47
 
44
- Vague brief? Toggle Plan mode. vibeSpot asks the questions a senior designer would audience, primary CTA, sections, voice and builds a markdown plan in the right pane. Generation is hard-gated until you approve. Pre-canned templates skip the cold start for common page types.
48
+ - **Brand intake** when your theme has no style system yet, vibeSpot asks first: bring your brand (colors, code, an existing theme, a live site, your voice) or let it choose for you.
49
+ - **Design checkpoint** — palette swatches, a type specimen, and one sample hero, rendered straight from the design tokens. No extra model call.
50
+ - **Structure checkpoint** — the planned modules as an editable outline. Reorder, rename, cut, or add sections before a single module is built.
51
+
52
+ Each card shows the estimated cost of the build it gates. **Approve** to continue, **steer** with a note to redo just that stage, **skip** to build now, or **cancel** to write nothing. In a hurry? The one-tap **one-shot** button next to send skips every gate — the old one-call behaviour.
53
+
54
+ **Plan mode** is the heaviest checkpoint variant. Toggle it on for a vague brief and vibeSpot asks the questions a senior designer would — audience, primary CTA, sections, voice — and builds a markdown plan in the right pane. Generation is hard-gated until you approve. Pre-canned templates skip the cold start for common page types.
45
55
 
46
56
  ### 3. Translate Figma 1:1
47
57
 
@@ -103,6 +113,16 @@ Every model produced valid, complete pages — 100% validator pass and section c
103
113
  3. **Run it** — `npx vibespot`. The browser opens.
104
114
  4. **Connect HubSpot** — Settings → HubSpot → add a Personal Access Key. vibeSpot connects via the HubSpot API directly. No CLI install.
105
115
 
116
+ ### Access from another device (LAN / Tailscale)
117
+
118
+ For security, vibeSpot binds to `127.0.0.1` only — other devices can't reach it out of the box. To use it from an iPad or another machine:
119
+
120
+ ```bash
121
+ VIBESPOT_HOST=0.0.0.0 npx vibespot
122
+ ```
123
+
124
+ The terminal prints a URL containing a one-time access token (`?token=...`). Open **that exact URL** on the other device — it's the auth secret, and it's exchanged for a session cookie on first load. Pin a stable token with `VIBESPOT_AUTH_TOKEN`, e.g. `openssl rand -hex 24`. Behind `tailscale serve` (which keeps the loopback bind), set `VIBESPOT_AUTH_TOKEN` and open the tokenized URL the same way.
125
+
106
126
  ## Commands
107
127
 
108
128
  Most users only need `npx vibespot`. The web UI handles everything else.
@@ -118,6 +138,7 @@ vibespot doctor # Diagnose environment issues
118
138
 
119
139
  ## What's new in v1.3
120
140
 
141
+ - **Release highlights on upgrade** — open the builder on a new version and a dialog shows what changed, with a link to the full changelog. Dismiss it and it stays gone until the next release.
121
142
  - **Email template generation** — full pipeline for HubSpot emails: table layouts, MSO/VML compatibility, email validator auto-fix, 3 email starters.
122
143
  - **Multi-page sites** — single prompt → full site with shared header/footer, page tree, navigation validation.
123
144
  - **Inline WYSIWYG editing** — edit text, images, and links directly in the live preview with per-section visual controls.
@@ -0,0 +1,27 @@
1
+ {
2
+ "version": "1.8.0",
3
+ "date": "2026-07-06",
4
+ "changelogUrl": "https://github.com/borismichel/vibespot/blob/main/CHANGELOG.md",
5
+ "highlights": [
6
+ {
7
+ "title": "Dead Postgres storage backend removed",
8
+ "body": "the never-wired pg adapter, its deps, and the unused compose Postgres service are gone; Docker/compose docs now consistently describe filesystem-only persistence ; non-runtime screenshot/readme image…"
9
+ },
10
+ {
11
+ "title": "server.ts split into router + WebSocket modules",
12
+ "body": "internal refactor, no behavior change. The ~78-case /api/ switch is now a declarative route table + dispatcher (src/server/routes/api-router.ts, exact paths with per-verb 405s plus the two pattern…"
13
+ },
14
+ {
15
+ "title": "Consolidated drifting duplication",
16
+ "body": "four byte-duplicated code paths that had already produced real drift bugs are collapsed onto single implementations:"
17
+ },
18
+ {
19
+ "title": "Live preview no longer fails silently after an in-place upgrade",
20
+ "body": "when /api/preview-origin can't be resolved (a stale cached ui/preview.js hitting a moved route after an upgrade, the preview-origin process not running, or its port blocked), refreshPreview used to…"
21
+ },
22
+ {
23
+ "title": "Editor URL reload no longer discards inline field edits",
24
+ "body": "reloading the tab (or navigating to #/app/<theme>) hits POST /api/setup/open, which always rebuilt a fresh session from the theme folder on disk."
25
+ }
26
+ ]
27
+ }