create-ailk 0.8.0 → 0.10.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.
Files changed (238) hide show
  1. package/README.md +71 -3
  2. package/component-catalog.json +279 -45
  3. package/dist/add-module.d.ts +20 -0
  4. package/dist/add-module.js +43 -7
  5. package/dist/add-route.d.ts +56 -0
  6. package/dist/add-route.js +286 -0
  7. package/dist/apply-design-md.d.ts +7 -0
  8. package/dist/apply-design-md.js +50 -0
  9. package/dist/apply-design.d.ts +64 -0
  10. package/dist/apply-design.js +273 -0
  11. package/dist/claude-md.d.ts +111 -0
  12. package/dist/claude-md.js +334 -0
  13. package/dist/cli.js +104 -5
  14. package/dist/derive-architecture.js +41 -36
  15. package/dist/design-compile.d.ts +71 -0
  16. package/dist/design-compile.js +98 -0
  17. package/dist/design-package.d.ts +83 -0
  18. package/dist/design-package.js +468 -0
  19. package/dist/design-presets.d.ts +86 -0
  20. package/dist/design-presets.js +642 -0
  21. package/dist/design-scaffold.d.ts +76 -0
  22. package/dist/design-scaffold.js +220 -0
  23. package/dist/index.d.ts +2 -1
  24. package/dist/index.js +4 -1
  25. package/dist/legacy-nav-renderers.d.ts +45 -0
  26. package/dist/legacy-nav-renderers.js +545 -0
  27. package/dist/lib/auth-secret-file.d.ts +19 -0
  28. package/dist/lib/auth-secret-file.js +112 -0
  29. package/dist/lib/design-checks.d.ts +78 -0
  30. package/dist/lib/design-checks.js +174 -0
  31. package/dist/lib/license-key-files.d.ts +9 -0
  32. package/dist/lib/license-key-files.js +2 -2
  33. package/dist/lib/module-license-gate.d.ts +48 -32
  34. package/dist/lib/module-license-gate.js +117 -8
  35. package/dist/lib/render-verdict.d.ts +52 -0
  36. package/dist/lib/render-verdict.js +77 -0
  37. package/dist/lib/scaffold-render-sweep.d.ts +105 -0
  38. package/dist/lib/scaffold-render-sweep.js +236 -0
  39. package/dist/module-architecture.d.ts +19 -16
  40. package/dist/module-architecture.js +67 -23
  41. package/dist/parse-args.d.ts +12 -2
  42. package/dist/parse-args.js +74 -13
  43. package/dist/programmatic.d.ts +30 -6
  44. package/dist/programmatic.js +216 -19
  45. package/dist/site-chrome.d.ts +19 -9
  46. package/dist/site-chrome.js +23 -13
  47. package/dist/site-manifest.d.ts +25 -0
  48. package/dist/site-manifest.js +254 -0
  49. package/dist/site-roster.d.ts +41 -0
  50. package/dist/site-roster.js +141 -8
  51. package/dist/starter-grid.d.ts +16 -63
  52. package/dist/starter-grid.js +102 -84
  53. package/dist/surfaces.d.ts +41 -9
  54. package/dist/surfaces.js +200 -83
  55. package/dist/template-manifest.d.ts +30 -13
  56. package/dist/template-manifest.js +53 -28
  57. package/package.json +6 -3
  58. package/release-scope.json +25 -0
  59. package/site-templates/_base/content/en/UseCase/persona-1.mdx +7 -6
  60. package/site-templates/_base/content/en/UseCase/persona-2.mdx +7 -6
  61. package/site-templates/_base/content/en/UseCase/persona-3.mdx +7 -6
  62. package/site-templates/designs/minimalism/DESIGN.md +98 -6
  63. package/site-templates/designs/minimalism/sample/README.md +48 -0
  64. package/site-templates/{minimalism-site → designs/minimalism/sample}/content/en/HomePage/home.mdx +1 -1
  65. package/site-templates/designs/standard/DESIGN.md +98 -6
  66. package/site-templates/marketing-site/DESIGN.md +98 -6
  67. package/site-templates/marketing-site/TEMPLATE-MANIFEST.json +60 -27
  68. package/site-templates/marketing-site/TEMPLATE-MANIFEST.md +50 -30
  69. package/site-templates/marketing-site-free/DESIGN.md +98 -6
  70. package/site-templates/marketing-site-free/TEMPLATE-MANIFEST.json +60 -24
  71. package/site-templates/marketing-site-free/TEMPLATE-MANIFEST.md +44 -27
  72. package/site-templates/marketing-site-free/ailk-template.json +1 -1
  73. package/site-templates/saas-product/DESIGN.md +98 -6
  74. package/site-templates/shapes/local-business-service/TEMPLATE-MANIFEST.json +127 -18
  75. package/site-templates/shapes/local-business-service/TEMPLATE-MANIFEST.md +74 -20
  76. package/site-templates/shapes/local-business-service/ailk-template.json +1 -1
  77. package/site-templates/shapes/organization-service/TEMPLATE-MANIFEST.json +127 -18
  78. package/site-templates/shapes/organization-service/TEMPLATE-MANIFEST.md +74 -20
  79. package/site-templates/shapes/organization-service/ailk-template.json +1 -1
  80. package/site-templates/shapes/person-service/TEMPLATE-MANIFEST.json +127 -18
  81. package/site-templates/shapes/person-service/TEMPLATE-MANIFEST.md +75 -21
  82. package/site-templates/shapes/person-service/ailk-template.json +1 -1
  83. package/site-templates/shapes/person-service/content/en/AboutPage/about.mdx +1 -1
  84. package/site-templates/shapes/person-service/content/en/HomePage/home.mdx +2 -2
  85. package/site-templates/shapes/person-service/content/en/PortfolioList/portfolio.mdx +4 -2
  86. package/site-templates/shapes/person-service/content/en/ServicesList/services.mdx +1 -1
  87. package/templates/.claude/agents/web.md +10 -8
  88. package/templates/.claude/rules/architecture.md +17 -7
  89. package/templates/.claude/skills/README.md +3 -2
  90. package/templates/.claude/skills/add-auth/SKILL.md +142 -90
  91. package/templates/.claude/skills/add-auth/references/env-vars.md +32 -17
  92. package/templates/.claude/skills/add-auth/references/oauth-app-setup.md +17 -8
  93. package/templates/.claude/skills/add-page/SKILL.md +241 -238
  94. package/templates/.claude/skills/add-page/references/page-types.md +94 -86
  95. package/templates/.claude/skills/add-page/scripts/site-pages.mjs +87 -0
  96. package/templates/.claude/skills/add-page/templates/comparison-page.mdx.tmpl +99 -0
  97. package/templates/.claude/skills/add-page/templates/content.mdx.tmpl +8 -18
  98. package/templates/.claude/skills/add-page/templates/flow-landing-page.mdx.tmpl +43 -0
  99. package/templates/.claude/skills/add-page/templates/report-page.mdx.tmpl +52 -0
  100. package/templates/.claude/skills/add-page/templates/reports-list.mdx.tmpl +38 -0
  101. package/templates/.claude/skills/check-site/SKILL.md +51 -18
  102. package/templates/.claude/skills/check-site/references/common-errors.md +12 -9
  103. package/templates/.claude/skills/check-site/references/findings-glossary.md +4 -4
  104. package/templates/.claude/skills/check-site/references/severity-levels.md +3 -3
  105. package/templates/.claude/skills/fill-page/SKILL.md +26 -7
  106. package/templates/.claude/skills/fill-page/profiles/plumbing.yaml +1 -1
  107. package/templates/.claude/skills/setup-deploy/SKILL.md +75 -38
  108. package/templates/.claude/skills/update-page/SKILL.md +117 -0
  109. package/templates/.claude/skills/update-page/scripts/update-page.ts +640 -0
  110. package/templates/.claude/skills/update-page/templates/redirects.mjs.tmpl +31 -0
  111. package/templates/.claude/skills/upgrade-plan/SKILL.md +12 -8
  112. package/templates/.env.example +23 -2
  113. package/templates/.github/workflows/ci.yml +4 -0
  114. package/templates/.prettierignore +1 -0
  115. package/templates/CLAUDE.md +146 -103
  116. package/templates/DESIGN.md +98 -6
  117. package/templates/README.md +50 -38
  118. package/templates/apps/api/.env.example +2 -1
  119. package/templates/apps/api/src/__tests__/commerce-claim-registration.test.ts +2 -0
  120. package/templates/apps/api/src/__tests__/server.test.ts +116 -0
  121. package/templates/apps/api/src/lib/stripe.ts +9 -0
  122. package/templates/apps/api/src/middleware/__tests__/auth.optional-cookie.test.ts +140 -0
  123. package/templates/apps/api/src/middleware/auth.ts +54 -0
  124. package/templates/apps/api/src/routes/checkout/__tests__/session.test.ts +5 -2
  125. package/templates/apps/api/src/routes/checkout/__tests__/sessions.test.ts +628 -0
  126. package/templates/apps/api/src/routes/checkout/sessions.ts +222 -24
  127. package/templates/apps/api/src/routes/webhooks/__tests__/stripe-flow-checkout.test.ts +1 -1
  128. package/templates/apps/api/src/routes/webhooks/__tests__/stripe-org-billing.test.ts +5 -1
  129. package/templates/apps/api/src/routes/webhooks/__tests__/stripe.test.ts +521 -20
  130. package/templates/apps/api/src/routes/webhooks/stripe.ts +124 -32
  131. package/templates/apps/api/src/server.ts +28 -0
  132. package/templates/apps/api/src/services/__tests__/revalidation.test.ts +90 -15
  133. package/templates/apps/api/src/services/checkout-buyer.ts +72 -0
  134. package/templates/apps/api/src/services/revalidation.ts +60 -15
  135. package/templates/apps/mcp/__tests__/tools/create_project.test.ts +30 -24
  136. package/templates/apps/mcp/src/tools/purchase.ts +4 -2
  137. package/templates/apps/web/.env.example +13 -0
  138. package/templates/apps/web/CLAUDE.md +22 -28
  139. package/templates/apps/web/app/[locale]/(auth)/layout.tsx +1 -1
  140. package/templates/apps/web/app/[locale]/(authed)/leads/__tests__/page.test.tsx +24 -0
  141. package/templates/apps/web/app/[locale]/(authed)/leads/page.tsx +17 -6
  142. package/templates/apps/web/app/[locale]/[slug]/[detail]/__tests__/page.test.tsx +110 -0
  143. package/templates/apps/web/app/[locale]/[slug]/[detail]/page.tsx +60 -0
  144. package/templates/apps/web/app/[locale]/[slug]/page.tsx +1 -1
  145. package/templates/apps/web/app/[locale]/alternatives/__tests__/page.test.tsx +161 -0
  146. package/templates/apps/web/app/[locale]/alternatives/page.tsx +104 -0
  147. package/templates/apps/web/app/[locale]/{use-cases → for}/[slug]/page.tsx +4 -3
  148. package/templates/apps/web/app/[locale]/for/__tests__/page-renderer-migration.test.tsx +73 -0
  149. package/templates/apps/web/app/[locale]/{use-cases → for}/page.tsx +8 -7
  150. package/templates/apps/web/app/[locale]/glossary/page.tsx +1 -1
  151. package/templates/apps/web/app/[locale]/layout.tsx +35 -19
  152. package/templates/apps/web/app/[locale]/newsletter/page.tsx +1 -1
  153. package/templates/apps/web/app/[locale]/portfolio/[slug]/page.tsx +1 -1
  154. package/templates/apps/web/app/[locale]/portfolio/page.tsx +1 -1
  155. package/templates/apps/web/app/[locale]/vs/[slug]/__tests__/page.test.tsx +112 -0
  156. package/templates/apps/web/app/[locale]/vs/[slug]/page.tsx +70 -0
  157. package/templates/apps/web/app/api/revalidate/__tests__/route.test.ts +236 -44
  158. package/templates/apps/web/app/api/revalidate/route.ts +78 -36
  159. package/templates/apps/web/lib/__tests__/site-brand.test.ts +79 -0
  160. package/templates/apps/web/lib/__tests__/site-theme.test.ts +104 -11
  161. package/templates/apps/web/lib/__tests__/structured-data.test.tsx +21 -4
  162. package/templates/apps/web/lib/locale-guard.ts +18 -0
  163. package/templates/apps/web/lib/meet-placeholder.ts +5 -0
  164. package/templates/apps/web/lib/nav-config.ts +14 -13
  165. package/templates/apps/web/lib/site-brand.tsx +13 -9
  166. package/templates/apps/web/lib/site-logo.tsx +36 -0
  167. package/templates/apps/web/lib/site-theme.ts +46 -26
  168. package/templates/apps/web/messages/en.json +23 -9
  169. package/templates/apps/web/middleware.ts +28 -4
  170. package/templates/content/en/BookCall/book-a-call.mdx +80 -0
  171. package/templates/content/en/BookCall/onsite-estimate.mdx +56 -0
  172. package/templates/content/en/BookCall/onsite-service.mdx +56 -0
  173. package/templates/content/en/BookCall/start-project.mdx +56 -0
  174. package/templates/content/en/ContactPage/contact.mdx +40 -1
  175. package/templates/content/en/HomePage/home.mdx +2 -6
  176. package/templates/content/en/LandingPage/meet.mdx +59 -0
  177. package/templates/content/en/UseCasesList/{use-cases.mdx → for.mdx} +19 -18
  178. package/templates/database/CHANGELOG.md +7 -0
  179. package/templates/database/package.json +1 -1
  180. package/templates/package.json +4 -1
  181. package/templates/tools/check-claude-md.ts +128 -0
  182. package/versions.json +33 -33
  183. package/dist/modules/commerce/0.6.0.tar.gz +0 -0
  184. package/dist/modules/commerce/0.6.1.tar.gz +0 -0
  185. package/dist/modules/docs-blog/0.6.0.tar.gz +0 -0
  186. package/dist/modules/docs-blog/0.6.1.tar.gz +0 -0
  187. package/dist/modules/marketing-site/0.6.1.tar.gz +0 -0
  188. package/dist/modules/minimalism-site/0.6.1.tar.gz +0 -0
  189. package/dist/modules/multi-tenant/0.6.0.tar.gz +0 -0
  190. package/dist/modules/multi-tenant/0.6.1.tar.gz +0 -0
  191. package/dist/modules/saas-product/0.6.1.tar.gz +0 -0
  192. package/dist/modules/scheduling/0.6.0.tar.gz +0 -0
  193. package/dist/modules/scheduling/0.6.1.tar.gz +0 -0
  194. package/dist/modules/signal-collectors/0.6.0.tar.gz +0 -0
  195. package/dist/modules/signal-collectors/0.6.1.tar.gz +0 -0
  196. package/dist/modules/simple-service/0.6.1.tar.gz +0 -0
  197. package/dist/modules/workspace/0.6.0.tar.gz +0 -0
  198. package/dist/modules/workspace/0.6.1.tar.gz +0 -0
  199. package/site-templates/_base/content/en/BookCall/book-call.mdx +0 -52
  200. package/site-templates/minimalism-site/DESIGN.md +0 -162
  201. package/site-templates/minimalism-site/TEMPLATE-MANIFEST.json +0 -506
  202. package/site-templates/minimalism-site/TEMPLATE-MANIFEST.md +0 -458
  203. package/site-templates/minimalism-site/ailk-template.json +0 -23
  204. package/site-templates/minimalism-site/content/en/AboutPage/about.mdx +0 -110
  205. package/site-templates/minimalism-site/content/en/BookCall/book-call.mdx +0 -52
  206. package/site-templates/minimalism-site/content/en/ContactPage/contact.mdx +0 -34
  207. package/site-templates/minimalism-site/content/en/FAQPage/faq.mdx +0 -57
  208. package/site-templates/minimalism-site/content/en/LandingPage/referral.mdx +0 -77
  209. package/site-templates/minimalism-site/content/en/LandingPage/reports.mdx +0 -73
  210. package/site-templates/minimalism-site/content/en/PurchasePolicyPage/purchase-policy.mdx +0 -123
  211. package/site-templates/minimalism-site/content/en/ReportPage/annual-letter-2024.mdx +0 -52
  212. package/site-templates/minimalism-site/content/en/ReportPage/field-notes-2023.mdx +0 -52
  213. package/site-templates/minimalism-site/content/en/ReportPage/platform-shift-2025.mdx +0 -52
  214. package/site-templates/minimalism-site/content/en/ReportPage/state-of-the-market-2026.mdx +0 -52
  215. package/site-templates/minimalism-site/content/en/Service/first-engagement.mdx +0 -38
  216. package/site-templates/minimalism-site/content/en/Service/second-engagement.mdx +0 -38
  217. package/site-templates/minimalism-site/content/en/Service/third-engagement.mdx +0 -38
  218. package/site-templates/minimalism-site/content/en/ServicesList/services.mdx +0 -73
  219. package/site-templates/minimalism-site/flows/referral.flow.json +0 -71
  220. package/site-templates/minimalism-site/provenance.json +0 -4
  221. package/templates/.claude/skills/add-page/templates/route.tsx.tmpl +0 -28
  222. package/templates/.claude/skills/setup-deploy/references/env-vars-template.md +0 -175
  223. package/templates/apps/api/.ailk/inbox/2026-09-20T14-57-31.552Z-fallback-1789916251590-037e9005.json +0 -8
  224. package/templates/apps/api/.ailk/inbox/2026-09-20T14-57-33.840Z-fallback-1789916253842-b52659e9.json +0 -12
  225. package/templates/apps/api/.ailk/inbox/2026-09-20T14-57-33.844Z-fallback-1789916253845-6b266f8c.json +0 -12
  226. package/templates/apps/web/app/[locale]/book-a-call/page.tsx +0 -50
  227. package/templates/apps/web/app/[locale]/use-cases/__tests__/page-renderer-migration.test.tsx +0 -72
  228. /package/site-templates/{minimalism-site/assets → designs/minimalism/sample/public}/avatar-placeholder-1.svg +0 -0
  229. /package/site-templates/{minimalism-site/assets → designs/minimalism/sample/public}/avatar-placeholder-2.svg +0 -0
  230. /package/site-templates/{minimalism-site/assets → designs/minimalism/sample/public}/avatar-placeholder-3.svg +0 -0
  231. /package/site-templates/{minimalism-site/assets → designs/minimalism/sample/public}/avatar-placeholder-4.svg +0 -0
  232. /package/site-templates/{minimalism-site/assets → designs/minimalism/sample/public}/avatar-placeholder-5.svg +0 -0
  233. /package/site-templates/{minimalism-site/assets → designs/minimalism/sample/public}/avatar-placeholder-6.svg +0 -0
  234. /package/site-templates/{minimalism-site/assets → designs/minimalism/sample/public}/hero-backdrop.svg +0 -0
  235. /package/site-templates/{minimalism-site/assets → designs/minimalism/sample/public}/logo-placeholder-1.svg +0 -0
  236. /package/site-templates/{minimalism-site/assets → designs/minimalism/sample/public}/logo-placeholder-2.svg +0 -0
  237. /package/site-templates/{minimalism-site/assets → designs/minimalism/sample/public}/logo-placeholder-3.svg +0 -0
  238. /package/site-templates/{minimalism-site/assets → designs/minimalism/sample/public}/wordmark-placeholder.svg +0 -0
@@ -1,506 +0,0 @@
1
- {
2
- "template": "minimalism-site",
3
- "requires": ["marketing", "scheduling", "signal-collectors"],
4
- "categories": ["real-estate", "technology", "legal"],
5
- "shape": "organization-service",
6
- "design": "minimalism",
7
- "generatedHash": "011c11830102c7b75698209d145df2a08aaa50b91782f379407abc11bc45ef9d",
8
- "layout": {
9
- "nav": "mark-only",
10
- "footer": "centered",
11
- "announcementBanner": false,
12
- "home": "deck"
13
- },
14
- "theme": {
15
- "corners": "square",
16
- "eyebrowCase": "sentence",
17
- "placeholders": "fill",
18
- "checkmarks": "plain",
19
- "colors": {
20
- "light": {
21
- "bg": "#ffffff",
22
- "bgMuted": "#ffffff",
23
- "surface": "#ffffff",
24
- "border": "#000000",
25
- "text": "#000000",
26
- "textMuted": "#333333",
27
- "primary": "#000000",
28
- "primaryFg": "#ffffff",
29
- "accent": "#000000"
30
- },
31
- "dark": {
32
- "bg": "#000000",
33
- "bgMuted": "#000000",
34
- "surface": "#000000",
35
- "border": "#ffffff",
36
- "text": "#ffffff",
37
- "textMuted": "#cccccc",
38
- "primary": "#ffffff",
39
- "primaryFg": "#000000",
40
- "accent": "#ffffff"
41
- }
42
- }
43
- },
44
- "rows": [
45
- {
46
- "route": "/",
47
- "kind": "page",
48
- "pageType": "HomePage",
49
- "schema": "HomePage",
50
- "shell": "MarketingShell",
51
- "chrome": "on",
52
- "sections": [
53
- {
54
- "type": "hero",
55
- "component": "Hero",
56
- "options": {
57
- "surface": "gradient-brand",
58
- "fill": "viewport"
59
- }
60
- },
61
- {
62
- "type": "content-block",
63
- "component": "ContentBlock",
64
- "options": {
65
- "align": "center",
66
- "fill": "viewport"
67
- }
68
- },
69
- {
70
- "type": "logoCloud",
71
- "component": "LogoCloud",
72
- "options": {
73
- "layout": "grid"
74
- }
75
- },
76
- {
77
- "type": "content-block",
78
- "component": "ContentBlock",
79
- "options": {
80
- "align": "center",
81
- "fill": "viewport"
82
- }
83
- },
84
- {
85
- "type": "reports-list",
86
- "component": "ReportsList",
87
- "options": {
88
- "surface": "gradient-dark",
89
- "tone": "on-dark"
90
- }
91
- },
92
- {
93
- "type": "reports-list",
94
- "component": "ReportsList",
95
- "options": {
96
- "surface": "gradient-dark",
97
- "tone": "on-dark"
98
- }
99
- },
100
- {
101
- "type": "content-block",
102
- "component": "ContentBlock",
103
- "options": {
104
- "align": "center",
105
- "fill": "viewport"
106
- }
107
- },
108
- {
109
- "type": "team",
110
- "component": "Team"
111
- },
112
- {
113
- "type": "cta",
114
- "component": "CTA"
115
- }
116
- ]
117
- },
118
- {
119
- "route": "/reports",
120
- "kind": "page",
121
- "pageType": "LandingPage",
122
- "schema": "WebPage",
123
- "shell": "MarketingShell",
124
- "chrome": "on",
125
- "sections": [
126
- {
127
- "type": "hero",
128
- "component": "Hero"
129
- },
130
- {
131
- "type": "reports-list",
132
- "component": "ReportsList"
133
- },
134
- {
135
- "type": "cta",
136
- "component": "CTA"
137
- }
138
- ]
139
- },
140
- {
141
- "route": "/about",
142
- "kind": "page",
143
- "pageType": "AboutPage",
144
- "schema": "AboutPage",
145
- "shell": "MarketingShell",
146
- "chrome": "on",
147
- "sections": [
148
- {
149
- "type": "content-block",
150
- "component": "ContentBlock"
151
- },
152
- {
153
- "type": "team",
154
- "component": "Team"
155
- },
156
- {
157
- "type": "cta",
158
- "component": "CTA"
159
- }
160
- ]
161
- },
162
- {
163
- "route": "/services",
164
- "kind": "page",
165
- "pageType": "ServicesList",
166
- "schema": "ServicesList",
167
- "shell": "MarketingShell",
168
- "chrome": "on",
169
- "sections": [
170
- {
171
- "type": "hero",
172
- "component": "Hero"
173
- },
174
- {
175
- "type": "items",
176
- "component": "Items",
177
- "options": {
178
- "columns": 3
179
- }
180
- },
181
- {
182
- "type": "cta",
183
- "component": "CTA"
184
- }
185
- ]
186
- },
187
- {
188
- "route": "/services/[slug]",
189
- "kind": "page",
190
- "contentDir": "content/en/Service",
191
- "seeds": [
192
- "content/en/Service/first-engagement.mdx",
193
- "content/en/Service/second-engagement.mdx",
194
- "content/en/Service/third-engagement.mdx"
195
- ],
196
- "pageType": "Service",
197
- "schema": "Service",
198
- "shell": "MarketingShell",
199
- "chrome": "on",
200
- "sections": []
201
- },
202
- {
203
- "route": "/contact",
204
- "kind": "page",
205
- "pageType": "ContactPage",
206
- "schema": "ContactPage",
207
- "shell": "MarketingShell",
208
- "chrome": "on",
209
- "sections": [
210
- {
211
- "type": "hero",
212
- "component": "Hero"
213
- },
214
- {
215
- "type": "cta",
216
- "component": "CTA"
217
- }
218
- ]
219
- },
220
- {
221
- "route": "/referral",
222
- "kind": "page",
223
- "pageType": "LandingPage",
224
- "schema": "WebPage",
225
- "shell": "MarketingShell",
226
- "chrome": "on",
227
- "sections": [
228
- {
229
- "type": "hero",
230
- "component": "Hero"
231
- },
232
- {
233
- "type": "stair-steps",
234
- "component": "StairSteps"
235
- },
236
- {
237
- "type": "cta",
238
- "component": "CTA"
239
- }
240
- ]
241
- },
242
- {
243
- "route": "/faq",
244
- "kind": "page",
245
- "pageType": "FAQPage",
246
- "schema": "FAQPage",
247
- "shell": "MarketingShell",
248
- "chrome": "on",
249
- "sections": [
250
- {
251
- "type": "faq",
252
- "component": "FAQ"
253
- },
254
- {
255
- "type": "cta",
256
- "component": "CTA"
257
- }
258
- ]
259
- },
260
- {
261
- "route": "/glossary",
262
- "kind": "page",
263
- "pageType": "GlossaryList",
264
- "schema": "GlossaryList",
265
- "shell": "MarketingShell",
266
- "chrome": "on",
267
- "sections": [
268
- {
269
- "type": "hero",
270
- "component": "Hero"
271
- },
272
- {
273
- "type": "glossary-index",
274
- "component": "GlossaryIndex"
275
- }
276
- ]
277
- },
278
- {
279
- "route": "/newsletter",
280
- "kind": "page",
281
- "pageType": "NewsletterSignup",
282
- "schema": "NewsletterSignup",
283
- "shell": "MarketingShell",
284
- "chrome": "on",
285
- "sections": [
286
- {
287
- "type": "hero",
288
- "component": "Hero"
289
- },
290
- {
291
- "type": "newsletter",
292
- "component": "Newsletter"
293
- },
294
- {
295
- "type": "faq",
296
- "component": "FAQ"
297
- }
298
- ]
299
- },
300
- {
301
- "route": "/book-a-call",
302
- "kind": "page",
303
- "pageType": "BookCall",
304
- "schema": "BookCall",
305
- "shell": "MarketingShell",
306
- "chrome": "on",
307
- "sections": [
308
- {
309
- "type": "hero",
310
- "component": "Hero"
311
- },
312
- {
313
- "type": "items",
314
- "component": "Items",
315
- "options": {
316
- "columns": 3
317
- }
318
- }
319
- ]
320
- },
321
- {
322
- "route": "/privacy",
323
- "kind": "page",
324
- "pageType": "PrivacyPage",
325
- "schema": "PrivacyPage",
326
- "shell": "MarketingShell",
327
- "chrome": "on",
328
- "sections": [
329
- {
330
- "type": "document-chassis",
331
- "component": "DocumentChassis",
332
- "options": {
333
- "layout": "article"
334
- }
335
- }
336
- ]
337
- },
338
- {
339
- "route": "/terms",
340
- "kind": "page",
341
- "pageType": "TermsPage",
342
- "schema": "TermsPage",
343
- "shell": "MarketingShell",
344
- "chrome": "on",
345
- "sections": [
346
- {
347
- "type": "document-chassis",
348
- "component": "DocumentChassis",
349
- "options": {
350
- "layout": "article"
351
- }
352
- }
353
- ]
354
- },
355
- {
356
- "route": "/purchase-policy",
357
- "kind": "page",
358
- "pageType": "PurchasePolicyPage",
359
- "schema": "PurchasePolicyPage",
360
- "shell": "MarketingShell",
361
- "chrome": "on",
362
- "sections": [
363
- {
364
- "type": "document-chassis",
365
- "component": "DocumentChassis",
366
- "options": {
367
- "layout": "article"
368
- }
369
- }
370
- ]
371
- },
372
- {
373
- "route": "/projects",
374
- "kind": "page",
375
- "pageType": "ProjectsList",
376
- "schema": "ProjectsList",
377
- "shell": "MarketingShell",
378
- "chrome": "on",
379
- "sections": [
380
- {
381
- "type": "hero",
382
- "component": "Hero"
383
- },
384
- {
385
- "type": "items",
386
- "component": "Items",
387
- "options": {
388
- "columns": 2
389
- }
390
- },
391
- {
392
- "type": "cta",
393
- "component": "CTA"
394
- }
395
- ]
396
- },
397
- {
398
- "route": "/projects/[slug]",
399
- "kind": "page",
400
- "contentDir": "content/en/Project",
401
- "seeds": [
402
- "content/en/Project/fit-check-funnel.mdx",
403
- "content/en/Project/launch-site-in-fourteen-days.mdx"
404
- ],
405
- "pageType": "Project",
406
- "schema": "Project",
407
- "shell": "MarketingShell",
408
- "chrome": "on",
409
- "sections": []
410
- },
411
- {
412
- "route": "/thanks/[slug]",
413
- "kind": "page",
414
- "contentDir": "content/en/ThankYouPage",
415
- "seeds": [
416
- "content/en/ThankYouPage/apply.mdx",
417
- "content/en/ThankYouPage/contact.mdx",
418
- "content/en/ThankYouPage/newsletter.mdx"
419
- ],
420
- "pageType": "ThankYouPage",
421
- "schema": "ThankYouPage",
422
- "shell": "MarketingShell",
423
- "chrome": "on",
424
- "sections": []
425
- },
426
- {
427
- "route": "/meet",
428
- "kind": "route",
429
- "pageType": null,
430
- "schema": null,
431
- "shell": "MarketingShell",
432
- "chrome": "on",
433
- "sections": []
434
- },
435
- {
436
- "route": "/meet/[slug]",
437
- "kind": "route",
438
- "pageType": null,
439
- "schema": null,
440
- "shell": "MarketingShell",
441
- "chrome": "on",
442
- "sections": []
443
- },
444
- {
445
- "route": "/meet/confirmed",
446
- "kind": "route",
447
- "pageType": null,
448
- "schema": null,
449
- "shell": "MarketingShell",
450
- "chrome": "on",
451
- "sections": []
452
- },
453
- {
454
- "route": "/appointments",
455
- "kind": "route",
456
- "pageType": null,
457
- "schema": null,
458
- "shell": "MarketingShell",
459
- "chrome": "on",
460
- "sections": []
461
- },
462
- {
463
- "route": "/flows/[slug]",
464
- "kind": "route",
465
- "pageType": null,
466
- "schema": null,
467
- "shell": "MarketingShell",
468
- "chrome": "on",
469
- "sections": []
470
- },
471
- {
472
- "route": "/flows/[slug]/start",
473
- "kind": "route",
474
- "pageType": null,
475
- "schema": null,
476
- "shell": "MarketingShell",
477
- "chrome": "on",
478
- "sections": []
479
- },
480
- {
481
- "route": "/flows/[slug]/results/[payload]",
482
- "kind": "route",
483
- "pageType": null,
484
- "schema": null,
485
- "shell": "MarketingShell",
486
- "chrome": "on",
487
- "sections": []
488
- },
489
- {
490
- "route": "/reports/[slug]",
491
- "kind": "page",
492
- "contentDir": "content/en/ReportPage",
493
- "seeds": [
494
- "content/en/ReportPage/annual-letter-2024.mdx",
495
- "content/en/ReportPage/field-notes-2023.mdx",
496
- "content/en/ReportPage/platform-shift-2025.mdx",
497
- "content/en/ReportPage/state-of-the-market-2026.mdx"
498
- ],
499
- "pageType": "ReportPage",
500
- "schema": "ReportPage",
501
- "shell": "MarketingShell",
502
- "chrome": "on",
503
- "sections": []
504
- }
505
- ]
506
- }