@growthub/cli 0.3.54 → 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.
- 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,57 @@
|
|
|
1
|
+
# Asset Manifest
|
|
2
|
+
|
|
3
|
+
**Project:** [PROJECT NAME]
|
|
4
|
+
**Target URL:** [https://example.com]
|
|
5
|
+
**Date:** YYYY-MM-DD
|
|
6
|
+
|
|
7
|
+
---
|
|
8
|
+
|
|
9
|
+
## Images
|
|
10
|
+
|
|
11
|
+
| File | Public path | Source URL | Section used | Notes |
|
|
12
|
+
|---|---|---|---|---|
|
|
13
|
+
| [filename.ext] | `public/images/[filename.ext]` | [CDN URL] | [section-slug] | — |
|
|
14
|
+
|
|
15
|
+
---
|
|
16
|
+
|
|
17
|
+
## Videos
|
|
18
|
+
|
|
19
|
+
| File | Public path | Source URL | Section used | Notes |
|
|
20
|
+
|---|---|---|---|---|
|
|
21
|
+
| [filename.ext] | `public/videos/[filename.ext]` | [CDN URL] | [section-slug] | — |
|
|
22
|
+
|
|
23
|
+
---
|
|
24
|
+
|
|
25
|
+
## SVG icons
|
|
26
|
+
|
|
27
|
+
| Icon name | Component name | Source | Section used | Notes |
|
|
28
|
+
|---|---|---|---|---|
|
|
29
|
+
| [icon name] | `[IconName]` in `src/components/icons.tsx` | [inline / file URL] | [sections] | — |
|
|
30
|
+
|
|
31
|
+
---
|
|
32
|
+
|
|
33
|
+
## Custom fonts
|
|
34
|
+
|
|
35
|
+
| Font family | Weights | Source | How used |
|
|
36
|
+
|---|---|---|---|
|
|
37
|
+
| [Font Name] | [400, 700] | [CDN URL / system] | [heading, body] |
|
|
38
|
+
|
|
39
|
+
---
|
|
40
|
+
|
|
41
|
+
## SEO assets
|
|
42
|
+
|
|
43
|
+
| File | Public path | Notes |
|
|
44
|
+
|---|---|---|
|
|
45
|
+
| favicon.ico | `public/seo/favicon.ico` | — |
|
|
46
|
+
| og-image.png | `public/seo/og-image.png` | — |
|
|
47
|
+
| site.webmanifest | `public/seo/site.webmanifest` | — |
|
|
48
|
+
|
|
49
|
+
---
|
|
50
|
+
|
|
51
|
+
## Download status
|
|
52
|
+
|
|
53
|
+
- [ ] All images downloaded to `public/images/`
|
|
54
|
+
- [ ] All videos downloaded to `public/videos/`
|
|
55
|
+
- [ ] All SEO assets downloaded to `public/seo/`
|
|
56
|
+
- [ ] All SVG icons extracted and added to `src/components/icons.tsx`
|
|
57
|
+
- [ ] Custom fonts added to `src/app/layout.tsx` or `globals.css`
|
|
@@ -0,0 +1,92 @@
|
|
|
1
|
+
# Builder Dispatch Plan
|
|
2
|
+
|
|
3
|
+
**Project:** [PROJECT NAME]
|
|
4
|
+
**Date:** YYYY-MM-DD
|
|
5
|
+
**Total builders:** [N]
|
|
6
|
+
|
|
7
|
+
---
|
|
8
|
+
|
|
9
|
+
## Dispatch rules
|
|
10
|
+
|
|
11
|
+
1. Each builder works in `git worktree` on branch `build/<section-slug>`
|
|
12
|
+
2. Each builder receives: section spec + design token extraction + asset manifest
|
|
13
|
+
3. Builders output ONLY to `src/components/<section-slug>/`
|
|
14
|
+
4. No builder touches: `src/app/`, `src/lib/`, `src/types/`, `globals.css`, `layout.tsx`
|
|
15
|
+
5. Orchestrator assembles the page and resolves merge conflicts
|
|
16
|
+
|
|
17
|
+
---
|
|
18
|
+
|
|
19
|
+
## Builder assignments
|
|
20
|
+
|
|
21
|
+
| Builder | Branch | Section | Spec file | Est. complexity |
|
|
22
|
+
|---|---|---|---|---|
|
|
23
|
+
| 1 | `build/navigation` | Navigation | `specs/navigation.md` | [low/med/high] |
|
|
24
|
+
| 2 | `build/hero-section` | Hero | `specs/hero-section.md` | [low/med/high] |
|
|
25
|
+
| 3 | `build/[slug]` | [Section] | `specs/[slug].md` | [low/med/high] |
|
|
26
|
+
| N | `build/footer` | Footer | `specs/footer.md` | [low/med/high] |
|
|
27
|
+
|
|
28
|
+
---
|
|
29
|
+
|
|
30
|
+
## Shared context for all builders
|
|
31
|
+
|
|
32
|
+
All builders receive the following files inline:
|
|
33
|
+
- `templates/design-token-extraction.md` (full token set)
|
|
34
|
+
- `templates/asset-manifest.md` (all downloaded assets)
|
|
35
|
+
- Their section's spec file
|
|
36
|
+
|
|
37
|
+
---
|
|
38
|
+
|
|
39
|
+
## Assembly order
|
|
40
|
+
|
|
41
|
+
After all builders complete, the orchestrator assembles in this order:
|
|
42
|
+
|
|
43
|
+
```tsx
|
|
44
|
+
// src/app/page.tsx
|
|
45
|
+
import { Navigation } from "@/components/navigation/Navigation";
|
|
46
|
+
import { HeroSection } from "@/components/hero-section/HeroSection";
|
|
47
|
+
// ... in section order
|
|
48
|
+
import { Footer } from "@/components/footer/Footer";
|
|
49
|
+
|
|
50
|
+
export default function Page() {
|
|
51
|
+
return (
|
|
52
|
+
<>
|
|
53
|
+
<Navigation />
|
|
54
|
+
<main>
|
|
55
|
+
<HeroSection />
|
|
56
|
+
{/* sections in order */}
|
|
57
|
+
</main>
|
|
58
|
+
<Footer />
|
|
59
|
+
</>
|
|
60
|
+
);
|
|
61
|
+
}
|
|
62
|
+
```
|
|
63
|
+
|
|
64
|
+
---
|
|
65
|
+
|
|
66
|
+
## Merge instructions
|
|
67
|
+
|
|
68
|
+
After all `build/*` branches are complete:
|
|
69
|
+
|
|
70
|
+
```bash
|
|
71
|
+
cd ~/ai-website-cloner-template
|
|
72
|
+
git checkout main
|
|
73
|
+
|
|
74
|
+
# Merge each builder branch
|
|
75
|
+
git merge build/navigation --no-ff -m "feat: navigation component"
|
|
76
|
+
git merge build/hero-section --no-ff -m "feat: hero section"
|
|
77
|
+
# ... continue for all builders
|
|
78
|
+
|
|
79
|
+
# Assemble the page
|
|
80
|
+
# Edit src/app/page.tsx to import and wire all components
|
|
81
|
+
|
|
82
|
+
# Run quality checks
|
|
83
|
+
npm run build
|
|
84
|
+
npm run lint
|
|
85
|
+
npm run typecheck
|
|
86
|
+
```
|
|
87
|
+
|
|
88
|
+
---
|
|
89
|
+
|
|
90
|
+
## Conflict resolution notes
|
|
91
|
+
|
|
92
|
+
[Document any merge conflicts encountered and how they were resolved]
|
|
@@ -0,0 +1,59 @@
|
|
|
1
|
+
# Clone Brief
|
|
2
|
+
|
|
3
|
+
**Project:** [PROJECT NAME]
|
|
4
|
+
**Client:** [CLIENT NAME]
|
|
5
|
+
**Target URL(s):** [https://example.com]
|
|
6
|
+
**Date:** YYYY-MM-DD
|
|
7
|
+
**Operator:** `ai-website-cloner-operator`
|
|
8
|
+
|
|
9
|
+
---
|
|
10
|
+
|
|
11
|
+
## Objective
|
|
12
|
+
|
|
13
|
+
[Describe what success looks like — pixel-perfect clone, design reference, migration to modern stack, etc.]
|
|
14
|
+
|
|
15
|
+
---
|
|
16
|
+
|
|
17
|
+
## Scope
|
|
18
|
+
|
|
19
|
+
### Pages to clone
|
|
20
|
+
- [ ] [https://example.com] — [page description]
|
|
21
|
+
- [ ] [https://example.com/about] — [page description]
|
|
22
|
+
|
|
23
|
+
### Sections to include
|
|
24
|
+
- [ ] Navigation / Header
|
|
25
|
+
- [ ] Hero / Above-the-fold
|
|
26
|
+
- [ ] [Additional sections…]
|
|
27
|
+
- [ ] Footer
|
|
28
|
+
|
|
29
|
+
### Sections to exclude
|
|
30
|
+
- [ ] Login / auth flows
|
|
31
|
+
- [ ] Payment pages
|
|
32
|
+
- [ ] [Any other exclusions with reason]
|
|
33
|
+
|
|
34
|
+
---
|
|
35
|
+
|
|
36
|
+
## Constraints
|
|
37
|
+
|
|
38
|
+
- **Deployment target:** [Vercel / self-hosted / static export]
|
|
39
|
+
- **Custom domain:** [domain or TBD]
|
|
40
|
+
- **Proprietary fonts:** [List any fonts that may not be available]
|
|
41
|
+
- **Auth-gated content:** [Any content not accessible without login]
|
|
42
|
+
- **Terms of Service notes:** [Any ToS constraints noted before starting]
|
|
43
|
+
|
|
44
|
+
---
|
|
45
|
+
|
|
46
|
+
## Deliverables
|
|
47
|
+
|
|
48
|
+
- [ ] Cloned Next.js codebase in `~/ai-website-cloner-template`
|
|
49
|
+
- [ ] Reconnaissance report
|
|
50
|
+
- [ ] Design token extraction sheet
|
|
51
|
+
- [ ] Component specs for all sections
|
|
52
|
+
- [ ] Visual QA checklist
|
|
53
|
+
- [ ] Platform handoff document
|
|
54
|
+
|
|
55
|
+
---
|
|
56
|
+
|
|
57
|
+
## Timeline
|
|
58
|
+
|
|
59
|
+
[Technical complexity description — number of sections, interactive components, asset volume]
|
|
@@ -0,0 +1,124 @@
|
|
|
1
|
+
# [SectionName] — Component Spec
|
|
2
|
+
|
|
3
|
+
**Project:** [PROJECT NAME]
|
|
4
|
+
**Section slug:** `[section-slug]`
|
|
5
|
+
**Output component:** `src/components/[section-slug]/[ComponentName].tsx`
|
|
6
|
+
**Date:** YYYY-MM-DD
|
|
7
|
+
|
|
8
|
+
---
|
|
9
|
+
|
|
10
|
+
## Purpose
|
|
11
|
+
|
|
12
|
+
[What this section does for the user — one paragraph.]
|
|
13
|
+
|
|
14
|
+
---
|
|
15
|
+
|
|
16
|
+
## Layout
|
|
17
|
+
|
|
18
|
+
- **Container max-width:** [value]
|
|
19
|
+
- **Container padding (desktop):** [top right bottom left]
|
|
20
|
+
- **Container padding (mobile):** [top right bottom left]
|
|
21
|
+
- **Display:** [flex | grid | block]
|
|
22
|
+
- **Grid columns (desktop):** [value]
|
|
23
|
+
- **Grid columns (tablet):** [value]
|
|
24
|
+
- **Grid columns (mobile):** [value]
|
|
25
|
+
- **Gap:** [value]
|
|
26
|
+
- **Section min-height:** [value]
|
|
27
|
+
- **Background:** [color token]
|
|
28
|
+
|
|
29
|
+
---
|
|
30
|
+
|
|
31
|
+
## Typography
|
|
32
|
+
|
|
33
|
+
| Element | Font family | Size | Line height | Weight | Color | Notes |
|
|
34
|
+
|---|---|---|---|---|---|---|
|
|
35
|
+
| Heading | [family] | [size] | [lh] | [weight] | [color] | — |
|
|
36
|
+
| Subheading | [family] | [size] | [lh] | [weight] | [color] | — |
|
|
37
|
+
| Body | [family] | [size] | [lh] | [weight] | [color] | — |
|
|
38
|
+
| Caption | [family] | [size] | [lh] | [weight] | [color] | — |
|
|
39
|
+
| Button label | [family] | [size] | [lh] | [weight] | [color] | — |
|
|
40
|
+
|
|
41
|
+
---
|
|
42
|
+
|
|
43
|
+
## Colors
|
|
44
|
+
|
|
45
|
+
- **Background:** [hex] / [oklch]
|
|
46
|
+
- **Text primary:** [hex] / [oklch]
|
|
47
|
+
- **Text secondary:** [hex] / [oklch]
|
|
48
|
+
- **Accent / CTA:** [hex] / [oklch]
|
|
49
|
+
- **Border:** [hex] / [oklch]
|
|
50
|
+
|
|
51
|
+
---
|
|
52
|
+
|
|
53
|
+
## States
|
|
54
|
+
|
|
55
|
+
### Default
|
|
56
|
+
[Describe normal rendering]
|
|
57
|
+
|
|
58
|
+
### Hover
|
|
59
|
+
- **Trigger:** [what element triggers the state]
|
|
60
|
+
- **Transform:** [e.g. `translateY(-2px)`]
|
|
61
|
+
- **Color change:** [describe]
|
|
62
|
+
- **Transition:** [e.g. `all 0.2s ease`]
|
|
63
|
+
- **Shadow change:** [describe]
|
|
64
|
+
|
|
65
|
+
### Active
|
|
66
|
+
[Describe active/pressed state]
|
|
67
|
+
|
|
68
|
+
### Focus
|
|
69
|
+
- **Focus ring color:** [hex / oklch]
|
|
70
|
+
- **Focus ring offset:** [value]
|
|
71
|
+
- **Focus ring width:** [value]
|
|
72
|
+
|
|
73
|
+
---
|
|
74
|
+
|
|
75
|
+
## Responsive behavior
|
|
76
|
+
|
|
77
|
+
### Desktop (1440px)
|
|
78
|
+
[Describe layout]
|
|
79
|
+
|
|
80
|
+
### Tablet (768px)
|
|
81
|
+
[Describe layout changes from desktop]
|
|
82
|
+
|
|
83
|
+
### Mobile (375px)
|
|
84
|
+
[Describe layout changes from tablet]
|
|
85
|
+
|
|
86
|
+
---
|
|
87
|
+
|
|
88
|
+
## Assets
|
|
89
|
+
|
|
90
|
+
| Asset | Type | Public path | Source URL |
|
|
91
|
+
|---|---|---|---|
|
|
92
|
+
| [image name] | image | `public/images/[filename].[ext]` | [original CDN URL] |
|
|
93
|
+
| [icon name] | SVG | `src/components/icons.tsx` as `[IconName]` | [inline / file] |
|
|
94
|
+
|
|
95
|
+
---
|
|
96
|
+
|
|
97
|
+
## Content
|
|
98
|
+
|
|
99
|
+
[Paste the exact text content from the target site. No placeholder text.]
|
|
100
|
+
|
|
101
|
+
**Heading:**
|
|
102
|
+
[exact heading text]
|
|
103
|
+
|
|
104
|
+
**Body copy:**
|
|
105
|
+
[exact body text]
|
|
106
|
+
|
|
107
|
+
**CTA label:**
|
|
108
|
+
[exact button/link text]
|
|
109
|
+
|
|
110
|
+
---
|
|
111
|
+
|
|
112
|
+
## Accessibility
|
|
113
|
+
|
|
114
|
+
- **ARIA landmark:** `[nav | main | aside | section]`
|
|
115
|
+
- **Heading level:** `[h1 | h2 | h3]`
|
|
116
|
+
- **Image alt text:** [describe required alt text]
|
|
117
|
+
- **Tab order:** [describe keyboard navigation path through this section]
|
|
118
|
+
- **Screen reader notes:** [any special ARIA labels, descriptions]
|
|
119
|
+
|
|
120
|
+
---
|
|
121
|
+
|
|
122
|
+
## Implementation notes
|
|
123
|
+
|
|
124
|
+
[Any tricky implementation details, browser quirks, or decisions made during spec writing]
|
|
@@ -0,0 +1,89 @@
|
|
|
1
|
+
# Design Token Extraction
|
|
2
|
+
|
|
3
|
+
**Project:** [PROJECT NAME]
|
|
4
|
+
**Target URL:** [https://example.com]
|
|
5
|
+
**Date:** YYYY-MM-DD
|
|
6
|
+
|
|
7
|
+
---
|
|
8
|
+
|
|
9
|
+
## Color palette
|
|
10
|
+
|
|
11
|
+
| Token name | Hex | oklch | Usage |
|
|
12
|
+
|---|---|---|---|
|
|
13
|
+
| `color-primary` | `#000000` | `oklch(0% 0 0)` | [CTAs, headings] |
|
|
14
|
+
| `color-bg` | `#ffffff` | `oklch(100% 0 0)` | [Page background] |
|
|
15
|
+
| `color-text` | `#1a1a1a` | `oklch(12% 0 0)` | [Body text] |
|
|
16
|
+
| `color-text-secondary` | `#666666` | `oklch(45% 0 0)` | [Secondary text] |
|
|
17
|
+
| `color-accent` | `#0070f3` | `oklch(50% 0.2 260)` | [Links, hover states] |
|
|
18
|
+
| `color-border` | `#e5e5e5` | `oklch(91% 0 0)` | [Dividers, borders] |
|
|
19
|
+
|
|
20
|
+
---
|
|
21
|
+
|
|
22
|
+
## Typography
|
|
23
|
+
|
|
24
|
+
| Token name | Font family | Size | Line height | Weight | Usage |
|
|
25
|
+
|---|---|---|---|---|---|
|
|
26
|
+
| `text-h1` | [family] | [size] | [lh] | [weight] | [page heading] |
|
|
27
|
+
| `text-h2` | [family] | [size] | [lh] | [weight] | [section heading] |
|
|
28
|
+
| `text-h3` | [family] | [size] | [lh] | [weight] | [card heading] |
|
|
29
|
+
| `text-body` | [family] | [size] | [lh] | [weight] | [body copy] |
|
|
30
|
+
| `text-caption` | [family] | [size] | [lh] | [weight] | [captions, labels] |
|
|
31
|
+
| `text-button` | [family] | [size] | [lh] | [weight] | [button labels] |
|
|
32
|
+
|
|
33
|
+
---
|
|
34
|
+
|
|
35
|
+
## Spacing scale
|
|
36
|
+
|
|
37
|
+
| Token name | Value | Usage |
|
|
38
|
+
|---|---|---|
|
|
39
|
+
| `spacing-xs` | [value] | [usage] |
|
|
40
|
+
| `spacing-sm` | [value] | [usage] |
|
|
41
|
+
| `spacing-md` | [value] | [usage] |
|
|
42
|
+
| `spacing-lg` | [value] | [usage] |
|
|
43
|
+
| `spacing-xl` | [value] | [usage] |
|
|
44
|
+
| `spacing-2xl` | [value] | [usage] |
|
|
45
|
+
|
|
46
|
+
---
|
|
47
|
+
|
|
48
|
+
## Border radius
|
|
49
|
+
|
|
50
|
+
| Token name | Value | Usage |
|
|
51
|
+
|---|---|---|
|
|
52
|
+
| `radius-sm` | [value] | [buttons, inputs] |
|
|
53
|
+
| `radius-md` | [value] | [cards] |
|
|
54
|
+
| `radius-lg` | [value] | [modals, sections] |
|
|
55
|
+
| `radius-full` | `9999px` | [pills, avatars] |
|
|
56
|
+
|
|
57
|
+
---
|
|
58
|
+
|
|
59
|
+
## Box shadows
|
|
60
|
+
|
|
61
|
+
| Token name | Value | Usage |
|
|
62
|
+
|---|---|---|
|
|
63
|
+
| `shadow-sm` | [value] | [subtle cards] |
|
|
64
|
+
| `shadow-md` | [value] | [elevated cards] |
|
|
65
|
+
| `shadow-lg` | [value] | [modals, dropdowns] |
|
|
66
|
+
|
|
67
|
+
---
|
|
68
|
+
|
|
69
|
+
## Transitions
|
|
70
|
+
|
|
71
|
+
| Token name | Value | Usage |
|
|
72
|
+
|---|---|---|
|
|
73
|
+
| `transition-fast` | [duration easing] | [hover color changes] |
|
|
74
|
+
| `transition-base` | [duration easing] | [transform, opacity] |
|
|
75
|
+
| `transition-slow` | [duration easing] | [page transitions] |
|
|
76
|
+
|
|
77
|
+
---
|
|
78
|
+
|
|
79
|
+
## Tailwind CSS v4 config snippet
|
|
80
|
+
|
|
81
|
+
```css
|
|
82
|
+
@theme {
|
|
83
|
+
--color-primary: oklch(0% 0 0);
|
|
84
|
+
--color-bg: oklch(100% 0 0);
|
|
85
|
+
--color-text: oklch(12% 0 0);
|
|
86
|
+
--color-accent: oklch(50% 0.2 260);
|
|
87
|
+
/* Add all extracted tokens here */
|
|
88
|
+
}
|
|
89
|
+
```
|
|
@@ -0,0 +1,114 @@
|
|
|
1
|
+
# Platform Handoff
|
|
2
|
+
|
|
3
|
+
**Project:** [PROJECT NAME]
|
|
4
|
+
**Client:** [CLIENT NAME]
|
|
5
|
+
**Date:** YYYY-MM-DD
|
|
6
|
+
**Clone source:** [https://example.com]
|
|
7
|
+
**Codebase location:** `~/ai-website-cloner-template` (or custom fork path)
|
|
8
|
+
|
|
9
|
+
---
|
|
10
|
+
|
|
11
|
+
## What was built
|
|
12
|
+
|
|
13
|
+
[One-paragraph summary of what was cloned and what the output codebase contains.]
|
|
14
|
+
|
|
15
|
+
---
|
|
16
|
+
|
|
17
|
+
## Running the clone locally
|
|
18
|
+
|
|
19
|
+
```bash
|
|
20
|
+
cd ~/ai-website-cloner-template
|
|
21
|
+
npm run dev
|
|
22
|
+
```
|
|
23
|
+
|
|
24
|
+
Open [http://localhost:3000](http://localhost:3000).
|
|
25
|
+
|
|
26
|
+
---
|
|
27
|
+
|
|
28
|
+
## Building for production
|
|
29
|
+
|
|
30
|
+
```bash
|
|
31
|
+
cd ~/ai-website-cloner-template
|
|
32
|
+
npm run build
|
|
33
|
+
npm run start
|
|
34
|
+
```
|
|
35
|
+
|
|
36
|
+
---
|
|
37
|
+
|
|
38
|
+
## Deploying to Vercel
|
|
39
|
+
|
|
40
|
+
```bash
|
|
41
|
+
npm install -g vercel
|
|
42
|
+
cd ~/ai-website-cloner-template
|
|
43
|
+
vercel --prod
|
|
44
|
+
```
|
|
45
|
+
|
|
46
|
+
Or connect the repository to [vercel.com](https://vercel.com) for automatic deploys.
|
|
47
|
+
|
|
48
|
+
---
|
|
49
|
+
|
|
50
|
+
## Deploying to other platforms
|
|
51
|
+
|
|
52
|
+
### Self-hosted (Node.js)
|
|
53
|
+
```bash
|
|
54
|
+
npm run build
|
|
55
|
+
node .next/standalone/server.js
|
|
56
|
+
```
|
|
57
|
+
|
|
58
|
+
### Static export (if no server-side features used)
|
|
59
|
+
```bash
|
|
60
|
+
# Add output: 'export' to next.config.ts first
|
|
61
|
+
npm run build
|
|
62
|
+
# Output is in out/
|
|
63
|
+
```
|
|
64
|
+
|
|
65
|
+
---
|
|
66
|
+
|
|
67
|
+
## Project structure overview
|
|
68
|
+
|
|
69
|
+
```
|
|
70
|
+
src/
|
|
71
|
+
app/
|
|
72
|
+
page.tsx # Main cloned page
|
|
73
|
+
layout.tsx # Root layout (fonts, globals)
|
|
74
|
+
globals.css # Design tokens and base styles
|
|
75
|
+
components/
|
|
76
|
+
navigation/ # Navigation component
|
|
77
|
+
hero-section/ # Hero section
|
|
78
|
+
[section-slug]/ # One directory per cloned section
|
|
79
|
+
icons.tsx # Extracted SVG icons
|
|
80
|
+
lib/
|
|
81
|
+
utils.ts # cn() utility
|
|
82
|
+
public/
|
|
83
|
+
images/ # Downloaded images
|
|
84
|
+
videos/ # Downloaded videos
|
|
85
|
+
seo/ # Favicon, OG image, webmanifest
|
|
86
|
+
docs/
|
|
87
|
+
research/ # Reconnaissance output
|
|
88
|
+
```
|
|
89
|
+
|
|
90
|
+
---
|
|
91
|
+
|
|
92
|
+
## Known deviations from original
|
|
93
|
+
|
|
94
|
+
| Section | Type | Notes |
|
|
95
|
+
|---|---|---|
|
|
96
|
+
| [section] | [font/color/layout/asset] | [description] |
|
|
97
|
+
|
|
98
|
+
---
|
|
99
|
+
|
|
100
|
+
## Customization next steps
|
|
101
|
+
|
|
102
|
+
1. [ ] Replace placeholder content in all sections with client's actual content
|
|
103
|
+
2. [ ] Update `src/app/layout.tsx` metadata (title, description, OG image)
|
|
104
|
+
3. [ ] Configure deployment environment variables if any
|
|
105
|
+
4. [ ] Remove proprietary assets if not licensed for redistribution
|
|
106
|
+
5. [ ] Update `public/seo/` with client's actual favicon and OG images
|
|
107
|
+
|
|
108
|
+
---
|
|
109
|
+
|
|
110
|
+
## QA result
|
|
111
|
+
|
|
112
|
+
See `qa/visual-qa-checklist.md` for the full QA report.
|
|
113
|
+
|
|
114
|
+
**Overall result:** [PASS / PASS WITH NOTED DEVIATIONS / FAIL]
|
|
@@ -0,0 +1,77 @@
|
|
|
1
|
+
# Reconnaissance Report
|
|
2
|
+
|
|
3
|
+
**Project:** [PROJECT NAME]
|
|
4
|
+
**Target URL:** [https://example.com]
|
|
5
|
+
**Date:** YYYY-MM-DD
|
|
6
|
+
**Phase:** Reconnaissance (Phase 3)
|
|
7
|
+
|
|
8
|
+
---
|
|
9
|
+
|
|
10
|
+
## Screenshots captured
|
|
11
|
+
|
|
12
|
+
| Viewport | Width | File |
|
|
13
|
+
|---|---|---|
|
|
14
|
+
| Desktop | 1440px | `research/screenshots/desktop-<scroll>.png` |
|
|
15
|
+
| Tablet | 768px | `research/screenshots/tablet-<scroll>.png` |
|
|
16
|
+
| Mobile | 375px | `research/screenshots/mobile-<scroll>.png` |
|
|
17
|
+
|
|
18
|
+
---
|
|
19
|
+
|
|
20
|
+
## Page structure
|
|
21
|
+
|
|
22
|
+
### Sections identified
|
|
23
|
+
|
|
24
|
+
| Order | Section name | Slug | Approximate height | Notes |
|
|
25
|
+
|---|---|---|---|---|
|
|
26
|
+
| 1 | Navigation | `navigation` | 72px | Sticky |
|
|
27
|
+
| 2 | Hero | `hero-section` | 600px | Full viewport |
|
|
28
|
+
| 3 | [Section Name] | `[slug]` | [height] | [notes] |
|
|
29
|
+
| N | Footer | `footer` | 200px | — |
|
|
30
|
+
|
|
31
|
+
---
|
|
32
|
+
|
|
33
|
+
## Design token summary
|
|
34
|
+
|
|
35
|
+
> Full token set in `design-token-extraction.md`
|
|
36
|
+
|
|
37
|
+
- **Primary color:** [hex]
|
|
38
|
+
- **Background:** [hex]
|
|
39
|
+
- **Heading font:** [family, weight]
|
|
40
|
+
- **Body font:** [family, weight]
|
|
41
|
+
- **Base spacing unit:** [value]
|
|
42
|
+
|
|
43
|
+
---
|
|
44
|
+
|
|
45
|
+
## Interaction notes
|
|
46
|
+
|
|
47
|
+
### Navigation
|
|
48
|
+
- [ ] Hamburger menu at mobile breakpoint
|
|
49
|
+
- [ ] Dropdown menus
|
|
50
|
+
- [ ] Sticky behavior: [describe]
|
|
51
|
+
|
|
52
|
+
### CTAs / Buttons
|
|
53
|
+
- [ ] Hover: [describe transform, color change]
|
|
54
|
+
- [ ] Active: [describe]
|
|
55
|
+
- [ ] Focus ring: [color, offset]
|
|
56
|
+
|
|
57
|
+
### Scroll-triggered effects
|
|
58
|
+
- [ ] [Describe any parallax, fade-in, sticky elements]
|
|
59
|
+
|
|
60
|
+
---
|
|
61
|
+
|
|
62
|
+
## Asset inventory summary
|
|
63
|
+
|
|
64
|
+
> Full inventory in `asset-inventory.md`
|
|
65
|
+
|
|
66
|
+
| Type | Count | Notes |
|
|
67
|
+
|---|---|---|
|
|
68
|
+
| Images | 0 | — |
|
|
69
|
+
| Videos | 0 | — |
|
|
70
|
+
| SVG icons | 0 | — |
|
|
71
|
+
| Custom fonts | 0 | — |
|
|
72
|
+
|
|
73
|
+
---
|
|
74
|
+
|
|
75
|
+
## Risk notes
|
|
76
|
+
|
|
77
|
+
[Any sections that may be difficult to clone — auth-gated content, complex animations, custom WebGL, etc.]
|