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
@@ -1,83 +0,0 @@
1
- ---
2
- type: "LandingPage"
3
- slug: "blog"
4
- title: "Resources for {customer profile}"
5
- description: "Lorem ipsum dolor sit amet, consectetur adipiscing elit."
6
- sections:
7
- [
8
- {
9
- "id": "hero",
10
- "type": "hero",
11
- "data":
12
- {
13
- "variant": "centered",
14
- "eyebrow": "Blog",
15
- "headline": "Resources for {customer profile}",
16
- "subheadline": "Lorem ipsum dolor sit amet, consectetur adipiscing elit.",
17
- },
18
- },
19
- {
20
- "id": "pro-blog",
21
- "type": "cta",
22
- "data":
23
- {
24
- "headline": "The blog listing ships with the Pro docs-blog module",
25
- "description": "This Free site carries one static resources page. The Pro docs-blog module adds the full blog — MDX posts, the paginated listing and the documentation surface — at this same /blog route; install it and this page is replaced by the real listing.",
26
- "primaryCta": { "label": "See Pro pricing", "href": "/pricing" },
27
- "secondaryCta":
28
- { "label": "Talk to us", "href": "/contact", "variant": "outline" },
29
- },
30
- },
31
- {
32
- "id": "newsletter",
33
- "type": "newsletter",
34
- "data":
35
- {
36
- "headline": "Stay Up to Date with our {fequency} Newsletter",
37
- "description": "Lorem ipsum dolor sit amet, consectetur adipiscing elit. Suspendisse varius enim in eros elementum tristique. Duis cursus, mi quis viverra ornare, eros dolor interdum nulla, ut commodo diam libero vitae erat.",
38
- "placeholder": "Enter your email",
39
- "submitLabel": "Sign Up",
40
- "consentText": "By clicking Sign Up you're confirming that you agree with our Terms and Conditions",
41
- "successMessage": "Thank you! Your submission has been received!",
42
- "action": "/v1/leads/subscribe",
43
- },
44
- },
45
- {
46
- "id": "logo-cloud",
47
- "type": "logoCloud",
48
- "data":
49
- {
50
- "headline": "Don’t just take our word for it",
51
- "logos":
52
- [
53
- { "name": "Placeholder logo", "src": "/logomark.svg" },
54
- { "name": "Placeholder logo", "src": "/logomark.svg" },
55
- { "name": "Placeholder logo", "src": "/logomark.svg" },
56
- { "name": "Placeholder logo", "src": "/logomark.svg" },
57
- { "name": "Placeholder logo", "src": "/logomark.svg" },
58
- { "name": "Placeholder logo", "src": "/logomark.svg" },
59
- ],
60
- "layout": "inline",
61
- "treatment": "monochrome",
62
- },
63
- },
64
- {
65
- "id": "testimonial",
66
- "type": "testimonials",
67
- "data":
68
- {
69
- "variant": "featured",
70
- "items":
71
- [
72
- {
73
- "quote": "Lorem ipsum dolor sit amet, consectetur adipiscing elit. Suspendisse varius enim in eros elementum tristique. Duis cursus, mi quis viverra ornare, eros dolor interdum nulla, ut commodo diam libero vitae erat.",
74
- "author": "John Smith",
75
- "role": "CEO, Google",
76
- },
77
- ],
78
- },
79
- },
80
- ]
81
- ---
82
-
83
- {/* The Free blog teaser (one static page, rendered by the generic `[slug]` route). With the Pro docs-blog module installed its own `blog/` route directory takes precedence and this file is inert. Placeholder copy — replace before you launch. */}
@@ -1,103 +0,0 @@
1
- ---
2
- type: "LandingPage"
3
- slug: "features"
4
- title: "Medium length section heading goes here"
5
- description: "Lorem ipsum dolor sit amet, consectetur adipiscing elit. Suspendisse varius enim in eros elementum tristique. Duis cursus, mi quis viverra ornare, eros dolor interdum nulla, ut commodo diam libero vitae erat."
6
- sections:
7
- [
8
- {
9
- "id": "core-features",
10
- "type": "feature",
11
- "data": {
12
- "eyebrow": "Core Features",
13
- "headline": "Medium length section heading goes here",
14
- "description": "Lorem ipsum dolor sit amet, consectetur adipiscing elit. Suspendisse varius enim in eros elementum tristique. Duis cursus, mi quis viverra ornare, eros dolor interdum nulla, ut commodo diam libero vitae erat.",
15
- "features": [
16
- {
17
- "title": "Feature 1",
18
- "description": "Explain what a feature enables your customers to do in plain English. Avoid industry jargon.",
19
- "link": {
20
- "label": "Learn More",
21
- "href": "/features"
22
- }
23
- },
24
- {
25
- "title": "Feature 2",
26
- "description": "Explain what a feature enables your customers to do in plain English. Avoid industry jargon.",
27
- "link": {
28
- "label": "Learn More",
29
- "href": "/features"
30
- }
31
- },
32
- {
33
- "title": "Feature 4",
34
- "description": "Explain what a feature enables your customers to do in plain English. Avoid industry jargon.",
35
- "link": {
36
- "label": "Learn More",
37
- "href": "/features"
38
- }
39
- },
40
- {
41
- "title": "Feature 3",
42
- "description": "Explain what a feature enables your customers to do in plain English. Avoid industry jargon.",
43
- "link": {
44
- "label": "Learn More",
45
- "href": "/features"
46
- }
47
- },
48
- {
49
- "title": "Feature 5",
50
- "description": "Explain what a feature enables your customers to do in plain English. Avoid industry jargon.",
51
- "link": {
52
- "label": "Learn More",
53
- "href": "/features"
54
- }
55
- }
56
- ]
57
- }
58
- },
59
- {
60
- "id": "integrations",
61
- "type": "cta",
62
- "data": {
63
- "headline": "Direct integrations with your favorite tools",
64
- "description": "Describe what these integrations help your customers do and impressive facts about how they work.",
65
- "primaryCta": {
66
- "label": "Get Started",
67
- "href": "/contact"
68
- },
69
- "secondaryCta": {
70
- "label": "See all Integrations",
71
- "href": "/features",
72
- "variant": "outline"
73
- }
74
- }
75
- },
76
- {
77
- "id": "switch",
78
- "type": "cta",
79
- "data": {
80
- "variant": "box",
81
- "headline": "Switch to {your product} in {time amount} or less",
82
- "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}.",
83
- "chips": [
84
- "No credit card required",
85
- "Cancel any time",
86
- "Live chat support"
87
- ],
88
- "primaryCta": {
89
- "label": "{Primary CTA}",
90
- "href": "/contact"
91
- },
92
- "secondaryCta": {
93
- "label": "{Secondary CTA}",
94
- "href": "/pricing",
95
- "variant": "outline"
96
- },
97
- "closingLine": "{Social Proof goes here}"
98
- }
99
- }
100
- ]
101
- ---
102
-
103
- {/* Rendered from frontmatter `sections[]` by the generic `[slug]` route. Placeholder copy, verbatim from the reference — replace before you launch. */}
@@ -1,143 +0,0 @@
1
- ---
2
- type: "LandingPage"
3
- slug: "how-it-works"
4
- title: "Get set up in {number} easy steps"
5
- description: "Summarize the setup process briefly in a way that makes it seem approachable and quick."
6
- sections:
7
- [
8
- {
9
- "id": "hero",
10
- "type": "hero",
11
- "data":
12
- {
13
- "eyebrow": "How it Works",
14
- "headline": "Get set up in {number} easy steps",
15
- "subheadline": "Summarize the setup process briefly in a way that makes it seem approachable and quick.",
16
- "primaryCta": { "label": "{Primary CTA}", "href": "/contact" },
17
- "secondaryCta":
18
- {
19
- "label": "{Secondary CTA}",
20
- "href": "/pricing",
21
- "variant": "outline",
22
- },
23
- },
24
- },
25
- {
26
- "id": "steps",
27
- "type": "feature",
28
- "data":
29
- {
30
- "variant": "alternating",
31
- "numbered": true,
32
- "headline": "",
33
- "features":
34
- [
35
- {
36
- "title": "The first thing they need to do to get the outcome they want",
37
- "description": "Lorem ipsum dolor sit amet, consectetur adipiscing elit. Suspendisse varius enim in eros elementum tristique. Duis cursus, mi quis viverra ornare, eros dolor interdum nulla, ut commodo diam libero vitae erat.",
38
- },
39
- {
40
- "title": "The second thing they need to do to get the outcome they want",
41
- "description": "Lorem ipsum dolor sit amet, consectetur adipiscing elit. Suspendisse varius enim in eros elementum tristique. Duis cursus, mi quis viverra ornare, eros dolor interdum nulla, ut commodo diam libero vitae erat.",
42
- },
43
- {
44
- "title": "The third thing they need to do to get the outcome they want",
45
- "description": "Lorem ipsum dolor sit amet, consectetur adipiscing elit. Suspendisse varius enim in eros elementum tristique. Duis cursus, mi quis viverra ornare, eros dolor interdum nulla, ut commodo diam libero vitae erat.",
46
- },
47
- ],
48
- },
49
- },
50
- {
51
- "id": "logo-cloud",
52
- "type": "logoCloud",
53
- "data":
54
- {
55
- "headline": "Don’t just take our word for it",
56
- "logos":
57
- [
58
- { "name": "Placeholder logo", "src": "/logomark.svg" },
59
- { "name": "Placeholder logo", "src": "/logomark.svg" },
60
- { "name": "Placeholder logo", "src": "/logomark.svg" },
61
- { "name": "Placeholder logo", "src": "/logomark.svg" },
62
- { "name": "Placeholder logo", "src": "/logomark.svg" },
63
- { "name": "Placeholder logo", "src": "/logomark.svg" },
64
- ],
65
- "layout": "inline",
66
- "treatment": "monochrome",
67
- },
68
- },
69
- {
70
- "id": "testimonial",
71
- "type": "testimonials",
72
- "data":
73
- {
74
- "variant": "featured",
75
- "items":
76
- [
77
- {
78
- "quote": "Lorem ipsum dolor sit amet, consectetur adipiscing elit. Suspendisse varius enim in eros elementum tristique. Duis cursus, mi quis viverra ornare, eros dolor interdum nulla, ut commodo diam libero vitae erat.",
79
- "author": "John Smith",
80
- "role": "CEO, Google",
81
- },
82
- ],
83
- },
84
- },
85
- {
86
- "id": "switch",
87
- "type": "cta",
88
- "data":
89
- {
90
- "variant": "box",
91
- "headline": "Switch to {your product} in {time amount} or less",
92
- "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}.",
93
- "chips":
94
- ["No credit card required", "Cancel any time", "Live chat support"],
95
- "primaryCta": { "label": "{Primary CTA}", "href": "/contact" },
96
- "secondaryCta":
97
- {
98
- "label": "{Secondary CTA}",
99
- "href": "/pricing",
100
- "variant": "outline",
101
- },
102
- "closingLine": "{Social Proof goes here}",
103
- },
104
- },
105
- {
106
- "id": "faq",
107
- "type": "faq",
108
- "data":
109
- {
110
- "headline": "FAQs",
111
- "description": "Lorem ipsum dolor sit amet, consectetur adipiscing elit. Suspendisse varius enim in eros elementum tristique.",
112
- "supportLink": { "label": "Contact", "href": "/contact" },
113
- "presentation": "accordion",
114
- "initialOpen": "first",
115
- "items":
116
- [
117
- {
118
- "question": "Vel odio odit voluptatum ut veritatis. Ex rerum aspernatur voluptas unde officia. Dolorem officiis laboriosa?",
119
- "answer": "Vel odio odit voluptatum ut veritatis. Ex rerum aspernatur voluptas unde officia. Dolorem officiis laboriosa odio odit voluptatum ut veritatis. Ex rerum aspernatur voluptas unde officia. Dolorem officiis laboriosa.",
120
- },
121
- {
122
- "question": "Dolorem consectetur quia maxime sunt ut sint. Fuga optio dolorem animi voluptatem laudantium error. Quis accusamus deleniti rer?",
123
- "answer": "Vel odio odit voluptatum ut veritatis. Ex rerum aspernatur voluptas unde officia. Dolorem officiis laboriosa odio odit voluptatum ut veritatis. Ex rerum aspernatur voluptas unde officia. Dolorem officiis laboriosa.",
124
- },
125
- {
126
- "question": "Totam nihil esse. Itaque optio temporibus adipisci. Rerum nisi aperiam aliquid doloremque aliquam?",
127
- "answer": "Vel odio odit voluptatum ut veritatis. Ex rerum aspernatur voluptas unde officia. Dolorem officiis laboriosa odio odit voluptatum ut veritatis. Ex rerum aspernatur voluptas unde officia. Dolorem officiis laboriosa.",
128
- },
129
- {
130
- "question": "Delectus minus officiis et. Perspiciatis illum nisi vitae. Sed consequuntur animi corrupti distinctio ipsam accusamus?",
131
- "answer": "Vel odio odit voluptatum ut veritatis. Ex rerum aspernatur voluptas unde officia. Dolorem officiis laboriosa odio odit voluptatum ut veritatis. Ex rerum aspernatur voluptas unde officia. Dolorem officiis laboriosa.",
132
- },
133
- {
134
- "question": "Aperiam perferendis voluptatem est sit enim sed eaque perspiciatis enim. Est explicabo ea explicabo et et dignissimos aliquid?",
135
- "answer": "Vel odio odit voluptatum ut veritatis. Ex rerum aspernatur voluptas unde officia. Dolorem officiis laboriosa odio odit voluptatum ut veritatis. Ex rerum aspernatur voluptas unde officia. Dolorem officiis laboriosa.",
136
- },
137
- ],
138
- },
139
- },
140
- ]
141
- ---
142
-
143
- {/* Rendered from frontmatter `sections[]` by the generic `[slug]` route (`app/[locale]/[slug]/page.tsx`). It emits the LandingPage builder's `WebPage` JSON-LD (the scaffold's structured-data gate accepts nothing else for a LandingPage). Placeholder copy, verbatim from the reference — replace before you launch. */}
@@ -1,108 +0,0 @@
1
- ---
2
- type: "ReturnsPolicyPage"
3
- slug: "returns"
4
- title: "Returns & Refunds"
5
- description: "How to return an order from this site, how long you have, and how refunds are issued."
6
- updatedAt: "2026-09-17"
7
- sections:
8
- [
9
- {
10
- "id": "returns-document",
11
- "type": "document-chassis",
12
- "data":
13
- {
14
- "headline": "Returns & Refunds",
15
- "backHref": "/",
16
- "backLabel": "Back home",
17
- "navGroupLabel": "Contents",
18
- "stats":
19
- [
20
- { "label": "Last updated", "sublabel": "17 September 2026" },
21
- { "label": "Applies to", "sublabel": "Orders placed on this site" },
22
- ],
23
- "sections":
24
- [
25
- {
26
- "id": "intro",
27
- "heading": "Returns & Refunds",
28
- "blocks":
29
- [
30
- {
31
- "kind": "paragraph",
32
- "text": "This page explains how returns and refunds work on this site. Replace the starter copy below with the policy you actually operate — the headings are the ones a customer and an agent both look for, so keep them and fill in your own terms.",
33
- },
34
- ],
35
- },
36
- {
37
- "id": "return-window",
38
- "heading": "How long you have",
39
- "blocks":
40
- [
41
- {
42
- "kind": "paragraph",
43
- "text": "State the return window in days, counted from a date a customer can verify — delivery, not dispatch. If different products carry different windows, say which, and say plainly which items cannot be returned at all.",
44
- },
45
- ],
46
- },
47
- {
48
- "id": "condition",
49
- "heading": "What condition an item must be in",
50
- "blocks":
51
- [
52
- {
53
- "kind": "paragraph",
54
- "text": "Describe the condition an item must come back in — unused, original packaging, tags attached, or whatever your standard is. Name anything that voids a return, such as a removed seal on a digital product or a personalised item.",
55
- },
56
- ],
57
- },
58
- {
59
- "id": "how-to-return",
60
- "heading": "How to start a return",
61
- "blocks":
62
- [
63
- {
64
- "kind": "paragraph",
65
- "text": "Give the customer one route to start a return and the information they need to hand: an order number, the item, and the reason. If you issue a return label, say who pays for it; if you do not, say that too.",
66
- },
67
- ],
68
- },
69
- {
70
- "id": "refunds",
71
- "heading": "How refunds are issued",
72
- "blocks":
73
- [
74
- {
75
- "kind": "paragraph",
76
- "text": "Say what a customer gets back — the item price, the original shipping, or both — and how long the refund takes to reach the payment method it came from. If you offer store credit or an exchange instead, describe when each applies.",
77
- },
78
- ],
79
- },
80
- {
81
- "id": "exchanges",
82
- "heading": "Exchanges and faulty items",
83
- "blocks":
84
- [
85
- {
86
- "kind": "paragraph",
87
- "text": "A faulty or incorrectly shipped item is usually not an ordinary return. Set out how those are handled, and say whether the return window above applies to them.",
88
- },
89
- ],
90
- },
91
- {
92
- "id": "contact",
93
- "heading": "Questions about a return",
94
- "blocks":
95
- [
96
- {
97
- "kind": "paragraph",
98
- "text": "Point to the one place a customer should write, and say roughly how quickly you answer. A returns policy nobody can ask a question about is a policy that generates disputes.",
99
- },
100
- ],
101
- },
102
- ],
103
- },
104
- },
105
- ]
106
- ---
107
-
108
- {/* Rendered from frontmatter `sections[]`; the MDX body is not read by the section-catalog renderer. The JSON-LD for this page — a WebPage wrapping a MerchantReturnPolicy — is emitted by `buildReturnsPolicyPage` (#5947), not hand-rolled here. */}
@@ -1,108 +0,0 @@
1
- ---
2
- type: "ShippingPolicyPage"
3
- slug: "shipping"
4
- title: "Shipping Policy"
5
- description: "Where orders from this site ship, how long delivery takes, what it costs, and what happens when a parcel goes missing."
6
- updatedAt: "2026-09-17"
7
- sections:
8
- [
9
- {
10
- "id": "shipping-document",
11
- "type": "document-chassis",
12
- "data":
13
- {
14
- "headline": "Shipping Policy",
15
- "backHref": "/",
16
- "backLabel": "Back home",
17
- "navGroupLabel": "Contents",
18
- "stats":
19
- [
20
- { "label": "Last updated", "sublabel": "17 September 2026" },
21
- { "label": "Applies to", "sublabel": "Orders shipped from this site" },
22
- ],
23
- "sections":
24
- [
25
- {
26
- "id": "intro",
27
- "heading": "Shipping Policy",
28
- "blocks":
29
- [
30
- {
31
- "kind": "paragraph",
32
- "text": "This page explains how orders from this site are shipped. Replace the starter copy below with the policy you actually operate — the headings are the ones a customer and an agent both look for, so keep them and fill in your own terms.",
33
- },
34
- ],
35
- },
36
- {
37
- "id": "destinations",
38
- "heading": "Where we ship",
39
- "blocks":
40
- [
41
- {
42
- "kind": "paragraph",
43
- "text": "List the countries or regions you ship to, and say plainly where you do not. If some products are restricted to a subset of those destinations, say which.",
44
- },
45
- ],
46
- },
47
- {
48
- "id": "processing-and-transit",
49
- "heading": "How long it takes",
50
- "blocks":
51
- [
52
- {
53
- "kind": "paragraph",
54
- "text": "Give processing time and transit time as two separate figures, in business days, per shipping option. A single blended estimate is the one thing customers most often read as a promise you did not make.",
55
- },
56
- ],
57
- },
58
- {
59
- "id": "costs",
60
- "heading": "What shipping costs",
61
- "blocks":
62
- [
63
- {
64
- "kind": "paragraph",
65
- "text": "Set out the cost of each shipping option and any threshold above which it is free. Say whether the figure shown at checkout is final, and whether duties and import taxes are included or collected on delivery.",
66
- },
67
- ],
68
- },
69
- {
70
- "id": "tracking",
71
- "heading": "Tracking your order",
72
- "blocks":
73
- [
74
- {
75
- "kind": "paragraph",
76
- "text": "Say when tracking information is sent, where it comes from, and what a customer should do if it has not updated for a while.",
77
- },
78
- ],
79
- },
80
- {
81
- "id": "lost-or-damaged",
82
- "heading": "Lost or damaged parcels",
83
- "blocks":
84
- [
85
- {
86
- "kind": "paragraph",
87
- "text": "Describe how long a parcel must be missing before you treat it as lost, what you do then, and what you need from the customer — photographs for damage, a written report for a loss. Returns of damaged goods are the returns policy's business; link to it rather than restating it here.",
88
- },
89
- ],
90
- },
91
- {
92
- "id": "contact",
93
- "heading": "Questions about a delivery",
94
- "blocks":
95
- [
96
- {
97
- "kind": "paragraph",
98
- "text": "Point to the one place a customer should write, and say roughly how quickly you answer.",
99
- },
100
- ],
101
- },
102
- ],
103
- },
104
- },
105
- ]
106
- ---
107
-
108
- {/* Rendered from frontmatter `sections[]`; the MDX body is not read by the section-catalog renderer. `OfferShippingDetails` is offer-scoped, not page-scoped, so this page emits a plain WebPage (#5947, D3) — real rates belong on an Offer, or reach this page's JSON-LD through the `schema:` escape hatch. */}