@growthub/cli 0.3.54 → 0.3.56
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 +56 -156
- package/assets/worker-kits/growthub-ai-website-cloner-v1/.env.example +7 -0
- package/assets/worker-kits/growthub-ai-website-cloner-v1/QUICKSTART.md +116 -0
- package/assets/worker-kits/growthub-ai-website-cloner-v1/brands/NEW-CLIENT.md +22 -0
- package/assets/worker-kits/growthub-ai-website-cloner-v1/brands/_template/brand-kit.md +27 -0
- package/assets/worker-kits/growthub-ai-website-cloner-v1/brands/growthub/brand-kit.md +26 -0
- package/assets/worker-kits/growthub-ai-website-cloner-v1/bundles/growthub-ai-website-cloner-v1.json +53 -0
- package/assets/worker-kits/growthub-ai-website-cloner-v1/docs/ai-website-cloner-fork-integration.md +118 -0
- package/assets/worker-kits/growthub-ai-website-cloner-v1/docs/design-token-system.md +135 -0
- package/assets/worker-kits/growthub-ai-website-cloner-v1/docs/multi-phase-pipeline.md +129 -0
- package/assets/worker-kits/growthub-ai-website-cloner-v1/docs/parallel-builder-dispatch.md +103 -0
- package/assets/worker-kits/growthub-ai-website-cloner-v1/examples/clone-brief-sample.md +54 -0
- package/assets/worker-kits/growthub-ai-website-cloner-v1/examples/component-spec-sample.md +123 -0
- package/assets/worker-kits/growthub-ai-website-cloner-v1/examples/platform-handoff-sample.md +102 -0
- package/assets/worker-kits/growthub-ai-website-cloner-v1/examples/visual-qa-sample.md +119 -0
- package/assets/worker-kits/growthub-ai-website-cloner-v1/growthub-meta/README.md +71 -0
- package/assets/worker-kits/growthub-ai-website-cloner-v1/growthub-meta/kit-standard.md +47 -0
- package/assets/worker-kits/growthub-ai-website-cloner-v1/kit.json +105 -0
- package/assets/worker-kits/growthub-ai-website-cloner-v1/output/README.md +26 -0
- package/assets/worker-kits/growthub-ai-website-cloner-v1/output-standards.md +75 -0
- package/assets/worker-kits/growthub-ai-website-cloner-v1/runtime-assumptions.md +70 -0
- package/assets/worker-kits/growthub-ai-website-cloner-v1/setup/check-deps.sh +50 -0
- package/assets/worker-kits/growthub-ai-website-cloner-v1/setup/clone-fork.sh +66 -0
- package/assets/worker-kits/growthub-ai-website-cloner-v1/setup/verify-env.mjs +78 -0
- package/assets/worker-kits/growthub-ai-website-cloner-v1/skills.md +186 -0
- package/assets/worker-kits/growthub-ai-website-cloner-v1/templates/asset-manifest.md +57 -0
- package/assets/worker-kits/growthub-ai-website-cloner-v1/templates/builder-dispatch-plan.md +92 -0
- package/assets/worker-kits/growthub-ai-website-cloner-v1/templates/clone-brief.md +59 -0
- package/assets/worker-kits/growthub-ai-website-cloner-v1/templates/component-spec.md +124 -0
- package/assets/worker-kits/growthub-ai-website-cloner-v1/templates/design-token-extraction.md +89 -0
- package/assets/worker-kits/growthub-ai-website-cloner-v1/templates/platform-handoff.md +114 -0
- package/assets/worker-kits/growthub-ai-website-cloner-v1/templates/reconnaissance-report.md +77 -0
- package/assets/worker-kits/growthub-ai-website-cloner-v1/templates/visual-qa-checklist.md +107 -0
- package/assets/worker-kits/growthub-ai-website-cloner-v1/validation-checklist.md +76 -0
- package/assets/worker-kits/growthub-ai-website-cloner-v1/workers/ai-website-cloner-operator/CLAUDE.md +256 -0
- package/assets/worker-kits/growthub-open-montage-studio-v1/.env.example +40 -0
- package/assets/worker-kits/growthub-open-montage-studio-v1/QUICKSTART.md +114 -0
- package/assets/worker-kits/growthub-open-montage-studio-v1/brands/NEW-CLIENT.md +42 -0
- package/assets/worker-kits/growthub-open-montage-studio-v1/brands/_template/brand-kit.md +49 -0
- package/assets/worker-kits/growthub-open-montage-studio-v1/brands/growthub/brand-kit.md +50 -0
- package/assets/worker-kits/growthub-open-montage-studio-v1/bundles/growthub-open-montage-studio-v1.json +55 -0
- package/assets/worker-kits/growthub-open-montage-studio-v1/docs/cms-node-bridge.md +152 -0
- package/assets/worker-kits/growthub-open-montage-studio-v1/docs/open-montage-fork-integration.md +120 -0
- package/assets/worker-kits/growthub-open-montage-studio-v1/docs/pipeline-reference.md +147 -0
- package/assets/worker-kits/growthub-open-montage-studio-v1/docs/provider-adapter-layer.md +105 -0
- package/assets/worker-kits/growthub-open-montage-studio-v1/examples/cms-node-video-gen-sample.md +109 -0
- package/assets/worker-kits/growthub-open-montage-studio-v1/examples/pipeline-selection-sample.md +67 -0
- package/assets/worker-kits/growthub-open-montage-studio-v1/examples/platform-ready-handoff-sample.md +101 -0
- package/assets/worker-kits/growthub-open-montage-studio-v1/examples/video-production-brief-sample.md +68 -0
- package/assets/worker-kits/growthub-open-montage-studio-v1/growthub-meta/README.md +7 -0
- package/assets/worker-kits/growthub-open-montage-studio-v1/growthub-meta/kit-standard.md +45 -0
- package/assets/worker-kits/growthub-open-montage-studio-v1/kit.json +107 -0
- package/assets/worker-kits/growthub-open-montage-studio-v1/output/README.md +34 -0
- package/assets/worker-kits/growthub-open-montage-studio-v1/output-standards.md +79 -0
- package/assets/worker-kits/growthub-open-montage-studio-v1/runtime-assumptions.md +86 -0
- package/assets/worker-kits/growthub-open-montage-studio-v1/setup/check-deps.sh +43 -0
- package/assets/worker-kits/growthub-open-montage-studio-v1/setup/clone-fork.sh +53 -0
- package/assets/worker-kits/growthub-open-montage-studio-v1/setup/verify-env.mjs +102 -0
- package/assets/worker-kits/growthub-open-montage-studio-v1/skills.md +254 -0
- package/assets/worker-kits/growthub-open-montage-studio-v1/templates/asset-tracking.md +46 -0
- package/assets/worker-kits/growthub-open-montage-studio-v1/templates/cms-node-pipeline-mapping.md +64 -0
- package/assets/worker-kits/growthub-open-montage-studio-v1/templates/generation-batch-plan.md +70 -0
- package/assets/worker-kits/growthub-open-montage-studio-v1/templates/pipeline-selection-brief.md +67 -0
- package/assets/worker-kits/growthub-open-montage-studio-v1/templates/platform-ready-execution-handoff.md +103 -0
- package/assets/worker-kits/growthub-open-montage-studio-v1/templates/prompt-matrix.md +48 -0
- package/assets/worker-kits/growthub-open-montage-studio-v1/templates/provider-selection-brief.md +86 -0
- package/assets/worker-kits/growthub-open-montage-studio-v1/templates/review-qa-checklist.md +59 -0
- package/assets/worker-kits/growthub-open-montage-studio-v1/templates/scene-plan.md +65 -0
- package/assets/worker-kits/growthub-open-montage-studio-v1/templates/video-production-brief.md +58 -0
- package/assets/worker-kits/growthub-open-montage-studio-v1/validation-checklist.md +46 -0
- package/assets/worker-kits/growthub-open-montage-studio-v1/workers/open-montage-studio-operator/CLAUDE.md +304 -0
- package/assets/worker-kits/growthub-twenty-crm-v1/.env.example +15 -0
- package/assets/worker-kits/growthub-twenty-crm-v1/QUICKSTART.md +90 -0
- package/assets/worker-kits/growthub-twenty-crm-v1/brands/NEW-CLIENT.md +57 -0
- package/assets/worker-kits/growthub-twenty-crm-v1/brands/_template/brand-kit.md +88 -0
- package/assets/worker-kits/growthub-twenty-crm-v1/brands/growthub/brand-kit.md +92 -0
- package/assets/worker-kits/growthub-twenty-crm-v1/bundles/growthub-twenty-crm-v1.json +56 -0
- package/assets/worker-kits/growthub-twenty-crm-v1/docs/api-and-webhooks.md +296 -0
- package/assets/worker-kits/growthub-twenty-crm-v1/docs/data-model-layer.md +172 -0
- package/assets/worker-kits/growthub-twenty-crm-v1/docs/twenty-fork-integration.md +213 -0
- package/assets/worker-kits/growthub-twenty-crm-v1/examples/crm-playbook-sample.md +172 -0
- package/assets/worker-kits/growthub-twenty-crm-v1/examples/crm-setup-sample.md +100 -0
- package/assets/worker-kits/growthub-twenty-crm-v1/examples/lead-enrichment-sample.md +117 -0
- package/assets/worker-kits/growthub-twenty-crm-v1/examples/pipeline-automation-sample.md +132 -0
- package/assets/worker-kits/growthub-twenty-crm-v1/growthub-meta/README.md +114 -0
- package/assets/worker-kits/growthub-twenty-crm-v1/growthub-meta/kit-standard.md +61 -0
- package/assets/worker-kits/growthub-twenty-crm-v1/kit.json +108 -0
- package/assets/worker-kits/growthub-twenty-crm-v1/output/README.md +46 -0
- package/assets/worker-kits/growthub-twenty-crm-v1/output-standards.md +175 -0
- package/assets/worker-kits/growthub-twenty-crm-v1/runtime-assumptions.md +150 -0
- package/assets/worker-kits/growthub-twenty-crm-v1/setup/check-deps.sh +56 -0
- package/assets/worker-kits/growthub-twenty-crm-v1/setup/clone-fork.sh +77 -0
- package/assets/worker-kits/growthub-twenty-crm-v1/setup/verify-env.mjs +105 -0
- package/assets/worker-kits/growthub-twenty-crm-v1/skills.md +401 -0
- package/assets/worker-kits/growthub-twenty-crm-v1/templates/api-query-plan.md +179 -0
- package/assets/worker-kits/growthub-twenty-crm-v1/templates/crm-playbook.md +155 -0
- package/assets/worker-kits/growthub-twenty-crm-v1/templates/crm-setup-brief.md +94 -0
- package/assets/worker-kits/growthub-twenty-crm-v1/templates/custom-object-design.md +115 -0
- package/assets/worker-kits/growthub-twenty-crm-v1/templates/data-model-design.md +112 -0
- package/assets/worker-kits/growthub-twenty-crm-v1/templates/enrichment-field-map.md +100 -0
- package/assets/worker-kits/growthub-twenty-crm-v1/templates/import-mapping.md +139 -0
- package/assets/worker-kits/growthub-twenty-crm-v1/templates/integration-handoff.md +190 -0
- package/assets/worker-kits/growthub-twenty-crm-v1/templates/lead-enrichment-pipeline.md +128 -0
- package/assets/worker-kits/growthub-twenty-crm-v1/templates/pipeline-automation-brief.md +88 -0
- package/assets/worker-kits/growthub-twenty-crm-v1/templates/webhook-integration-spec.md +129 -0
- package/assets/worker-kits/growthub-twenty-crm-v1/templates/workspace-config-checklist.md +129 -0
- package/assets/worker-kits/growthub-twenty-crm-v1/validation-checklist.md +115 -0
- package/assets/worker-kits/growthub-twenty-crm-v1/workers/twenty-crm-operator/CLAUDE.md +310 -0
- package/package.json +1 -1
|
@@ -0,0 +1,114 @@
|
|
|
1
|
+
# Platform Handoff
|
|
2
|
+
|
|
3
|
+
**Project:** [PROJECT NAME]
|
|
4
|
+
**Client:** [CLIENT NAME]
|
|
5
|
+
**Date:** YYYY-MM-DD
|
|
6
|
+
**Clone source:** [https://example.com]
|
|
7
|
+
**Codebase location:** `~/ai-website-cloner-template` (or custom fork path)
|
|
8
|
+
|
|
9
|
+
---
|
|
10
|
+
|
|
11
|
+
## What was built
|
|
12
|
+
|
|
13
|
+
[One-paragraph summary of what was cloned and what the output codebase contains.]
|
|
14
|
+
|
|
15
|
+
---
|
|
16
|
+
|
|
17
|
+
## Running the clone locally
|
|
18
|
+
|
|
19
|
+
```bash
|
|
20
|
+
cd ~/ai-website-cloner-template
|
|
21
|
+
npm run dev
|
|
22
|
+
```
|
|
23
|
+
|
|
24
|
+
Open [http://localhost:3000](http://localhost:3000).
|
|
25
|
+
|
|
26
|
+
---
|
|
27
|
+
|
|
28
|
+
## Building for production
|
|
29
|
+
|
|
30
|
+
```bash
|
|
31
|
+
cd ~/ai-website-cloner-template
|
|
32
|
+
npm run build
|
|
33
|
+
npm run start
|
|
34
|
+
```
|
|
35
|
+
|
|
36
|
+
---
|
|
37
|
+
|
|
38
|
+
## Deploying to Vercel
|
|
39
|
+
|
|
40
|
+
```bash
|
|
41
|
+
npm install -g vercel
|
|
42
|
+
cd ~/ai-website-cloner-template
|
|
43
|
+
vercel --prod
|
|
44
|
+
```
|
|
45
|
+
|
|
46
|
+
Or connect the repository to [vercel.com](https://vercel.com) for automatic deploys.
|
|
47
|
+
|
|
48
|
+
---
|
|
49
|
+
|
|
50
|
+
## Deploying to other platforms
|
|
51
|
+
|
|
52
|
+
### Self-hosted (Node.js)
|
|
53
|
+
```bash
|
|
54
|
+
npm run build
|
|
55
|
+
node .next/standalone/server.js
|
|
56
|
+
```
|
|
57
|
+
|
|
58
|
+
### Static export (if no server-side features used)
|
|
59
|
+
```bash
|
|
60
|
+
# Add output: 'export' to next.config.ts first
|
|
61
|
+
npm run build
|
|
62
|
+
# Output is in out/
|
|
63
|
+
```
|
|
64
|
+
|
|
65
|
+
---
|
|
66
|
+
|
|
67
|
+
## Project structure overview
|
|
68
|
+
|
|
69
|
+
```
|
|
70
|
+
src/
|
|
71
|
+
app/
|
|
72
|
+
page.tsx # Main cloned page
|
|
73
|
+
layout.tsx # Root layout (fonts, globals)
|
|
74
|
+
globals.css # Design tokens and base styles
|
|
75
|
+
components/
|
|
76
|
+
navigation/ # Navigation component
|
|
77
|
+
hero-section/ # Hero section
|
|
78
|
+
[section-slug]/ # One directory per cloned section
|
|
79
|
+
icons.tsx # Extracted SVG icons
|
|
80
|
+
lib/
|
|
81
|
+
utils.ts # cn() utility
|
|
82
|
+
public/
|
|
83
|
+
images/ # Downloaded images
|
|
84
|
+
videos/ # Downloaded videos
|
|
85
|
+
seo/ # Favicon, OG image, webmanifest
|
|
86
|
+
docs/
|
|
87
|
+
research/ # Reconnaissance output
|
|
88
|
+
```
|
|
89
|
+
|
|
90
|
+
---
|
|
91
|
+
|
|
92
|
+
## Known deviations from original
|
|
93
|
+
|
|
94
|
+
| Section | Type | Notes |
|
|
95
|
+
|---|---|---|
|
|
96
|
+
| [section] | [font/color/layout/asset] | [description] |
|
|
97
|
+
|
|
98
|
+
---
|
|
99
|
+
|
|
100
|
+
## Customization next steps
|
|
101
|
+
|
|
102
|
+
1. [ ] Replace placeholder content in all sections with client's actual content
|
|
103
|
+
2. [ ] Update `src/app/layout.tsx` metadata (title, description, OG image)
|
|
104
|
+
3. [ ] Configure deployment environment variables if any
|
|
105
|
+
4. [ ] Remove proprietary assets if not licensed for redistribution
|
|
106
|
+
5. [ ] Update `public/seo/` with client's actual favicon and OG images
|
|
107
|
+
|
|
108
|
+
---
|
|
109
|
+
|
|
110
|
+
## QA result
|
|
111
|
+
|
|
112
|
+
See `qa/visual-qa-checklist.md` for the full QA report.
|
|
113
|
+
|
|
114
|
+
**Overall result:** [PASS / PASS WITH NOTED DEVIATIONS / FAIL]
|
|
@@ -0,0 +1,77 @@
|
|
|
1
|
+
# Reconnaissance Report
|
|
2
|
+
|
|
3
|
+
**Project:** [PROJECT NAME]
|
|
4
|
+
**Target URL:** [https://example.com]
|
|
5
|
+
**Date:** YYYY-MM-DD
|
|
6
|
+
**Phase:** Reconnaissance (Phase 3)
|
|
7
|
+
|
|
8
|
+
---
|
|
9
|
+
|
|
10
|
+
## Screenshots captured
|
|
11
|
+
|
|
12
|
+
| Viewport | Width | File |
|
|
13
|
+
|---|---|---|
|
|
14
|
+
| Desktop | 1440px | `research/screenshots/desktop-<scroll>.png` |
|
|
15
|
+
| Tablet | 768px | `research/screenshots/tablet-<scroll>.png` |
|
|
16
|
+
| Mobile | 375px | `research/screenshots/mobile-<scroll>.png` |
|
|
17
|
+
|
|
18
|
+
---
|
|
19
|
+
|
|
20
|
+
## Page structure
|
|
21
|
+
|
|
22
|
+
### Sections identified
|
|
23
|
+
|
|
24
|
+
| Order | Section name | Slug | Approximate height | Notes |
|
|
25
|
+
|---|---|---|---|---|
|
|
26
|
+
| 1 | Navigation | `navigation` | 72px | Sticky |
|
|
27
|
+
| 2 | Hero | `hero-section` | 600px | Full viewport |
|
|
28
|
+
| 3 | [Section Name] | `[slug]` | [height] | [notes] |
|
|
29
|
+
| N | Footer | `footer` | 200px | — |
|
|
30
|
+
|
|
31
|
+
---
|
|
32
|
+
|
|
33
|
+
## Design token summary
|
|
34
|
+
|
|
35
|
+
> Full token set in `design-token-extraction.md`
|
|
36
|
+
|
|
37
|
+
- **Primary color:** [hex]
|
|
38
|
+
- **Background:** [hex]
|
|
39
|
+
- **Heading font:** [family, weight]
|
|
40
|
+
- **Body font:** [family, weight]
|
|
41
|
+
- **Base spacing unit:** [value]
|
|
42
|
+
|
|
43
|
+
---
|
|
44
|
+
|
|
45
|
+
## Interaction notes
|
|
46
|
+
|
|
47
|
+
### Navigation
|
|
48
|
+
- [ ] Hamburger menu at mobile breakpoint
|
|
49
|
+
- [ ] Dropdown menus
|
|
50
|
+
- [ ] Sticky behavior: [describe]
|
|
51
|
+
|
|
52
|
+
### CTAs / Buttons
|
|
53
|
+
- [ ] Hover: [describe transform, color change]
|
|
54
|
+
- [ ] Active: [describe]
|
|
55
|
+
- [ ] Focus ring: [color, offset]
|
|
56
|
+
|
|
57
|
+
### Scroll-triggered effects
|
|
58
|
+
- [ ] [Describe any parallax, fade-in, sticky elements]
|
|
59
|
+
|
|
60
|
+
---
|
|
61
|
+
|
|
62
|
+
## Asset inventory summary
|
|
63
|
+
|
|
64
|
+
> Full inventory in `asset-inventory.md`
|
|
65
|
+
|
|
66
|
+
| Type | Count | Notes |
|
|
67
|
+
|---|---|---|
|
|
68
|
+
| Images | 0 | — |
|
|
69
|
+
| Videos | 0 | — |
|
|
70
|
+
| SVG icons | 0 | — |
|
|
71
|
+
| Custom fonts | 0 | — |
|
|
72
|
+
|
|
73
|
+
---
|
|
74
|
+
|
|
75
|
+
## Risk notes
|
|
76
|
+
|
|
77
|
+
[Any sections that may be difficult to clone — auth-gated content, complex animations, custom WebGL, etc.]
|
|
@@ -0,0 +1,107 @@
|
|
|
1
|
+
# Visual QA Checklist
|
|
2
|
+
|
|
3
|
+
**Project:** [PROJECT NAME]
|
|
4
|
+
**Clone URL:** [http://localhost:3000]
|
|
5
|
+
**Original URL:** [https://example.com]
|
|
6
|
+
**Date:** YYYY-MM-DD
|
|
7
|
+
**QA reviewer:** `ai-website-cloner-operator`
|
|
8
|
+
|
|
9
|
+
---
|
|
10
|
+
|
|
11
|
+
## Build checks
|
|
12
|
+
|
|
13
|
+
- [ ] `npm run build` exits 0
|
|
14
|
+
- [ ] `npm run lint` exits 0
|
|
15
|
+
- [ ] `npm run typecheck` exits 0
|
|
16
|
+
- [ ] Dev server starts without errors: `npm run dev`
|
|
17
|
+
- [ ] No 404s in browser console for assets
|
|
18
|
+
|
|
19
|
+
---
|
|
20
|
+
|
|
21
|
+
## Layout QA — Desktop (1440px)
|
|
22
|
+
|
|
23
|
+
| Section | Status | Notes |
|
|
24
|
+
|---|---|---|
|
|
25
|
+
| Navigation | [ ] Pass / [ ] Deviation | — |
|
|
26
|
+
| Hero | [ ] Pass / [ ] Deviation | — |
|
|
27
|
+
| [Section] | [ ] Pass / [ ] Deviation | — |
|
|
28
|
+
| Footer | [ ] Pass / [ ] Deviation | — |
|
|
29
|
+
|
|
30
|
+
---
|
|
31
|
+
|
|
32
|
+
## Layout QA — Tablet (768px)
|
|
33
|
+
|
|
34
|
+
| Section | Status | Notes |
|
|
35
|
+
|---|---|---|
|
|
36
|
+
| Navigation | [ ] Pass / [ ] Deviation | — |
|
|
37
|
+
| Hero | [ ] Pass / [ ] Deviation | — |
|
|
38
|
+
| [Section] | [ ] Pass / [ ] Deviation | — |
|
|
39
|
+
| Footer | [ ] Pass / [ ] Deviation | — |
|
|
40
|
+
|
|
41
|
+
---
|
|
42
|
+
|
|
43
|
+
## Layout QA — Mobile (375px)
|
|
44
|
+
|
|
45
|
+
| Section | Status | Notes |
|
|
46
|
+
|---|---|---|
|
|
47
|
+
| Navigation | [ ] Pass / [ ] Deviation | — |
|
|
48
|
+
| Hero | [ ] Pass / [ ] Deviation | — |
|
|
49
|
+
| [Section] | [ ] Pass / [ ] Deviation | — |
|
|
50
|
+
| Footer | [ ] Pass / [ ] Deviation | — |
|
|
51
|
+
|
|
52
|
+
---
|
|
53
|
+
|
|
54
|
+
## Color fidelity
|
|
55
|
+
|
|
56
|
+
| Token | Expected | Actual | Pass |
|
|
57
|
+
|---|---|---|---|
|
|
58
|
+
| Background | [hex] | [hex] | [ ] |
|
|
59
|
+
| Text primary | [hex] | [hex] | [ ] |
|
|
60
|
+
| Accent | [hex] | [hex] | [ ] |
|
|
61
|
+
|
|
62
|
+
---
|
|
63
|
+
|
|
64
|
+
## Typography fidelity
|
|
65
|
+
|
|
66
|
+
| Element | Expected font | Actual | Expected size | Actual | Pass |
|
|
67
|
+
|---|---|---|---|---|---|
|
|
68
|
+
| H1 | [family] | [actual] | [size] | [actual] | [ ] |
|
|
69
|
+
| Body | [family] | [actual] | [size] | [actual] | [ ] |
|
|
70
|
+
|
|
71
|
+
---
|
|
72
|
+
|
|
73
|
+
## Asset completeness
|
|
74
|
+
|
|
75
|
+
- [ ] All images loading (no broken images)
|
|
76
|
+
- [ ] All videos loading
|
|
77
|
+
- [ ] All SVG icons rendering
|
|
78
|
+
- [ ] Custom fonts loading
|
|
79
|
+
|
|
80
|
+
---
|
|
81
|
+
|
|
82
|
+
## Interaction states
|
|
83
|
+
|
|
84
|
+
| Element | State | Expected | Actual | Pass |
|
|
85
|
+
|---|---|---|---|---|
|
|
86
|
+
| Primary CTA | Hover | [describe] | [actual] | [ ] |
|
|
87
|
+
| Navigation | Hover | [describe] | [actual] | [ ] |
|
|
88
|
+
| Mobile nav | Tap | Opens hamburger | [actual] | [ ] |
|
|
89
|
+
|
|
90
|
+
---
|
|
91
|
+
|
|
92
|
+
## Deviations
|
|
93
|
+
|
|
94
|
+
| Section | Type | Reason | Resolution |
|
|
95
|
+
|---|---|---|---|
|
|
96
|
+
| [section] | [font/color/layout/asset/content] | [reason] | [how resolved] |
|
|
97
|
+
|
|
98
|
+
---
|
|
99
|
+
|
|
100
|
+
## Final QA result
|
|
101
|
+
|
|
102
|
+
- [ ] **PASS** — Clone meets all quality gates
|
|
103
|
+
- [ ] **PASS WITH NOTED DEVIATIONS** — Deviations documented above
|
|
104
|
+
- [ ] **FAIL** — Blocking issues must be resolved before handoff
|
|
105
|
+
|
|
106
|
+
**Reviewer notes:**
|
|
107
|
+
[Any additional notes]
|
|
@@ -0,0 +1,76 @@
|
|
|
1
|
+
# Validation Checklist — AI Website Cloner
|
|
2
|
+
|
|
3
|
+
**Kit:** `growthub-ai-website-cloner-v1`
|
|
4
|
+
|
|
5
|
+
Run through this checklist before producing the platform handoff.
|
|
6
|
+
|
|
7
|
+
---
|
|
8
|
+
|
|
9
|
+
## Environment validation
|
|
10
|
+
|
|
11
|
+
- [ ] Fork exists at `~/ai-website-cloner-template` (or `AI_CLONER_FORK_PATH`)
|
|
12
|
+
- [ ] Node.js 24+ confirmed (`node --version`)
|
|
13
|
+
- [ ] `node_modules/` installed in fork root
|
|
14
|
+
- [ ] AI agent is active and running in the fork directory
|
|
15
|
+
|
|
16
|
+
---
|
|
17
|
+
|
|
18
|
+
## Reconnaissance validation
|
|
19
|
+
|
|
20
|
+
- [ ] Desktop screenshots captured (1440px, all scroll depths)
|
|
21
|
+
- [ ] Tablet screenshots captured (768px)
|
|
22
|
+
- [ ] Mobile screenshots captured (375px)
|
|
23
|
+
- [ ] Design tokens extracted (`design-token-extraction.md` complete)
|
|
24
|
+
- [ ] All hover/focus/active states documented
|
|
25
|
+
- [ ] Asset inventory complete (all external URLs collected)
|
|
26
|
+
- [ ] All assets downloaded to `public/images/`, `public/videos/`, `public/seo/`
|
|
27
|
+
|
|
28
|
+
---
|
|
29
|
+
|
|
30
|
+
## Spec validation
|
|
31
|
+
|
|
32
|
+
- [ ] One spec file per identified section in `output/<client>/<project>/specs/`
|
|
33
|
+
- [ ] Each spec has exact computed CSS values (not estimated)
|
|
34
|
+
- [ ] Each spec documents responsive breakpoints
|
|
35
|
+
- [ ] Each spec documents interaction states
|
|
36
|
+
- [ ] Asset paths in specs match `public/` inventory
|
|
37
|
+
|
|
38
|
+
---
|
|
39
|
+
|
|
40
|
+
## Build validation
|
|
41
|
+
|
|
42
|
+
- [ ] `npm run build` exits 0 (no TypeScript errors, no build errors)
|
|
43
|
+
- [ ] `npm run lint` exits 0 (no ESLint errors)
|
|
44
|
+
- [ ] `npm run typecheck` exits 0 (TypeScript strict mode clean)
|
|
45
|
+
- [ ] Dev server runs: `npm run dev` → `localhost:3000` loads without errors
|
|
46
|
+
- [ ] No 404s for assets in browser console
|
|
47
|
+
|
|
48
|
+
---
|
|
49
|
+
|
|
50
|
+
## Visual QA validation
|
|
51
|
+
|
|
52
|
+
- [ ] All sections rendered at desktop 1440px — reviewed against screenshot
|
|
53
|
+
- [ ] All sections rendered at tablet 768px — reviewed against screenshot
|
|
54
|
+
- [ ] All sections rendered at mobile 375px — reviewed against screenshot
|
|
55
|
+
- [ ] All hover states verified interactively
|
|
56
|
+
- [ ] All focus states verified via keyboard navigation
|
|
57
|
+
- [ ] Color tokens match extracted values (spot-check 5+ elements)
|
|
58
|
+
- [ ] Typography matches (spot-check font family, size, weight, line-height)
|
|
59
|
+
- [ ] All images loading (no broken images)
|
|
60
|
+
- [ ] All videos loading (no broken videos)
|
|
61
|
+
- [ ] All SVG icons rendering correctly
|
|
62
|
+
|
|
63
|
+
---
|
|
64
|
+
|
|
65
|
+
## Deviations documented
|
|
66
|
+
|
|
67
|
+
- [ ] All known deviations listed in `qa/visual-qa-checklist.md`
|
|
68
|
+
- [ ] Each deviation has a type, reason, and resolution
|
|
69
|
+
|
|
70
|
+
---
|
|
71
|
+
|
|
72
|
+
## Handoff validation
|
|
73
|
+
|
|
74
|
+
- [ ] `platform-handoff.md` complete
|
|
75
|
+
- [ ] Deployment instructions for the target platform written
|
|
76
|
+
- [ ] Brand kit updated with deliverable line
|
|
@@ -0,0 +1,256 @@
|
|
|
1
|
+
# AI Website Cloner Operator — Agent Operating Instructions
|
|
2
|
+
|
|
3
|
+
**Kit:** `growthub-ai-website-cloner-v1`
|
|
4
|
+
**Worker ID:** `ai-website-cloner-operator`
|
|
5
|
+
**Version:** `1.0.0`
|
|
6
|
+
|
|
7
|
+
---
|
|
8
|
+
|
|
9
|
+
## YOUR ROLE
|
|
10
|
+
|
|
11
|
+
You are the Growthub AI Website Cloner Operator. You turn target URLs and client briefs into production-ready Next.js codebases by orchestrating a multi-phase reconnaissance, spec writing, parallel builder dispatch, and visual QA pipeline — all backed by the `ai-website-cloner-template` fork running locally.
|
|
12
|
+
|
|
13
|
+
**You produce:**
|
|
14
|
+
- Clone briefs
|
|
15
|
+
- Reconnaissance reports (screenshots, design tokens, interaction maps)
|
|
16
|
+
- Component spec files with exact computed CSS values
|
|
17
|
+
- Builder dispatch plans for parallel worktree execution
|
|
18
|
+
- Asset manifests (images, videos, fonts, SVGs)
|
|
19
|
+
- Visual QA checklists comparing clone vs. original
|
|
20
|
+
- Platform handoff documents
|
|
21
|
+
- Design token extraction sheets
|
|
22
|
+
|
|
23
|
+
**You do NOT produce:**
|
|
24
|
+
- Phishing pages or impersonation assets
|
|
25
|
+
- Copies of sites you do not have rights to reproduce
|
|
26
|
+
- Prompts without first completing reconnaissance
|
|
27
|
+
- Component specs based on memory alone — inspect the target live
|
|
28
|
+
- Code directly — you orchestrate the fork's `/clone-website` skill and builder agents
|
|
29
|
+
|
|
30
|
+
**Your source of truth for methodology is `skills.md`. Read it before beginning any task.**
|
|
31
|
+
|
|
32
|
+
---
|
|
33
|
+
|
|
34
|
+
## MASTER SKILL DOC
|
|
35
|
+
|
|
36
|
+
Always read `skills.md` at the start of every session. It defines:
|
|
37
|
+
- Workflow phases and strict order
|
|
38
|
+
- Reconnaissance checklist
|
|
39
|
+
- Design token extraction methodology
|
|
40
|
+
- Component spec format
|
|
41
|
+
- Builder dispatch rules (worktrees, one per section)
|
|
42
|
+
- Assembly and merge instructions
|
|
43
|
+
- Visual QA diff standards
|
|
44
|
+
- Output artifact naming
|
|
45
|
+
|
|
46
|
+
If `skills.md` cannot be read, stop and report the error.
|
|
47
|
+
|
|
48
|
+
---
|
|
49
|
+
|
|
50
|
+
## WORKFLOW — 8 PHASES, STRICT ORDER, NO SKIPPING
|
|
51
|
+
|
|
52
|
+
### PHASE 0 — Environment gate (run before everything else)
|
|
53
|
+
|
|
54
|
+
Before loading any methodology, verify the environment is ready.
|
|
55
|
+
|
|
56
|
+
**Check 1 — Fork directory exists:**
|
|
57
|
+
|
|
58
|
+
Confirm the fork is checked out at `~/ai-website-cloner-template` (or `AI_CLONER_FORK_PATH` if set).
|
|
59
|
+
|
|
60
|
+
If missing, tell the user:
|
|
61
|
+
|
|
62
|
+
> Fork not found. Run: `bash setup/clone-fork.sh` to clone and install the fork.
|
|
63
|
+
|
|
64
|
+
**Check 2 — Node.js version:**
|
|
65
|
+
|
|
66
|
+
The fork requires Node.js 24+. Check with `node --version`. If below 24, tell the user:
|
|
67
|
+
|
|
68
|
+
> Node.js 24+ is required. Visit https://nodejs.org/ to upgrade, or use nvm: `nvm use 24`.
|
|
69
|
+
|
|
70
|
+
**Check 3 — Fork dependencies installed:**
|
|
71
|
+
|
|
72
|
+
Confirm `node_modules/` exists in the fork directory. If missing, tell the user to run `npm install` in the fork root.
|
|
73
|
+
|
|
74
|
+
**Check 4 — AI agent available:**
|
|
75
|
+
|
|
76
|
+
Confirm an AI coding agent is installed. Claude Code is recommended (`claude --version`). If missing, tell the user:
|
|
77
|
+
|
|
78
|
+
> Claude Code is recommended for best results. Install: `npm install -g @anthropic-ai/claude-code`
|
|
79
|
+
> Any supported agent also works — see the fork README for the full list.
|
|
80
|
+
|
|
81
|
+
Do not proceed to Phase 1 until the environment gate passes.
|
|
82
|
+
|
|
83
|
+
---
|
|
84
|
+
|
|
85
|
+
### PHASE 1 — Read methodology + load project context
|
|
86
|
+
|
|
87
|
+
Read:
|
|
88
|
+
|
|
89
|
+
```text
|
|
90
|
+
skills.md
|
|
91
|
+
brands/growthub/brand-kit.md
|
|
92
|
+
```
|
|
93
|
+
|
|
94
|
+
If a client brand kit exists under `brands/<client-slug>/brand-kit.md`, load that instead.
|
|
95
|
+
|
|
96
|
+
Then ask for the target URL(s) if not already provided.
|
|
97
|
+
|
|
98
|
+
---
|
|
99
|
+
|
|
100
|
+
### PHASE 2 — Read runtime and fork docs
|
|
101
|
+
|
|
102
|
+
Read:
|
|
103
|
+
|
|
104
|
+
```text
|
|
105
|
+
runtime-assumptions.md
|
|
106
|
+
docs/ai-website-cloner-fork-integration.md
|
|
107
|
+
docs/multi-phase-pipeline.md
|
|
108
|
+
output-standards.md
|
|
109
|
+
validation-checklist.md
|
|
110
|
+
```
|
|
111
|
+
|
|
112
|
+
These files define the environment boundary and the expected output contract. Do not improvise around them.
|
|
113
|
+
|
|
114
|
+
---
|
|
115
|
+
|
|
116
|
+
### PHASE 3 — Reconnaissance
|
|
117
|
+
|
|
118
|
+
Before writing any spec or dispatching builders, execute the reconnaissance phase inside the fork using the agent.
|
|
119
|
+
|
|
120
|
+
Reconnaissance must capture:
|
|
121
|
+
1. **Screenshots** — desktop (1440px), tablet (768px), mobile (375px) at multiple scroll depths
|
|
122
|
+
2. **Design tokens** — colors (hex + oklch), typography (font family, size, weight, line-height), spacing scale, border radius, shadow definitions
|
|
123
|
+
3. **Interaction sweep** — hover states, focus states, click targets, scroll-triggered animations
|
|
124
|
+
4. **Asset inventory** — all images (with CDN URLs), videos, SVG icons, webfonts
|
|
125
|
+
5. **Layout map** — identify all major sections and their bounding boxes
|
|
126
|
+
|
|
127
|
+
Store reconnaissance output at:
|
|
128
|
+
```text
|
|
129
|
+
output/<client-slug>/<project-slug>/research/
|
|
130
|
+
```
|
|
131
|
+
|
|
132
|
+
Use `templates/reconnaissance-report.md` to capture findings.
|
|
133
|
+
Use `templates/design-token-extraction.md` to capture the full token set.
|
|
134
|
+
|
|
135
|
+
---
|
|
136
|
+
|
|
137
|
+
### PHASE 4 — Ask the 3-question gate
|
|
138
|
+
|
|
139
|
+
Ask exactly 3 clarification questions before writing specs. Use the highest-risk unknowns:
|
|
140
|
+
|
|
141
|
+
1. What is the primary objective: pixel-perfect clone, design reference only, or migration to modern stack?
|
|
142
|
+
2. Are there sections to exclude (login flows, payment pages, auth-gated content)?
|
|
143
|
+
3. What is the deployment target: Vercel, self-hosted, or static export?
|
|
144
|
+
|
|
145
|
+
Do not dispatch builders until these are answered or clearly inferable.
|
|
146
|
+
|
|
147
|
+
---
|
|
148
|
+
|
|
149
|
+
### PHASE 5 — Write component specs
|
|
150
|
+
|
|
151
|
+
For each identified section or component, produce a spec file at:
|
|
152
|
+
```text
|
|
153
|
+
output/<client-slug>/<project-slug>/specs/<section-slug>.md
|
|
154
|
+
```
|
|
155
|
+
|
|
156
|
+
Each spec must include:
|
|
157
|
+
- Section name and purpose
|
|
158
|
+
- Exact computed CSS values (spacing, color, typography) from `getComputedStyle()`
|
|
159
|
+
- Multi-state content (default, hover, active, focus, empty, error)
|
|
160
|
+
- Responsive breakpoint behavior
|
|
161
|
+
- Asset paths and placeholder references
|
|
162
|
+
- Interaction notes (animations, transitions, triggers)
|
|
163
|
+
- Accessibility notes (ARIA roles, keyboard navigation)
|
|
164
|
+
|
|
165
|
+
Use `templates/component-spec.md` as the base template.
|
|
166
|
+
|
|
167
|
+
---
|
|
168
|
+
|
|
169
|
+
### PHASE 6 — Dispatch builders (parallel worktrees)
|
|
170
|
+
|
|
171
|
+
Write the builder dispatch plan using `templates/builder-dispatch-plan.md`. Each builder receives:
|
|
172
|
+
- One section or component spec
|
|
173
|
+
- The full design token extraction sheet
|
|
174
|
+
- The asset manifest
|
|
175
|
+
- Clear output path
|
|
176
|
+
|
|
177
|
+
Dispatch rules:
|
|
178
|
+
- Each builder works in its own `git worktree` branch
|
|
179
|
+
- No builder modifies shared files directly (globals, layout, page files)
|
|
180
|
+
- Builders output component files only under `src/components/<section-slug>/`
|
|
181
|
+
- The orchestrator assembles the page from builder outputs after all complete
|
|
182
|
+
- Merge conflicts are resolved by the orchestrator with full context
|
|
183
|
+
|
|
184
|
+
Use `templates/asset-manifest.md` to track all downloaded assets before dispatch.
|
|
185
|
+
|
|
186
|
+
---
|
|
187
|
+
|
|
188
|
+
### PHASE 7 — Assembly and visual QA
|
|
189
|
+
|
|
190
|
+
After all builders complete:
|
|
191
|
+
1. Merge all worktree branches into a single integration branch
|
|
192
|
+
2. Wire up `src/app/page.tsx` (or the relevant route) from all component outputs
|
|
193
|
+
3. Run `npm run build` to confirm no TypeScript or lint errors
|
|
194
|
+
4. Execute visual diff against original screenshots from Phase 3
|
|
195
|
+
|
|
196
|
+
QA must check:
|
|
197
|
+
- Layout accuracy (spacing, proportions, grid alignment)
|
|
198
|
+
- Color fidelity (all tokens match the extracted values)
|
|
199
|
+
- Typography fidelity (font, size, weight, line-height)
|
|
200
|
+
- Asset completeness (all images, videos, icons present)
|
|
201
|
+
- Responsive behavior at all three breakpoints
|
|
202
|
+
- Interaction states (hover, focus, active)
|
|
203
|
+
|
|
204
|
+
Document findings in `output/<client-slug>/<project-slug>/qa/visual-qa-checklist.md`.
|
|
205
|
+
|
|
206
|
+
Use `templates/visual-qa-checklist.md` as the base.
|
|
207
|
+
|
|
208
|
+
---
|
|
209
|
+
|
|
210
|
+
### PHASE 8 — Log the deliverable and produce platform handoff
|
|
211
|
+
|
|
212
|
+
Outputs must be committed to the fork repo under:
|
|
213
|
+
```text
|
|
214
|
+
output/<client-slug>/<project-slug>/
|
|
215
|
+
```
|
|
216
|
+
|
|
217
|
+
Produce the platform handoff document using `templates/platform-handoff.md`. It must include:
|
|
218
|
+
- Final URL of the running dev server for review
|
|
219
|
+
- Build command and expected output
|
|
220
|
+
- Deployment instructions for the target platform
|
|
221
|
+
- Known deviations from the original (intentional or blocked)
|
|
222
|
+
- Next customization steps for the client
|
|
223
|
+
|
|
224
|
+
Append a deliverable line in the active brand kit:
|
|
225
|
+
```text
|
|
226
|
+
- YYYY-MM-DD | AI Website Clone v<N> — <Project Name> | output/<client-slug>/<project-slug>/
|
|
227
|
+
```
|
|
228
|
+
|
|
229
|
+
---
|
|
230
|
+
|
|
231
|
+
## CRITICAL RULES
|
|
232
|
+
|
|
233
|
+
| Rule | Meaning |
|
|
234
|
+
|---|---|
|
|
235
|
+
| Environment gate must pass first | No fork = no session |
|
|
236
|
+
| Read `skills.md` first | No memory-only operation |
|
|
237
|
+
| Reconnaissance before spec writing | Never spec from memory |
|
|
238
|
+
| Builders work in separate worktrees | No shared file conflicts during build |
|
|
239
|
+
| Orchestrator merges and resolves | Full context merge, not naive git merge |
|
|
240
|
+
| No phishing or impersonation | Ethical use only — check site ToS before cloning |
|
|
241
|
+
| Asset rights respected | Do not redistribute proprietary brand assets |
|
|
242
|
+
| Build must pass before QA | `npm run build` clean before visual diff |
|
|
243
|
+
| Visual QA is mandatory | No handoff without diff against original |
|
|
244
|
+
| Outputs must be operational | Every file helps an operator ship immediately |
|
|
245
|
+
|
|
246
|
+
---
|
|
247
|
+
|
|
248
|
+
## REQUIRED OUTPUT ORDER
|
|
249
|
+
|
|
250
|
+
1. `ReconnaissanceReport`
|
|
251
|
+
2. `DesignTokenExtraction`
|
|
252
|
+
3. `ComponentSpec` (one per section)
|
|
253
|
+
4. `AssetManifest`
|
|
254
|
+
5. `BuilderDispatchPlan`
|
|
255
|
+
6. `VisualQAChecklist`
|
|
256
|
+
7. `PlatformHandoff`
|
|
@@ -0,0 +1,40 @@
|
|
|
1
|
+
# OpenMontage Studio — Environment Variables
|
|
2
|
+
# Copy this file to .env and fill in the keys you have.
|
|
3
|
+
# Every key is optional — more keys = more tools available.
|
|
4
|
+
|
|
5
|
+
# ─── Image + Video Gateway (recommended first key) ───
|
|
6
|
+
FAL_KEY=your_fal_key_here
|
|
7
|
+
|
|
8
|
+
# ─── Free Stock Media (free developer keys) ───
|
|
9
|
+
PEXELS_API_KEY=your_pexels_key_here
|
|
10
|
+
PIXABAY_API_KEY=your_pixabay_key_here
|
|
11
|
+
UNSPLASH_ACCESS_KEY=your_unsplash_key_here
|
|
12
|
+
|
|
13
|
+
# ─── Voice & Images ───
|
|
14
|
+
OPENAI_API_KEY=your_openai_key_here
|
|
15
|
+
GOOGLE_API_KEY=your_google_key_here
|
|
16
|
+
ELEVENLABS_API_KEY=your_elevenlabs_key_here
|
|
17
|
+
|
|
18
|
+
# ─── Music ───
|
|
19
|
+
SUNO_API_KEY=your_suno_key_here
|
|
20
|
+
|
|
21
|
+
# ─── Video Providers ───
|
|
22
|
+
RUNWAY_API_KEY=your_runway_key_here
|
|
23
|
+
HEYGEN_API_KEY=your_heygen_key_here
|
|
24
|
+
HIGGSFIELD_API_KEY=your_higgsfield_key_here
|
|
25
|
+
HIGGSFIELD_API_SECRET=your_higgsfield_secret_here
|
|
26
|
+
XAI_API_KEY=your_xai_key_here
|
|
27
|
+
|
|
28
|
+
# ─── Local GPU Video Generation (optional) ───
|
|
29
|
+
# VIDEO_GEN_LOCAL_ENABLED=true
|
|
30
|
+
# VIDEO_GEN_LOCAL_MODEL=wan2.1-1.3b
|
|
31
|
+
|
|
32
|
+
# ─── OpenMontage Fork Path ───
|
|
33
|
+
# Absolute path to your local OpenMontage clone.
|
|
34
|
+
# Defaults to ~/OpenMontage if unset.
|
|
35
|
+
# OPENMONTAGE_PATH=~/OpenMontage
|
|
36
|
+
|
|
37
|
+
# ─── GrowthHub CMS Node Bridge ───
|
|
38
|
+
# When using CMS nodes for video/image generation, the bridge
|
|
39
|
+
# reads outputs from the hosted execution client. No extra keys
|
|
40
|
+
# needed beyond your GrowthHub session (growthub auth:login).
|