@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.
Files changed (109) hide show
  1. package/README.md +56 -156
  2. package/assets/worker-kits/growthub-ai-website-cloner-v1/.env.example +7 -0
  3. package/assets/worker-kits/growthub-ai-website-cloner-v1/QUICKSTART.md +116 -0
  4. package/assets/worker-kits/growthub-ai-website-cloner-v1/brands/NEW-CLIENT.md +22 -0
  5. package/assets/worker-kits/growthub-ai-website-cloner-v1/brands/_template/brand-kit.md +27 -0
  6. package/assets/worker-kits/growthub-ai-website-cloner-v1/brands/growthub/brand-kit.md +26 -0
  7. package/assets/worker-kits/growthub-ai-website-cloner-v1/bundles/growthub-ai-website-cloner-v1.json +53 -0
  8. package/assets/worker-kits/growthub-ai-website-cloner-v1/docs/ai-website-cloner-fork-integration.md +118 -0
  9. package/assets/worker-kits/growthub-ai-website-cloner-v1/docs/design-token-system.md +135 -0
  10. package/assets/worker-kits/growthub-ai-website-cloner-v1/docs/multi-phase-pipeline.md +129 -0
  11. package/assets/worker-kits/growthub-ai-website-cloner-v1/docs/parallel-builder-dispatch.md +103 -0
  12. package/assets/worker-kits/growthub-ai-website-cloner-v1/examples/clone-brief-sample.md +54 -0
  13. package/assets/worker-kits/growthub-ai-website-cloner-v1/examples/component-spec-sample.md +123 -0
  14. package/assets/worker-kits/growthub-ai-website-cloner-v1/examples/platform-handoff-sample.md +102 -0
  15. package/assets/worker-kits/growthub-ai-website-cloner-v1/examples/visual-qa-sample.md +119 -0
  16. package/assets/worker-kits/growthub-ai-website-cloner-v1/growthub-meta/README.md +71 -0
  17. package/assets/worker-kits/growthub-ai-website-cloner-v1/growthub-meta/kit-standard.md +47 -0
  18. package/assets/worker-kits/growthub-ai-website-cloner-v1/kit.json +105 -0
  19. package/assets/worker-kits/growthub-ai-website-cloner-v1/output/README.md +26 -0
  20. package/assets/worker-kits/growthub-ai-website-cloner-v1/output-standards.md +75 -0
  21. package/assets/worker-kits/growthub-ai-website-cloner-v1/runtime-assumptions.md +70 -0
  22. package/assets/worker-kits/growthub-ai-website-cloner-v1/setup/check-deps.sh +50 -0
  23. package/assets/worker-kits/growthub-ai-website-cloner-v1/setup/clone-fork.sh +66 -0
  24. package/assets/worker-kits/growthub-ai-website-cloner-v1/setup/verify-env.mjs +78 -0
  25. package/assets/worker-kits/growthub-ai-website-cloner-v1/skills.md +186 -0
  26. package/assets/worker-kits/growthub-ai-website-cloner-v1/templates/asset-manifest.md +57 -0
  27. package/assets/worker-kits/growthub-ai-website-cloner-v1/templates/builder-dispatch-plan.md +92 -0
  28. package/assets/worker-kits/growthub-ai-website-cloner-v1/templates/clone-brief.md +59 -0
  29. package/assets/worker-kits/growthub-ai-website-cloner-v1/templates/component-spec.md +124 -0
  30. package/assets/worker-kits/growthub-ai-website-cloner-v1/templates/design-token-extraction.md +89 -0
  31. package/assets/worker-kits/growthub-ai-website-cloner-v1/templates/platform-handoff.md +114 -0
  32. package/assets/worker-kits/growthub-ai-website-cloner-v1/templates/reconnaissance-report.md +77 -0
  33. package/assets/worker-kits/growthub-ai-website-cloner-v1/templates/visual-qa-checklist.md +107 -0
  34. package/assets/worker-kits/growthub-ai-website-cloner-v1/validation-checklist.md +76 -0
  35. package/assets/worker-kits/growthub-ai-website-cloner-v1/workers/ai-website-cloner-operator/CLAUDE.md +256 -0
  36. package/assets/worker-kits/growthub-open-montage-studio-v1/.env.example +40 -0
  37. package/assets/worker-kits/growthub-open-montage-studio-v1/QUICKSTART.md +114 -0
  38. package/assets/worker-kits/growthub-open-montage-studio-v1/brands/NEW-CLIENT.md +42 -0
  39. package/assets/worker-kits/growthub-open-montage-studio-v1/brands/_template/brand-kit.md +49 -0
  40. package/assets/worker-kits/growthub-open-montage-studio-v1/brands/growthub/brand-kit.md +50 -0
  41. package/assets/worker-kits/growthub-open-montage-studio-v1/bundles/growthub-open-montage-studio-v1.json +55 -0
  42. package/assets/worker-kits/growthub-open-montage-studio-v1/docs/cms-node-bridge.md +152 -0
  43. package/assets/worker-kits/growthub-open-montage-studio-v1/docs/open-montage-fork-integration.md +120 -0
  44. package/assets/worker-kits/growthub-open-montage-studio-v1/docs/pipeline-reference.md +147 -0
  45. package/assets/worker-kits/growthub-open-montage-studio-v1/docs/provider-adapter-layer.md +105 -0
  46. package/assets/worker-kits/growthub-open-montage-studio-v1/examples/cms-node-video-gen-sample.md +109 -0
  47. package/assets/worker-kits/growthub-open-montage-studio-v1/examples/pipeline-selection-sample.md +67 -0
  48. package/assets/worker-kits/growthub-open-montage-studio-v1/examples/platform-ready-handoff-sample.md +101 -0
  49. package/assets/worker-kits/growthub-open-montage-studio-v1/examples/video-production-brief-sample.md +68 -0
  50. package/assets/worker-kits/growthub-open-montage-studio-v1/growthub-meta/README.md +7 -0
  51. package/assets/worker-kits/growthub-open-montage-studio-v1/growthub-meta/kit-standard.md +45 -0
  52. package/assets/worker-kits/growthub-open-montage-studio-v1/kit.json +107 -0
  53. package/assets/worker-kits/growthub-open-montage-studio-v1/output/README.md +34 -0
  54. package/assets/worker-kits/growthub-open-montage-studio-v1/output-standards.md +79 -0
  55. package/assets/worker-kits/growthub-open-montage-studio-v1/runtime-assumptions.md +86 -0
  56. package/assets/worker-kits/growthub-open-montage-studio-v1/setup/check-deps.sh +43 -0
  57. package/assets/worker-kits/growthub-open-montage-studio-v1/setup/clone-fork.sh +53 -0
  58. package/assets/worker-kits/growthub-open-montage-studio-v1/setup/verify-env.mjs +102 -0
  59. package/assets/worker-kits/growthub-open-montage-studio-v1/skills.md +254 -0
  60. package/assets/worker-kits/growthub-open-montage-studio-v1/templates/asset-tracking.md +46 -0
  61. package/assets/worker-kits/growthub-open-montage-studio-v1/templates/cms-node-pipeline-mapping.md +64 -0
  62. package/assets/worker-kits/growthub-open-montage-studio-v1/templates/generation-batch-plan.md +70 -0
  63. package/assets/worker-kits/growthub-open-montage-studio-v1/templates/pipeline-selection-brief.md +67 -0
  64. package/assets/worker-kits/growthub-open-montage-studio-v1/templates/platform-ready-execution-handoff.md +103 -0
  65. package/assets/worker-kits/growthub-open-montage-studio-v1/templates/prompt-matrix.md +48 -0
  66. package/assets/worker-kits/growthub-open-montage-studio-v1/templates/provider-selection-brief.md +86 -0
  67. package/assets/worker-kits/growthub-open-montage-studio-v1/templates/review-qa-checklist.md +59 -0
  68. package/assets/worker-kits/growthub-open-montage-studio-v1/templates/scene-plan.md +65 -0
  69. package/assets/worker-kits/growthub-open-montage-studio-v1/templates/video-production-brief.md +58 -0
  70. package/assets/worker-kits/growthub-open-montage-studio-v1/validation-checklist.md +46 -0
  71. package/assets/worker-kits/growthub-open-montage-studio-v1/workers/open-montage-studio-operator/CLAUDE.md +304 -0
  72. package/assets/worker-kits/growthub-twenty-crm-v1/.env.example +15 -0
  73. package/assets/worker-kits/growthub-twenty-crm-v1/QUICKSTART.md +90 -0
  74. package/assets/worker-kits/growthub-twenty-crm-v1/brands/NEW-CLIENT.md +57 -0
  75. package/assets/worker-kits/growthub-twenty-crm-v1/brands/_template/brand-kit.md +88 -0
  76. package/assets/worker-kits/growthub-twenty-crm-v1/brands/growthub/brand-kit.md +92 -0
  77. package/assets/worker-kits/growthub-twenty-crm-v1/bundles/growthub-twenty-crm-v1.json +56 -0
  78. package/assets/worker-kits/growthub-twenty-crm-v1/docs/api-and-webhooks.md +296 -0
  79. package/assets/worker-kits/growthub-twenty-crm-v1/docs/data-model-layer.md +172 -0
  80. package/assets/worker-kits/growthub-twenty-crm-v1/docs/twenty-fork-integration.md +213 -0
  81. package/assets/worker-kits/growthub-twenty-crm-v1/examples/crm-playbook-sample.md +172 -0
  82. package/assets/worker-kits/growthub-twenty-crm-v1/examples/crm-setup-sample.md +100 -0
  83. package/assets/worker-kits/growthub-twenty-crm-v1/examples/lead-enrichment-sample.md +117 -0
  84. package/assets/worker-kits/growthub-twenty-crm-v1/examples/pipeline-automation-sample.md +132 -0
  85. package/assets/worker-kits/growthub-twenty-crm-v1/growthub-meta/README.md +114 -0
  86. package/assets/worker-kits/growthub-twenty-crm-v1/growthub-meta/kit-standard.md +61 -0
  87. package/assets/worker-kits/growthub-twenty-crm-v1/kit.json +108 -0
  88. package/assets/worker-kits/growthub-twenty-crm-v1/output/README.md +46 -0
  89. package/assets/worker-kits/growthub-twenty-crm-v1/output-standards.md +175 -0
  90. package/assets/worker-kits/growthub-twenty-crm-v1/runtime-assumptions.md +150 -0
  91. package/assets/worker-kits/growthub-twenty-crm-v1/setup/check-deps.sh +56 -0
  92. package/assets/worker-kits/growthub-twenty-crm-v1/setup/clone-fork.sh +77 -0
  93. package/assets/worker-kits/growthub-twenty-crm-v1/setup/verify-env.mjs +105 -0
  94. package/assets/worker-kits/growthub-twenty-crm-v1/skills.md +401 -0
  95. package/assets/worker-kits/growthub-twenty-crm-v1/templates/api-query-plan.md +179 -0
  96. package/assets/worker-kits/growthub-twenty-crm-v1/templates/crm-playbook.md +155 -0
  97. package/assets/worker-kits/growthub-twenty-crm-v1/templates/crm-setup-brief.md +94 -0
  98. package/assets/worker-kits/growthub-twenty-crm-v1/templates/custom-object-design.md +115 -0
  99. package/assets/worker-kits/growthub-twenty-crm-v1/templates/data-model-design.md +112 -0
  100. package/assets/worker-kits/growthub-twenty-crm-v1/templates/enrichment-field-map.md +100 -0
  101. package/assets/worker-kits/growthub-twenty-crm-v1/templates/import-mapping.md +139 -0
  102. package/assets/worker-kits/growthub-twenty-crm-v1/templates/integration-handoff.md +190 -0
  103. package/assets/worker-kits/growthub-twenty-crm-v1/templates/lead-enrichment-pipeline.md +128 -0
  104. package/assets/worker-kits/growthub-twenty-crm-v1/templates/pipeline-automation-brief.md +88 -0
  105. package/assets/worker-kits/growthub-twenty-crm-v1/templates/webhook-integration-spec.md +129 -0
  106. package/assets/worker-kits/growthub-twenty-crm-v1/templates/workspace-config-checklist.md +129 -0
  107. package/assets/worker-kits/growthub-twenty-crm-v1/validation-checklist.md +115 -0
  108. package/assets/worker-kits/growthub-twenty-crm-v1/workers/twenty-crm-operator/CLAUDE.md +310 -0
  109. package/package.json +1 -1
@@ -0,0 +1,135 @@
1
+ # Design Token System
2
+
3
+ **Kit:** `growthub-ai-website-cloner-v1`
4
+
5
+ ---
6
+
7
+ ## Overview
8
+
9
+ The clone's design system uses Tailwind CSS v4 with oklch color tokens. All design values extracted from the target site are expressed as CSS custom properties in the `@theme` block of `globals.css`.
10
+
11
+ ---
12
+
13
+ ## Token extraction methodology
14
+
15
+ The operator uses `getComputedStyle()` in the browser DevTools console to extract exact computed values from the live target site.
16
+
17
+ ### Color extraction
18
+
19
+ ```js
20
+ // Run in browser DevTools console on the target site
21
+ // Extract all unique colors in use
22
+ [...document.querySelectorAll('*')].flatMap(el => {
23
+ const s = getComputedStyle(el);
24
+ return [s.color, s.backgroundColor, s.borderColor, s.outlineColor]
25
+ .filter(c => c && c !== 'rgba(0, 0, 0, 0)' && c !== 'transparent');
26
+ }).filter((v, i, a) => a.indexOf(v) === i).sort();
27
+ ```
28
+
29
+ ### Typography extraction
30
+
31
+ ```js
32
+ // Extract all typography combinations
33
+ [...document.querySelectorAll('*')].map(el => {
34
+ const s = getComputedStyle(el);
35
+ return `${s.fontFamily} | ${s.fontSize} | ${s.fontWeight} | ${s.lineHeight}`;
36
+ }).filter((v, i, a) => a.indexOf(v) === i).sort();
37
+ ```
38
+
39
+ ### Spacing extraction
40
+
41
+ ```js
42
+ // Extract spacing values from a specific element
43
+ const el = document.querySelector('.hero-section');
44
+ const s = getComputedStyle(el);
45
+ console.log({
46
+ padding: s.padding,
47
+ margin: s.margin,
48
+ gap: s.gap,
49
+ columnGap: s.columnGap,
50
+ rowGap: s.rowGap,
51
+ });
52
+ ```
53
+
54
+ ---
55
+
56
+ ## Converting to oklch
57
+
58
+ Tailwind CSS v4 uses oklch as the primary color format. Convert extracted hex/rgb values:
59
+
60
+ ```js
61
+ // Paste into browser console to convert RGB to oklch approximation
62
+ // (or use https://oklch.com/ for manual conversion)
63
+ function rgbToOklch(r, g, b) {
64
+ // Simplified — use the oklch.com tool for production values
65
+ const L = (0.2126 * r + 0.7152 * g + 0.0722 * b) / 255;
66
+ return `oklch(${(L * 100).toFixed(0)}% 0 0)`;
67
+ }
68
+ ```
69
+
70
+ Use [oklch.com](https://oklch.com/) for precise conversion during token extraction.
71
+
72
+ ---
73
+
74
+ ## Tailwind CSS v4 `@theme` configuration
75
+
76
+ All extracted tokens go into `src/app/globals.css`:
77
+
78
+ ```css
79
+ @import "tailwindcss";
80
+
81
+ @theme {
82
+ /* Colors */
83
+ --color-primary: oklch(12% 0 0);
84
+ --color-bg: oklch(100% 0 0);
85
+ --color-text: oklch(15% 0 0);
86
+ --color-text-secondary: oklch(45% 0 0);
87
+ --color-accent: oklch(50% 0.2 260);
88
+ --color-border: oklch(91% 0 0);
89
+
90
+ /* Typography */
91
+ --font-sans: "Inter", system-ui, sans-serif;
92
+ --font-heading: "Geist", "Inter", system-ui, sans-serif;
93
+
94
+ /* Spacing scale */
95
+ --spacing-xs: 0.25rem;
96
+ --spacing-sm: 0.5rem;
97
+ --spacing-md: 1rem;
98
+ --spacing-lg: 1.5rem;
99
+ --spacing-xl: 2rem;
100
+ --spacing-2xl: 3rem;
101
+
102
+ /* Border radius */
103
+ --radius-sm: 0.25rem;
104
+ --radius-md: 0.5rem;
105
+ --radius-lg: 0.75rem;
106
+ --radius-xl: 1rem;
107
+
108
+ /* Shadows */
109
+ --shadow-sm: 0 1px 2px oklch(0% 0 0 / 0.05);
110
+ --shadow-md: 0 4px 6px oklch(0% 0 0 / 0.1);
111
+ --shadow-lg: 0 10px 15px oklch(0% 0 0 / 0.1);
112
+ }
113
+ ```
114
+
115
+ ---
116
+
117
+ ## How builders use tokens
118
+
119
+ Builders use Tailwind utility classes that reference the tokens:
120
+
121
+ ```tsx
122
+ // Using color tokens
123
+ <div className="bg-[var(--color-bg)] text-[var(--color-text)]">
124
+
125
+ // Using spacing tokens
126
+ <section className="px-[var(--spacing-xl)] py-[var(--spacing-2xl)]">
127
+
128
+ // Using radius tokens
129
+ <button className="rounded-[var(--radius-md)]">
130
+
131
+ // Using shadow tokens
132
+ <div className="shadow-[var(--shadow-md)]">
133
+ ```
134
+
135
+ All token references are from the extraction sheet. No builder should invent new token names.
@@ -0,0 +1,129 @@
1
+ # Multi-Phase Pipeline Architecture
2
+
3
+ **Kit:** `growthub-ai-website-cloner-v1`
4
+
5
+ ---
6
+
7
+ ## Overview
8
+
9
+ The clone pipeline runs in strict phase order. No phase may be skipped. Each phase produces artifacts consumed by the next.
10
+
11
+ ```
12
+ Phase 0: Environment gate
13
+
14
+ Phase 1: Load methodology + project context
15
+
16
+ Phase 2: Load runtime docs
17
+
18
+ Phase 3: Reconnaissance (screenshots, tokens, assets, interactions)
19
+
20
+ Phase 4: 3-question gate (objective, exclusions, deployment target)
21
+
22
+ Phase 5: Component spec writing (one spec per section)
23
+
24
+ Phase 6: Builder dispatch (parallel worktrees)
25
+
26
+ Phase 7: Assembly + Visual QA
27
+
28
+ Phase 8: Platform handoff
29
+ ```
30
+
31
+ ---
32
+
33
+ ## Phase 0 — Environment gate
34
+
35
+ **Gate criteria:**
36
+ 1. Fork exists at `~/ai-website-cloner-template` (or `AI_CLONER_FORK_PATH`)
37
+ 2. Node.js 24+ available
38
+ 3. Fork `node_modules/` installed
39
+ 4. AI agent active
40
+
41
+ **If any check fails:** stop, report the specific issue, do not proceed.
42
+
43
+ ---
44
+
45
+ ## Phase 3 — Reconnaissance (most critical phase)
46
+
47
+ Reconnaissance is the most time-sensitive phase. It must be thorough because all subsequent work depends on it.
48
+
49
+ ### Screenshot protocol
50
+ The agent opens Chrome (or a Playwright browser) and captures:
51
+ - Desktop screenshots at every viewport height of content (scroll the page)
52
+ - Tablet and mobile screenshots at the same scroll depths
53
+ - Hover state screenshots for all interactive elements
54
+
55
+ ### Token extraction
56
+ The agent runs `getComputedStyle()` extraction calls in the browser console. The exact calls are defined in `skills.md`. Tokens are extracted for:
57
+ - All colors in use (background, text, borders, accents)
58
+ - All typography combinations (family, size, weight, line-height)
59
+ - All spacing values (margin, padding)
60
+ - All border-radius, box-shadow, and transition values
61
+
62
+ ### Asset download
63
+ All external assets are downloaded to `public/` immediately during reconnaissance — before spec writing. This prevents broken image references during building.
64
+
65
+ ---
66
+
67
+ ## Phase 5 — Component spec writing
68
+
69
+ Each spec is a complete, standalone brief for one builder. It must include:
70
+ - Exact computed CSS values (not estimates)
71
+ - Multi-state content for all interactive states
72
+ - Responsive behavior at all three breakpoints
73
+ - Exact asset paths in `public/`
74
+ - Exact content (no placeholders)
75
+
76
+ The spec is the builder's only source of truth. It must be self-contained.
77
+
78
+ ---
79
+
80
+ ## Phase 6 — Parallel builder dispatch
81
+
82
+ The orchestrator creates a `git worktree` for each builder:
83
+
84
+ ```bash
85
+ # Orchestrator creates worktrees
86
+ git worktree add ../build-navigation build/navigation
87
+ git worktree add ../build-hero-section build/hero-section
88
+ # ... one per section
89
+ ```
90
+
91
+ Each builder is dispatched as a subagent with:
92
+ 1. Their section spec (inline)
93
+ 2. The design token extraction sheet
94
+ 3. The asset manifest
95
+ 4. Clear output constraints (only write to `src/components/<section-slug>/`)
96
+
97
+ Builders run in parallel — the orchestrator does not wait for one before starting the next.
98
+
99
+ ---
100
+
101
+ ## Phase 7 — Assembly and visual QA
102
+
103
+ **Assembly:**
104
+ 1. All builder branches are merged into `main` (or the integration branch)
105
+ 2. The orchestrator writes `src/app/page.tsx` to import and wire all components
106
+ 3. `npm run build` is run to confirm no errors
107
+ 4. `npm run lint` and `npm run typecheck` must pass
108
+
109
+ **Visual QA:**
110
+ 1. `npm run dev` is started
111
+ 2. The agent opens the clone in the browser
112
+ 3. Side-by-side comparison with original screenshots
113
+ 4. Each section is checked at all three breakpoints
114
+ 5. All hover/focus/active states are exercised interactively
115
+ 6. Findings are documented in `visual-qa-checklist.md`
116
+
117
+ ---
118
+
119
+ ## Phase 8 — Platform handoff
120
+
121
+ The platform handoff document (`platform-handoff.md`) is the final deliverable. It includes:
122
+ - What was built (summary)
123
+ - How to run locally
124
+ - How to build for production
125
+ - Deployment instructions for the target platform
126
+ - All known deviations from the original
127
+ - Next customization steps
128
+
129
+ The brand kit is updated with a deliverable line.
@@ -0,0 +1,103 @@
1
+ # Parallel Builder Dispatch
2
+
3
+ **Kit:** `growthub-ai-website-cloner-v1`
4
+
5
+ ---
6
+
7
+ ## Why parallel builders
8
+
9
+ A modern website has 5–20 distinct sections. Cloning them sequentially would be slow and would block each builder on the previous one. The parallel worktree system lets all builders work simultaneously, each in an isolated branch.
10
+
11
+ The orchestrator (the Growthub operator running as the main agent) dispatches all builders at once, waits for them to complete, then assembles the results.
12
+
13
+ ---
14
+
15
+ ## Worktree isolation
16
+
17
+ Each builder gets a dedicated `git worktree` — a separate working directory linked to the same repository but on a different branch:
18
+
19
+ ```bash
20
+ # Create worktrees (orchestrator does this before dispatch)
21
+ git worktree add ../build-navigation build/navigation
22
+ git worktree add ../build-hero-section build/hero-section
23
+ git worktree add ../build-features build/features
24
+ git worktree add ../build-footer build/footer
25
+ ```
26
+
27
+ Each builder's working directory is independent. They cannot conflict with each other during development.
28
+
29
+ ---
30
+
31
+ ## Builder constraints
32
+
33
+ Builders must follow these rules without exception:
34
+
35
+ | Rule | Detail |
36
+ |---|---|
37
+ | Write only to `src/components/<section-slug>/` | No writes to shared files |
38
+ | No writes to `src/app/` | The orchestrator owns the page |
39
+ | No writes to `src/lib/` | Shared utilities stay unchanged |
40
+ | No writes to `globals.css` | Tokens are in the design token file |
41
+ | No writes to `src/types/` | Types are defined by the orchestrator |
42
+ | No writes to `layout.tsx` | The root layout is owned by the orchestrator |
43
+ | One component file per section | `src/components/<section-slug>/<ComponentName>.tsx` |
44
+
45
+ ---
46
+
47
+ ## Builder input package
48
+
49
+ Each builder receives exactly:
50
+
51
+ 1. **Section spec** — the complete component spec from `specs/<section-slug>.md`
52
+ 2. **Design token sheet** — `templates/design-token-extraction.md` (full token set)
53
+ 3. **Asset manifest** — `templates/asset-manifest.md` (all `public/` asset paths)
54
+ 4. **Naming instructions** — component name, output path, export format
55
+
56
+ ---
57
+
58
+ ## Builder output format
59
+
60
+ Each builder produces a TypeScript React component:
61
+
62
+ ```tsx
63
+ // src/components/hero-section/HeroSection.tsx
64
+ import Image from "next/image";
65
+
66
+ export function HeroSection() {
67
+ return (
68
+ <section className="...">
69
+ {/* exact content from spec */}
70
+ </section>
71
+ );
72
+ }
73
+ ```
74
+
75
+ Requirements:
76
+ - Named export (not default export)
77
+ - TypeScript strict — no `any`
78
+ - Tailwind CSS utility classes (no inline styles)
79
+ - Uses `cn()` from `src/lib/utils.ts` for conditional classes
80
+ - Asset paths from `public/` using Next.js `<Image>` or `<video>` tags
81
+ - Uses design tokens from the Tailwind config (via CSS variables)
82
+
83
+ ---
84
+
85
+ ## Assembly
86
+
87
+ After all builders complete, the orchestrator:
88
+
89
+ 1. Merges all `build/*` branches into `main`
90
+ 2. Resolves any conflicts (should be minimal since builders touch different files)
91
+ 3. Writes `src/app/page.tsx` importing all components in order
92
+ 4. Updates `src/app/layout.tsx` with correct metadata
93
+ 5. Updates `globals.css` with the full design token set from the extraction sheet
94
+
95
+ ---
96
+
97
+ ## Conflict resolution
98
+
99
+ The most common merge conflicts:
100
+ - `package.json` — if two builders added the same dependency. Orchestrator de-dupes.
101
+ - `src/components/icons.tsx` — if two builders added SVG icons. Orchestrator merges all icons.
102
+
103
+ These are resolved by the orchestrator with full context about what all builders were doing.
@@ -0,0 +1,54 @@
1
+ # Clone Brief — Sample
2
+
3
+ **Project:** Acme Corp Homepage Clone
4
+ **Client:** Acme Corp
5
+ **Target URL(s):** `https://acme.example.com`
6
+ **Date:** 2026-04-15
7
+ **Operator:** `ai-website-cloner-operator`
8
+
9
+ ---
10
+
11
+ ## Objective
12
+
13
+ Pixel-perfect clone of the Acme Corp homepage into a modern Next.js 16 codebase. The client needs the source code for a planned migration from their legacy Webflow site to a self-hosted Next.js deployment.
14
+
15
+ ---
16
+
17
+ ## Scope
18
+
19
+ ### Pages to clone
20
+ - [x] `https://acme.example.com` — Homepage
21
+
22
+ ### Sections to include
23
+ - [x] Navigation / Header (sticky, with dropdown menus)
24
+ - [x] Hero — full-viewport with background video
25
+ - [x] Features grid — 3-column, 6 feature cards
26
+ - [x] Social proof — testimonials carousel
27
+ - [x] CTA banner — centered, high-contrast
28
+ - [x] FAQ accordion
29
+ - [x] Footer — 4-column with newsletter signup
30
+
31
+ ### Sections to exclude
32
+ - [x] Login flow — auth-gated, excluded by client request
33
+ - [x] Blog listing — dynamic content, excluded from v1 scope
34
+
35
+ ---
36
+
37
+ ## Constraints
38
+
39
+ - **Deployment target:** Vercel
40
+ - **Custom domain:** `acme.com` (configured post-handoff)
41
+ - **Proprietary fonts:** "Acme Sans" — not publicly available; replaced with Inter (documented deviation)
42
+ - **Auth-gated content:** Login flow excluded from scope
43
+ - **Terms of Service notes:** Confirmed with client — they own this site and have rights to reproduce it
44
+
45
+ ---
46
+
47
+ ## Deliverables
48
+
49
+ - [x] Cloned Next.js codebase in `~/ai-website-cloner-template`
50
+ - [x] Reconnaissance report
51
+ - [x] Design token extraction sheet (24 colors, 8 typography combinations)
52
+ - [x] 7 component specs
53
+ - [x] Visual QA checklist — PASS with 1 noted deviation (font)
54
+ - [x] Platform handoff document
@@ -0,0 +1,123 @@
1
+ # HeroSection — Component Spec (Sample)
2
+
3
+ **Project:** Acme Corp Homepage Clone
4
+ **Section slug:** `hero-section`
5
+ **Output component:** `src/components/hero-section/HeroSection.tsx`
6
+ **Date:** 2026-04-15
7
+
8
+ ---
9
+
10
+ ## Purpose
11
+
12
+ Full-viewport hero section with a looping background video, centered headline, subheadline, and two CTA buttons. First visible content above the fold on desktop and mobile.
13
+
14
+ ---
15
+
16
+ ## Layout
17
+
18
+ - **Container max-width:** 1280px
19
+ - **Container padding (desktop):** 0 80px
20
+ - **Container padding (mobile):** 0 24px
21
+ - **Display:** flex, column, center-aligned
22
+ - **Section min-height:** 100vh
23
+ - **Background:** `#0a0a0a` / `oklch(7% 0 0)` with video overlay
24
+
25
+ ---
26
+
27
+ ## Typography
28
+
29
+ | Element | Font family | Size | Line height | Weight | Color | Notes |
30
+ |---|---|---|---|---|---|---|
31
+ | Headline | Inter | 72px | 1.1 | 700 | `#ffffff` | Desktop only |
32
+ | Headline | Inter | 40px | 1.15 | 700 | `#ffffff` | Mobile |
33
+ | Subheadline | Inter | 20px | 1.5 | 400 | `rgba(255,255,255,0.7)` | Desktop |
34
+ | Subheadline | Inter | 16px | 1.5 | 400 | `rgba(255,255,255,0.7)` | Mobile |
35
+ | CTA primary | Inter | 16px | 1 | 600 | `#0a0a0a` | — |
36
+ | CTA secondary | Inter | 16px | 1 | 600 | `#ffffff` | — |
37
+
38
+ ---
39
+
40
+ ## Colors
41
+
42
+ - **Background:** `#0a0a0a` / `oklch(7% 0 0)` (with bg video)
43
+ - **Text primary:** `#ffffff` / `oklch(100% 0 0)`
44
+ - **Text secondary:** `rgba(255,255,255,0.7)` / `oklch(100% 0 0 / 0.7)`
45
+ - **CTA primary bg:** `#ffffff` / `oklch(100% 0 0)`
46
+ - **CTA secondary border:** `rgba(255,255,255,0.3)` / `oklch(100% 0 0 / 0.3)`
47
+
48
+ ---
49
+
50
+ ## States
51
+
52
+ ### Default
53
+ Headline + subheadline centered. Two CTAs side by side. Background video loops silently at `opacity: 0.4`.
54
+
55
+ ### Hover — CTA primary
56
+ - Transform: none
57
+ - Background: `oklch(91% 0 0)` (slight dim)
58
+ - Transition: `background 0.2s ease`
59
+
60
+ ### Hover — CTA secondary
61
+ - Border-color: `oklch(100% 0 0 / 0.6)`
62
+ - Background: `oklch(100% 0 0 / 0.08)`
63
+ - Transition: `all 0.2s ease`
64
+
65
+ ### Focus (both CTAs)
66
+ - Focus ring color: `#3b82f6` / `oklch(59% 0.2 260)`
67
+ - Focus ring offset: 3px
68
+ - Focus ring width: 2px
69
+
70
+ ---
71
+
72
+ ## Responsive behavior
73
+
74
+ ### Desktop (1440px)
75
+ 72px headline, two CTAs side by side, background video full-coverage
76
+
77
+ ### Tablet (768px)
78
+ 56px headline, CTAs stack vertically, video still full-coverage
79
+
80
+ ### Mobile (375px)
81
+ 40px headline, 16px subheadline, CTAs full-width and stacked
82
+
83
+ ---
84
+
85
+ ## Assets
86
+
87
+ | File | Public path | Source URL |
88
+ |---|---|---|
89
+ | hero-bg.mp4 | `public/videos/hero-bg.mp4` | `https://cdn.acme.example.com/hero-bg.mp4` |
90
+
91
+ ---
92
+
93
+ ## Content
94
+
95
+ **Headline:**
96
+ The Future of Work Starts Here
97
+
98
+ **Subheadline:**
99
+ Automate your growth with AI. Launch faster, scale smarter, and let your team focus on what matters.
100
+
101
+ **CTA primary:**
102
+ Start for free
103
+
104
+ **CTA secondary:**
105
+ Watch demo
106
+
107
+ ---
108
+
109
+ ## Accessibility
110
+
111
+ - **ARIA landmark:** `<section aria-label="Hero">`
112
+ - **Heading level:** `<h1>`
113
+ - **Video:** `<video autoPlay muted loop playsInline aria-hidden="true">` (decorative)
114
+ - **Tab order:** CTA primary → CTA secondary
115
+ - **Reduced motion:** video paused if `prefers-reduced-motion: reduce`
116
+
117
+ ---
118
+
119
+ ## Implementation notes
120
+
121
+ The background video must use `object-fit: cover` and position `absolute` behind the content. The content must be `relative` with `z-index: 1`.
122
+
123
+ Tailwind v4 class for the video overlay: use `bg-black/60` over the video to ensure text contrast.
@@ -0,0 +1,102 @@
1
+ # Platform Handoff — Sample
2
+
3
+ **Project:** Acme Corp Homepage Clone
4
+ **Client:** Acme Corp
5
+ **Date:** 2026-04-15
6
+ **Clone source:** `https://acme.example.com`
7
+ **Codebase location:** `~/ai-website-cloner-template`
8
+
9
+ ---
10
+
11
+ ## What was built
12
+
13
+ A pixel-perfect clone of the Acme Corp homepage, rebuilt in Next.js 16 + shadcn/ui + Tailwind CSS v4. The clone includes all 7 sections of the original page (navigation, hero, features, testimonials, CTA banner, FAQ, footer) with all assets downloaded and all interactive states matched. The only deviation is the proprietary "Acme Sans" font, replaced with Inter (documented below).
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
+ Expected build output: ~45 static pages + 1 dynamic route.
37
+
38
+ ---
39
+
40
+ ## Deploying to Vercel
41
+
42
+ ```bash
43
+ npm install -g vercel
44
+ cd ~/ai-website-cloner-template
45
+ vercel --prod
46
+ ```
47
+
48
+ The app will be live at `https://ai-website-cloner-template.vercel.app` until you configure a custom domain.
49
+
50
+ ---
51
+
52
+ ## Project structure
53
+
54
+ ```
55
+ src/
56
+ app/
57
+ page.tsx # Main homepage
58
+ layout.tsx # Root layout with Inter font
59
+ globals.css # Full design token set (24 colors)
60
+ components/
61
+ navigation/Navigation.tsx
62
+ hero-section/HeroSection.tsx
63
+ features-grid/FeaturesGrid.tsx
64
+ testimonials/Testimonials.tsx
65
+ cta-banner/CtaBanner.tsx
66
+ faq/Faq.tsx
67
+ footer/Footer.tsx
68
+ icons.tsx # 18 extracted SVG icons
69
+ public/
70
+ images/ # 11 downloaded images
71
+ videos/
72
+ hero-bg.mp4 # Hero background video
73
+ seo/
74
+ favicon.ico
75
+ og-image.png
76
+ ```
77
+
78
+ ---
79
+
80
+ ## Known deviations from original
81
+
82
+ | Section | Type | Notes |
83
+ |---|---|---|
84
+ | All headings | Font | "Acme Sans" is a proprietary font not available via CDN. Replaced with Inter (weight 700). Visual difference is subtle — baseline spacing may differ by ~2px on some headings. |
85
+
86
+ ---
87
+
88
+ ## Customization next steps
89
+
90
+ 1. [ ] Replace `public/seo/og-image.png` with the client's actual OG image
91
+ 2. [ ] Update `src/app/layout.tsx` metadata: title, description, canonical URL
92
+ 3. [ ] Configure Vercel environment variables for any future dynamic features
93
+ 4. [ ] If "Acme Sans" is obtained via license, add it to `src/app/layout.tsx` and update `globals.css`
94
+ 5. [ ] Remove `public/videos/hero-bg.mp4` and replace with a client-owned video file before redistribution
95
+
96
+ ---
97
+
98
+ ## QA result
99
+
100
+ See `qa/visual-qa-checklist.md` for the full QA report.
101
+
102
+ **Overall result:** PASS WITH NOTED DEVIATIONS (font only)