hubvibes 0.1.9
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/README.md +166 -0
- package/assets/conversion-guide.md +693 -0
- package/bin/hubvibes.mjs +11 -0
- package/dist/index.js +2701 -0
- package/dist/index.js.map +1 -0
- package/package.json +48 -0
package/README.md
ADDED
|
@@ -0,0 +1,166 @@
|
|
|
1
|
+
# hubVibes
|
|
2
|
+
|
|
3
|
+
Convert Lovable/React landing pages to HubSpot CMS — AI-powered CLI tool.
|
|
4
|
+
|
|
5
|
+
```
|
|
6
|
+
██ ██ ██ ██ █████ ≋≋≋≋≋≋≋≋ ██ ██ ██ █████ ▄▄▄▄▄ ▄▄▄▄▄
|
|
7
|
+
██ ██ ██ ██ ██ ██ ≋≋≋≋≋≋ ██ ██ ██ ██ ██ ██ ██
|
|
8
|
+
██▀▀██ ██ ██ █████ ≋≋≋≋ ██ ██ ██ █████ ████ ▀▀▀▄
|
|
9
|
+
██ ██ ██ ██ ██ ██ ≋≋≋≋≋≋ █▄▄█▀ ██ ██ ██ ██ ██
|
|
10
|
+
██ ██ ████ █████ ≋≋≋≋≋≋≋≋ ▀▀▀ ██ █████ ▀▀▀▀▀ ▀▀▀▀
|
|
11
|
+
|
|
12
|
+
Lovable / React → HubSpot CMS
|
|
13
|
+
```
|
|
14
|
+
|
|
15
|
+
## What It Does
|
|
16
|
+
|
|
17
|
+
hubVibes takes a React landing page (built with Lovable, v0, Bolt, or any React-based builder) and converts it into native HubSpot CMS modules — fully editable in the HubSpot page editor. No coding knowledge required.
|
|
18
|
+
|
|
19
|
+
It handles everything:
|
|
20
|
+
- Checks your environment and installs missing tools
|
|
21
|
+
- Clones your React repo from GitHub (or uses a local folder)
|
|
22
|
+
- Analyzes the component structure
|
|
23
|
+
- Uses AI to convert each section into a HubSpot module
|
|
24
|
+
- Uploads the result to your HubSpot portal
|
|
25
|
+
- Guides you through creating your landing page
|
|
26
|
+
|
|
27
|
+
## Setup Guide
|
|
28
|
+
|
|
29
|
+
### 1. Check if Node.js is installed
|
|
30
|
+
|
|
31
|
+
Open a terminal and run:
|
|
32
|
+
|
|
33
|
+
```bash
|
|
34
|
+
node -v
|
|
35
|
+
```
|
|
36
|
+
|
|
37
|
+
**Mac:** Open **Terminal** (press `Cmd + Space`, type "Terminal", press Enter).
|
|
38
|
+
**Windows:** Open **PowerShell** (press `Win + X`, choose "PowerShell") or **Command Prompt** (press `Win + R`, type `cmd`, press Enter).
|
|
39
|
+
|
|
40
|
+
If you see a version number like `v18.x.x` or higher — you're good, skip to step 2.
|
|
41
|
+
|
|
42
|
+
If you see "command not found" or an error, you need to install Node.js:
|
|
43
|
+
|
|
44
|
+
**Mac:**
|
|
45
|
+
```bash
|
|
46
|
+
# Option A: Download the installer from https://nodejs.org (pick the LTS version)
|
|
47
|
+
|
|
48
|
+
# Option B: If you have Homebrew installed:
|
|
49
|
+
brew install node
|
|
50
|
+
```
|
|
51
|
+
|
|
52
|
+
**Windows:**
|
|
53
|
+
1. Go to [nodejs.org](https://nodejs.org)
|
|
54
|
+
2. Download the **LTS** version (the big green button)
|
|
55
|
+
3. Run the installer — accept all defaults
|
|
56
|
+
4. **Close and reopen** your terminal so it picks up the new install
|
|
57
|
+
|
|
58
|
+
After installing, run `node -v` again to confirm it works.
|
|
59
|
+
|
|
60
|
+
### 2. Install an AI Engine
|
|
61
|
+
|
|
62
|
+
hubVibes needs an AI coding assistant to power the conversion. Install **one** of these (using `npm`, which comes bundled with Node.js):
|
|
63
|
+
|
|
64
|
+
| Engine | Install | Notes |
|
|
65
|
+
|--------|---------|-------|
|
|
66
|
+
| [Claude Code](https://claude.ai/code) | `npm install -g @anthropic-ai/claude-code` | Recommended — uses your Claude subscription |
|
|
67
|
+
| [Gemini CLI](https://github.com/google-gemini/gemini-cli) | `npm install -g @anthropic-ai/gemini-cli` | Uses your Google AI account |
|
|
68
|
+
| [OpenAI Codex](https://github.com/openai/codex) | `npm install -g @openai/codex` | Uses your OpenAI account |
|
|
69
|
+
| Anthropic API | No install — just need an API key | Get a key at [console.anthropic.com](https://console.anthropic.com) |
|
|
70
|
+
|
|
71
|
+
### 3. Run hubVibes
|
|
72
|
+
|
|
73
|
+
```bash
|
|
74
|
+
npx hubvibes
|
|
75
|
+
```
|
|
76
|
+
|
|
77
|
+
The first time you run this, npm will ask:
|
|
78
|
+
|
|
79
|
+
```
|
|
80
|
+
Need to install the following packages: hubvibes
|
|
81
|
+
Ok to proceed? (y)
|
|
82
|
+
```
|
|
83
|
+
|
|
84
|
+
Type **y** and press Enter. It downloads hubVibes and starts the wizard, which walks you through connecting to HubSpot, picking your AI engine, and converting your page.
|
|
85
|
+
|
|
86
|
+
> **Tip:** `npx` comes with Node.js. It downloads and runs tools without installing them permanently. After the first download, subsequent runs start immediately.
|
|
87
|
+
|
|
88
|
+
## After the Conversion
|
|
89
|
+
|
|
90
|
+
Once hubVibes finishes uploading, your theme and modules are in HubSpot — but you still need to **create a landing page** that uses them:
|
|
91
|
+
|
|
92
|
+
1. Go to **HubSpot** → **Content** → **Landing Pages** → **Create**
|
|
93
|
+
2. Choose **your uploaded theme** from the theme picker
|
|
94
|
+
3. Select the landing page template that was just created
|
|
95
|
+
4. Your converted modules will appear — drag them onto the page
|
|
96
|
+
5. Click each section to edit text, images, and colors
|
|
97
|
+
6. Upload images via **File Manager** (Settings → Files)
|
|
98
|
+
7. Preview and publish!
|
|
99
|
+
|
|
100
|
+
## Commands
|
|
101
|
+
|
|
102
|
+
```bash
|
|
103
|
+
hubvibes # Full interactive wizard (default)
|
|
104
|
+
hubvibes init # Check and install required tools
|
|
105
|
+
hubvibes convert # Convert a React project (no upload)
|
|
106
|
+
hubvibes upload # Upload theme to HubSpot
|
|
107
|
+
hubvibes doctor # Diagnose environment issues
|
|
108
|
+
```
|
|
109
|
+
|
|
110
|
+
Most users only need `npx hubvibes` — the wizard handles everything.
|
|
111
|
+
|
|
112
|
+
## How It Works
|
|
113
|
+
|
|
114
|
+
### Environment Check
|
|
115
|
+
|
|
116
|
+
hubVibes checks for Node.js and the HubSpot CLI. If the HubSpot CLI is missing, it installs it for you via npm. If you're not authenticated, it runs `hs init` to connect your HubSpot portal.
|
|
117
|
+
|
|
118
|
+
### Source Setup
|
|
119
|
+
|
|
120
|
+
Paste your GitHub URL or point to a local folder. hubVibes analyzes the component structure — counting components, detecting Tailwind, identifying interactive patterns (carousels, accordions, animations).
|
|
121
|
+
|
|
122
|
+
> **Note:** Cloning from GitHub requires Git. If you don't have Git installed, download your project as a ZIP, unzip it, and provide the local folder path instead.
|
|
123
|
+
|
|
124
|
+
### Theme Setup
|
|
125
|
+
|
|
126
|
+
Fetch your existing HubSpot theme or create a new one from the boilerplate. hubVibes validates the theme structure and auto-patches `base.html` to support custom CSS/JS loading if needed.
|
|
127
|
+
|
|
128
|
+
### AI Conversion
|
|
129
|
+
|
|
130
|
+
Your chosen AI engine analyzes the React code and creates the HubSpot theme files. When using Claude Code, you can choose between Sonnet (fast), Opus (most capable), and Haiku (fastest/cheapest). The conversion creates:
|
|
131
|
+
- **Shared CSS** — Design system variables, theme overrides, utilities
|
|
132
|
+
- **Shared JS** — Scroll animations, interactive features (vanilla JS)
|
|
133
|
+
- **Modules** — One per visual section, each with `fields.json`, `meta.json`, `module.html`, `module.css`
|
|
134
|
+
- **Page template** — Assembles all modules in a drag-and-drop area
|
|
135
|
+
|
|
136
|
+
### Upload & Auto-Fix
|
|
137
|
+
|
|
138
|
+
hubVibes uploads everything to HubSpot. If uploads fail (common with field type issues), it auto-fixes known problems and retries:
|
|
139
|
+
- `textarea` → `text` (deprecated field type)
|
|
140
|
+
- `"name": "name"` → `"name": "item_name"` (reserved name)
|
|
141
|
+
- `now()` → `local_dt` (invalid HubL function)
|
|
142
|
+
|
|
143
|
+
## Configuration
|
|
144
|
+
|
|
145
|
+
Settings are saved in `~/.hubvibes/config.json` so you don't have to re-enter them:
|
|
146
|
+
- `aiEngine` — Your preferred AI engine (`claude-code`, `gemini-cli`, `codex-cli`, or `api`)
|
|
147
|
+
- `lastThemePath` — Last used theme directory
|
|
148
|
+
- `lastSourcePath` — Last used source directory
|
|
149
|
+
|
|
150
|
+
## Troubleshooting
|
|
151
|
+
|
|
152
|
+
**"command not found: node"** — Node.js isn't installed or isn't in your PATH. Re-install from [nodejs.org](https://nodejs.org) and restart your terminal.
|
|
153
|
+
|
|
154
|
+
**"hubVibes has not been built yet"** — You're running from source. Use `npx hubvibes` instead, or run `npm run build` first.
|
|
155
|
+
|
|
156
|
+
**HubSpot upload keeps failing** — Run `hubvibes doctor` to check your setup. Make sure `hs accounts list` shows your portal.
|
|
157
|
+
|
|
158
|
+
**AI conversion is slow or times out** — This is normal for large pages. The conversion can take 2-5 minutes depending on the number of components.
|
|
159
|
+
|
|
160
|
+
## Related
|
|
161
|
+
|
|
162
|
+
- [Conversion Guide](https://github.com/borismichel/lovable-to-hubspot) — Detailed technical guide for the React → HubSpot conversion process
|
|
163
|
+
|
|
164
|
+
## License
|
|
165
|
+
|
|
166
|
+
MIT
|