create-ailk 0.6.1 → 0.8.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 (324) hide show
  1. package/README.md +87 -14
  2. package/component-catalog.json +735 -95
  3. package/component-catalog.md +13 -7
  4. package/dist/add-module-core.d.ts +22 -0
  5. package/dist/add-module-core.js +50 -0
  6. package/dist/add-module.d.ts +89 -0
  7. package/dist/add-module.js +334 -0
  8. package/dist/category-profile.d.ts +126 -0
  9. package/dist/category-profile.js +262 -0
  10. package/dist/cli.js +89 -29
  11. package/dist/index.d.ts +4 -2
  12. package/dist/index.js +6 -1
  13. package/dist/lib/extract-module-bundle.d.ts +56 -1
  14. package/dist/lib/extract-module-bundle.js +170 -14
  15. package/dist/lib/license-key-files.d.ts +15 -0
  16. package/dist/lib/license-key-files.js +102 -0
  17. package/dist/lib/module-license-gate.d.ts +79 -0
  18. package/dist/lib/module-license-gate.js +160 -12
  19. package/dist/lib/module-tier.d.ts +45 -16
  20. package/dist/lib/module-tier.js +76 -0
  21. package/dist/lib/pro-callout.d.ts +16 -10
  22. package/dist/lib/pro-callout.js +34 -3
  23. package/dist/license-set.d.ts +34 -0
  24. package/dist/license-set.js +194 -0
  25. package/dist/module-architecture.d.ts +20 -0
  26. package/dist/module-architecture.js +77 -19
  27. package/dist/modules/commerce/0.6.1.tar.gz +0 -0
  28. package/dist/modules/docs-blog/0.6.1.tar.gz +0 -0
  29. package/dist/modules/marketing-site/0.6.1.tar.gz +0 -0
  30. package/dist/modules/minimalism-site/0.6.1.tar.gz +0 -0
  31. package/dist/modules/multi-tenant/0.6.1.tar.gz +0 -0
  32. package/dist/modules/saas-product/0.6.1.tar.gz +0 -0
  33. package/dist/modules/scheduling/0.6.1.tar.gz +0 -0
  34. package/dist/modules/signal-collectors/0.6.1.tar.gz +0 -0
  35. package/dist/modules/simple-service/0.6.1.tar.gz +0 -0
  36. package/dist/modules/workspace/0.6.1.tar.gz +0 -0
  37. package/dist/parse-args.d.ts +85 -10
  38. package/dist/parse-args.js +227 -15
  39. package/dist/programmatic.d.ts +81 -5
  40. package/dist/programmatic.js +291 -32
  41. package/dist/site-chrome.d.ts +18 -7
  42. package/dist/site-chrome.js +32 -14
  43. package/dist/site-roster.d.ts +127 -0
  44. package/dist/site-roster.js +499 -0
  45. package/dist/starter-grid.d.ts +216 -0
  46. package/dist/starter-grid.js +449 -0
  47. package/dist/surfaces.d.ts +20 -7
  48. package/dist/surfaces.js +204 -24
  49. package/dist/sync-routes.d.ts +9 -0
  50. package/dist/sync-routes.js +2 -2
  51. package/dist/template-manifest.d.ts +94 -19
  52. package/dist/template-manifest.js +170 -289
  53. package/dist/template-names.d.ts +14 -12
  54. package/dist/template-names.js +13 -17
  55. package/package.json +6 -4
  56. package/site-templates/_base/content/en/BookCall/book-call.mdx +52 -0
  57. package/site-templates/_base/content/en/Feature/feature-1.mdx +69 -0
  58. package/site-templates/_base/content/en/Feature/feature-2.mdx +69 -0
  59. package/site-templates/_base/content/en/Feature/feature-3.mdx +69 -0
  60. package/site-templates/_base/content/en/FeaturesList/features.mdx +91 -0
  61. package/site-templates/_base/content/en/GlossaryList/glossary.mdx +65 -0
  62. package/site-templates/_base/content/en/NewsletterSignup/newsletter.mdx +67 -0
  63. package/site-templates/_base/content/en/PortfolioItem/sample-four.mdx +105 -0
  64. package/site-templates/_base/content/en/PortfolioItem/sample-one.mdx +34 -0
  65. package/site-templates/_base/content/en/PortfolioItem/sample-three.mdx +94 -0
  66. package/site-templates/_base/content/en/PortfolioItem/sample-two.mdx +45 -0
  67. package/site-templates/_base/content/en/PortfolioList/portfolio.mdx +169 -0
  68. package/site-templates/_base/content/en/Pricing/pricing.mdx +71 -62
  69. package/site-templates/_base/content/en/PrivacyPage/privacy.mdx +17 -3
  70. package/site-templates/_base/content/en/TermsPage/terms.mdx +2 -3
  71. package/site-templates/_base/content/en/UseCase/persona-1.mdx +69 -0
  72. package/site-templates/_base/content/en/UseCase/persona-2.mdx +69 -0
  73. package/site-templates/_base/content/en/UseCase/persona-3.mdx +69 -0
  74. package/site-templates/designs/minimalism/DESIGN.md +162 -0
  75. package/site-templates/designs/standard/DESIGN.md +167 -0
  76. package/site-templates/marketing-site/DESIGN.md +59 -40
  77. package/site-templates/marketing-site/TEMPLATE-MANIFEST.json +376 -57
  78. package/site-templates/marketing-site/TEMPLATE-MANIFEST.md +230 -90
  79. package/site-templates/marketing-site/ailk-template.json +1 -0
  80. package/site-templates/marketing-site-free/DESIGN.md +59 -40
  81. package/site-templates/marketing-site-free/TEMPLATE-MANIFEST.json +323 -63
  82. package/site-templates/marketing-site-free/TEMPLATE-MANIFEST.md +323 -113
  83. package/site-templates/marketing-site-free/ailk-template.json +3 -2
  84. package/site-templates/marketing-site-free/content/en/NewsletterSignup/newsletter.mdx +59 -0
  85. package/site-templates/marketing-site-free/content/en/Pricing/pricing.mdx +199 -0
  86. package/site-templates/minimalism-site/DESIGN.md +54 -40
  87. package/site-templates/minimalism-site/TEMPLATE-MANIFEST.json +246 -19
  88. package/site-templates/minimalism-site/TEMPLATE-MANIFEST.md +173 -51
  89. package/site-templates/minimalism-site/ailk-template.json +3 -2
  90. package/site-templates/minimalism-site/content/en/BookCall/book-call.mdx +52 -0
  91. package/site-templates/minimalism-site/content/en/ContactPage/contact.mdx +3 -37
  92. package/site-templates/minimalism-site/content/en/PurchasePolicyPage/purchase-policy.mdx +123 -0
  93. package/site-templates/saas-product/DESIGN.md +59 -40
  94. package/site-templates/saas-product/TEMPLATE-MANIFEST.md +9 -1
  95. package/site-templates/shapes/local-business-service/TEMPLATE-MANIFEST.json +369 -0
  96. package/site-templates/shapes/local-business-service/TEMPLATE-MANIFEST.md +302 -0
  97. package/site-templates/shapes/local-business-service/ailk-template.json +10 -0
  98. package/site-templates/{simple-service → shapes/local-business-service}/content/en/AboutPage/about.mdx +4 -4
  99. package/site-templates/shapes/local-business-service/content/en/HomePage/home.mdx +70 -0
  100. package/site-templates/shapes/local-business-service/content/en/NewsletterSignup/newsletter.mdx +59 -0
  101. package/site-templates/shapes/local-business-service/content/en/PortfolioList/portfolio.mdx +171 -0
  102. package/site-templates/shapes/local-business-service/content/en/PurchasePolicyPage/purchase-policy.mdx +123 -0
  103. package/site-templates/shapes/local-business-service/content/en/Service/first-job.mdx +39 -0
  104. package/site-templates/shapes/local-business-service/content/en/Service/second-job.mdx +39 -0
  105. package/site-templates/shapes/local-business-service/content/en/Service/third-job.mdx +39 -0
  106. package/site-templates/shapes/local-business-service/content/en/ServicesList/services.mdx +61 -0
  107. package/site-templates/shapes/local-business-service/provenance.json +4 -0
  108. package/site-templates/shapes/organization-service/TEMPLATE-MANIFEST.json +362 -0
  109. package/site-templates/shapes/organization-service/TEMPLATE-MANIFEST.md +300 -0
  110. package/site-templates/shapes/organization-service/ailk-template.json +10 -0
  111. package/site-templates/shapes/organization-service/content/en/AboutPage/about.mdx +38 -0
  112. package/site-templates/shapes/organization-service/content/en/HomePage/home.mdx +85 -0
  113. package/site-templates/shapes/organization-service/content/en/NewsletterSignup/newsletter.mdx +59 -0
  114. package/site-templates/shapes/organization-service/content/en/PortfolioList/portfolio.mdx +171 -0
  115. package/site-templates/shapes/organization-service/content/en/PurchasePolicyPage/purchase-policy.mdx +123 -0
  116. package/site-templates/shapes/organization-service/content/en/Service/first-engagement.mdx +38 -0
  117. package/site-templates/shapes/organization-service/content/en/Service/second-engagement.mdx +38 -0
  118. package/site-templates/shapes/organization-service/content/en/Service/third-engagement.mdx +38 -0
  119. package/site-templates/shapes/organization-service/content/en/ServicesList/services.mdx +72 -0
  120. package/site-templates/shapes/organization-service/provenance.json +4 -0
  121. package/site-templates/shapes/person-service/TEMPLATE-MANIFEST.json +369 -0
  122. package/site-templates/shapes/person-service/TEMPLATE-MANIFEST.md +299 -0
  123. package/site-templates/shapes/person-service/ailk-template.json +10 -0
  124. package/site-templates/shapes/person-service/content/_site.mdx +85 -0
  125. package/site-templates/shapes/person-service/content/en/AboutPage/about.mdx +39 -0
  126. package/site-templates/shapes/person-service/content/en/HomePage/home.mdx +97 -0
  127. package/site-templates/shapes/person-service/content/en/NewsletterSignup/newsletter.mdx +59 -0
  128. package/site-templates/shapes/person-service/content/en/PortfolioList/portfolio.mdx +169 -0
  129. package/site-templates/shapes/person-service/content/en/PurchasePolicyPage/purchase-policy.mdx +123 -0
  130. package/site-templates/shapes/person-service/content/en/Service/first-engagement.mdx +38 -0
  131. package/site-templates/shapes/person-service/content/en/Service/second-engagement.mdx +38 -0
  132. package/site-templates/shapes/person-service/content/en/Service/third-engagement.mdx +38 -0
  133. package/site-templates/{simple-service → shapes/person-service}/content/en/ServicesList/services.mdx +16 -16
  134. package/site-templates/shapes/person-service/provenance.json +4 -0
  135. package/templates/.claude/settings.json +15 -0
  136. package/templates/.claude/skills/README.md +10 -9
  137. package/templates/.claude/skills/{scaffold-auth → add-auth}/SKILL.md +7 -7
  138. package/templates/.claude/skills/{scaffold-auth → add-auth}/references/env-vars.md +2 -2
  139. package/templates/.claude/skills/{scaffold-auth → add-auth}/references/oauth-app-setup.md +3 -3
  140. package/templates/.claude/skills/{scaffold-page → add-page}/SKILL.md +76 -62
  141. package/templates/.claude/skills/add-page/references/page-types.md +115 -0
  142. package/templates/.claude/skills/{scaffold-page → add-page}/templates/content.mdx.tmpl +4 -4
  143. package/templates/.claude/skills/{scaffold-page → add-page}/templates/route.tsx.tmpl +1 -1
  144. package/templates/.claude/skills/{audit-site → check-site}/SKILL.md +16 -17
  145. package/templates/.claude/skills/{audit-site → check-site}/references/common-errors.md +3 -3
  146. package/templates/.claude/skills/{audit-site → check-site}/references/findings-glossary.md +16 -14
  147. package/templates/.claude/skills/{audit-site → check-site}/references/severity-levels.md +1 -1
  148. package/templates/.claude/skills/fill-page/SKILL.md +180 -0
  149. package/templates/.claude/skills/fill-page/profiles/plumbing.yaml +80 -0
  150. package/templates/.claude/skills/fill-page/references/section-sources.md +41 -0
  151. package/templates/.claude/skills/setup-database/SKILL.md +156 -0
  152. package/templates/.claude/skills/setup-database/scripts/verify-inbox.ts +154 -0
  153. package/templates/.claude/skills/{provision-config → setup-deploy}/SKILL.md +73 -41
  154. package/templates/.claude/skills/{provision-config → setup-deploy}/references/env-vars-template.md +21 -30
  155. package/templates/.claude/skills/setup-deploy/references/runbook-template.md +204 -0
  156. package/templates/.claude/skills/{provision-config → setup-deploy}/references/vercel-json-template.md +1 -1
  157. package/templates/.claude/skills/upgrade-plan/SKILL.md +117 -0
  158. package/templates/.claude/skills/upgrade-plan/references/options.md +24 -0
  159. package/templates/.claude/skills/upgrade-plan/scripts/upgrade-plan.ts +527 -0
  160. package/templates/.github/workflows/ci.yml +5 -0
  161. package/templates/CLAUDE.md +8 -2
  162. package/templates/DESIGN.md +56 -44
  163. package/templates/README.md +116 -46
  164. package/templates/apps/api/.env.example +2 -1
  165. package/templates/apps/api/CLAUDE.md +3 -2
  166. package/templates/apps/api/package.json +1 -1
  167. package/templates/apps/api/src/config/__tests__/index.test.ts +146 -10
  168. package/templates/apps/api/src/config/index.ts +46 -14
  169. package/templates/apps/api/src/lib/__tests__/lead-capture-store.test.ts +30 -0
  170. package/templates/apps/api/src/lib/__tests__/lead-delivery.test.ts +96 -0
  171. package/templates/apps/api/src/lib/lead-capture-store.ts +12 -0
  172. package/templates/apps/api/src/lib/lead-delivery.ts +52 -0
  173. package/templates/apps/api/src/lib/license-key-store.ts +45 -0
  174. package/templates/apps/api/src/lib/site.ts +5 -3
  175. package/templates/apps/api/src/middleware/__tests__/auth.database-not-configured.test.ts +97 -0
  176. package/templates/apps/api/src/middleware/auth.ts +9 -0
  177. package/templates/apps/api/src/openapi/spec.ts +63 -12
  178. package/templates/apps/api/src/routes/content/__tests__/get-page.test.ts +127 -5
  179. package/templates/apps/api/src/routes/content/get-page.ts +86 -2
  180. package/templates/apps/api/src/routes/leads/__tests__/capture.test.ts +88 -0
  181. package/templates/apps/api/src/routes/leads/__tests__/index.test.ts +100 -0
  182. package/templates/apps/api/src/routes/leads/index.ts +46 -1
  183. package/templates/apps/api/src/server.ts +13 -0
  184. package/templates/apps/api/src/services/__tests__/lead-routing.test.ts +194 -0
  185. package/templates/apps/api/src/services/__tests__/leads-inbox.test.ts +124 -0
  186. package/templates/apps/api/src/services/lead-routing.ts +140 -30
  187. package/templates/apps/api/src/services/leads-inbox.ts +48 -11
  188. package/templates/apps/mcp/__tests__/audit-single-page.test.ts +75 -1
  189. package/templates/apps/mcp/__tests__/lib/audit-single-page-readiness-scan.test.ts +57 -9
  190. package/templates/apps/mcp/__tests__/parity.test.ts +5 -4
  191. package/templates/apps/mcp/package.json +2 -1
  192. package/templates/apps/mcp/src/index.ts +7 -0
  193. package/templates/apps/mcp/src/lib/audit-single-page.ts +36 -10
  194. package/templates/apps/mcp/src/lib/license-key-store.ts +45 -0
  195. package/templates/apps/mcp/src/tools/create_project.ts +21 -6
  196. package/templates/apps/web/__tests__/setup.ts +18 -0
  197. package/templates/apps/web/app/[locale]/(auth)/forgot-password/forgot-password-card.tsx +10 -2
  198. package/templates/apps/web/app/[locale]/(auth)/layout.tsx +2 -2
  199. package/templates/apps/web/app/[locale]/(auth)/reset-password/reset-password-card.tsx +10 -4
  200. package/templates/apps/web/app/[locale]/(auth)/sign-in/sign-in-card.tsx +22 -14
  201. package/templates/apps/web/app/[locale]/(auth)/sign-up/sign-up-card.tsx +26 -18
  202. package/templates/apps/web/app/[locale]/(authed)/account/page.tsx +12 -4
  203. package/templates/apps/web/app/[locale]/[slug]/__tests__/page.test.tsx +35 -4
  204. package/templates/apps/web/app/[locale]/[slug]/page.tsx +49 -9
  205. package/templates/apps/web/app/[locale]/book-a-call/page.tsx +50 -0
  206. package/templates/apps/web/app/[locale]/careers/__tests__/page-renderer-migration.test.tsx +3 -3
  207. package/templates/apps/web/app/[locale]/case-studies/__tests__/page-renderer-migration.test.tsx +3 -3
  208. package/templates/apps/web/app/[locale]/clients/__tests__/page-renderer-migration.test.tsx +3 -4
  209. package/templates/apps/web/app/[locale]/contact/ConversationalIntakeWrapper.tsx +67 -29
  210. package/templates/apps/web/app/[locale]/contact/__tests__/ConversationalIntakeWrapper.test.tsx +94 -11
  211. package/templates/apps/web/app/[locale]/contact/__tests__/contact-form-text.test.ts +32 -0
  212. package/templates/apps/web/app/[locale]/contact/__tests__/contact.actions.test.ts +129 -0
  213. package/templates/apps/web/app/[locale]/contact/__tests__/page-renderer-migration.test.tsx +228 -86
  214. package/templates/apps/web/app/[locale]/contact/contact-form-text.ts +50 -0
  215. package/templates/apps/web/app/[locale]/contact/contact.actions.ts +73 -20
  216. package/templates/apps/web/app/[locale]/contact/page.tsx +115 -7
  217. package/templates/apps/web/app/[locale]/contact/site-contact-email.ts +54 -0
  218. package/templates/apps/web/app/[locale]/courses/__tests__/page-renderer-migration.test.tsx +3 -3
  219. package/templates/apps/web/app/[locale]/downloads/__tests__/page-renderer-migration.test.tsx +3 -4
  220. package/templates/apps/web/app/[locale]/events/__tests__/page-renderer-migration.test.tsx +4 -5
  221. package/templates/apps/web/app/[locale]/features/[slug]/page.tsx +64 -0
  222. package/templates/apps/web/app/[locale]/features/page.tsx +52 -0
  223. package/templates/apps/web/app/[locale]/glossary/page.tsx +50 -0
  224. package/templates/apps/web/app/[locale]/how-to/__tests__/page-renderer-migration.test.tsx +1 -1
  225. package/templates/apps/web/app/[locale]/how-to/page.tsx +25 -15
  226. package/templates/apps/web/app/[locale]/integrations/__tests__/page-renderer-migration.test.tsx +3 -3
  227. package/templates/apps/web/app/[locale]/layout.tsx +146 -52
  228. package/templates/apps/web/app/[locale]/newsletter/__tests__/newsletter.actions.test.ts +75 -0
  229. package/templates/apps/web/app/[locale]/newsletter/__tests__/page.test.tsx +163 -0
  230. package/templates/apps/web/app/[locale]/newsletter/newsletter.actions.ts +66 -0
  231. package/templates/apps/web/app/[locale]/newsletter/page.tsx +142 -0
  232. package/templates/apps/web/app/[locale]/partners/__tests__/page-renderer-migration.test.tsx +3 -3
  233. package/templates/apps/web/app/[locale]/portfolio/[slug]/page.tsx +59 -0
  234. package/templates/apps/web/app/[locale]/portfolio/page.tsx +49 -0
  235. package/templates/apps/web/app/[locale]/products/__tests__/page-renderer-migration.test.tsx +3 -3
  236. package/templates/apps/web/app/[locale]/projects/__tests__/page-renderer-migration.test.tsx +4 -5
  237. package/templates/apps/web/app/[locale]/{cancellation → purchase-policy}/page.tsx +15 -10
  238. package/templates/apps/web/app/[locale]/resources/__tests__/page-renderer-migration.test.tsx +4 -5
  239. package/templates/apps/web/app/[locale]/services/__tests__/page-renderer-migration.test.tsx +3 -3
  240. package/templates/apps/web/app/[locale]/software/[slug]/page.tsx +14 -1
  241. package/templates/apps/web/app/[locale]/software/__tests__/page-renderer-migration.test.tsx +1 -1
  242. package/templates/apps/web/app/[locale]/software/page.tsx +25 -15
  243. package/templates/apps/web/app/[locale]/tech-articles/__tests__/page-renderer-migration.test.tsx +1 -1
  244. package/templates/apps/web/app/[locale]/tech-articles/page.tsx +25 -15
  245. package/templates/apps/web/app/[locale]/testimonials/__tests__/page-renderer-migration.test.tsx +3 -4
  246. package/templates/apps/web/app/[locale]/use-cases/[slug]/page.tsx +63 -0
  247. package/templates/apps/web/app/[locale]/use-cases/__tests__/page-renderer-migration.test.tsx +3 -4
  248. package/templates/apps/web/app/[locale]/use-cases/page.tsx +15 -2
  249. package/templates/apps/web/app/[locale]/whitepapers/__tests__/page-renderer-migration.test.tsx +1 -1
  250. package/templates/apps/web/app/[locale]/whitepapers/page.tsx +25 -15
  251. package/templates/apps/web/app/error-fallback.tsx +17 -45
  252. package/templates/apps/web/app/not-found.tsx +14 -38
  253. package/templates/apps/web/app/og/route.tsx +6 -0
  254. package/templates/apps/web/eslint.config.mjs +3 -0
  255. package/templates/apps/web/instrumentation.ts +14 -0
  256. package/templates/apps/web/lib/__tests__/structured-data.test.tsx +38 -0
  257. package/templates/apps/web/lib/license-key-store.ts +52 -0
  258. package/templates/apps/web/lib/nav-config.ts +82 -18
  259. package/templates/apps/web/lib/prisma-for-auth.ts +9 -6
  260. package/templates/apps/web/lib/site-brand.tsx +1 -1
  261. package/templates/apps/web/lib/site-chrome.ts +3 -3
  262. package/templates/apps/web/lib/site-identity.ts +148 -0
  263. package/templates/apps/web/lib/site-theme.ts +11 -0
  264. package/templates/apps/web/messages/en.json +78 -37
  265. package/templates/apps/web/public/android-chrome-192x192.png +0 -0
  266. package/templates/apps/web/public/android-chrome-512x512.png +0 -0
  267. package/templates/apps/web/public/apple-touch-icon.png +0 -0
  268. package/templates/apps/web/public/favicon-16x16.png +0 -0
  269. package/templates/apps/web/public/favicon-32x32.png +0 -0
  270. package/templates/apps/web/public/favicon.ico +0 -0
  271. package/templates/apps/web/public/favicon.svg +3 -3
  272. package/templates/apps/web/public/logomark.svg +6 -3
  273. package/templates/apps/web/public/logos/ai-launch-kit-light.svg +4 -0
  274. package/templates/apps/web/public/logos/ai-launch-kit.svg +4 -0
  275. package/templates/apps/web/public/logos/atomic-agent-light.svg +4 -0
  276. package/templates/apps/web/public/logos/atomic-agent.svg +4 -0
  277. package/templates/apps/web/public/logos/salessmyth-light.svg +4 -0
  278. package/templates/apps/web/public/logos/salessmyth.svg +4 -0
  279. package/templates/apps/web/public/site.webmanifest +4 -4
  280. package/templates/apps/web/public/wordmark-light.svg +4 -0
  281. package/templates/apps/web/public/wordmark.svg +3 -3
  282. package/templates/apps/web/security-headers.config.ts +5 -1
  283. package/templates/content/_site.mdx +25 -0
  284. package/templates/content/en/AboutPage/about.mdx +150 -144
  285. package/templates/content/en/BlogList/blog.mdx +126 -0
  286. package/templates/content/en/ContactPage/contact.mdx +21 -92
  287. package/templates/content/en/FAQPage/faq.mdx +86 -57
  288. package/templates/content/en/HomePage/home.mdx +268 -217
  289. package/templates/content/en/PurchasePolicyPage/purchase-policy.mdx +181 -0
  290. package/templates/content/en/UseCasesList/use-cases.mdx +170 -0
  291. package/templates/database/CHANGELOG.md +14 -0
  292. package/templates/database/package.json +1 -1
  293. package/templates/package.json +3 -1
  294. package/templates/tools/lint-architecture.ts +315 -0
  295. package/templates/tools/tsconfig.json +14 -0
  296. package/versions.json +33 -33
  297. package/site-templates/simple-service/DESIGN.md +0 -148
  298. package/site-templates/simple-service/TEMPLATE-MANIFEST.json +0 -240
  299. package/site-templates/simple-service/TEMPLATE-MANIFEST.md +0 -278
  300. package/site-templates/simple-service/ailk-template.json +0 -10
  301. package/site-templates/simple-service/content/en/ContactPage/contact.mdx +0 -67
  302. package/site-templates/simple-service/content/en/FAQPage/faq.mdx +0 -56
  303. package/site-templates/simple-service/content/en/HomePage/home.mdx +0 -85
  304. package/site-templates/simple-service/content/en/Service/landscape-design.mdx +0 -40
  305. package/site-templates/simple-service/content/en/Service/lawn-maintenance.mdx +0 -40
  306. package/site-templates/simple-service/content/en/Service/seasonal-cleanup.mdx +0 -40
  307. package/site-templates/simple-service/provenance.json +0 -4
  308. package/templates/.claude/skills/add-schema/SKILL.md +0 -277
  309. package/templates/.claude/skills/add-schema/references/conflict-handling.md +0 -200
  310. package/templates/.claude/skills/add-schema/references/file-finding.md +0 -123
  311. package/templates/.claude/skills/add-schema/references/schema-types.md +0 -234
  312. package/templates/.claude/skills/provision-config/references/runbook-template.md +0 -248
  313. package/templates/.claude/skills/scaffold-page/references/page-types.md +0 -169
  314. package/templates/.claude/skills/suggest-site-pages/SKILL.md +0 -242
  315. package/templates/.claude/skills/suggest-site-pages/references/categories.md +0 -287
  316. package/templates/apps/web/app/[locale]/contact/ContactForm.tsx +0 -150
  317. package/templates/apps/web/app/[locale]/returns/page.tsx +0 -44
  318. package/templates/apps/web/app/[locale]/shipping/page.tsx +0 -44
  319. package/templates/content/en/CancellationPolicyPage/cancellation.mdx +0 -108
  320. package/templates/content/en/LandingPage/blog.mdx +0 -83
  321. package/templates/content/en/LandingPage/features.mdx +0 -103
  322. package/templates/content/en/LandingPage/how-it-works.mdx +0 -143
  323. package/templates/content/en/ReturnsPolicyPage/returns.mdx +0 -108
  324. package/templates/content/en/ShippingPolicyPage/shipping.mdx +0 -108
@@ -2,264 +2,315 @@
2
2
  type: "HomePage"
3
3
  slug: "home"
4
4
  title: "{{COMPANY_NAME}}"
5
- description: "The only {product descriptor} for {target market} to help you {product benefit}."
5
+ description: "{The only product for your target market to help you achieve product benefit.}"
6
6
  sections:
7
7
  [
8
8
  {
9
9
  "id": "hero",
10
10
  "type": "hero",
11
- "data": {
12
- "variant": "split",
13
- "headline": "How to get {outcome} without {problem}",
14
- "subheadline": "The only {product descriptor} for {target market} to help you {product benefit}.",
15
- "checklist": [
16
- "Bullet point about feature",
17
- "Bullet point about benefit",
18
- "Bullet point about getting start"
19
- ],
20
- "primaryCta": {
21
- "label": "{Primary CTA}",
22
- "href": "/contact"
23
- },
24
- "secondaryCta": {
25
- "label": "{Secondary CTA}",
26
- "href": "/how-it-works",
27
- "variant": "outline"
11
+ "data":
12
+ {
13
+ "variant": "illustration",
14
+ "headline": "{How to get outcome without problem}",
15
+ "subheadline": "{The only product for your target market to help you achieve product benefit.}",
16
+ "checklist":
17
+ [
18
+ "{One line about a feature}",
19
+ "{One line about a benefit}",
20
+ "{One line about getting started}",
21
+ ],
22
+ "primaryCta": { "label": "{Primary CTA}", "href": "/contact" },
23
+ "secondaryCta":
24
+ {
25
+ "label": "{Secondary CTA}",
26
+ "href": "/use-cases",
27
+ "variant": "outline",
28
+ },
29
+ "closingLine": "{Risk Reversal goes here}",
30
+ "imagerySlot": true,
28
31
  },
29
- "closingLine": "{Risk Reversal goes here}",
30
- "imagerySlot": true
31
- }
32
32
  },
33
33
  {
34
34
  "id": "logo-cloud",
35
35
  "type": "logoCloud",
36
- "data": {
37
- "headline": "Don’t just take our word for it",
38
- "logos": [
39
- {
40
- "name": "Placeholder logo",
41
- "src": "/logomark.svg"
42
- },
43
- {
44
- "name": "Placeholder logo",
45
- "src": "/logomark.svg"
46
- },
47
- {
48
- "name": "Placeholder logo",
49
- "src": "/logomark.svg"
50
- },
51
- {
52
- "name": "Placeholder logo",
53
- "src": "/logomark.svg"
54
- },
55
- {
56
- "name": "Placeholder logo",
57
- "src": "/logomark.svg"
58
- },
59
- {
60
- "name": "Placeholder logo",
61
- "src": "/logomark.svg"
62
- }
63
- ],
64
- "layout": "inline",
65
- "treatment": "monochrome"
66
- }
36
+ "data":
37
+ {
38
+ "headline": "Don’t just take our word for it",
39
+ "headlineStyle": "label",
40
+ "logos":
41
+ [
42
+ {
43
+ "name": "SalesSmyth",
44
+ "src": "/logos/salessmyth.svg",
45
+ "darkSrc": "/logos/salessmyth-light.svg",
46
+ "width": 1118,
47
+ "height": 147,
48
+ },
49
+ {
50
+ "name": "AI Launch Kit",
51
+ "src": "/logos/ai-launch-kit.svg",
52
+ "darkSrc": "/logos/ai-launch-kit-light.svg",
53
+ "width": 1248,
54
+ "height": 144,
55
+ },
56
+ {
57
+ "name": "Atomic Agent",
58
+ "src": "/logos/atomic-agent.svg",
59
+ "darkSrc": "/logos/atomic-agent-light.svg",
60
+ "width": 1320,
61
+ "height": 148,
62
+ },
63
+ ],
64
+ "layout": "inline",
65
+ "treatment": "monochrome",
66
+ },
67
67
  },
68
68
  {
69
69
  "id": "comparison",
70
70
  "type": "decision-split",
71
- "data": {
72
- "headline": "There's a better way to {fix problem / get result}",
73
- "description": "Lorem ipsum dolor sit amet, consectetur adipiscing elit.",
74
- "panels": [
75
- {
76
- "eyebrow": "Old Way",
77
- "title": "Medium length section heading goes here",
78
- "checklist": [
79
- "{Feature the old way does not have}",
80
- "{Feature the old way does not have}",
81
- "{Feature the old way does not have}"
82
- ],
83
- "glyph": "cross"
84
- },
85
- {
86
- "eyebrow": "New Way",
87
- "title": "Medium length section heading goes here",
88
- "checklist": [
89
- "{Feature the new way has}",
90
- "{Feature the new way has}",
91
- "{Feature the new way has}"
71
+ "data":
72
+ {
73
+ "eyebrow": "Comparison",
74
+ "imagerySlot": true,
75
+ "headline": "{There's a better way to fix problem / get result}",
76
+ "description": "{One sentence on why the old way falls short}",
77
+ "panels":
78
+ [
79
+ {
80
+ "eyebrow": "Old Way",
81
+ "title": "{Name the old way people do this}",
82
+ "checklist":
83
+ [
84
+ "{Feature the old way does not have}",
85
+ "{Feature the old way does not have}",
86
+ "{Feature the old way does not have}",
87
+ ],
88
+ "glyph": "cross",
89
+ },
90
+ {
91
+ "eyebrow": "New Way",
92
+ "title": "{Name your new way}",
93
+ "checklist":
94
+ [
95
+ "{Feature the new way has}",
96
+ "{Feature the new way has}",
97
+ "{Feature the new way has}",
98
+ ],
99
+ "glyph": "check",
100
+ },
92
101
  ],
93
- "glyph": "check",
94
- "highlighted": true
95
- }
96
- ]
97
- }
102
+ },
98
103
  },
99
104
  {
100
105
  "id": "core-features",
101
106
  "type": "feature",
102
- "data": {
103
- "eyebrow": "Core Features",
104
- "headline": "Everything you need to {achieve a desired outcome}",
105
- "description": "But don't take our word for it. We'll let the product do the talking.",
106
- "features": [
107
- {
108
- "title": "Feature 1",
109
- "description": "Explain what a feature enables your customers to do in plain English. Avoid industry jargon.",
110
- "link": {
111
- "label": "Learn More",
112
- "href": "/features"
113
- }
114
- },
115
- {
116
- "title": "Feature 2",
117
- "description": "Explain what a feature enables your customers to do in plain English. Avoid industry jargon.",
118
- "link": {
119
- "label": "Learn More",
120
- "href": "/features"
121
- }
122
- },
123
- {
124
- "title": "Feature 3",
125
- "description": "Explain what a feature enables your customers to do in plain English. Avoid industry jargon.",
126
- "link": {
127
- "label": "Learn More",
128
- "href": "/features"
129
- }
130
- },
131
- {
132
- "title": "Feature 4",
133
- "description": "Explain what a feature enables your customers to do in plain English. Avoid industry jargon.",
134
- "link": {
135
- "label": "Learn More",
136
- "href": "/features"
137
- }
138
- },
139
- {
140
- "title": "Feature 5",
141
- "description": "Explain what a feature enables your customers to do in plain English. Avoid industry jargon.",
142
- "link": {
143
- "label": "Learn More",
144
- "href": "/features"
145
- }
146
- }
147
- ],
148
- "actions": [
149
- {
150
- "kind": "button",
151
- "label": "Get Started",
152
- "href": "/contact"
153
- },
154
- {
155
- "kind": "link",
156
- "label": "All Features",
157
- "href": "/features"
158
- }
159
- ]
160
- }
107
+ "data":
108
+ {
109
+ "eyebrow": "Core Features",
110
+ "itemStyle": "plain",
111
+ "actionsPosition": "below",
112
+ "headline": "{Everything you need to achieve a desired outcome}",
113
+ "description": "But don't take our word for it. We'll let the product do the talking.",
114
+ "features":
115
+ [
116
+ {
117
+ "icon": "rocket",
118
+ "title": "{Feature name}",
119
+ "description": "{Explain what this feature lets your customers do, in plain English with no jargon}",
120
+ "link":
121
+ {
122
+ "label": "Learn More",
123
+ "href": "/features",
124
+ "variant": "link",
125
+ },
126
+ },
127
+ {
128
+ "icon": "zap",
129
+ "title": "{Feature name}",
130
+ "description": "{Explain what this feature lets your customers do, in plain English with no jargon}",
131
+ "link":
132
+ {
133
+ "label": "Learn More",
134
+ "href": "/features",
135
+ "variant": "link",
136
+ },
137
+ },
138
+ {
139
+ "icon": "gauge",
140
+ "title": "{Feature name}",
141
+ "description": "{Explain what this feature lets your customers do, in plain English with no jargon}",
142
+ "link":
143
+ {
144
+ "label": "Learn More",
145
+ "href": "/features",
146
+ "variant": "link",
147
+ },
148
+ },
149
+ {
150
+ "icon": "sparkles",
151
+ "title": "{Feature name}",
152
+ "description": "{Explain what this feature lets your customers do, in plain English with no jargon}",
153
+ "link":
154
+ {
155
+ "label": "Learn More",
156
+ "href": "/features",
157
+ "variant": "link",
158
+ },
159
+ },
160
+ {
161
+ "icon": "shield-check",
162
+ "title": "{Feature name}",
163
+ "description": "{Explain what this feature lets your customers do, in plain English with no jargon}",
164
+ "link":
165
+ {
166
+ "label": "Learn More",
167
+ "href": "/features",
168
+ "variant": "link",
169
+ },
170
+ },
171
+ ],
172
+ "actions":
173
+ [
174
+ {
175
+ "kind": "button",
176
+ "label": "Get Started",
177
+ "href": "/contact",
178
+ "variant": "outline",
179
+ },
180
+ { "kind": "link", "label": "All Features", "href": "/features" },
181
+ ],
182
+ },
161
183
  },
162
184
  {
163
185
  "id": "integrations",
164
186
  "type": "cta",
165
- "data": {
166
- "headline": "Direct integrations with your favorite tools",
167
- "description": "Describe what these integrations help your customers do and impressive facts about how they work.",
168
- "primaryCta": {
169
- "label": "Get Started",
170
- "href": "/contact"
187
+ "data":
188
+ {
189
+ "variant": "minimal",
190
+ "eyebrow": "Integrations",
191
+ "headline": "Direct integrations with your favorite tools",
192
+ "description": "{Describe what these integrations help your customers do, with one impressive fact about how they work}",
193
+ "primaryCta":
194
+ {
195
+ "label": "Get Started",
196
+ "href": "/contact",
197
+ "variant": "outline",
198
+ },
199
+ "secondaryCta":
200
+ {
201
+ "label": "See all Integrations",
202
+ "href": "/features",
203
+ "variant": "link",
204
+ },
171
205
  },
172
- "secondaryCta": {
173
- "label": "See all Integrations",
174
- "href": "/features",
175
- "variant": "outline"
176
- }
177
- }
206
+ },
207
+ {
208
+ "id": "integrations-media",
209
+ "type": "media-band",
210
+ "data": { "imagerySlot": true },
178
211
  },
179
212
  {
180
213
  "id": "how-it-works",
181
- "type": "stair-steps",
182
- "data": {
183
- "headline": "Get setup in {number} easy steps",
184
- "description": "Summarize the setup process briefly in a way that makes it seem approachable and quick.",
185
- "tiles": [
186
- {
187
- "title": "{Step 1 Title}",
188
- "body": "The first thing they need to do to get the oucome they want"
189
- },
190
- {
191
- "title": "{Step 2 Title}",
192
- "body": "The second thing they need to do to get the oucome they want"
193
- },
194
- {
195
- "title": "{Step 3 Title}",
196
- "body": "The third thing they need to do to get the oucome they want"
197
- }
198
- ],
199
- "direction": "up-right"
200
- }
214
+ "type": "feature",
215
+ "data":
216
+ {
217
+ "eyebrow": "How It Works",
218
+ "itemStyle": "plain",
219
+ "actionsPosition": "below",
220
+ "actions":
221
+ [
222
+ {
223
+ "kind": "button",
224
+ "label": "Get Started",
225
+ "href": "/contact",
226
+ "variant": "outline",
227
+ },
228
+ { "kind": "link", "label": "Integrations", "href": "/features" },
229
+ ],
230
+ "headline": "{Get set up in number easy steps}",
231
+ "description": "{Summarize the setup process briefly, so it reads as approachable and quick}",
232
+ "features":
233
+ [
234
+ {
235
+ "title": "{Step 1 Title}",
236
+ "description": "{The first thing they do to get the outcome they want}",
237
+ },
238
+ {
239
+ "title": "{Step 2 Title}",
240
+ "description": "{The second thing they do to get the outcome they want}",
241
+ },
242
+ {
243
+ "title": "{Step 3 Title}",
244
+ "description": "{The third thing they do to get the outcome they want}",
245
+ },
246
+ ],
247
+ "imagerySlot": true,
248
+ },
201
249
  },
202
250
  {
203
251
  "id": "switch",
204
252
  "type": "cta",
205
- "data": {
206
- "variant": "box",
207
- "headline": "Switch to {your product} in {time amount} or less",
208
- "description": "You shouldn't have to {experience a painful problem}. With {your product}, you can finally {achieve a value outcome or get a big improvement}.",
209
- "chips": [
210
- "No credit card required",
211
- "Cancel any time",
212
- "Live chat support"
213
- ],
214
- "primaryCta": {
215
- "label": "{Primary CTA}",
216
- "href": "/contact"
217
- },
218
- "secondaryCta": {
219
- "label": "{Secondary CTA}",
220
- "href": "/pricing",
221
- "variant": "outline"
253
+ "data":
254
+ {
255
+ "variant": "box",
256
+ "imagerySlot": true,
257
+ "headline": "{Switch to your product in time amount or less}",
258
+ "description": "{You shouldn't have to experience a painful problem. With your product, you can finally achieve a value outcome or get a big improvement.}",
259
+ "checklist":
260
+ ["No credit card required", "Cancel any time", "Live chat support"],
261
+ "primaryCta": { "label": "{Primary CTA}", "href": "/contact" },
262
+ "secondaryCta":
263
+ {
264
+ "label": "{Secondary CTA}",
265
+ "href": "/pricing",
266
+ "variant": "outline",
267
+ },
268
+ "closingLine": "{Social Proof goes here}",
222
269
  },
223
- "closingLine": "{Social Proof goes here}"
224
- }
225
270
  },
226
271
  {
227
272
  "id": "manifesto",
228
273
  "type": "content-block",
229
- "data": {
230
- "variant": "media-right",
231
- "eyebrow": "Manifesto",
232
- "headline": "We want you to {ability they couldn't do before}",
233
- "body": "Hey, I’m {your name}, the founder of {your company}.\n\nWrite a few sentences introducing the problems you solve. You can even ask a rhetorical question to get people thinking about their own personal experiences with a problem they might have encountered.\n\nThis is your chance to tell the backstory of why your product exists and explain the gap your product fills. Don’t be afraid to take a stance and plant your flag.\n\nWe believe that {you should be able to X without Y}.\n\nWe’ll help you:\n\nSolve this problem\n\nSolve another problem\n\nSolve this other problem\n\nIf that resonates with you, you're in the right place.\n\n- (your name)",
234
- "cta": {
235
- "label": "Sign Up",
236
- "href": "/sign-in"
274
+ "data":
275
+ {
276
+ "variant": "media-right",
277
+ "imagerySlot": true,
278
+ "eyebrow": "Manifesto",
279
+ "headline": "{We want you to ability they couldn't do before}",
280
+ "body": "{Hey, I’m your name, the founder of your company.}\n\n{A few sentences introducing the problems you solve. A rhetorical question can get people thinking about a problem they have run into themselves.}\n\n{The backstory of why your product exists and the gap it fills. Take a stance and plant your flag.}\n\n{We believe that you should be able to X without Y.}\n\nWe’ll help you:\n\n- {A problem you solve}\n\n- {Another problem you solve}\n\n- {A third problem you solve}\n\nIf that resonates with you, you're in the right place.\n\n- {your name}",
281
+ "cta":
282
+ { "label": "Sign Up", "href": "/sign-up", "variant": "outline" },
283
+ "secondaryCta":
284
+ {
285
+ "label": "More about us",
286
+ "href": "/about",
287
+ "variant": "outline",
288
+ },
237
289
  },
238
- "secondaryCta": {
239
- "label": "More about us",
240
- "href": "/about",
241
- "variant": "outline"
242
- }
243
- }
244
290
  },
245
291
  {
246
292
  "id": "demo",
247
- "type": "video-section",
248
- "data": {
249
- "headline": "See {your product} in action",
250
- "intro": "Click play to with this {time amount} demo",
251
- "video": {
252
- "type": "video",
253
- "alt": "{Your Product} Demo"
293
+ "type": "content-block",
294
+ "data":
295
+ {
296
+ "eyebrow": "{Your Product} Demo",
297
+ "headline": "{See your product in action}",
298
+ "body": "{Click play to watch this time amount demo}",
299
+ "cta":
300
+ {
301
+ "label": "Get Started",
302
+ "href": "/contact",
303
+ "variant": "outline",
304
+ },
305
+ "secondaryCta":
306
+ {
307
+ "label": "Watch the demo",
308
+ "href": "/use-cases",
309
+ "variant": "link",
310
+ },
254
311
  },
255
- "playBadge": true,
256
- "cta": {
257
- "label": "Get Started",
258
- "href": "/contact"
259
- }
260
- }
261
- }
312
+ },
262
313
  ]
263
314
  ---
264
315
 
265
- {/* Rendered from frontmatter `sections[]`. The copy is the standardissue mad-lib placeholder, verbatim — replace every {brace} with your own words before you launch; the `scaffold-page` skill can add a whole new page for you. */}
316
+ {/* Rendered from frontmatter `sections[]`. The copy is placeholder — replace every {brace} with your own words before you launch; the `add-page` skill can add a whole new page for you. */}