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 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