@growthub/cli 0.3.53 → 0.3.55

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 (141) hide show
  1. package/assets/worker-kits/growthub-ai-website-cloner-v1/.env.example +7 -0
  2. package/assets/worker-kits/growthub-ai-website-cloner-v1/QUICKSTART.md +116 -0
  3. package/assets/worker-kits/growthub-ai-website-cloner-v1/brands/NEW-CLIENT.md +22 -0
  4. package/assets/worker-kits/growthub-ai-website-cloner-v1/brands/_template/brand-kit.md +27 -0
  5. package/assets/worker-kits/growthub-ai-website-cloner-v1/brands/growthub/brand-kit.md +26 -0
  6. package/assets/worker-kits/growthub-ai-website-cloner-v1/bundles/growthub-ai-website-cloner-v1.json +53 -0
  7. package/assets/worker-kits/growthub-ai-website-cloner-v1/docs/ai-website-cloner-fork-integration.md +118 -0
  8. package/assets/worker-kits/growthub-ai-website-cloner-v1/docs/design-token-system.md +135 -0
  9. package/assets/worker-kits/growthub-ai-website-cloner-v1/docs/multi-phase-pipeline.md +129 -0
  10. package/assets/worker-kits/growthub-ai-website-cloner-v1/docs/parallel-builder-dispatch.md +103 -0
  11. package/assets/worker-kits/growthub-ai-website-cloner-v1/examples/clone-brief-sample.md +54 -0
  12. package/assets/worker-kits/growthub-ai-website-cloner-v1/examples/component-spec-sample.md +123 -0
  13. package/assets/worker-kits/growthub-ai-website-cloner-v1/examples/platform-handoff-sample.md +102 -0
  14. package/assets/worker-kits/growthub-ai-website-cloner-v1/examples/visual-qa-sample.md +119 -0
  15. package/assets/worker-kits/growthub-ai-website-cloner-v1/growthub-meta/README.md +71 -0
  16. package/assets/worker-kits/growthub-ai-website-cloner-v1/growthub-meta/kit-standard.md +47 -0
  17. package/assets/worker-kits/growthub-ai-website-cloner-v1/kit.json +105 -0
  18. package/assets/worker-kits/growthub-ai-website-cloner-v1/output/README.md +26 -0
  19. package/assets/worker-kits/growthub-ai-website-cloner-v1/output-standards.md +75 -0
  20. package/assets/worker-kits/growthub-ai-website-cloner-v1/runtime-assumptions.md +70 -0
  21. package/assets/worker-kits/growthub-ai-website-cloner-v1/setup/check-deps.sh +50 -0
  22. package/assets/worker-kits/growthub-ai-website-cloner-v1/setup/clone-fork.sh +66 -0
  23. package/assets/worker-kits/growthub-ai-website-cloner-v1/setup/verify-env.mjs +78 -0
  24. package/assets/worker-kits/growthub-ai-website-cloner-v1/skills.md +186 -0
  25. package/assets/worker-kits/growthub-ai-website-cloner-v1/templates/asset-manifest.md +57 -0
  26. package/assets/worker-kits/growthub-ai-website-cloner-v1/templates/builder-dispatch-plan.md +92 -0
  27. package/assets/worker-kits/growthub-ai-website-cloner-v1/templates/clone-brief.md +59 -0
  28. package/assets/worker-kits/growthub-ai-website-cloner-v1/templates/component-spec.md +124 -0
  29. package/assets/worker-kits/growthub-ai-website-cloner-v1/templates/design-token-extraction.md +89 -0
  30. package/assets/worker-kits/growthub-ai-website-cloner-v1/templates/platform-handoff.md +114 -0
  31. package/assets/worker-kits/growthub-ai-website-cloner-v1/templates/reconnaissance-report.md +77 -0
  32. package/assets/worker-kits/growthub-ai-website-cloner-v1/templates/visual-qa-checklist.md +107 -0
  33. package/assets/worker-kits/growthub-ai-website-cloner-v1/validation-checklist.md +76 -0
  34. package/assets/worker-kits/growthub-ai-website-cloner-v1/workers/ai-website-cloner-operator/CLAUDE.md +256 -0
  35. package/assets/worker-kits/growthub-open-montage-studio-v1/.env.example +40 -0
  36. package/assets/worker-kits/growthub-open-montage-studio-v1/QUICKSTART.md +114 -0
  37. package/assets/worker-kits/growthub-open-montage-studio-v1/brands/NEW-CLIENT.md +42 -0
  38. package/assets/worker-kits/growthub-open-montage-studio-v1/brands/_template/brand-kit.md +49 -0
  39. package/assets/worker-kits/growthub-open-montage-studio-v1/brands/growthub/brand-kit.md +50 -0
  40. package/assets/worker-kits/growthub-open-montage-studio-v1/bundles/growthub-open-montage-studio-v1.json +55 -0
  41. package/assets/worker-kits/growthub-open-montage-studio-v1/docs/cms-node-bridge.md +152 -0
  42. package/assets/worker-kits/growthub-open-montage-studio-v1/docs/open-montage-fork-integration.md +120 -0
  43. package/assets/worker-kits/growthub-open-montage-studio-v1/docs/pipeline-reference.md +147 -0
  44. package/assets/worker-kits/growthub-open-montage-studio-v1/docs/provider-adapter-layer.md +105 -0
  45. package/assets/worker-kits/growthub-open-montage-studio-v1/examples/cms-node-video-gen-sample.md +109 -0
  46. package/assets/worker-kits/growthub-open-montage-studio-v1/examples/pipeline-selection-sample.md +67 -0
  47. package/assets/worker-kits/growthub-open-montage-studio-v1/examples/platform-ready-handoff-sample.md +101 -0
  48. package/assets/worker-kits/growthub-open-montage-studio-v1/examples/video-production-brief-sample.md +68 -0
  49. package/assets/worker-kits/growthub-open-montage-studio-v1/growthub-meta/README.md +7 -0
  50. package/assets/worker-kits/growthub-open-montage-studio-v1/growthub-meta/kit-standard.md +45 -0
  51. package/assets/worker-kits/growthub-open-montage-studio-v1/kit.json +107 -0
  52. package/assets/worker-kits/growthub-open-montage-studio-v1/output/README.md +34 -0
  53. package/assets/worker-kits/growthub-open-montage-studio-v1/output-standards.md +79 -0
  54. package/assets/worker-kits/growthub-open-montage-studio-v1/runtime-assumptions.md +86 -0
  55. package/assets/worker-kits/growthub-open-montage-studio-v1/setup/check-deps.sh +43 -0
  56. package/assets/worker-kits/growthub-open-montage-studio-v1/setup/clone-fork.sh +53 -0
  57. package/assets/worker-kits/growthub-open-montage-studio-v1/setup/verify-env.mjs +102 -0
  58. package/assets/worker-kits/growthub-open-montage-studio-v1/skills.md +254 -0
  59. package/assets/worker-kits/growthub-open-montage-studio-v1/templates/asset-tracking.md +46 -0
  60. package/assets/worker-kits/growthub-open-montage-studio-v1/templates/cms-node-pipeline-mapping.md +64 -0
  61. package/assets/worker-kits/growthub-open-montage-studio-v1/templates/generation-batch-plan.md +70 -0
  62. package/assets/worker-kits/growthub-open-montage-studio-v1/templates/pipeline-selection-brief.md +67 -0
  63. package/assets/worker-kits/growthub-open-montage-studio-v1/templates/platform-ready-execution-handoff.md +103 -0
  64. package/assets/worker-kits/growthub-open-montage-studio-v1/templates/prompt-matrix.md +48 -0
  65. package/assets/worker-kits/growthub-open-montage-studio-v1/templates/provider-selection-brief.md +86 -0
  66. package/assets/worker-kits/growthub-open-montage-studio-v1/templates/review-qa-checklist.md +59 -0
  67. package/assets/worker-kits/growthub-open-montage-studio-v1/templates/scene-plan.md +65 -0
  68. package/assets/worker-kits/growthub-open-montage-studio-v1/templates/video-production-brief.md +58 -0
  69. package/assets/worker-kits/growthub-open-montage-studio-v1/validation-checklist.md +46 -0
  70. package/assets/worker-kits/growthub-open-montage-studio-v1/workers/open-montage-studio-operator/CLAUDE.md +304 -0
  71. package/assets/worker-kits/growthub-postiz-social-v1/.env.example +18 -0
  72. package/assets/worker-kits/growthub-postiz-social-v1/QUICKSTART.md +136 -0
  73. package/assets/worker-kits/growthub-postiz-social-v1/brands/NEW-CLIENT.md +67 -0
  74. package/assets/worker-kits/growthub-postiz-social-v1/brands/_template/brand-kit.md +120 -0
  75. package/assets/worker-kits/growthub-postiz-social-v1/brands/growthub/brand-kit.md +117 -0
  76. package/assets/worker-kits/growthub-postiz-social-v1/bundles/growthub-postiz-social-v1.json +52 -0
  77. package/assets/worker-kits/growthub-postiz-social-v1/docs/ai-caption-layer.md +118 -0
  78. package/assets/worker-kits/growthub-postiz-social-v1/docs/bullmq-queue-layer.md +157 -0
  79. package/assets/worker-kits/growthub-postiz-social-v1/docs/platform-coverage.md +97 -0
  80. package/assets/worker-kits/growthub-postiz-social-v1/docs/postiz-fork-integration.md +143 -0
  81. package/assets/worker-kits/growthub-postiz-social-v1/examples/analytics-brief-sample.md +125 -0
  82. package/assets/worker-kits/growthub-postiz-social-v1/examples/client-proposal-sample.md +127 -0
  83. package/assets/worker-kits/growthub-postiz-social-v1/examples/content-calendar-sample.md +75 -0
  84. package/assets/worker-kits/growthub-postiz-social-v1/examples/social-campaign-sample.md +104 -0
  85. package/assets/worker-kits/growthub-postiz-social-v1/growthub-meta/README.md +128 -0
  86. package/assets/worker-kits/growthub-postiz-social-v1/growthub-meta/kit-standard.md +113 -0
  87. package/assets/worker-kits/growthub-postiz-social-v1/kit.json +104 -0
  88. package/assets/worker-kits/growthub-postiz-social-v1/output/README.md +56 -0
  89. package/assets/worker-kits/growthub-postiz-social-v1/output-standards.md +127 -0
  90. package/assets/worker-kits/growthub-postiz-social-v1/runtime-assumptions.md +159 -0
  91. package/assets/worker-kits/growthub-postiz-social-v1/setup/check-deps.sh +117 -0
  92. package/assets/worker-kits/growthub-postiz-social-v1/setup/clone-fork.sh +83 -0
  93. package/assets/worker-kits/growthub-postiz-social-v1/setup/verify-env.mjs +99 -0
  94. package/assets/worker-kits/growthub-postiz-social-v1/skills.md +277 -0
  95. package/assets/worker-kits/growthub-postiz-social-v1/templates/analytics-brief.md +123 -0
  96. package/assets/worker-kits/growthub-postiz-social-v1/templates/caption-copy-deck.md +127 -0
  97. package/assets/worker-kits/growthub-postiz-social-v1/templates/client-proposal.md +139 -0
  98. package/assets/worker-kits/growthub-postiz-social-v1/templates/content-calendar.md +65 -0
  99. package/assets/worker-kits/growthub-postiz-social-v1/templates/platform-publishing-plan.md +112 -0
  100. package/assets/worker-kits/growthub-postiz-social-v1/templates/scheduling-manifest.md +83 -0
  101. package/assets/worker-kits/growthub-postiz-social-v1/templates/social-campaign-brief.md +111 -0
  102. package/assets/worker-kits/growthub-postiz-social-v1/validation-checklist.md +79 -0
  103. package/assets/worker-kits/growthub-postiz-social-v1/workers/postiz-social-operator/CLAUDE.md +287 -0
  104. package/assets/worker-kits/growthub-twenty-crm-v1/.env.example +15 -0
  105. package/assets/worker-kits/growthub-twenty-crm-v1/QUICKSTART.md +90 -0
  106. package/assets/worker-kits/growthub-twenty-crm-v1/brands/NEW-CLIENT.md +57 -0
  107. package/assets/worker-kits/growthub-twenty-crm-v1/brands/_template/brand-kit.md +88 -0
  108. package/assets/worker-kits/growthub-twenty-crm-v1/brands/growthub/brand-kit.md +92 -0
  109. package/assets/worker-kits/growthub-twenty-crm-v1/bundles/growthub-twenty-crm-v1.json +56 -0
  110. package/assets/worker-kits/growthub-twenty-crm-v1/docs/api-and-webhooks.md +296 -0
  111. package/assets/worker-kits/growthub-twenty-crm-v1/docs/data-model-layer.md +172 -0
  112. package/assets/worker-kits/growthub-twenty-crm-v1/docs/twenty-fork-integration.md +213 -0
  113. package/assets/worker-kits/growthub-twenty-crm-v1/examples/crm-playbook-sample.md +172 -0
  114. package/assets/worker-kits/growthub-twenty-crm-v1/examples/crm-setup-sample.md +100 -0
  115. package/assets/worker-kits/growthub-twenty-crm-v1/examples/lead-enrichment-sample.md +117 -0
  116. package/assets/worker-kits/growthub-twenty-crm-v1/examples/pipeline-automation-sample.md +132 -0
  117. package/assets/worker-kits/growthub-twenty-crm-v1/growthub-meta/README.md +114 -0
  118. package/assets/worker-kits/growthub-twenty-crm-v1/growthub-meta/kit-standard.md +61 -0
  119. package/assets/worker-kits/growthub-twenty-crm-v1/kit.json +108 -0
  120. package/assets/worker-kits/growthub-twenty-crm-v1/output/README.md +46 -0
  121. package/assets/worker-kits/growthub-twenty-crm-v1/output-standards.md +175 -0
  122. package/assets/worker-kits/growthub-twenty-crm-v1/runtime-assumptions.md +150 -0
  123. package/assets/worker-kits/growthub-twenty-crm-v1/setup/check-deps.sh +56 -0
  124. package/assets/worker-kits/growthub-twenty-crm-v1/setup/clone-fork.sh +77 -0
  125. package/assets/worker-kits/growthub-twenty-crm-v1/setup/verify-env.mjs +105 -0
  126. package/assets/worker-kits/growthub-twenty-crm-v1/skills.md +401 -0
  127. package/assets/worker-kits/growthub-twenty-crm-v1/templates/api-query-plan.md +179 -0
  128. package/assets/worker-kits/growthub-twenty-crm-v1/templates/crm-playbook.md +155 -0
  129. package/assets/worker-kits/growthub-twenty-crm-v1/templates/crm-setup-brief.md +94 -0
  130. package/assets/worker-kits/growthub-twenty-crm-v1/templates/custom-object-design.md +115 -0
  131. package/assets/worker-kits/growthub-twenty-crm-v1/templates/data-model-design.md +112 -0
  132. package/assets/worker-kits/growthub-twenty-crm-v1/templates/enrichment-field-map.md +100 -0
  133. package/assets/worker-kits/growthub-twenty-crm-v1/templates/import-mapping.md +139 -0
  134. package/assets/worker-kits/growthub-twenty-crm-v1/templates/integration-handoff.md +190 -0
  135. package/assets/worker-kits/growthub-twenty-crm-v1/templates/lead-enrichment-pipeline.md +128 -0
  136. package/assets/worker-kits/growthub-twenty-crm-v1/templates/pipeline-automation-brief.md +88 -0
  137. package/assets/worker-kits/growthub-twenty-crm-v1/templates/webhook-integration-spec.md +129 -0
  138. package/assets/worker-kits/growthub-twenty-crm-v1/templates/workspace-config-checklist.md +129 -0
  139. package/assets/worker-kits/growthub-twenty-crm-v1/validation-checklist.md +115 -0
  140. package/assets/worker-kits/growthub-twenty-crm-v1/workers/twenty-crm-operator/CLAUDE.md +310 -0
  141. package/package.json +1 -1
@@ -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"
@@ -0,0 +1,78 @@
1
+ #!/usr/bin/env node
2
+ // verify-env.mjs — Verify the AI Website Cloner environment is ready
3
+ import { existsSync } from "node:fs";
4
+ import { execSync } from "node:child_process";
5
+ import { resolve } from "node:path";
6
+ import { homedir } from "node:os";
7
+
8
+ const FORK_PATH = process.env.AI_CLONER_FORK_PATH || resolve(homedir(), "ai-website-cloner-template");
9
+
10
+ let passed = 0;
11
+ let failed = 0;
12
+
13
+ function check(label, pass, detail) {
14
+ if (pass) {
15
+ console.log(` ✓ ${label}`);
16
+ passed++;
17
+ } else {
18
+ console.log(` ✗ ${label}${detail ? ` — ${detail}` : ""}`);
19
+ failed++;
20
+ }
21
+ }
22
+
23
+ console.log("\nAI Website Cloner — Environment Check");
24
+ console.log("─".repeat(48));
25
+
26
+ // Check 1: Fork directory
27
+ check(
28
+ `Fork exists at ${FORK_PATH}`,
29
+ existsSync(FORK_PATH),
30
+ `Run: bash setup/clone-fork.sh`
31
+ );
32
+
33
+ // Check 2: Fork dependencies
34
+ check(
35
+ "Fork dependencies installed",
36
+ existsSync(resolve(FORK_PATH, "node_modules")),
37
+ `Run: cd ${FORK_PATH} && npm install`
38
+ );
39
+
40
+ // Check 3: Fork structure
41
+ for (const item of ["src/app", "src/components", "src/lib", "package.json", "next.config.ts"]) {
42
+ check(
43
+ `Fork has ${item}`,
44
+ existsSync(resolve(FORK_PATH, item)),
45
+ "Unexpected fork structure — check fork README"
46
+ );
47
+ }
48
+
49
+ // Check 4: Node.js version
50
+ try {
51
+ const version = process.versions.node.split(".")[0];
52
+ const isOk = parseInt(version, 10) >= 24;
53
+ check(
54
+ `Node.js 24+ (current: ${process.versions.node})`,
55
+ isOk,
56
+ "Upgrade at https://nodejs.org/ or use: nvm use 24"
57
+ );
58
+ } catch {
59
+ check("Node.js version check", false, "Could not determine version");
60
+ }
61
+
62
+ // Check 5: Git available
63
+ try {
64
+ execSync("git --version", { stdio: "ignore" });
65
+ check("git available", true);
66
+ } catch {
67
+ check("git available", false, "Install git: https://git-scm.com/");
68
+ }
69
+
70
+ console.log("─".repeat(48));
71
+ console.log(` ${passed} passed · ${failed} failed`);
72
+
73
+ if (failed > 0) {
74
+ console.log("\n Run: bash setup/clone-fork.sh to fix setup issues.\n");
75
+ process.exit(1);
76
+ } else {
77
+ console.log("\n Environment is ready. Start your AI agent and run: /clone-website <url>\n");
78
+ }
@@ -0,0 +1,186 @@
1
+ # AI Website Cloner Operator — Skills
2
+
3
+ **Kit:** `growthub-ai-website-cloner-v1`
4
+ **Worker ID:** `ai-website-cloner-operator`
5
+
6
+ ---
7
+
8
+ ## SKILL: `/clone-website`
9
+
10
+ The primary skill. Accepts one or more target URLs and executes the full clone pipeline.
11
+
12
+ ### Invocation
13
+
14
+ ```
15
+ /clone-website <target-url1> [<target-url2> ...]
16
+ ```
17
+
18
+ ### Pipeline phases (strict order)
19
+
20
+ | Phase | Name | Key output |
21
+ |---|---|---|
22
+ | 0 | Environment gate | Pass/fail — fork exists, Node 24+, deps installed |
23
+ | 1 | Reconnaissance | Screenshots, design tokens, interaction map, asset inventory |
24
+ | 2 | Foundation | Design token extraction sheet, fonts, globals, layout scaffold |
25
+ | 3 | Component specs | One spec file per section with exact computed CSS values |
26
+ | 4 | Asset download | All images, videos, SVGs, fonts downloaded to `public/` |
27
+ | 5 | Builder dispatch | Parallel worktrees — one per section/component |
28
+ | 6 | Assembly | Merge all worktrees, wire up route, resolve conflicts |
29
+ | 7 | Visual QA | Diff against original screenshots, document deviations |
30
+ | 8 | Platform handoff | Build verified, deployment instructions, client deliverable |
31
+
32
+ ---
33
+
34
+ ## RECONNAISSANCE CHECKLIST
35
+
36
+ Before writing any spec, capture all of the following:
37
+
38
+ ### Screenshots
39
+ - Desktop: 1440px wide, full scroll depth (every viewport height of content)
40
+ - Tablet: 768px wide, same depth
41
+ - Mobile: 375px wide, same depth
42
+ - Interactive states: hover states on navigation, CTAs, cards
43
+
44
+ ### Design token extraction
45
+ - Color palette: exact hex values + oklch equivalents for CSS
46
+ - Typography: every font family, size, weight, line-height, letter-spacing combination in use
47
+ - Spacing: all margin/padding values used in the layout (identify the scale)
48
+ - Border radius: all border-radius values
49
+ - Box shadows: all box-shadow definitions
50
+ - Transitions: all transition/animation timing values
51
+
52
+ ### Interaction sweep
53
+ - Navigation: all hover states, dropdowns, mobile hamburger
54
+ - CTAs and buttons: hover, active, focus, disabled states
55
+ - Cards: hover transforms, shadows
56
+ - Scroll-triggered: parallax, fade-ins, stickiness
57
+ - Forms: focus, validation, error states
58
+
59
+ ### Asset inventory
60
+ - All `<img>` src values (CDN URLs)
61
+ - All `<video>` src values
62
+ - All background-image URLs
63
+ - All SVG icons (inline or file)
64
+ - All custom webfont sources
65
+
66
+ ---
67
+
68
+ ## DESIGN TOKEN EXTRACTION METHODOLOGY
69
+
70
+ Use `getComputedStyle()` in the browser DevTools console to extract exact values:
71
+
72
+ ```js
73
+ // Get all colors used in the page
74
+ [...document.querySelectorAll('*')].flatMap(el => {
75
+ const s = getComputedStyle(el);
76
+ return [s.color, s.backgroundColor, s.borderColor].filter(c => c && c !== 'rgba(0, 0, 0, 0)');
77
+ }).filter((v, i, a) => a.indexOf(v) === i);
78
+ ```
79
+
80
+ Document all values in `templates/design-token-extraction.md`. Convert to oklch for Tailwind CSS v4.
81
+
82
+ ---
83
+
84
+ ## COMPONENT SPEC FORMAT
85
+
86
+ Each spec file must include these sections:
87
+
88
+ ```markdown
89
+ # <SectionName> — Component Spec
90
+
91
+ ## Purpose
92
+ What this section does for the user.
93
+
94
+ ## Layout
95
+ - Container max-width: <value>
96
+ - Padding: <top> <right> <bottom> <left>
97
+ - Display: <flex|grid|block>
98
+ - Grid columns (desktop/tablet/mobile): <values>
99
+ - Gap: <value>
100
+
101
+ ## Typography
102
+ - Heading: <font-family>, <size>/<line-height>, weight <weight>
103
+ - Body: <font-family>, <size>/<line-height>, weight <weight>
104
+ - Caption: <font-family>, <size>/<line-height>, weight <weight>
105
+
106
+ ## Colors
107
+ - Background: <hex> / oklch(<value>)
108
+ - Text primary: <hex> / oklch(<value>)
109
+ - Text secondary: <hex> / oklch(<value>)
110
+ - Accent: <hex> / oklch(<value>)
111
+ - Border: <hex> / oklch(<value>)
112
+
113
+ ## States
114
+ - Default: [describe]
115
+ - Hover: [describe — exact transform, color change, transition timing]
116
+ - Active: [describe]
117
+ - Focus: [describe — focus ring color, offset]
118
+
119
+ ## Responsive
120
+ - Desktop (1440px): [layout description]
121
+ - Tablet (768px): [layout changes]
122
+ - Mobile (375px): [layout changes]
123
+
124
+ ## Assets
125
+ - Image: public/images/<filename>.<ext> — originally from <cdn-url>
126
+ - Icon: src/components/icons.tsx as <IconName>
127
+
128
+ ## Content
129
+ [Exact text content from the target — no placeholders]
130
+
131
+ ## Accessibility
132
+ - ARIA role: <role>
133
+ - Landmark: <nav|main|aside|footer>
134
+ - Tab order: [describe]
135
+ - Keyboard navigation: [describe]
136
+ ```
137
+
138
+ ---
139
+
140
+ ## BUILDER DISPATCH RULES
141
+
142
+ 1. Each builder receives exactly one component spec
143
+ 2. Each builder works in a fresh `git worktree` on a dedicated branch: `build/<section-slug>`
144
+ 3. Builders output files ONLY to `src/components/<section-slug>/`
145
+ 4. No builder writes to: `src/app/`, `src/lib/`, `src/types/`, `globals.css`, `layout.tsx`
146
+ 5. The orchestrator owns all assembly and shared file writes
147
+ 6. After all builders complete, orchestrator merges all `build/*` branches
148
+ 7. Merge conflicts are resolved by the orchestrator with full spec context
149
+ 8. Assembly order follows the spec list in the dispatch plan
150
+
151
+ ---
152
+
153
+ ## VISUAL QA STANDARDS
154
+
155
+ A clone passes QA when:
156
+
157
+ | Criterion | Threshold |
158
+ |---|---|
159
+ | Layout accuracy | All major sections within 2px of original |
160
+ | Color fidelity | All token values match extracted values |
161
+ | Typography | Font family, size, weight identical for all text |
162
+ | Asset completeness | All images, videos, icons present and loading |
163
+ | Responsive | No layout breaks at 1440, 768, 375px |
164
+ | Interaction | All hover/focus/active states visually match |
165
+ | Build | `npm run build` exits 0 with no errors |
166
+ | Lint | `npm run lint` exits 0 |
167
+
168
+ Any deviation must be documented in `visual-qa-checklist.md` with a reason and resolution.
169
+
170
+ ---
171
+
172
+ ## OUTPUT NAMING
173
+
174
+ All outputs use the pattern:
175
+ ```
176
+ output/<client-slug>/<project-slug>/<artifact-type>.<extension>
177
+ ```
178
+
179
+ Examples:
180
+ ```
181
+ output/acme-corp/homepage-clone/research/reconnaissance-report.md
182
+ output/acme-corp/homepage-clone/specs/hero-section.md
183
+ output/acme-corp/homepage-clone/specs/navigation.md
184
+ output/acme-corp/homepage-clone/qa/visual-qa-checklist.md
185
+ output/acme-corp/homepage-clone/platform-handoff.md
186
+ ```