create-ailk 0.3.0 → 0.5.0
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/component-catalog.json +11939 -0
- package/component-catalog.md +176 -64
- package/dist/cli.js +48 -10
- package/dist/derive-architecture.js +5 -2
- package/dist/lib/extract-module-bundle.d.ts +88 -1
- package/dist/lib/extract-module-bundle.js +375 -80
- package/dist/lib/fetch-guard.d.ts +28 -0
- package/dist/lib/fetch-guard.js +101 -0
- package/dist/lib/fetch-module.js +4 -0
- package/dist/lib/fetch-template.d.ts +20 -0
- package/dist/lib/fetch-template.js +133 -0
- package/dist/lib/module-license-gate.d.ts +8 -0
- package/dist/lib/module-license-gate.js +12 -4
- package/dist/module-architecture.d.ts +116 -7
- package/dist/module-architecture.js +465 -94
- package/dist/parse-args.d.ts +8 -1
- package/dist/parse-args.js +49 -2
- package/dist/programmatic.d.ts +36 -1
- package/dist/programmatic.js +216 -5
- package/dist/site-chrome.d.ts +80 -0
- package/dist/site-chrome.js +135 -0
- package/dist/surfaces.d.ts +21 -6
- package/dist/surfaces.js +140 -23
- package/dist/template-manifest.d.ts +144 -0
- package/dist/template-manifest.js +337 -0
- package/dist/template-names.d.ts +41 -0
- package/dist/template-names.js +45 -0
- package/package.json +10 -2
- package/site-templates/_base/ailk-template.json +6 -0
- package/site-templates/_base/content/en/Pricing/pricing.mdx +169 -0
- package/site-templates/_base/content/en/PrivacyPage/privacy.mdx +79 -0
- package/site-templates/_base/content/en/TermsPage/terms.mdx +80 -0
- package/site-templates/marketing-site/TEMPLATE-MANIFEST.json +331 -0
- package/site-templates/marketing-site/TEMPLATE-MANIFEST.md +393 -0
- package/site-templates/marketing-site/ailk-template.json +11 -0
- package/site-templates/marketing-site/content/en/blog/05-this-vc-morning-routine-will-make-you-super-annoying.mdx +36 -0
- package/site-templates/marketing-site/provenance.json +4 -0
- package/site-templates/marketing-site-free/TEMPLATE-MANIFEST.json +288 -0
- package/site-templates/marketing-site-free/TEMPLATE-MANIFEST.md +285 -0
- package/site-templates/marketing-site-free/ailk-template.json +9 -0
- package/site-templates/marketing-site-free/provenance.json +4 -0
- package/site-templates/minimalism-site/TEMPLATE-MANIFEST.json +271 -0
- package/site-templates/minimalism-site/TEMPLATE-MANIFEST.md +324 -0
- package/site-templates/minimalism-site/ailk-template.json +21 -0
- package/site-templates/minimalism-site/assets/avatar-placeholder-1.svg +7 -0
- package/site-templates/minimalism-site/assets/avatar-placeholder-2.svg +7 -0
- package/site-templates/minimalism-site/assets/avatar-placeholder-3.svg +7 -0
- package/site-templates/minimalism-site/assets/avatar-placeholder-4.svg +7 -0
- package/site-templates/minimalism-site/assets/avatar-placeholder-5.svg +7 -0
- package/site-templates/minimalism-site/assets/avatar-placeholder-6.svg +7 -0
- package/site-templates/minimalism-site/assets/hero-backdrop.svg +17 -0
- package/site-templates/minimalism-site/assets/logo-placeholder-1.svg +6 -0
- package/site-templates/minimalism-site/assets/logo-placeholder-2.svg +6 -0
- package/site-templates/minimalism-site/assets/logo-placeholder-3.svg +6 -0
- package/site-templates/minimalism-site/content/en/AboutPage/about.mdx +110 -0
- package/site-templates/minimalism-site/content/en/ContactPage/contact.mdx +68 -0
- package/site-templates/minimalism-site/content/en/FAQPage/faq.mdx +57 -0
- package/site-templates/minimalism-site/content/en/HomePage/home.mdx +214 -0
- package/site-templates/minimalism-site/content/en/LandingPage/referral.mdx +77 -0
- package/site-templates/minimalism-site/content/en/LandingPage/reports.mdx +73 -0
- package/site-templates/minimalism-site/content/en/ReportPage/annual-letter-2024.mdx +52 -0
- package/site-templates/minimalism-site/content/en/ReportPage/field-notes-2023.mdx +52 -0
- package/site-templates/minimalism-site/content/en/ReportPage/platform-shift-2025.mdx +52 -0
- package/site-templates/minimalism-site/content/en/ReportPage/state-of-the-market-2026.mdx +52 -0
- package/site-templates/minimalism-site/content/en/Service/first-engagement.mdx +38 -0
- package/site-templates/minimalism-site/content/en/Service/second-engagement.mdx +38 -0
- package/site-templates/minimalism-site/content/en/Service/third-engagement.mdx +38 -0
- package/site-templates/minimalism-site/content/en/ServicesList/services.mdx +73 -0
- package/site-templates/minimalism-site/flows/referral.flow.json +71 -0
- package/site-templates/minimalism-site/provenance.json +4 -0
- package/site-templates/saas-product/TEMPLATE-MANIFEST.md +61 -0
- package/site-templates/saas-product/ailk-template.json +16 -0
- package/site-templates/saas-product/provenance.json +10 -0
- package/templates/.claude/skills/README.md +16 -25
- package/templates/.env.example +32 -7
- package/templates/.github/workflows/ci.yml +48 -0
- package/templates/README.md +3 -1
- package/templates/apps/api/CLAUDE.md +4 -1
- package/templates/apps/api/eslint.config.mjs +69 -0
- package/templates/apps/api/package.json +6 -2
- package/templates/apps/api/src/__tests__/module-exclusion.test.ts +6 -2
- package/templates/apps/api/src/__tests__/review-surface-registration.test.ts +167 -0
- package/templates/apps/api/src/__tests__/workspace-module-registration.test.ts +173 -0
- package/templates/apps/api/src/config/modules.ts +1 -1
- package/templates/apps/api/src/lib/__mocks__/prisma.ts +3 -0
- package/templates/apps/api/src/middleware/__tests__/default-tenant.test.ts +339 -0
- package/templates/apps/api/src/middleware/__tests__/rate-limit.test.ts +108 -0
- package/templates/apps/api/src/middleware/default-tenant.ts +136 -0
- package/templates/apps/api/src/routes/leads/__tests__/list.test.ts +171 -0
- package/templates/apps/api/src/routes/leads/list.ts +104 -0
- package/templates/apps/api/src/server.ts +122 -3
- package/templates/apps/api/src/services/__tests__/lead-promotion.test.ts +408 -0
- package/templates/apps/api/src/services/__tests__/leads-inbox.test.ts +329 -0
- package/templates/apps/api/src/services/default-tenant.ts +261 -0
- package/templates/apps/api/src/services/lead-promotion.ts +161 -0
- package/templates/apps/api/src/services/leads-inbox.ts +263 -0
- package/templates/apps/api/src/services/owner-workspaces.ts +132 -0
- package/templates/apps/mcp/CLAUDE.md +1 -1
- package/templates/apps/mcp/__tests__/parity.test.ts +2 -2
- package/templates/apps/mcp/__tests__/tools/{scaffold.test.ts → create_project.test.ts} +23 -23
- package/templates/apps/mcp/eslint.config.mjs +69 -0
- package/templates/apps/mcp/package.json +6 -2
- package/templates/apps/mcp/src/server.ts +2 -2
- package/templates/apps/mcp/src/tools/{scaffold.ts → create_project.ts} +3 -3
- package/templates/apps/mcp/src/tools/index.ts +2 -2
- package/templates/apps/web/.env.example +3 -3
- package/templates/apps/web/CLAUDE.md +2 -0
- package/templates/apps/web/app/[locale]/(authed)/account/page.tsx +4 -6
- package/templates/apps/web/app/[locale]/(authed)/layout.tsx +1 -1
- package/templates/apps/web/app/[locale]/(authed)/leads/__tests__/page.test.tsx +181 -0
- package/templates/apps/web/app/[locale]/(authed)/leads/components/LeadsTable.tsx +137 -0
- package/templates/apps/web/app/[locale]/(authed)/leads/page.tsx +111 -0
- package/templates/apps/web/app/[locale]/(authed)/sign-in-gate.tsx +1 -1
- package/templates/apps/web/app/[locale]/[slug]/__tests__/page.test.tsx +111 -0
- package/templates/apps/web/app/[locale]/[slug]/page.tsx +65 -0
- package/templates/apps/web/app/[locale]/flows/[slug]/FlowStepperClient.tsx +1 -1
- package/templates/apps/web/app/[locale]/flows/[slug]/__tests__/FlowStepperClient.permalink.test.tsx +1 -1
- package/templates/apps/web/app/[locale]/flows/[slug]/__tests__/FlowStepperClient.test.tsx +6 -5
- package/templates/apps/web/app/[locale]/flows/[slug]/flow.actions.ts +1 -1
- package/templates/apps/web/app/[locale]/layout.tsx +214 -17
- package/templates/apps/web/app/[locale]/pricing/page.tsx +40 -0
- package/templates/apps/web/app/[locale]/privacy/page.tsx +40 -0
- package/templates/apps/web/app/[locale]/terms/page.tsx +40 -0
- package/templates/apps/web/components/google-analytics.tsx +18 -1
- package/templates/apps/web/eslint.config.mjs +69 -0
- package/templates/apps/web/jest.config.cjs +12 -15
- package/templates/apps/web/lib/__tests__/server-api.test.ts +61 -0
- package/templates/apps/web/lib/__tests__/structured-data.test.tsx +32 -5
- package/templates/apps/web/lib/nav-config.ts +27 -7
- package/templates/apps/web/lib/server-api.ts +29 -13
- package/templates/apps/web/lib/site-chrome.ts +29 -0
- package/templates/apps/web/lib/telemetry-scrub.ts +46 -0
- package/templates/apps/web/messages/en.json +86 -1
- package/templates/apps/web/next.config.mjs +20 -0
- package/templates/apps/web/package.json +6 -2
- package/templates/apps/web/sentry.client.config.ts +131 -0
- package/templates/apps/web/sentry.edge.config.ts +72 -0
- package/templates/apps/web/sentry.server.config.ts +72 -0
- package/templates/apps/web/src/lib/routes.ts +13 -18
- package/templates/brand_assets/README.md +24 -0
- package/templates/content/en/AboutPage/about.mdx +160 -15
- package/templates/content/en/ContactPage/contact.mdx +90 -13
- package/templates/content/en/FAQPage/faq.mdx +62 -22
- package/templates/content/en/HomePage/home.mdx +244 -20
- package/templates/content/en/LandingPage/blog.mdx +83 -0
- package/templates/content/en/LandingPage/features.mdx +103 -0
- package/templates/content/en/LandingPage/how-it-works.mdx +143 -0
- package/templates/database/CHANGELOG.md +21 -0
- package/templates/database/__tests__/seed.test.ts +1 -1
- package/templates/database/eslint.config.mjs +69 -0
- package/templates/database/package.json +7 -3
- package/templates/database/seed.ts +1 -1
- package/templates/package.json +1 -14
- package/versions.json +52 -0
- /package/templates/apps/web/{src/components → components}/SiteNav.tsx +0 -0
|
@@ -0,0 +1,79 @@
|
|
|
1
|
+
---
|
|
2
|
+
type: "PrivacyPage"
|
|
3
|
+
slug: "privacy"
|
|
4
|
+
title: "Privacy Policy"
|
|
5
|
+
description: "Placeholder privacy policy for Your Company. Replace every section with a policy that describes what your site actually collects before you launch."
|
|
6
|
+
sections:
|
|
7
|
+
[
|
|
8
|
+
{
|
|
9
|
+
"id": "privacy-document",
|
|
10
|
+
"type": "document-chassis",
|
|
11
|
+
"data":
|
|
12
|
+
{
|
|
13
|
+
"eyebrow": "PLACEHOLDER — REPLACE BEFORE LAUNCH",
|
|
14
|
+
"headline": "Privacy Policy",
|
|
15
|
+
"backHref": "/",
|
|
16
|
+
"backLabel": "Back home",
|
|
17
|
+
"navGroupLabel": "Contents",
|
|
18
|
+
"sections":
|
|
19
|
+
[
|
|
20
|
+
{
|
|
21
|
+
"id": "placeholder-notice",
|
|
22
|
+
"heading": "This is placeholder text",
|
|
23
|
+
"blocks":
|
|
24
|
+
[
|
|
25
|
+
{
|
|
26
|
+
"kind": "paragraph",
|
|
27
|
+
"text": "This page is starter content that shipped with your site. It is not a privacy policy, it makes no commitment on behalf of Your Company, and it is not legal advice. Replace every section below with a policy that describes what your site actually collects, and have someone qualified read it before you publish.",
|
|
28
|
+
},
|
|
29
|
+
{
|
|
30
|
+
"kind": "paragraph",
|
|
31
|
+
"text": "Until you do, leave this notice in place so nobody mistakes the page for a finished policy.",
|
|
32
|
+
},
|
|
33
|
+
],
|
|
34
|
+
},
|
|
35
|
+
{
|
|
36
|
+
"id": "what-to-write-here",
|
|
37
|
+
"heading": "What belongs on this page",
|
|
38
|
+
"blocks":
|
|
39
|
+
[
|
|
40
|
+
{
|
|
41
|
+
"kind": "paragraph",
|
|
42
|
+
"text": "A privacy policy answers a short list of questions. Write each answer in plain language, and write it about the site you actually run — not about the site you plan to run.",
|
|
43
|
+
},
|
|
44
|
+
{
|
|
45
|
+
"kind": "list",
|
|
46
|
+
"listStyle": "number",
|
|
47
|
+
"items":
|
|
48
|
+
[
|
|
49
|
+
"Who operates this site, and how to reach them.",
|
|
50
|
+
"What the site collects — forms you publish, server logs, analytics.",
|
|
51
|
+
"Why you collect each thing, and what you do with it.",
|
|
52
|
+
"Which third parties process it on your behalf.",
|
|
53
|
+
"How long you keep it, and how someone asks for a copy or a deletion.",
|
|
54
|
+
],
|
|
55
|
+
},
|
|
56
|
+
],
|
|
57
|
+
},
|
|
58
|
+
{
|
|
59
|
+
"id": "contact",
|
|
60
|
+
"heading": "How to reach us",
|
|
61
|
+
"blocks":
|
|
62
|
+
[
|
|
63
|
+
{
|
|
64
|
+
"kind": "paragraph",
|
|
65
|
+
"text": "Replace this with the address you actually monitor — for example privacy@example.com — and say how quickly someone can expect a reply. A published address nobody watches is worse than no address.",
|
|
66
|
+
},
|
|
67
|
+
{
|
|
68
|
+
"kind": "paragraph",
|
|
69
|
+
"text": "Replace this with the date you last updated the policy, and say how you will announce future changes.",
|
|
70
|
+
},
|
|
71
|
+
],
|
|
72
|
+
},
|
|
73
|
+
],
|
|
74
|
+
},
|
|
75
|
+
},
|
|
76
|
+
]
|
|
77
|
+
---
|
|
78
|
+
|
|
79
|
+
{/* Rendered from frontmatter `sections[]`. Placeholder seed content — this is not a privacy policy and not legal advice. Replace every section before you launch. */}
|
|
@@ -0,0 +1,80 @@
|
|
|
1
|
+
---
|
|
2
|
+
type: "TermsPage"
|
|
3
|
+
slug: "terms"
|
|
4
|
+
title: "Terms of Service"
|
|
5
|
+
description: "Placeholder terms of service for Your Company. Replace every section with terms that describe what you actually offer before you launch."
|
|
6
|
+
sections:
|
|
7
|
+
[
|
|
8
|
+
{
|
|
9
|
+
"id": "terms-document",
|
|
10
|
+
"type": "document-chassis",
|
|
11
|
+
"data":
|
|
12
|
+
{
|
|
13
|
+
"eyebrow": "PLACEHOLDER — REPLACE BEFORE LAUNCH",
|
|
14
|
+
"headline": "Terms of Service",
|
|
15
|
+
"backHref": "/",
|
|
16
|
+
"backLabel": "Back home",
|
|
17
|
+
"navGroupLabel": "Contents",
|
|
18
|
+
"sections":
|
|
19
|
+
[
|
|
20
|
+
{
|
|
21
|
+
"id": "placeholder-notice",
|
|
22
|
+
"heading": "This is placeholder text",
|
|
23
|
+
"blocks":
|
|
24
|
+
[
|
|
25
|
+
{
|
|
26
|
+
"kind": "paragraph",
|
|
27
|
+
"text": "This page is starter content that shipped with your site. It is not a contract, it binds nobody, and it is not legal advice. Replace every section below with terms that match what Your Company actually offers, and have someone qualified read them before you publish.",
|
|
28
|
+
},
|
|
29
|
+
{
|
|
30
|
+
"kind": "paragraph",
|
|
31
|
+
"text": "Until you do, leave this notice in place so nobody mistakes the page for finished terms.",
|
|
32
|
+
},
|
|
33
|
+
],
|
|
34
|
+
},
|
|
35
|
+
{
|
|
36
|
+
"id": "what-to-write-here",
|
|
37
|
+
"heading": "What belongs on this page",
|
|
38
|
+
"blocks":
|
|
39
|
+
[
|
|
40
|
+
{
|
|
41
|
+
"kind": "paragraph",
|
|
42
|
+
"text": "Terms of service set out who is offering what, on what conditions. Write each part about the thing you actually sell, and keep the sentences short enough that a customer can follow them.",
|
|
43
|
+
},
|
|
44
|
+
{
|
|
45
|
+
"kind": "list",
|
|
46
|
+
"listStyle": "number",
|
|
47
|
+
"items":
|
|
48
|
+
[
|
|
49
|
+
"Who provides the service, and which legal entity stands behind it.",
|
|
50
|
+
"What the service is, and what it is not.",
|
|
51
|
+
"What a customer may and may not do with it.",
|
|
52
|
+
"How payment, renewal and cancellation work, if you charge.",
|
|
53
|
+
"Which warranties you give, and which you do not.",
|
|
54
|
+
"Which law governs the agreement, and how you will announce changes.",
|
|
55
|
+
],
|
|
56
|
+
},
|
|
57
|
+
],
|
|
58
|
+
},
|
|
59
|
+
{
|
|
60
|
+
"id": "contact",
|
|
61
|
+
"heading": "Questions about these terms",
|
|
62
|
+
"blocks":
|
|
63
|
+
[
|
|
64
|
+
{
|
|
65
|
+
"kind": "paragraph",
|
|
66
|
+
"text": "Replace this with the address you actually monitor — for example hello@example.com — so a customer with a question about the terms has somewhere to send it.",
|
|
67
|
+
},
|
|
68
|
+
{
|
|
69
|
+
"kind": "paragraph",
|
|
70
|
+
"text": "Replace this with the date these terms last changed, and say what happens when they change again.",
|
|
71
|
+
},
|
|
72
|
+
],
|
|
73
|
+
},
|
|
74
|
+
],
|
|
75
|
+
},
|
|
76
|
+
},
|
|
77
|
+
]
|
|
78
|
+
---
|
|
79
|
+
|
|
80
|
+
{/* Rendered from frontmatter `sections[]`. Placeholder seed content — these are not terms of service and not legal advice. Replace every section before you launch. */}
|
|
@@ -0,0 +1,331 @@
|
|
|
1
|
+
{
|
|
2
|
+
"template": "marketing-site",
|
|
3
|
+
"requires": ["marketing", "docs-blog", "scheduling", "signal-collectors"],
|
|
4
|
+
"createAilkVersion": "0.5.0",
|
|
5
|
+
"generatedHash": "0d7192a6f912c43e2ae3d51dae5878a72cf01f50dd206e341b0c59cf46dbd40c",
|
|
6
|
+
"layout": {
|
|
7
|
+
"nav": "full",
|
|
8
|
+
"footer": "columns",
|
|
9
|
+
"announcementBanner": true,
|
|
10
|
+
"home": "default"
|
|
11
|
+
},
|
|
12
|
+
"rows": [
|
|
13
|
+
{
|
|
14
|
+
"route": "/",
|
|
15
|
+
"pageType": "HomePage",
|
|
16
|
+
"schema": "HomePage",
|
|
17
|
+
"shell": "MarketingShell",
|
|
18
|
+
"chrome": "on",
|
|
19
|
+
"sections": [
|
|
20
|
+
{
|
|
21
|
+
"type": "hero",
|
|
22
|
+
"component": "Hero"
|
|
23
|
+
},
|
|
24
|
+
{
|
|
25
|
+
"type": "logoCloud",
|
|
26
|
+
"component": "LogoCloud"
|
|
27
|
+
},
|
|
28
|
+
{
|
|
29
|
+
"type": "decision-split",
|
|
30
|
+
"component": "DecisionSplit"
|
|
31
|
+
},
|
|
32
|
+
{
|
|
33
|
+
"type": "feature",
|
|
34
|
+
"component": "Feature"
|
|
35
|
+
},
|
|
36
|
+
{
|
|
37
|
+
"type": "cta",
|
|
38
|
+
"component": "CTA"
|
|
39
|
+
},
|
|
40
|
+
{
|
|
41
|
+
"type": "stair-steps",
|
|
42
|
+
"component": "StairSteps"
|
|
43
|
+
},
|
|
44
|
+
{
|
|
45
|
+
"type": "cta",
|
|
46
|
+
"component": "CTA"
|
|
47
|
+
},
|
|
48
|
+
{
|
|
49
|
+
"type": "content-block",
|
|
50
|
+
"component": "ContentBlock"
|
|
51
|
+
},
|
|
52
|
+
{
|
|
53
|
+
"type": "video-section",
|
|
54
|
+
"component": "VideoSection"
|
|
55
|
+
}
|
|
56
|
+
]
|
|
57
|
+
},
|
|
58
|
+
{
|
|
59
|
+
"route": "/how-it-works",
|
|
60
|
+
"pageType": "LandingPage",
|
|
61
|
+
"schema": "WebPage",
|
|
62
|
+
"shell": "MarketingShell",
|
|
63
|
+
"chrome": "on",
|
|
64
|
+
"sections": [
|
|
65
|
+
{
|
|
66
|
+
"type": "hero",
|
|
67
|
+
"component": "Hero"
|
|
68
|
+
},
|
|
69
|
+
{
|
|
70
|
+
"type": "feature",
|
|
71
|
+
"component": "Feature"
|
|
72
|
+
},
|
|
73
|
+
{
|
|
74
|
+
"type": "logoCloud",
|
|
75
|
+
"component": "LogoCloud"
|
|
76
|
+
},
|
|
77
|
+
{
|
|
78
|
+
"type": "testimonials",
|
|
79
|
+
"component": "Testimonials"
|
|
80
|
+
},
|
|
81
|
+
{
|
|
82
|
+
"type": "cta",
|
|
83
|
+
"component": "CTA"
|
|
84
|
+
},
|
|
85
|
+
{
|
|
86
|
+
"type": "faq",
|
|
87
|
+
"component": "FAQ"
|
|
88
|
+
}
|
|
89
|
+
]
|
|
90
|
+
},
|
|
91
|
+
{
|
|
92
|
+
"route": "/features",
|
|
93
|
+
"pageType": "LandingPage",
|
|
94
|
+
"schema": "WebPage",
|
|
95
|
+
"shell": "MarketingShell",
|
|
96
|
+
"chrome": "on",
|
|
97
|
+
"sections": [
|
|
98
|
+
{
|
|
99
|
+
"type": "feature",
|
|
100
|
+
"component": "Feature"
|
|
101
|
+
},
|
|
102
|
+
{
|
|
103
|
+
"type": "cta",
|
|
104
|
+
"component": "CTA"
|
|
105
|
+
},
|
|
106
|
+
{
|
|
107
|
+
"type": "cta",
|
|
108
|
+
"component": "CTA"
|
|
109
|
+
}
|
|
110
|
+
]
|
|
111
|
+
},
|
|
112
|
+
{
|
|
113
|
+
"route": "/pricing",
|
|
114
|
+
"pageType": "Pricing",
|
|
115
|
+
"schema": "Pricing",
|
|
116
|
+
"shell": "MarketingShell",
|
|
117
|
+
"chrome": "on",
|
|
118
|
+
"sections": [
|
|
119
|
+
{
|
|
120
|
+
"type": "hero",
|
|
121
|
+
"component": "Hero"
|
|
122
|
+
},
|
|
123
|
+
{
|
|
124
|
+
"type": "pricing",
|
|
125
|
+
"component": "Pricing"
|
|
126
|
+
},
|
|
127
|
+
{
|
|
128
|
+
"type": "logoCloud",
|
|
129
|
+
"component": "LogoCloud"
|
|
130
|
+
},
|
|
131
|
+
{
|
|
132
|
+
"type": "testimonials",
|
|
133
|
+
"component": "Testimonials"
|
|
134
|
+
},
|
|
135
|
+
{
|
|
136
|
+
"type": "cta",
|
|
137
|
+
"component": "CTA"
|
|
138
|
+
},
|
|
139
|
+
{
|
|
140
|
+
"type": "faq",
|
|
141
|
+
"component": "FAQ"
|
|
142
|
+
}
|
|
143
|
+
]
|
|
144
|
+
},
|
|
145
|
+
{
|
|
146
|
+
"route": "/about",
|
|
147
|
+
"pageType": "AboutPage",
|
|
148
|
+
"schema": "AboutPage",
|
|
149
|
+
"shell": "MarketingShell",
|
|
150
|
+
"chrome": "on",
|
|
151
|
+
"sections": [
|
|
152
|
+
{
|
|
153
|
+
"type": "content-block",
|
|
154
|
+
"component": "ContentBlock"
|
|
155
|
+
},
|
|
156
|
+
{
|
|
157
|
+
"type": "team",
|
|
158
|
+
"component": "Team"
|
|
159
|
+
},
|
|
160
|
+
{
|
|
161
|
+
"type": "logoCloud",
|
|
162
|
+
"component": "LogoCloud"
|
|
163
|
+
},
|
|
164
|
+
{
|
|
165
|
+
"type": "testimonials",
|
|
166
|
+
"component": "Testimonials"
|
|
167
|
+
},
|
|
168
|
+
{
|
|
169
|
+
"type": "cta",
|
|
170
|
+
"component": "CTA"
|
|
171
|
+
},
|
|
172
|
+
{
|
|
173
|
+
"type": "faq",
|
|
174
|
+
"component": "FAQ"
|
|
175
|
+
}
|
|
176
|
+
]
|
|
177
|
+
},
|
|
178
|
+
{
|
|
179
|
+
"route": "/faq",
|
|
180
|
+
"pageType": "FAQPage",
|
|
181
|
+
"schema": "FAQPage",
|
|
182
|
+
"shell": "MarketingShell",
|
|
183
|
+
"chrome": "on",
|
|
184
|
+
"sections": [
|
|
185
|
+
{
|
|
186
|
+
"type": "hero",
|
|
187
|
+
"component": "Hero"
|
|
188
|
+
},
|
|
189
|
+
{
|
|
190
|
+
"type": "faq",
|
|
191
|
+
"component": "FAQ"
|
|
192
|
+
},
|
|
193
|
+
{
|
|
194
|
+
"type": "cta",
|
|
195
|
+
"component": "CTA"
|
|
196
|
+
}
|
|
197
|
+
]
|
|
198
|
+
},
|
|
199
|
+
{
|
|
200
|
+
"route": "/contact",
|
|
201
|
+
"pageType": "ContactPage",
|
|
202
|
+
"schema": "ContactPage",
|
|
203
|
+
"shell": "MarketingShell",
|
|
204
|
+
"chrome": "on",
|
|
205
|
+
"sections": [
|
|
206
|
+
{
|
|
207
|
+
"type": "hero",
|
|
208
|
+
"component": "Hero"
|
|
209
|
+
},
|
|
210
|
+
{
|
|
211
|
+
"type": "contact-form",
|
|
212
|
+
"component": "ContactForm"
|
|
213
|
+
},
|
|
214
|
+
{
|
|
215
|
+
"type": "logoCloud",
|
|
216
|
+
"component": "LogoCloud"
|
|
217
|
+
},
|
|
218
|
+
{
|
|
219
|
+
"type": "testimonials",
|
|
220
|
+
"component": "Testimonials"
|
|
221
|
+
}
|
|
222
|
+
]
|
|
223
|
+
},
|
|
224
|
+
{
|
|
225
|
+
"route": "/sign-in",
|
|
226
|
+
"pageType": null,
|
|
227
|
+
"schema": null,
|
|
228
|
+
"shell": "MarketingShell",
|
|
229
|
+
"chrome": "on",
|
|
230
|
+
"sections": []
|
|
231
|
+
},
|
|
232
|
+
{
|
|
233
|
+
"route": "/privacy",
|
|
234
|
+
"pageType": "PrivacyPage",
|
|
235
|
+
"schema": "PrivacyPage",
|
|
236
|
+
"shell": "MarketingShell",
|
|
237
|
+
"chrome": "on",
|
|
238
|
+
"sections": [
|
|
239
|
+
{
|
|
240
|
+
"type": "document-chassis",
|
|
241
|
+
"component": "DocumentChassis"
|
|
242
|
+
}
|
|
243
|
+
]
|
|
244
|
+
},
|
|
245
|
+
{
|
|
246
|
+
"route": "/terms",
|
|
247
|
+
"pageType": "TermsPage",
|
|
248
|
+
"schema": "TermsPage",
|
|
249
|
+
"shell": "MarketingShell",
|
|
250
|
+
"chrome": "on",
|
|
251
|
+
"sections": [
|
|
252
|
+
{
|
|
253
|
+
"type": "document-chassis",
|
|
254
|
+
"component": "DocumentChassis"
|
|
255
|
+
}
|
|
256
|
+
]
|
|
257
|
+
},
|
|
258
|
+
{
|
|
259
|
+
"route": "/blog",
|
|
260
|
+
"pageType": null,
|
|
261
|
+
"schema": null,
|
|
262
|
+
"shell": "MarketingShell",
|
|
263
|
+
"chrome": "on",
|
|
264
|
+
"sections": []
|
|
265
|
+
},
|
|
266
|
+
{
|
|
267
|
+
"route": "/docs",
|
|
268
|
+
"pageType": null,
|
|
269
|
+
"schema": null,
|
|
270
|
+
"shell": "MarketingShell",
|
|
271
|
+
"chrome": "on",
|
|
272
|
+
"sections": []
|
|
273
|
+
},
|
|
274
|
+
{
|
|
275
|
+
"route": "/meet",
|
|
276
|
+
"pageType": null,
|
|
277
|
+
"schema": null,
|
|
278
|
+
"shell": "MarketingShell",
|
|
279
|
+
"chrome": "on",
|
|
280
|
+
"sections": []
|
|
281
|
+
},
|
|
282
|
+
{
|
|
283
|
+
"route": "/meet/[slug]",
|
|
284
|
+
"pageType": null,
|
|
285
|
+
"schema": null,
|
|
286
|
+
"shell": "MarketingShell",
|
|
287
|
+
"chrome": "on",
|
|
288
|
+
"sections": []
|
|
289
|
+
},
|
|
290
|
+
{
|
|
291
|
+
"route": "/meet/confirmed",
|
|
292
|
+
"pageType": null,
|
|
293
|
+
"schema": null,
|
|
294
|
+
"shell": "MarketingShell",
|
|
295
|
+
"chrome": "on",
|
|
296
|
+
"sections": []
|
|
297
|
+
},
|
|
298
|
+
{
|
|
299
|
+
"route": "/flows/[slug]",
|
|
300
|
+
"pageType": null,
|
|
301
|
+
"schema": null,
|
|
302
|
+
"shell": "MarketingShell",
|
|
303
|
+
"chrome": "on",
|
|
304
|
+
"sections": []
|
|
305
|
+
},
|
|
306
|
+
{
|
|
307
|
+
"route": "/flows/[slug]/start",
|
|
308
|
+
"pageType": null,
|
|
309
|
+
"schema": null,
|
|
310
|
+
"shell": "MarketingShell",
|
|
311
|
+
"chrome": "on",
|
|
312
|
+
"sections": []
|
|
313
|
+
},
|
|
314
|
+
{
|
|
315
|
+
"route": "/flows/[slug]/results/[payload]",
|
|
316
|
+
"pageType": null,
|
|
317
|
+
"schema": null,
|
|
318
|
+
"shell": "MarketingShell",
|
|
319
|
+
"chrome": "on",
|
|
320
|
+
"sections": []
|
|
321
|
+
},
|
|
322
|
+
{
|
|
323
|
+
"route": "/reports/[slug]",
|
|
324
|
+
"pageType": null,
|
|
325
|
+
"schema": null,
|
|
326
|
+
"shell": "MarketingShell",
|
|
327
|
+
"chrome": "on",
|
|
328
|
+
"sections": []
|
|
329
|
+
}
|
|
330
|
+
]
|
|
331
|
+
}
|