@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,119 @@
|
|
|
1
|
+
# Visual QA Checklist — Sample
|
|
2
|
+
|
|
3
|
+
**Project:** Acme Corp Homepage Clone
|
|
4
|
+
**Clone URL:** `http://localhost:3000`
|
|
5
|
+
**Original URL:** `https://acme.example.com`
|
|
6
|
+
**Date:** 2026-04-15
|
|
7
|
+
**QA reviewer:** `ai-website-cloner-operator`
|
|
8
|
+
|
|
9
|
+
---
|
|
10
|
+
|
|
11
|
+
## Build checks
|
|
12
|
+
|
|
13
|
+
- [x] `npm run build` exits 0
|
|
14
|
+
- [x] `npm run lint` exits 0
|
|
15
|
+
- [x] `npm run typecheck` exits 0
|
|
16
|
+
- [x] Dev server starts without errors: `npm run dev`
|
|
17
|
+
- [x] No 404s in browser console for assets
|
|
18
|
+
|
|
19
|
+
---
|
|
20
|
+
|
|
21
|
+
## Layout QA — Desktop (1440px)
|
|
22
|
+
|
|
23
|
+
| Section | Status | Notes |
|
|
24
|
+
|---|---|---|
|
|
25
|
+
| Navigation | Pass | Sticky behavior matches; dropdowns exact |
|
|
26
|
+
| Hero | Pass | Video loops, overlays correct, headlines match |
|
|
27
|
+
| Features grid | Pass | 3-column layout, spacing matches |
|
|
28
|
+
| Testimonials | Pass | Carousel transitions match |
|
|
29
|
+
| CTA Banner | Pass | High-contrast colors exact |
|
|
30
|
+
| FAQ accordion | Pass | Open/close transitions match |
|
|
31
|
+
| Footer | Pass | 4-column layout, links correct |
|
|
32
|
+
|
|
33
|
+
---
|
|
34
|
+
|
|
35
|
+
## Layout QA — Tablet (768px)
|
|
36
|
+
|
|
37
|
+
| Section | Status | Notes |
|
|
38
|
+
|---|---|---|
|
|
39
|
+
| Navigation | Pass | Hamburger appears, menu overlay works |
|
|
40
|
+
| Hero | Pass | 56px headline, CTAs stack correctly |
|
|
41
|
+
| Features grid | Pass | 2-column at tablet |
|
|
42
|
+
| Testimonials | Pass | Single column at tablet |
|
|
43
|
+
| CTA Banner | Pass | — |
|
|
44
|
+
| FAQ accordion | Pass | — |
|
|
45
|
+
| Footer | Pass | 2-column at tablet |
|
|
46
|
+
|
|
47
|
+
---
|
|
48
|
+
|
|
49
|
+
## Layout QA — Mobile (375px)
|
|
50
|
+
|
|
51
|
+
| Section | Status | Notes |
|
|
52
|
+
|---|---|---|
|
|
53
|
+
| Navigation | Pass | Hamburger, overlay, full-screen nav match |
|
|
54
|
+
| Hero | Pass | 40px headline, full-width CTAs |
|
|
55
|
+
| Features grid | Pass | 1-column at mobile |
|
|
56
|
+
| Testimonials | Pass | Swipe gesture works |
|
|
57
|
+
| CTA Banner | Pass | — |
|
|
58
|
+
| FAQ accordion | Pass | Touch targets 44px minimum |
|
|
59
|
+
| Footer | Pass | Single column, stacked |
|
|
60
|
+
|
|
61
|
+
---
|
|
62
|
+
|
|
63
|
+
## Color fidelity
|
|
64
|
+
|
|
65
|
+
| Token | Expected | Actual | Pass |
|
|
66
|
+
|---|---|---|---|
|
|
67
|
+
| Background | `#0a0a0a` | `oklch(7% 0 0)` | Pass |
|
|
68
|
+
| Text primary | `#ffffff` | `oklch(100% 0 0)` | Pass |
|
|
69
|
+
| Accent | `#3b82f6` | `oklch(59% 0.2 260)` | Pass |
|
|
70
|
+
| Border | `rgba(255,255,255,0.1)` | Match | Pass |
|
|
71
|
+
|
|
72
|
+
---
|
|
73
|
+
|
|
74
|
+
## Typography fidelity
|
|
75
|
+
|
|
76
|
+
| Element | Expected font | Actual | Expected size | Actual | Pass |
|
|
77
|
+
|---|---|---|---|---|---|
|
|
78
|
+
| H1 | Inter | Inter (system fallback) | 72px | 72px | Pass |
|
|
79
|
+
| Body | Inter | Inter (system fallback) | 20px | 20px | Pass |
|
|
80
|
+
|
|
81
|
+
---
|
|
82
|
+
|
|
83
|
+
## Asset completeness
|
|
84
|
+
|
|
85
|
+
- [x] All images loading (no broken images)
|
|
86
|
+
- [x] Hero background video loading and looping
|
|
87
|
+
- [x] All SVG icons rendering
|
|
88
|
+
- [x] Fonts loading (Inter via Next.js font optimization)
|
|
89
|
+
|
|
90
|
+
---
|
|
91
|
+
|
|
92
|
+
## Interaction states
|
|
93
|
+
|
|
94
|
+
| Element | State | Expected | Actual | Pass |
|
|
95
|
+
|---|---|---|---|---|
|
|
96
|
+
| CTA primary | Hover | Dims slightly | Dims `oklch(91%)` | Pass |
|
|
97
|
+
| CTA secondary | Hover | Border brightens | Border `opacity 0.6` | Pass |
|
|
98
|
+
| Navigation | Hover | Underline appears | Underline `2px` | Pass |
|
|
99
|
+
| Mobile nav | Tap | Overlay opens | Full-screen overlay | Pass |
|
|
100
|
+
| FAQ items | Click | Accordion expands | Smooth height transition | Pass |
|
|
101
|
+
|
|
102
|
+
---
|
|
103
|
+
|
|
104
|
+
## Deviations
|
|
105
|
+
|
|
106
|
+
| Section | Type | Reason | Resolution |
|
|
107
|
+
|---|---|---|---|
|
|
108
|
+
| All headings | Font | "Acme Sans" not publicly available | Replaced with Inter; noted in handoff |
|
|
109
|
+
|
|
110
|
+
---
|
|
111
|
+
|
|
112
|
+
## Final QA result
|
|
113
|
+
|
|
114
|
+
- [ ] PASS
|
|
115
|
+
- [x] PASS WITH NOTED DEVIATIONS — see Deviations table above
|
|
116
|
+
- [ ] FAIL
|
|
117
|
+
|
|
118
|
+
**Reviewer notes:**
|
|
119
|
+
The only deviation is the proprietary font. All layout, color, interaction, and asset checks pass. Client has been informed that the font replacement is the only visual difference.
|
|
@@ -0,0 +1,71 @@
|
|
|
1
|
+
# Growthub Agent Worker Kit — AI Website Cloner v1
|
|
2
|
+
|
|
3
|
+
**Kit ID:** `growthub-ai-website-cloner-v1`
|
|
4
|
+
**Version:** `1.0.0`
|
|
5
|
+
**Type:** `worker`
|
|
6
|
+
**Execution mode:** `export`
|
|
7
|
+
|
|
8
|
+
---
|
|
9
|
+
|
|
10
|
+
## What this kit does
|
|
11
|
+
|
|
12
|
+
This kit gives an agent a self-contained environment for cloning any website into a modern Next.js codebase using AI coding agents backed by the `ai-website-cloner-template` fork.
|
|
13
|
+
|
|
14
|
+
It packages:
|
|
15
|
+
- agent operating instructions
|
|
16
|
+
- a locked 8-phase clone pipeline methodology
|
|
17
|
+
- fork setup scripts and verification tools
|
|
18
|
+
- component spec templates with exact CSS extraction methodology
|
|
19
|
+
- parallel builder dispatch system documentation
|
|
20
|
+
- design token extraction workflow
|
|
21
|
+
- visual QA standards
|
|
22
|
+
- output standards
|
|
23
|
+
- examples and contributor metadata
|
|
24
|
+
|
|
25
|
+
The intended operator is an AI coding agent orchestrator working against the `ai-website-cloner-template` fork to produce pixel-perfect website clones for platform migration, design reference, or modernization projects.
|
|
26
|
+
|
|
27
|
+
---
|
|
28
|
+
|
|
29
|
+
## Folder structure
|
|
30
|
+
|
|
31
|
+
```text
|
|
32
|
+
growthub-ai-website-cloner-v1/
|
|
33
|
+
├── kit.json
|
|
34
|
+
├── bundles/
|
|
35
|
+
├── workers/
|
|
36
|
+
├── brands/
|
|
37
|
+
├── templates/
|
|
38
|
+
├── examples/
|
|
39
|
+
├── docs/
|
|
40
|
+
├── growthub-meta/
|
|
41
|
+
├── setup/
|
|
42
|
+
├── output/
|
|
43
|
+
├── skills.md
|
|
44
|
+
├── output-standards.md
|
|
45
|
+
├── runtime-assumptions.md
|
|
46
|
+
└── validation-checklist.md
|
|
47
|
+
```
|
|
48
|
+
|
|
49
|
+
---
|
|
50
|
+
|
|
51
|
+
## Activation
|
|
52
|
+
|
|
53
|
+
1. Export the kit via `growthub kit download growthub-ai-website-cloner-v1`
|
|
54
|
+
2. Run `bash setup/clone-fork.sh` to set up the upstream fork
|
|
55
|
+
3. Point the agent working directory at the expanded kit folder
|
|
56
|
+
4. The agent reads `workers/ai-website-cloner-operator/CLAUDE.md`
|
|
57
|
+
5. `skills.md` provides the working method for every session
|
|
58
|
+
6. Run `/clone-website <target-url>` in your AI agent chat
|
|
59
|
+
|
|
60
|
+
---
|
|
61
|
+
|
|
62
|
+
## Supported output categories
|
|
63
|
+
|
|
64
|
+
- clone brief
|
|
65
|
+
- reconnaissance report
|
|
66
|
+
- design token extraction sheet
|
|
67
|
+
- component specs (one per section)
|
|
68
|
+
- asset manifest
|
|
69
|
+
- builder dispatch plan
|
|
70
|
+
- visual QA checklist
|
|
71
|
+
- platform handoff document
|
|
@@ -0,0 +1,47 @@
|
|
|
1
|
+
# Kit Standard — AI Website Cloner v1
|
|
2
|
+
|
|
3
|
+
This document defines the locked contract for this kit.
|
|
4
|
+
|
|
5
|
+
---
|
|
6
|
+
|
|
7
|
+
## Required files contract
|
|
8
|
+
|
|
9
|
+
Every path in `kit.json -> frozenAssetPaths` must exist in every valid release.
|
|
10
|
+
|
|
11
|
+
---
|
|
12
|
+
|
|
13
|
+
## Bundle contract
|
|
14
|
+
|
|
15
|
+
The bundle manifest must remain aligned with `kit.json`:
|
|
16
|
+
- `bundle.kitId` matches `kit.id`
|
|
17
|
+
- `bundle.workerId` matches `entrypoint.workerId`
|
|
18
|
+
- `requiredFrozenAssets` stays a subset of `frozenAssetPaths`
|
|
19
|
+
|
|
20
|
+
---
|
|
21
|
+
|
|
22
|
+
## Agent operating rules
|
|
23
|
+
|
|
24
|
+
The entrypoint file is the operating law. `skills.md` is the methodology.
|
|
25
|
+
|
|
26
|
+
Required invariants:
|
|
27
|
+
- strict 8-phase workflow order (no phase may be skipped)
|
|
28
|
+
- reconnaissance before any spec writing (no memory-only specs)
|
|
29
|
+
- one builder per section in its own worktree
|
|
30
|
+
- visual QA required before platform handoff
|
|
31
|
+
- ethical use check before initiating any clone
|
|
32
|
+
|
|
33
|
+
---
|
|
34
|
+
|
|
35
|
+
## Runtime rules
|
|
36
|
+
|
|
37
|
+
- no API keys or credentials stored in kit files
|
|
38
|
+
- the fork path defaults to `~/ai-website-cloner-template` but is overridable via `AI_CLONER_FORK_PATH`
|
|
39
|
+
- all AI work is done by the local agent — no external service calls from this kit
|
|
40
|
+
- outputs are Markdown files except component code (produced in the fork repo, not in this kit directory)
|
|
41
|
+
- brand assets and cloned site assets must not be committed to this kit
|
|
42
|
+
|
|
43
|
+
---
|
|
44
|
+
|
|
45
|
+
## Versioning rules
|
|
46
|
+
|
|
47
|
+
Additive template/docs changes are minor-version work. Entry-point path changes, fork URL changes, or export-name changes require a major version bump. The CLI compatibility minimum version in `kit.json` must be updated on every published kit version bump.
|
|
@@ -0,0 +1,105 @@
|
|
|
1
|
+
{
|
|
2
|
+
"schemaVersion": 2,
|
|
3
|
+
"kit": {
|
|
4
|
+
"id": "growthub-ai-website-cloner-v1",
|
|
5
|
+
"version": "1.0.0",
|
|
6
|
+
"name": "Growthub Agent Worker Kit — AI Website Cloner",
|
|
7
|
+
"description": "Self-contained local workspace for cloning any website into a clean Next.js 16 + shadcn/ui + Tailwind CSS v4 codebase using AI coding agents. Produces pixel-perfect component clones from a target URL via multi-phase reconnaissance, spec writing, parallel builder dispatch, and visual QA — all driven by the ai-website-cloner-template fork.",
|
|
8
|
+
"type": "worker",
|
|
9
|
+
"visibility": "public-open-source",
|
|
10
|
+
"sourceRepo": "growthub-local",
|
|
11
|
+
"family": "studio"
|
|
12
|
+
},
|
|
13
|
+
"entrypoint": {
|
|
14
|
+
"workerId": "ai-website-cloner-operator",
|
|
15
|
+
"path": "workers/ai-website-cloner-operator/CLAUDE.md"
|
|
16
|
+
},
|
|
17
|
+
"workerIds": [
|
|
18
|
+
"ai-website-cloner-operator"
|
|
19
|
+
],
|
|
20
|
+
"agentContractPath": "workers/ai-website-cloner-operator/CLAUDE.md",
|
|
21
|
+
"brandTemplatePath": "brands/_template/brand-kit.md",
|
|
22
|
+
"publicExampleBrandPaths": [
|
|
23
|
+
"brands/growthub/brand-kit.md"
|
|
24
|
+
],
|
|
25
|
+
"frozenAssetPaths": [
|
|
26
|
+
"QUICKSTART.md",
|
|
27
|
+
".env.example",
|
|
28
|
+
"skills.md",
|
|
29
|
+
"output-standards.md",
|
|
30
|
+
"runtime-assumptions.md",
|
|
31
|
+
"validation-checklist.md",
|
|
32
|
+
"workers/ai-website-cloner-operator/CLAUDE.md",
|
|
33
|
+
"brands/_template/brand-kit.md",
|
|
34
|
+
"brands/growthub/brand-kit.md",
|
|
35
|
+
"brands/NEW-CLIENT.md",
|
|
36
|
+
"setup/clone-fork.sh",
|
|
37
|
+
"setup/verify-env.mjs",
|
|
38
|
+
"setup/check-deps.sh",
|
|
39
|
+
"output/README.md",
|
|
40
|
+
"templates/clone-brief.md",
|
|
41
|
+
"templates/reconnaissance-report.md",
|
|
42
|
+
"templates/component-spec.md",
|
|
43
|
+
"templates/builder-dispatch-plan.md",
|
|
44
|
+
"templates/asset-manifest.md",
|
|
45
|
+
"templates/visual-qa-checklist.md",
|
|
46
|
+
"templates/platform-handoff.md",
|
|
47
|
+
"templates/design-token-extraction.md",
|
|
48
|
+
"examples/clone-brief-sample.md",
|
|
49
|
+
"examples/component-spec-sample.md",
|
|
50
|
+
"examples/visual-qa-sample.md",
|
|
51
|
+
"examples/platform-handoff-sample.md",
|
|
52
|
+
"docs/ai-website-cloner-fork-integration.md",
|
|
53
|
+
"docs/multi-phase-pipeline.md",
|
|
54
|
+
"docs/parallel-builder-dispatch.md",
|
|
55
|
+
"docs/design-token-system.md",
|
|
56
|
+
"growthub-meta/README.md",
|
|
57
|
+
"growthub-meta/kit-standard.md"
|
|
58
|
+
],
|
|
59
|
+
"setupPaths": {
|
|
60
|
+
"quickstart": "QUICKSTART.md",
|
|
61
|
+
"envExample": ".env.example",
|
|
62
|
+
"setupDir": "setup/",
|
|
63
|
+
"outputDir": "output/"
|
|
64
|
+
},
|
|
65
|
+
"outputStandard": {
|
|
66
|
+
"type": "working-directory",
|
|
67
|
+
"description": "Exported folder is intended to be pointed at directly by the agent Working Directory. All outputs are Markdown files written to output/<client-slug>/<project-slug>/.",
|
|
68
|
+
"requiredPaths": [
|
|
69
|
+
"QUICKSTART.md",
|
|
70
|
+
".env.example",
|
|
71
|
+
"kit.json",
|
|
72
|
+
"bundles/growthub-ai-website-cloner-v1.json",
|
|
73
|
+
"skills.md",
|
|
74
|
+
"workers/ai-website-cloner-operator/CLAUDE.md",
|
|
75
|
+
"brands/_template/brand-kit.md",
|
|
76
|
+
"brands/growthub/brand-kit.md",
|
|
77
|
+
"brands/NEW-CLIENT.md",
|
|
78
|
+
"setup/clone-fork.sh",
|
|
79
|
+
"setup/verify-env.mjs",
|
|
80
|
+
"setup/check-deps.sh",
|
|
81
|
+
"output/README.md",
|
|
82
|
+
"templates",
|
|
83
|
+
"docs",
|
|
84
|
+
"growthub-meta"
|
|
85
|
+
]
|
|
86
|
+
},
|
|
87
|
+
"bundles": [
|
|
88
|
+
{
|
|
89
|
+
"id": "growthub-ai-website-cloner-v1",
|
|
90
|
+
"version": "1.0.0",
|
|
91
|
+
"path": "bundles/growthub-ai-website-cloner-v1.json"
|
|
92
|
+
}
|
|
93
|
+
],
|
|
94
|
+
"executionMode": "export",
|
|
95
|
+
"activationModes": [
|
|
96
|
+
"export"
|
|
97
|
+
],
|
|
98
|
+
"compatibility": {
|
|
99
|
+
"cliMinVersion": "0.3.54"
|
|
100
|
+
},
|
|
101
|
+
"provenance": {
|
|
102
|
+
"sourceRepo": "growthub-local",
|
|
103
|
+
"frozenAt": "2026-04-15T00:00:00.000Z"
|
|
104
|
+
}
|
|
105
|
+
}
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
# Output Directory
|
|
2
|
+
|
|
3
|
+
This directory holds all work products from the AI Website Cloner operator.
|
|
4
|
+
|
|
5
|
+
## Structure
|
|
6
|
+
|
|
7
|
+
```
|
|
8
|
+
output/
|
|
9
|
+
<client-slug>/
|
|
10
|
+
<project-slug>/
|
|
11
|
+
research/
|
|
12
|
+
reconnaissance-report.md # Screenshots documented, design tokens noted
|
|
13
|
+
design-token-extraction.md # Complete token set with oklch conversions
|
|
14
|
+
asset-inventory.md # All external assets collected
|
|
15
|
+
specs/
|
|
16
|
+
<section-slug>.md # One file per cloned section (exact CSS values)
|
|
17
|
+
qa/
|
|
18
|
+
visual-qa-checklist.md # QA results vs. original screenshots
|
|
19
|
+
platform-handoff.md # Deployment-ready instructions
|
|
20
|
+
```
|
|
21
|
+
|
|
22
|
+
## Notes
|
|
23
|
+
|
|
24
|
+
- Never commit client brand assets or proprietary content to this repository.
|
|
25
|
+
- All files in `output/` are generated work products, not source-controlled code.
|
|
26
|
+
- Add `output/<client-slug>/` to `.gitignore` for client-confidential projects.
|
|
@@ -0,0 +1,75 @@
|
|
|
1
|
+
# Output Standards — AI Website Cloner
|
|
2
|
+
|
|
3
|
+
**Kit:** `growthub-ai-website-cloner-v1`
|
|
4
|
+
|
|
5
|
+
---
|
|
6
|
+
|
|
7
|
+
## Output directory structure
|
|
8
|
+
|
|
9
|
+
All work products are stored inside the `ai-website-cloner-template` fork repository:
|
|
10
|
+
|
|
11
|
+
```
|
|
12
|
+
~/ai-website-cloner-template/
|
|
13
|
+
output/
|
|
14
|
+
<client-slug>/
|
|
15
|
+
<project-slug>/
|
|
16
|
+
research/
|
|
17
|
+
reconnaissance-report.md
|
|
18
|
+
design-token-extraction.md
|
|
19
|
+
asset-inventory.md
|
|
20
|
+
specs/
|
|
21
|
+
<section-slug>.md (one per identified section)
|
|
22
|
+
qa/
|
|
23
|
+
visual-qa-checklist.md
|
|
24
|
+
platform-handoff.md
|
|
25
|
+
```
|
|
26
|
+
|
|
27
|
+
---
|
|
28
|
+
|
|
29
|
+
## Naming conventions
|
|
30
|
+
|
|
31
|
+
| Artifact | Naming pattern |
|
|
32
|
+
|---|---|
|
|
33
|
+
| Client slug | lowercase-kebab-case, e.g. `acme-corp` |
|
|
34
|
+
| Project slug | lowercase-kebab-case, e.g. `homepage-clone` |
|
|
35
|
+
| Section slug | lowercase-kebab-case matching section name, e.g. `hero-section` |
|
|
36
|
+
| Component files | PascalCase under `src/components/<section-slug>/`, e.g. `HeroSection.tsx` |
|
|
37
|
+
|
|
38
|
+
---
|
|
39
|
+
|
|
40
|
+
## Required deliverables per project
|
|
41
|
+
|
|
42
|
+
Every completed clone project must have:
|
|
43
|
+
|
|
44
|
+
1. `reconnaissance-report.md` — screenshots documented, tokens noted
|
|
45
|
+
2. `design-token-extraction.md` — complete token set with oklch conversions
|
|
46
|
+
3. One `specs/<section-slug>.md` per section cloned
|
|
47
|
+
4. `asset-inventory.md` — all external assets downloaded to `public/`
|
|
48
|
+
5. `qa/visual-qa-checklist.md` — completed with pass/deviation notes
|
|
49
|
+
6. `platform-handoff.md` — deployment-ready instructions
|
|
50
|
+
|
|
51
|
+
---
|
|
52
|
+
|
|
53
|
+
## Quality gates
|
|
54
|
+
|
|
55
|
+
Before producing the platform handoff, the following must pass:
|
|
56
|
+
|
|
57
|
+
- `npm run build` — TypeScript compilation and Next.js build succeeds
|
|
58
|
+
- `npm run lint` — ESLint passes with no errors
|
|
59
|
+
- `npm run typecheck` — TypeScript strict mode passes
|
|
60
|
+
- Visual diff — all sections visually reviewed against original screenshots
|
|
61
|
+
|
|
62
|
+
---
|
|
63
|
+
|
|
64
|
+
## Deviation logging
|
|
65
|
+
|
|
66
|
+
If a section cannot be cloned exactly (auth-gated content, missing assets, proprietary fonts), log the deviation in `visual-qa-checklist.md` under the "Deviations" section:
|
|
67
|
+
|
|
68
|
+
```markdown
|
|
69
|
+
## Deviations
|
|
70
|
+
|
|
71
|
+
| Section | Type | Reason | Resolution |
|
|
72
|
+
|---|---|---|---|
|
|
73
|
+
| hero-section | Font | Proprietary font not available | Replaced with closest system font; documented |
|
|
74
|
+
| pricing-table | Auth | Pricing content behind login | Placeholder content with noted limitation |
|
|
75
|
+
```
|
|
@@ -0,0 +1,70 @@
|
|
|
1
|
+
# Runtime Assumptions — AI Website Cloner
|
|
2
|
+
|
|
3
|
+
**Kit:** `growthub-ai-website-cloner-v1`
|
|
4
|
+
|
|
5
|
+
---
|
|
6
|
+
|
|
7
|
+
## Fork assumptions
|
|
8
|
+
|
|
9
|
+
This kit assumes the `ai-website-cloner-template` fork is checked out and installed:
|
|
10
|
+
|
|
11
|
+
| Assumption | Default | Override |
|
|
12
|
+
|---|---|---|
|
|
13
|
+
| Fork directory | `~/ai-website-cloner-template` | `AI_CLONER_FORK_PATH` env var |
|
|
14
|
+
| Fork repo URL | `https://github.com/JCodesMore/ai-website-cloner-template` | n/a |
|
|
15
|
+
| Node.js version | 24+ (strict) | n/a — minimum requirement |
|
|
16
|
+
| Package manager | npm | n/a |
|
|
17
|
+
| Dev server port | 3000 | Configurable via Next.js CLI |
|
|
18
|
+
|
|
19
|
+
---
|
|
20
|
+
|
|
21
|
+
## Tech stack (locked by fork)
|
|
22
|
+
|
|
23
|
+
The fork uses a locked stack. Do not deviate inside the clone output:
|
|
24
|
+
|
|
25
|
+
| Layer | Version |
|
|
26
|
+
|---|---|
|
|
27
|
+
| Next.js | 16 (App Router, React 19) |
|
|
28
|
+
| TypeScript | strict mode |
|
|
29
|
+
| shadcn/ui | Latest at fork commit |
|
|
30
|
+
| Tailwind CSS | v4 |
|
|
31
|
+
| Design tokens | oklch color space |
|
|
32
|
+
| Icons | Lucide React (default) + extracted SVGs |
|
|
33
|
+
|
|
34
|
+
---
|
|
35
|
+
|
|
36
|
+
## Agent assumptions
|
|
37
|
+
|
|
38
|
+
- The AI coding agent is running in the fork's root directory
|
|
39
|
+
- The agent can access the internet for screenshots and asset downloads
|
|
40
|
+
- The agent can spawn parallel subagents / worktrees for builder dispatch
|
|
41
|
+
- Claude Code with `--chrome` flag is the recommended setup (enables browser automation)
|
|
42
|
+
|
|
43
|
+
---
|
|
44
|
+
|
|
45
|
+
## What the fork's `/clone-website` skill does
|
|
46
|
+
|
|
47
|
+
The skill is defined in `.claude/skills/clone-website/SKILL.md` (and synced to other agents).
|
|
48
|
+
When invoked by the operator, it:
|
|
49
|
+
|
|
50
|
+
1. Opens Chrome DevTools (via `--chrome` flag for Claude Code, or Playwright for other agents)
|
|
51
|
+
2. Navigates to the target URL
|
|
52
|
+
3. Captures screenshots at all viewports
|
|
53
|
+
4. Extracts design tokens via `getComputedStyle()` console calls
|
|
54
|
+
5. Downloads all external assets to `public/`
|
|
55
|
+
6. Writes component specs to `docs/research/components/`
|
|
56
|
+
7. Dispatches builder subagents in git worktrees
|
|
57
|
+
8. Merges and assembles the page
|
|
58
|
+
9. Runs visual QA
|
|
59
|
+
|
|
60
|
+
---
|
|
61
|
+
|
|
62
|
+
## Ethical use constraints
|
|
63
|
+
|
|
64
|
+
This kit must not be used to:
|
|
65
|
+
- Create phishing pages or impersonation sites
|
|
66
|
+
- Clone sites with explicit prohibitions on reproduction in their Terms of Service
|
|
67
|
+
- Redistribute proprietary brand assets or copy
|
|
68
|
+
- Pass off cloned designs as original work
|
|
69
|
+
|
|
70
|
+
These constraints are enforced by operator instruction, not technical controls. The operator must verify site terms before initiating a clone.
|
|
@@ -0,0 +1,50 @@
|
|
|
1
|
+
#!/usr/bin/env bash
|
|
2
|
+
# check-deps.sh — Verify all dependencies for the AI Website Cloner
|
|
3
|
+
set -e
|
|
4
|
+
|
|
5
|
+
echo "=== AI Website Cloner — Dependency Check ==="
|
|
6
|
+
echo ""
|
|
7
|
+
|
|
8
|
+
OK=0
|
|
9
|
+
|
|
10
|
+
check_cmd() {
|
|
11
|
+
local cmd="$1"
|
|
12
|
+
local label="$2"
|
|
13
|
+
local hint="$3"
|
|
14
|
+
if command -v "$cmd" &>/dev/null; then
|
|
15
|
+
echo " OK $label ($cmd: $(command -v "$cmd"))"
|
|
16
|
+
else
|
|
17
|
+
echo " MISS $label — $hint"
|
|
18
|
+
OK=1
|
|
19
|
+
fi
|
|
20
|
+
}
|
|
21
|
+
|
|
22
|
+
check_version() {
|
|
23
|
+
local cmd="$1"
|
|
24
|
+
local label="$2"
|
|
25
|
+
local min_major="$3"
|
|
26
|
+
local hint="$4"
|
|
27
|
+
if command -v "$cmd" &>/dev/null; then
|
|
28
|
+
local version
|
|
29
|
+
version=$("$cmd" --version 2>&1 | head -1)
|
|
30
|
+
echo " OK $label ($version)"
|
|
31
|
+
else
|
|
32
|
+
echo " MISS $label (required: $min_major+) — $hint"
|
|
33
|
+
OK=1
|
|
34
|
+
fi
|
|
35
|
+
}
|
|
36
|
+
|
|
37
|
+
check_version "node" "Node.js 24+" "24" "https://nodejs.org/"
|
|
38
|
+
check_cmd "npm" "npm" "Included with Node.js"
|
|
39
|
+
check_cmd "git" "git" "https://git-scm.com/"
|
|
40
|
+
|
|
41
|
+
echo ""
|
|
42
|
+
echo "Optional — recommended for Chrome/screenshot automation:"
|
|
43
|
+
check_cmd "claude" "Claude Code" "npm install -g @anthropic-ai/claude-code"
|
|
44
|
+
|
|
45
|
+
echo ""
|
|
46
|
+
if [ "$OK" -eq 0 ]; then
|
|
47
|
+
echo "All required dependencies are present."
|
|
48
|
+
else
|
|
49
|
+
echo "Some dependencies are missing. Install them before running the fork setup."
|
|
50
|
+
fi
|
|
@@ -0,0 +1,66 @@
|
|
|
1
|
+
#!/usr/bin/env bash
|
|
2
|
+
# clone-fork.sh — Clone and boot the ai-website-cloner-template fork
|
|
3
|
+
# Run from any location. Installs to ~/ai-website-cloner-template (or AI_CLONER_FORK_PATH).
|
|
4
|
+
set -e
|
|
5
|
+
|
|
6
|
+
FORK_DIR="${AI_CLONER_FORK_PATH:-$HOME/ai-website-cloner-template}"
|
|
7
|
+
REPO_URL="https://github.com/JCodesMore/ai-website-cloner-template.git"
|
|
8
|
+
|
|
9
|
+
echo "=== Growthub AI Website Cloner — Fork Setup ==="
|
|
10
|
+
echo ""
|
|
11
|
+
|
|
12
|
+
if [ -d "$FORK_DIR" ]; then
|
|
13
|
+
echo "Fork already exists at $FORK_DIR — skipping clone."
|
|
14
|
+
echo "To re-clone, remove the directory first: rm -rf $FORK_DIR"
|
|
15
|
+
else
|
|
16
|
+
echo "Cloning ai-website-cloner-template → $FORK_DIR"
|
|
17
|
+
git clone "$REPO_URL" "$FORK_DIR"
|
|
18
|
+
echo "Clone complete."
|
|
19
|
+
fi
|
|
20
|
+
|
|
21
|
+
echo ""
|
|
22
|
+
echo "Installing dependencies..."
|
|
23
|
+
cd "$FORK_DIR"
|
|
24
|
+
npm install
|
|
25
|
+
echo "Dependencies installed."
|
|
26
|
+
|
|
27
|
+
echo ""
|
|
28
|
+
echo "Checking Node.js version..."
|
|
29
|
+
NODE_VERSION=$(node --version | sed 's/v//' | cut -d. -f1)
|
|
30
|
+
if [ "$NODE_VERSION" -lt 24 ]; then
|
|
31
|
+
echo "WARNING: Node.js $NODE_VERSION detected. Node.js 24+ is required."
|
|
32
|
+
echo "Visit https://nodejs.org/ to upgrade, or use nvm: nvm use 24"
|
|
33
|
+
else
|
|
34
|
+
echo "Node.js $(node --version) — OK"
|
|
35
|
+
fi
|
|
36
|
+
|
|
37
|
+
echo ""
|
|
38
|
+
echo "Verifying fork structure..."
|
|
39
|
+
STRUCTURE_OK=0
|
|
40
|
+
for item in src/app src/components src/lib package.json next.config.ts; do
|
|
41
|
+
if [ -e "$FORK_DIR/$item" ]; then
|
|
42
|
+
echo " OK $item"
|
|
43
|
+
else
|
|
44
|
+
echo " MISS $item"
|
|
45
|
+
STRUCTURE_OK=1
|
|
46
|
+
fi
|
|
47
|
+
done
|
|
48
|
+
|
|
49
|
+
echo ""
|
|
50
|
+
if [ "$STRUCTURE_OK" -eq 0 ]; then
|
|
51
|
+
echo "Fork is ready at $FORK_DIR"
|
|
52
|
+
echo ""
|
|
53
|
+
echo "Next steps:"
|
|
54
|
+
echo " 1. Point your AI agent at the Growthub kit directory (this folder)"
|
|
55
|
+
echo " 2. Start Claude Code with: claude --chrome"
|
|
56
|
+
echo " 3. Run the clone skill: /clone-website <target-url>"
|
|
57
|
+
echo ""
|
|
58
|
+
echo "Dev server (after cloning a site):"
|
|
59
|
+
echo " cd $FORK_DIR && npm run dev"
|
|
60
|
+
else
|
|
61
|
+
echo "Fork cloned at $FORK_DIR — some expected files may differ in this version."
|
|
62
|
+
echo "Check the fork's README for the current structure."
|
|
63
|
+
fi
|
|
64
|
+
|
|
65
|
+
echo ""
|
|
66
|
+
echo "Fork location: $FORK_DIR"
|