create-ailk 0.1.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 (533) hide show
  1. package/LICENSE +201 -0
  2. package/README.md +39 -0
  3. package/dist/cli.d.ts +2 -0
  4. package/dist/cli.js +80 -0
  5. package/dist/copy.d.ts +8 -0
  6. package/dist/copy.js +109 -0
  7. package/dist/index.d.ts +10 -0
  8. package/dist/index.js +10 -0
  9. package/dist/lib/pro-callout.d.ts +12 -0
  10. package/dist/lib/pro-callout.js +20 -0
  11. package/dist/parse-args.d.ts +13 -0
  12. package/dist/parse-args.js +81 -0
  13. package/dist/programmatic.d.ts +49 -0
  14. package/dist/programmatic.js +89 -0
  15. package/dist/substitute.d.ts +31 -0
  16. package/dist/substitute.js +45 -0
  17. package/dist/validate.d.ts +8 -0
  18. package/dist/validate.js +70 -0
  19. package/package.json +47 -0
  20. package/templates/.claude/.gitkeep +0 -0
  21. package/templates/.claude/agents/web.md +80 -0
  22. package/templates/.claude/rules/architecture.md +62 -0
  23. package/templates/.claude/rules/preserve-existing-style.md +51 -0
  24. package/templates/.claude/skills/README.md +43 -0
  25. package/templates/.claude/skills/add-schema/SKILL.md +270 -0
  26. package/templates/.claude/skills/add-schema/references/conflict-handling.md +200 -0
  27. package/templates/.claude/skills/add-schema/references/file-finding.md +123 -0
  28. package/templates/.claude/skills/add-schema/references/schema-types.md +131 -0
  29. package/templates/.claude/skills/audit-site/SKILL.md +213 -0
  30. package/templates/.claude/skills/audit-site/references/common-errors.md +113 -0
  31. package/templates/.claude/skills/audit-site/references/findings-glossary.md +138 -0
  32. package/templates/.claude/skills/audit-site/references/severity-levels.md +114 -0
  33. package/templates/.claude/skills/provision-config/SKILL.md +243 -0
  34. package/templates/.claude/skills/provision-config/references/env-vars-template.md +184 -0
  35. package/templates/.claude/skills/provision-config/references/runbook-template.md +248 -0
  36. package/templates/.claude/skills/provision-config/references/vercel-json-template.md +98 -0
  37. package/templates/.claude/skills/scaffold-auth/SKILL.md +261 -0
  38. package/templates/.claude/skills/scaffold-auth/references/env-vars.md +91 -0
  39. package/templates/.claude/skills/scaffold-auth/references/oauth-app-setup.md +171 -0
  40. package/templates/.claude/skills/scaffold-commerce/SKILL.md +310 -0
  41. package/templates/.claude/skills/scaffold-commerce/references/lookup-keys-template.md +71 -0
  42. package/templates/.claude/skills/scaffold-commerce/references/marketplace-brand-pages.md +83 -0
  43. package/templates/.claude/skills/scaffold-commerce/templates/marketplace-cta-route.tsx.tmpl +72 -0
  44. package/templates/.claude/skills/scaffold-page/SKILL.md +243 -0
  45. package/templates/.claude/skills/scaffold-page/references/page-types.md +169 -0
  46. package/templates/.claude/skills/scaffold-page/templates/content.mdx.tmpl +28 -0
  47. package/templates/.claude/skills/scaffold-page/templates/route.tsx.tmpl +28 -0
  48. package/templates/.claude/skills/suggest-site-pages/SKILL.md +242 -0
  49. package/templates/.claude/skills/suggest-site-pages/references/categories.md +287 -0
  50. package/templates/.env.example +205 -0
  51. package/templates/.gitkeep +2 -0
  52. package/templates/CLAUDE.md +142 -0
  53. package/templates/CONVENTIONS.md +222 -0
  54. package/templates/README.md +110 -0
  55. package/templates/apps/api/.env.example +40 -0
  56. package/templates/apps/api/CLAUDE.md +63 -0
  57. package/templates/apps/api/api/index.ts +144 -0
  58. package/templates/apps/api/jest.config.cjs +74 -0
  59. package/templates/apps/api/package.json +54 -0
  60. package/templates/apps/api/src/__tests__/factories/content-fixture.ts +138 -0
  61. package/templates/apps/api/src/__tests__/factories/index.ts +70 -0
  62. package/templates/apps/api/src/__tests__/factories/lead-fixture.ts +82 -0
  63. package/templates/apps/api/src/__tests__/index.test.ts +118 -0
  64. package/templates/apps/api/src/__tests__/server.test.ts +207 -0
  65. package/templates/apps/api/src/__tests__/services/enrichment-shim.test.ts +126 -0
  66. package/templates/apps/api/src/__tests__/setup.ts +24 -0
  67. package/templates/apps/api/src/cli.ts +30 -0
  68. package/templates/apps/api/src/config/__tests__/index.test.ts +97 -0
  69. package/templates/apps/api/src/config/index.ts +56 -0
  70. package/templates/apps/api/src/index.ts +32 -0
  71. package/templates/apps/api/src/lib/__mocks__/prisma-client.js +15 -0
  72. package/templates/apps/api/src/lib/__mocks__/prisma.ts +45 -0
  73. package/templates/apps/api/src/lib/__tests__/content-adapter.test.ts +178 -0
  74. package/templates/apps/api/src/lib/__tests__/error-serializer.test.ts +100 -0
  75. package/templates/apps/api/src/lib/__tests__/errors.test.ts +94 -0
  76. package/templates/apps/api/src/lib/__tests__/file-fallback.test.ts +144 -0
  77. package/templates/apps/api/src/lib/__tests__/fixtures/HomePage/home.mdx +8 -0
  78. package/templates/apps/api/src/lib/__tests__/lead-capture-store.test.ts +227 -0
  79. package/templates/apps/api/src/lib/__tests__/outbound-http.test.ts +125 -0
  80. package/templates/apps/api/src/lib/__tests__/prisma.test.ts +165 -0
  81. package/templates/apps/api/src/lib/__tests__/require-paid-tier.test.ts +129 -0
  82. package/templates/apps/api/src/lib/__tests__/stripe.test.ts +74 -0
  83. package/templates/apps/api/src/lib/content-adapter.ts +86 -0
  84. package/templates/apps/api/src/lib/error-serializer.ts +77 -0
  85. package/templates/apps/api/src/lib/errors.ts +95 -0
  86. package/templates/apps/api/src/lib/file-fallback.ts +87 -0
  87. package/templates/apps/api/src/lib/lead-capture-store.ts +110 -0
  88. package/templates/apps/api/src/lib/locales.ts +201 -0
  89. package/templates/apps/api/src/lib/outbound-http.ts +122 -0
  90. package/templates/apps/api/src/lib/prisma.ts +21 -0
  91. package/templates/apps/api/src/lib/require-paid-tier.ts +53 -0
  92. package/templates/apps/api/src/lib/stripe.ts +30 -0
  93. package/templates/apps/api/src/lib/webhook-idempotency.ts +92 -0
  94. package/templates/apps/api/src/middleware/__tests__/adversarial/bearer-token-format.test.ts +111 -0
  95. package/templates/apps/api/src/middleware/__tests__/adversarial/cookie-or-bearer-precedence.test.ts +172 -0
  96. package/templates/apps/api/src/middleware/__tests__/adversarial/csrf-bearer-skip.test.ts +119 -0
  97. package/templates/apps/api/src/middleware/__tests__/adversarial/csrf-cookie-path.test.ts +138 -0
  98. package/templates/apps/api/src/middleware/__tests__/adversarial/session-fixation.test.ts +149 -0
  99. package/templates/apps/api/src/middleware/__tests__/adversarial/session-timeout.test.ts +139 -0
  100. package/templates/apps/api/src/middleware/__tests__/auth.bearer-path.test.ts +175 -0
  101. package/templates/apps/api/src/middleware/__tests__/auth.both-present-precedence.test.ts +76 -0
  102. package/templates/apps/api/src/middleware/__tests__/auth.cookie-path.test.ts +153 -0
  103. package/templates/apps/api/src/middleware/__tests__/auth.neither-present.test.ts +72 -0
  104. package/templates/apps/api/src/middleware/__tests__/rate-limit.test.ts +292 -0
  105. package/templates/apps/api/src/middleware/auth.ts +246 -0
  106. package/templates/apps/api/src/middleware/rate-limit.ts +132 -0
  107. package/templates/apps/api/src/openapi/__tests__/openapi.test.ts +129 -0
  108. package/templates/apps/api/src/openapi/index.ts +12 -0
  109. package/templates/apps/api/src/openapi/spec.ts +408 -0
  110. package/templates/apps/api/src/routes/auth/__tests__/auth-tokens.functional.test.ts +193 -0
  111. package/templates/apps/api/src/routes/auth/__tests__/auth-user.functional.test.ts +201 -0
  112. package/templates/apps/api/src/routes/auth/__tests__/tokens.test.ts +294 -0
  113. package/templates/apps/api/src/routes/auth/__tests__/user.test.ts +486 -0
  114. package/templates/apps/api/src/routes/auth/tokens.ts +199 -0
  115. package/templates/apps/api/src/routes/auth/user.ts +244 -0
  116. package/templates/apps/api/src/routes/checkout/__tests__/sessions.test.ts +588 -0
  117. package/templates/apps/api/src/routes/checkout/index.ts +13 -0
  118. package/templates/apps/api/src/routes/checkout/sessions.ts +185 -0
  119. package/templates/apps/api/src/routes/content/__tests__/create.test.ts +239 -0
  120. package/templates/apps/api/src/routes/content/__tests__/delete.test.ts +201 -0
  121. package/templates/apps/api/src/routes/content/__tests__/get-page.test.ts +141 -0
  122. package/templates/apps/api/src/routes/content/__tests__/list-pages.test.ts +122 -0
  123. package/templates/apps/api/src/routes/content/__tests__/list-types.test.ts +44 -0
  124. package/templates/apps/api/src/routes/content/__tests__/locale.test.ts +118 -0
  125. package/templates/apps/api/src/routes/content/__tests__/rate-limit.test.ts +51 -0
  126. package/templates/apps/api/src/routes/content/__tests__/update.test.ts +252 -0
  127. package/templates/apps/api/src/routes/content/create.ts +114 -0
  128. package/templates/apps/api/src/routes/content/delete.ts +81 -0
  129. package/templates/apps/api/src/routes/content/get-page.ts +98 -0
  130. package/templates/apps/api/src/routes/content/index.ts +32 -0
  131. package/templates/apps/api/src/routes/content/list-pages.ts +83 -0
  132. package/templates/apps/api/src/routes/content/list-types.ts +19 -0
  133. package/templates/apps/api/src/routes/content/rate-limit.ts +13 -0
  134. package/templates/apps/api/src/routes/content/slug.ts +9 -0
  135. package/templates/apps/api/src/routes/content/update.ts +111 -0
  136. package/templates/apps/api/src/routes/leads/__tests__/index.test.ts +415 -0
  137. package/templates/apps/api/src/routes/leads/__tests__/track.test.ts +165 -0
  138. package/templates/apps/api/src/routes/leads/index.ts +130 -0
  139. package/templates/apps/api/src/routes/test/auth/__tests__/session.test.ts +296 -0
  140. package/templates/apps/api/src/routes/test/auth/session.ts +141 -0
  141. package/templates/apps/api/src/routes/webhooks/README.md +57 -0
  142. package/templates/apps/api/src/routes/webhooks/__tests__/stripe-idempotency.test.ts +247 -0
  143. package/templates/apps/api/src/routes/webhooks/__tests__/stripe-rate-limit.test.ts +198 -0
  144. package/templates/apps/api/src/routes/webhooks/__tests__/stripe.test.ts +633 -0
  145. package/templates/apps/api/src/routes/webhooks/index.ts +41 -0
  146. package/templates/apps/api/src/routes/webhooks/stripe.ts +253 -0
  147. package/templates/apps/api/src/server.ts +157 -0
  148. package/templates/apps/api/src/services/__tests__/lead-routing.test.ts +395 -0
  149. package/templates/apps/api/src/services/enrichment-shim.ts +53 -0
  150. package/templates/apps/api/src/services/lead-routing.ts +338 -0
  151. package/templates/apps/api/tsconfig.json +34 -0
  152. package/templates/apps/api/vercel.json +17 -0
  153. package/templates/apps/mcp/.env.example +52 -0
  154. package/templates/apps/mcp/CLAUDE.md +84 -0
  155. package/templates/apps/mcp/__tests__/abuse/daily-cap.test.ts +52 -0
  156. package/templates/apps/mcp/__tests__/abuse/email-validator.test.ts +46 -0
  157. package/templates/apps/mcp/__tests__/abuse/honeypot.test.ts +36 -0
  158. package/templates/apps/mcp/__tests__/abuse/user-agent-deny.test.ts +54 -0
  159. package/templates/apps/mcp/__tests__/aeo-cli-parity.test.ts +110 -0
  160. package/templates/apps/mcp/__tests__/audit-single-page.test.ts +213 -0
  161. package/templates/apps/mcp/__tests__/audit.test.ts +217 -0
  162. package/templates/apps/mcp/__tests__/catalog-drift.test.ts +52 -0
  163. package/templates/apps/mcp/__tests__/create_page.test.ts +201 -0
  164. package/templates/apps/mcp/__tests__/delete_page.test.ts +176 -0
  165. package/templates/apps/mcp/__tests__/get_business_hours.test.ts +82 -0
  166. package/templates/apps/mcp/__tests__/get_faq.test.ts +80 -0
  167. package/templates/apps/mcp/__tests__/get_locations.test.ts +65 -0
  168. package/templates/apps/mcp/__tests__/get_offerings.test.ts +90 -0
  169. package/templates/apps/mcp/__tests__/get_pricing.test.ts +80 -0
  170. package/templates/apps/mcp/__tests__/get_site_info.test.ts +81 -0
  171. package/templates/apps/mcp/__tests__/http-transport.test.ts +323 -0
  172. package/templates/apps/mcp/__tests__/lib/errors.test.ts +75 -0
  173. package/templates/apps/mcp/__tests__/lib/require-paid-tier.test.ts +75 -0
  174. package/templates/apps/mcp/__tests__/list_pages.test.ts +112 -0
  175. package/templates/apps/mcp/__tests__/locale.test.ts +135 -0
  176. package/templates/apps/mcp/__tests__/parity.test.ts +205 -0
  177. package/templates/apps/mcp/__tests__/purchase-disabled.test.ts +34 -0
  178. package/templates/apps/mcp/__tests__/read_content.test.ts +153 -0
  179. package/templates/apps/mcp/__tests__/request_callback.test.ts +163 -0
  180. package/templates/apps/mcp/__tests__/search_content.test.ts +153 -0
  181. package/templates/apps/mcp/__tests__/server.test.ts +115 -0
  182. package/templates/apps/mcp/__tests__/submit_lead.test.ts +165 -0
  183. package/templates/apps/mcp/__tests__/subscribe_newsletter.test.ts +161 -0
  184. package/templates/apps/mcp/__tests__/tools/purchase.test.ts +227 -0
  185. package/templates/apps/mcp/__tests__/tools/scaffold.test.ts +237 -0
  186. package/templates/apps/mcp/__tests__/update_page.test.ts +195 -0
  187. package/templates/apps/mcp/jest.config.cjs +82 -0
  188. package/templates/apps/mcp/package.json +37 -0
  189. package/templates/apps/mcp/src/abuse/daily-cap.ts +47 -0
  190. package/templates/apps/mcp/src/abuse/email-validator.ts +25 -0
  191. package/templates/apps/mcp/src/abuse/honeypot.ts +21 -0
  192. package/templates/apps/mcp/src/abuse/index.ts +111 -0
  193. package/templates/apps/mcp/src/abuse/user-agent-deny.ts +58 -0
  194. package/templates/apps/mcp/src/http-transport.ts +303 -0
  195. package/templates/apps/mcp/src/index.ts +67 -0
  196. package/templates/apps/mcp/src/lib/audit-single-page.ts +194 -0
  197. package/templates/apps/mcp/src/lib/errors.ts +61 -0
  198. package/templates/apps/mcp/src/lib/locales.ts +171 -0
  199. package/templates/apps/mcp/src/lib/require-paid-tier.ts +44 -0
  200. package/templates/apps/mcp/src/lib/resolve-locale.ts +30 -0
  201. package/templates/apps/mcp/src/server.ts +139 -0
  202. package/templates/apps/mcp/src/tools/audit.ts +103 -0
  203. package/templates/apps/mcp/src/tools/capture_lead.ts +52 -0
  204. package/templates/apps/mcp/src/tools/create_page.ts +95 -0
  205. package/templates/apps/mcp/src/tools/delete_page.ts +73 -0
  206. package/templates/apps/mcp/src/tools/get_business_hours.ts +66 -0
  207. package/templates/apps/mcp/src/tools/get_faq.ts +69 -0
  208. package/templates/apps/mcp/src/tools/get_locations.ts +85 -0
  209. package/templates/apps/mcp/src/tools/get_offerings.ts +66 -0
  210. package/templates/apps/mcp/src/tools/get_pricing.ts +74 -0
  211. package/templates/apps/mcp/src/tools/get_site_info.ts +84 -0
  212. package/templates/apps/mcp/src/tools/index.ts +125 -0
  213. package/templates/apps/mcp/src/tools/list_pages.ts +72 -0
  214. package/templates/apps/mcp/src/tools/purchase.ts +89 -0
  215. package/templates/apps/mcp/src/tools/read_content.ts +61 -0
  216. package/templates/apps/mcp/src/tools/request_callback.ts +51 -0
  217. package/templates/apps/mcp/src/tools/scaffold.ts +119 -0
  218. package/templates/apps/mcp/src/tools/search_content.ts +59 -0
  219. package/templates/apps/mcp/src/tools/subscribe_newsletter.ts +47 -0
  220. package/templates/apps/mcp/src/tools/update_page.ts +91 -0
  221. package/templates/apps/mcp/tsconfig.json +19 -0
  222. package/templates/apps/web/.env.example +47 -0
  223. package/templates/apps/web/CLAUDE.md +81 -0
  224. package/templates/apps/web/__tests__/auth/adversarial/cookie-attributes.test.ts +94 -0
  225. package/templates/apps/web/__tests__/auth/adversarial/oauth-state-parameter.test.ts +75 -0
  226. package/templates/apps/web/__tests__/auth/adversarial/redirect-uri-allowlist.test.ts +82 -0
  227. package/templates/apps/web/__tests__/auth/env-helpers.test.ts +168 -0
  228. package/templates/apps/web/__tests__/authority-list-routes.test.tsx +208 -0
  229. package/templates/apps/web/__tests__/better-stack.test.ts +66 -0
  230. package/templates/apps/web/__tests__/blog-dir-resolution.test.ts +87 -0
  231. package/templates/apps/web/__tests__/blog-source-populated.test.ts +130 -0
  232. package/templates/apps/web/__tests__/data-testid-coverage.test.tsx +60 -0
  233. package/templates/apps/web/__tests__/google-analytics.test.tsx +104 -0
  234. package/templates/apps/web/__tests__/i18n/middleware.test.ts +119 -0
  235. package/templates/apps/web/__tests__/i18n/routing.test.ts +114 -0
  236. package/templates/apps/web/__tests__/i18n/translations.test.ts +191 -0
  237. package/templates/apps/web/__tests__/json-ld.test.ts +98 -0
  238. package/templates/apps/web/__tests__/knowledge-events-routes.test.tsx +580 -0
  239. package/templates/apps/web/__tests__/layout-stealth.test.ts +39 -0
  240. package/templates/apps/web/__tests__/lighthouse-fixtures/improvement-image-shrink.tsx +103 -0
  241. package/templates/apps/web/__tests__/lighthouse-fixtures/override-fixture.md +114 -0
  242. package/templates/apps/web/__tests__/lighthouse-fixtures/regression-bloat.tsx +94 -0
  243. package/templates/apps/web/__tests__/page.test.tsx +230 -0
  244. package/templates/apps/web/__tests__/products-services-phase1.test.tsx +321 -0
  245. package/templates/apps/web/__tests__/projects-routes.test.tsx +392 -0
  246. package/templates/apps/web/__tests__/resources-downloads-integrations-phase2.test.tsx +475 -0
  247. package/templates/apps/web/__tests__/routes/ai-plugin-json.test.ts +53 -0
  248. package/templates/apps/web/__tests__/routes/blog-route.test.tsx +191 -0
  249. package/templates/apps/web/__tests__/routes/llms-txt.test.ts +123 -0
  250. package/templates/apps/web/__tests__/routes/robots-txt.test.ts +52 -0
  251. package/templates/apps/web/__tests__/routes/sitemap-xml.test.ts +78 -0
  252. package/templates/apps/web/__tests__/routes/well-known-mcp.test.ts +203 -0
  253. package/templates/apps/web/__tests__/section-routes.test.tsx +693 -0
  254. package/templates/apps/web/__tests__/security-headers.test.ts +201 -0
  255. package/templates/apps/web/__tests__/sentry-config.test.ts +116 -0
  256. package/templates/apps/web/__tests__/setup.ts +82 -0
  257. package/templates/apps/web/__tests__/sitemap-locales.test.ts +415 -0
  258. package/templates/apps/web/__tests__/standalone-informational-routes.test.tsx +844 -0
  259. package/templates/apps/web/app/.well-known/ai-plugin.json/route.ts +81 -0
  260. package/templates/apps/web/app/.well-known/mcp.json/build-manifest.ts +110 -0
  261. package/templates/apps/web/app/.well-known/mcp.json/route.ts +58 -0
  262. package/templates/apps/web/app/[locale]/__tests__/layout.test.tsx +120 -0
  263. package/templates/apps/web/app/[locale]/__tests__/page-renderer-migration.test.tsx +202 -0
  264. package/templates/apps/web/app/[locale]/about/page.tsx +31 -0
  265. package/templates/apps/web/app/[locale]/blog/[[...slug]]/page.tsx +173 -0
  266. package/templates/apps/web/app/[locale]/careers/[slug]/page.tsx +45 -0
  267. package/templates/apps/web/app/[locale]/careers/__tests__/page-renderer-migration.test.tsx +117 -0
  268. package/templates/apps/web/app/[locale]/careers/page.tsx +25 -0
  269. package/templates/apps/web/app/[locale]/case-studies/[slug]/page.tsx +44 -0
  270. package/templates/apps/web/app/[locale]/case-studies/__tests__/page-renderer-migration.test.tsx +113 -0
  271. package/templates/apps/web/app/[locale]/case-studies/page.tsx +25 -0
  272. package/templates/apps/web/app/[locale]/clients/__tests__/page-renderer-migration.test.tsx +63 -0
  273. package/templates/apps/web/app/[locale]/clients/page.tsx +27 -0
  274. package/templates/apps/web/app/[locale]/contact/ContactForm.tsx +130 -0
  275. package/templates/apps/web/app/[locale]/contact/__tests__/contact.actions.test.ts +152 -0
  276. package/templates/apps/web/app/[locale]/contact/__tests__/page-renderer-migration.test.tsx +92 -0
  277. package/templates/apps/web/app/[locale]/contact/contact.actions.ts +79 -0
  278. package/templates/apps/web/app/[locale]/contact/error.tsx +24 -0
  279. package/templates/apps/web/app/[locale]/contact/page.tsx +38 -0
  280. package/templates/apps/web/app/[locale]/courses/[slug]/page.tsx +34 -0
  281. package/templates/apps/web/app/[locale]/courses/__tests__/page-renderer-migration.test.tsx +119 -0
  282. package/templates/apps/web/app/[locale]/courses/page.tsx +25 -0
  283. package/templates/apps/web/app/[locale]/dev/purchase/__tests__/actions.test.ts +160 -0
  284. package/templates/apps/web/app/[locale]/dev/purchase/error.tsx +25 -0
  285. package/templates/apps/web/app/[locale]/dev/purchase/page.tsx +117 -0
  286. package/templates/apps/web/app/[locale]/dev/purchase/purchase.actions.ts +58 -0
  287. package/templates/apps/web/app/[locale]/docs/[[...slug]]/page.tsx +118 -0
  288. package/templates/apps/web/app/[locale]/downloads/__tests__/page-renderer-migration.test.tsx +72 -0
  289. package/templates/apps/web/app/[locale]/downloads/page.tsx +25 -0
  290. package/templates/apps/web/app/[locale]/events/[slug]/page.tsx +47 -0
  291. package/templates/apps/web/app/[locale]/events/__tests__/page-renderer-migration.test.tsx +130 -0
  292. package/templates/apps/web/app/[locale]/events/page.tsx +25 -0
  293. package/templates/apps/web/app/[locale]/faq/page.tsx +36 -0
  294. package/templates/apps/web/app/[locale]/how-to/[slug]/page.tsx +34 -0
  295. package/templates/apps/web/app/[locale]/how-to/__tests__/page-renderer-migration.test.tsx +78 -0
  296. package/templates/apps/web/app/[locale]/how-to/page.tsx +40 -0
  297. package/templates/apps/web/app/[locale]/integrations/[slug]/page.tsx +43 -0
  298. package/templates/apps/web/app/[locale]/integrations/__tests__/page-renderer-migration.test.tsx +129 -0
  299. package/templates/apps/web/app/[locale]/integrations/page.tsx +25 -0
  300. package/templates/apps/web/app/[locale]/launch-service/page.tsx +31 -0
  301. package/templates/apps/web/app/[locale]/layout.tsx +241 -0
  302. package/templates/apps/web/app/[locale]/page.tsx +41 -0
  303. package/templates/apps/web/app/[locale]/partners/[slug]/page.tsx +44 -0
  304. package/templates/apps/web/app/[locale]/partners/__tests__/page-renderer-migration.test.tsx +113 -0
  305. package/templates/apps/web/app/[locale]/partners/page.tsx +25 -0
  306. package/templates/apps/web/app/[locale]/products/[slug]/page.tsx +43 -0
  307. package/templates/apps/web/app/[locale]/products/__tests__/page-renderer-migration.test.tsx +129 -0
  308. package/templates/apps/web/app/[locale]/products/page.tsx +25 -0
  309. package/templates/apps/web/app/[locale]/projects/[slug]/page.tsx +39 -0
  310. package/templates/apps/web/app/[locale]/projects/__tests__/page-renderer-migration.test.tsx +138 -0
  311. package/templates/apps/web/app/[locale]/projects/page.tsx +30 -0
  312. package/templates/apps/web/app/[locale]/resources/[slug]/page.tsx +51 -0
  313. package/templates/apps/web/app/[locale]/resources/__tests__/page-renderer-migration.test.tsx +117 -0
  314. package/templates/apps/web/app/[locale]/resources/page.tsx +27 -0
  315. package/templates/apps/web/app/[locale]/services/[slug]/page.tsx +43 -0
  316. package/templates/apps/web/app/[locale]/services/__tests__/page-renderer-migration.test.tsx +129 -0
  317. package/templates/apps/web/app/[locale]/services/page.tsx +25 -0
  318. package/templates/apps/web/app/[locale]/software/[slug]/page.tsx +34 -0
  319. package/templates/apps/web/app/[locale]/software/__tests__/page-renderer-migration.test.tsx +81 -0
  320. package/templates/apps/web/app/[locale]/software/page.tsx +39 -0
  321. package/templates/apps/web/app/[locale]/tech-articles/[slug]/page.tsx +34 -0
  322. package/templates/apps/web/app/[locale]/tech-articles/__tests__/page-renderer-migration.test.tsx +82 -0
  323. package/templates/apps/web/app/[locale]/tech-articles/page.tsx +39 -0
  324. package/templates/apps/web/app/[locale]/testimonials/__tests__/page-renderer-migration.test.tsx +63 -0
  325. package/templates/apps/web/app/[locale]/testimonials/page.tsx +27 -0
  326. package/templates/apps/web/app/[locale]/use-cases/__tests__/page-renderer-migration.test.tsx +63 -0
  327. package/templates/apps/web/app/[locale]/use-cases/page.tsx +27 -0
  328. package/templates/apps/web/app/[locale]/whitepapers/[slug]/page.tsx +34 -0
  329. package/templates/apps/web/app/[locale]/whitepapers/__tests__/page-renderer-migration.test.tsx +82 -0
  330. package/templates/apps/web/app/[locale]/whitepapers/page.tsx +39 -0
  331. package/templates/apps/web/app/__tests__/error-boundaries.test.tsx +152 -0
  332. package/templates/apps/web/app/api/auth/[...all]/route.ts +16 -0
  333. package/templates/apps/web/app/error-fallback.tsx +75 -0
  334. package/templates/apps/web/app/error.tsx +23 -0
  335. package/templates/apps/web/app/layout.tsx +18 -0
  336. package/templates/apps/web/app/llms.txt/route.ts +101 -0
  337. package/templates/apps/web/app/not-found.tsx +48 -0
  338. package/templates/apps/web/app/og/__tests__/route.test.ts +164 -0
  339. package/templates/apps/web/app/og/route.tsx +135 -0
  340. package/templates/apps/web/app/robots.txt/route.ts +36 -0
  341. package/templates/apps/web/app/sitemap.xml/route.ts +146 -0
  342. package/templates/apps/web/auth.ts +141 -0
  343. package/templates/apps/web/components/ThemeToggle.tsx +60 -0
  344. package/templates/apps/web/components/google-analytics.tsx +34 -0
  345. package/templates/apps/web/content/en/blog/index.mdx +15 -0
  346. package/templates/apps/web/content/en/blog/launching-ailk.mdx +20 -0
  347. package/templates/apps/web/content/en/docs/getting-started.mdx +30 -0
  348. package/templates/apps/web/i18n/request.ts +36 -0
  349. package/templates/apps/web/jest.config.cjs +100 -0
  350. package/templates/apps/web/lib/__mocks__/next-mdx-remote-rsc.js +12 -0
  351. package/templates/apps/web/lib/__mocks__/source-server.js +31 -0
  352. package/templates/apps/web/lib/__tests__/og.test.ts +65 -0
  353. package/templates/apps/web/lib/auth-env.ts +66 -0
  354. package/templates/apps/web/lib/blog-list-data.ts +95 -0
  355. package/templates/apps/web/lib/blog-post-data.ts +79 -0
  356. package/templates/apps/web/lib/nav-config.ts +13 -0
  357. package/templates/apps/web/lib/observability/better-stack.ts +27 -0
  358. package/templates/apps/web/lib/og.ts +23 -0
  359. package/templates/apps/web/lib/prisma-for-auth.ts +34 -0
  360. package/templates/apps/web/lib/source.ts +34 -0
  361. package/templates/apps/web/messages/en.json +131 -0
  362. package/templates/apps/web/middleware.ts +80 -0
  363. package/templates/apps/web/next.config.mjs +167 -0
  364. package/templates/apps/web/package.json +62 -0
  365. package/templates/apps/web/public/.well-known/security.txt +17 -0
  366. package/templates/apps/web/public/android-chrome-192x192.png +0 -0
  367. package/templates/apps/web/public/android-chrome-512x512.png +0 -0
  368. package/templates/apps/web/public/apple-touch-icon.png +0 -0
  369. package/templates/apps/web/public/favicon-16x16.png +0 -0
  370. package/templates/apps/web/public/favicon-32x32.png +0 -0
  371. package/templates/apps/web/public/favicon.ico +0 -0
  372. package/templates/apps/web/public/favicon.svg +4 -0
  373. package/templates/apps/web/public/logo-dark.svg +21 -0
  374. package/templates/apps/web/public/logo-light.svg +21 -0
  375. package/templates/apps/web/public/logomark-dark.svg +4 -0
  376. package/templates/apps/web/public/logomark-light.svg +4 -0
  377. package/templates/apps/web/public/og-default.png +0 -0
  378. package/templates/apps/web/public/site.webmanifest +19 -0
  379. package/templates/apps/web/scripts/assert-content-bundled.ts +55 -0
  380. package/templates/apps/web/security-headers.config.ts +132 -0
  381. package/templates/apps/web/sentry.client.config.ts +27 -0
  382. package/templates/apps/web/sentry.edge.config.ts +15 -0
  383. package/templates/apps/web/sentry.server.config.ts +20 -0
  384. package/templates/apps/web/source.config.ts +78 -0
  385. package/templates/apps/web/src/components/SiteNav.tsx +21 -0
  386. package/templates/apps/web/src/lib/routes.ts +37 -0
  387. package/templates/apps/web/tsconfig.json +35 -0
  388. package/templates/apps/web/types/messages.d.ts +19 -0
  389. package/templates/content/.gitkeep +0 -0
  390. package/templates/content/CLAUDE.md +85 -0
  391. package/templates/content/_site.mdx +38 -0
  392. package/templates/content/ar/HomePage/home.mdx +123 -0
  393. package/templates/content/ar/_site.mdx +35 -0
  394. package/templates/content/de/_site.mdx +29 -0
  395. package/templates/content/en/.gitkeep +0 -0
  396. package/templates/content/en/AboutPage/about.mdx +19 -0
  397. package/templates/content/en/AboutPage/about.schema.json +82 -0
  398. package/templates/content/en/BookCall/book-call.mdx +19 -0
  399. package/templates/content/en/BookCall/book-call.schema.json +121 -0
  400. package/templates/content/en/BreadcrumbList/site-breadcrumbs.mdx +20 -0
  401. package/templates/content/en/CareersList/careers.mdx +24 -0
  402. package/templates/content/en/CaseStudiesList/case-studies.mdx +22 -0
  403. package/templates/content/en/CaseStudiesList/showcase.mdx +8 -0
  404. package/templates/content/en/CaseStudy/ailk-aeo-rollout.mdx +32 -0
  405. package/templates/content/en/CaseStudy/schema-builder-migration.mdx +41 -0
  406. package/templates/content/en/ClientsList/clients.mdx +38 -0
  407. package/templates/content/en/ContactPage/contact.mdx +19 -0
  408. package/templates/content/en/ContactPage/contact.schema.json +100 -0
  409. package/templates/content/en/ContactPoint/primary.mdx +14 -0
  410. package/templates/content/en/Course/aeo-fundamentals.mdx +37 -0
  411. package/templates/content/en/Course/schema-builder-workshop.mdx +62 -0
  412. package/templates/content/en/CoursesList/courses.mdx +22 -0
  413. package/templates/content/en/DownloadsList/downloads.mdx +22 -0
  414. package/templates/content/en/Event/aeo-office-hours-may-2026.mdx +39 -0
  415. package/templates/content/en/Event/ailk-launch-day-2026.mdx +35 -0
  416. package/templates/content/en/EventsList/events.mdx +26 -0
  417. package/templates/content/en/FAQPage/faq.mdx +420 -0
  418. package/templates/content/en/FAQPage/faq.schema.json +231 -0
  419. package/templates/content/en/GlossaryList/glossary.mdx +19 -0
  420. package/templates/content/en/GlossaryList/glossary.schema.json +300 -0
  421. package/templates/content/en/HomePage/home.mdx +312 -0
  422. package/templates/content/en/HomePage/home.schema.json +88 -0
  423. package/templates/content/en/HomePage/launch-service.mdx +475 -0
  424. package/templates/content/en/HomePage/launch-service.schema.json +138 -0
  425. package/templates/content/en/HowTo/add-mdx-content.mdx +38 -0
  426. package/templates/content/en/HowTo/configure-aeo-scoring.mdx +35 -0
  427. package/templates/content/en/HowTo/set-up-json-ld.mdx +36 -0
  428. package/templates/content/en/Integration/github-actions.mdx +31 -0
  429. package/templates/content/en/Integration/openai-api.mdx +26 -0
  430. package/templates/content/en/Integration/vercel.mdx +32 -0
  431. package/templates/content/en/IntegrationsList/integrations.mdx +22 -0
  432. package/templates/content/en/JobPosting/content-strategist.mdx +46 -0
  433. package/templates/content/en/JobPosting/developer-advocate.mdx +47 -0
  434. package/templates/content/en/JobPosting/senior-fullstack-engineer.mdx +57 -0
  435. package/templates/content/en/LandingPage/aeo-audit.mdx +19 -0
  436. package/templates/content/en/LandingPage/aeo-audit.schema.json +92 -0
  437. package/templates/content/en/LandingPage/agency-waitlist.mdx +340 -0
  438. package/templates/content/en/LandingPage/agency-waitlist.schema.json +152 -0
  439. package/templates/content/en/LandingPage/developers.mdx +19 -0
  440. package/templates/content/en/LandingPage/developers.schema.json +109 -0
  441. package/templates/content/en/LandingPage/for-agencies.mdx +390 -0
  442. package/templates/content/en/LandingPage/for-agencies.schema.json +107 -0
  443. package/templates/content/en/LandingPage/for-ai-search-agencies.mdx +417 -0
  444. package/templates/content/en/LandingPage/for-ai-search-agencies.schema.json +105 -0
  445. package/templates/content/en/LandingPage/for-businesses.mdx +19 -0
  446. package/templates/content/en/LandingPage/for-businesses.schema.json +96 -0
  447. package/templates/content/en/LandingPage/platform.mdx +369 -0
  448. package/templates/content/en/LandingPage/platform.schema.json +166 -0
  449. package/templates/content/en/LandingPage/vs-ai-website-builders.mdx +19 -0
  450. package/templates/content/en/LandingPage/vs-ai-website-builders.schema.json +102 -0
  451. package/templates/content/en/LandingPage/vs-wordpress.mdx +19 -0
  452. package/templates/content/en/LandingPage/vs-wordpress.schema.json +53 -0
  453. package/templates/content/en/NewsletterSignup/newsletter.mdx +236 -0
  454. package/templates/content/en/NewsletterSignup/newsletter.schema.json +91 -0
  455. package/templates/content/en/Organization/site-owner.mdx +16 -0
  456. package/templates/content/en/Partner/prisma.mdx +31 -0
  457. package/templates/content/en/Partner/supabase.mdx +30 -0
  458. package/templates/content/en/Partner/vercel.mdx +28 -0
  459. package/templates/content/en/PartnersList/partners.mdx +22 -0
  460. package/templates/content/en/Person/founder.mdx +18 -0
  461. package/templates/content/en/Pricing/pricing.mdx +538 -0
  462. package/templates/content/en/Pricing/pricing.schema.json +209 -0
  463. package/templates/content/en/PrivacyPage/privacy.mdx +165 -0
  464. package/templates/content/en/PrivacyPage/privacy.schema.json +64 -0
  465. package/templates/content/en/Product/ailk.mdx +19 -0
  466. package/templates/content/en/Product/ailk.schema.json +94 -0
  467. package/templates/content/en/Product/api-launch-kit.mdx +26 -0
  468. package/templates/content/en/Product/launch-kit.mdx +28 -0
  469. package/templates/content/en/ProductsList/products.mdx +26 -0
  470. package/templates/content/en/Project/ailk-phase-2.mdx +54 -0
  471. package/templates/content/en/ProjectsList/projects.mdx +25 -0
  472. package/templates/content/en/ResourceDetail/aeo-scoring-guide.mdx +27 -0
  473. package/templates/content/en/ResourceDetail/content-model-whitepaper.mdx +28 -0
  474. package/templates/content/en/ResourceDetail/schema-org-quick-reference.mdx +39 -0
  475. package/templates/content/en/ResourcesHub/resources.mdx +22 -0
  476. package/templates/content/en/Service/consulting.mdx +22 -0
  477. package/templates/content/en/Service/implementation.mdx +30 -0
  478. package/templates/content/en/Service/launch-service.mdx +232 -0
  479. package/templates/content/en/Service/launch.mdx +228 -0
  480. package/templates/content/en/ServicesList/services.mdx +84 -0
  481. package/templates/content/en/SoftwareProduct/ailk-aeo.mdx +44 -0
  482. package/templates/content/en/SoftwareProduct/ailk-content-adapters.mdx +47 -0
  483. package/templates/content/en/SoftwareProduct/ailk-schema.mdx +49 -0
  484. package/templates/content/en/TeamList/team.mdx +63 -0
  485. package/templates/content/en/TeamMember/founder.mdx +72 -0
  486. package/templates/content/en/TermsPage/terms.mdx +19 -0
  487. package/templates/content/en/TermsPage/terms.schema.json +99 -0
  488. package/templates/content/en/TestimonialsList/testimonials.mdx +44 -0
  489. package/templates/content/en/UseCasesList/use-cases.mdx +30 -0
  490. package/templates/content/en/Whitepaper/ax-first-product-development.mdx +27 -0
  491. package/templates/content/en/Whitepaper/open-core-commercial-strategy.mdx +27 -0
  492. package/templates/content/en/Whitepaper/structured-data-for-answer-engines.mdx +31 -0
  493. package/templates/content/en-XA/AboutPage/about.mdx +8 -0
  494. package/templates/content/en-XA/FAQPage/faq.mdx +8 -0
  495. package/templates/content/en-XA/HomePage/home.mdx +8 -0
  496. package/templates/content/es/_site.mdx +30 -0
  497. package/templates/content/fr/_site.mdx +30 -0
  498. package/templates/content/ja/_site.mdx +30 -0
  499. package/templates/content/pt-BR/AboutPage/about.mdx +8 -0
  500. package/templates/content/pt-BR/FAQPage/faq.mdx +8 -0
  501. package/templates/content/pt-BR/HomePage/home.mdx +23 -0
  502. package/templates/database/CHANGELOG.md +5 -0
  503. package/templates/database/README.md +234 -0
  504. package/templates/database/__tests__/user-cascade.test.ts +125 -0
  505. package/templates/database/auth/.gitkeep +0 -0
  506. package/templates/database/config/.gitkeep +0 -0
  507. package/templates/database/content/.gitkeep +0 -0
  508. package/templates/database/inbox/.gitkeep +0 -0
  509. package/templates/database/inbox/README.md +3 -0
  510. package/templates/database/inbox/__tests__/schema.test.ts +40 -0
  511. package/templates/database/inbox/schema.prisma +52 -0
  512. package/templates/database/jest.config.cjs +29 -0
  513. package/templates/database/migrations/20260508000000_add_inbox_namespace/migration.sql +328 -0
  514. package/templates/database/migrations/20260513000000_better_auth_migration/migration.sql +100 -0
  515. package/templates/database/migrations/20260515000000_add_user_billing_fields/migration.sql +28 -0
  516. package/templates/database/migrations/20260516000000_add_user_tier_care_plan_seat/migration.sql +25 -0
  517. package/templates/database/migrations/20260518000000_add_telemetry_records/migration.sql +42 -0
  518. package/templates/database/migrations/20260525000000_theme_wiring/migration.sql +67 -0
  519. package/templates/database/migrations/20260710000000_retire_commercial_tier/migration.sql +21 -0
  520. package/templates/database/migrations/migration_lock.toml +3 -0
  521. package/templates/database/ops/.gitkeep +0 -0
  522. package/templates/database/package.json +45 -0
  523. package/templates/database/prisma.config.ts +20 -0
  524. package/templates/database/schema.prisma +487 -0
  525. package/templates/database/scripts/db-generate-locked.sh +80 -0
  526. package/templates/database/seed-test.ts +85 -0
  527. package/templates/database/tsconfig.build.json +16 -0
  528. package/templates/database/tsconfig.json +9 -0
  529. package/templates/package.json +125 -0
  530. package/templates/pnpm-workspace.yaml +6 -0
  531. package/templates/project.yaml +59 -0
  532. package/templates/tsconfig.base.json +18 -0
  533. package/templates/tsconfig.json +45 -0
@@ -0,0 +1,340 @@
1
+ ---
2
+ type: "LandingPage"
3
+ slug: "agency-waitlist"
4
+ title: "Your client portfolio scales one site at a time."
5
+ description: "Fleet management — cross-site rollup, white-label, per-seat licensing — is planned as a future Enterprise multi-tenant entitlement, not shipped yet. Tell us it's a priority and start today on OSS or Pro."
6
+ sections:
7
+ [
8
+ {
9
+ "id": "hero-agency-portfolio-problem",
10
+ "type": "hero",
11
+ "data":
12
+ {
13
+ "badge": "Fleet management: planned, not shipped",
14
+ "headline": "Your client portfolio scales one site at a time.",
15
+ "subheadline": "Every client site still runs alone — no dashboard rolls them up yet. That's planned as a future Enterprise multi-tenant entitlement, not shipped yet. Start today on the same OSS foundation Sam Henry, Working Theory, and SalesSmyth run their own sites on.",
16
+ "primaryCta":
17
+ {
18
+ "label": "Tell us it's a priority",
19
+ "href": "#express-interest-fleet-management",
20
+ },
21
+ "secondaryCta":
22
+ {
23
+ "label": "Start a Pro trial instead",
24
+ "href": "/pricing",
25
+ "variant": "ghost",
26
+ },
27
+ },
28
+ },
29
+ {
30
+ "id": "what-ships-today-for-agencies",
31
+ "type": "content-block",
32
+ "data":
33
+ {
34
+ "body": "Every client site today runs on its own OSS install or its own Pro subscription — the full schema registry, MCP server, and `ailk audit` CLI, per site, per seat. Run five client sites and you run five deploys, five audits, five Pro subscriptions at $249 per user per year. That works. What it doesn't give you is one dashboard, one audit report, one seat count across the whole portfolio. That gap is what a future Enterprise multi-tenant entitlement closes — not the substrate underneath it. The per-site setup isn't a workaround. It's the shipped product, working one site at a time.",
35
+ },
36
+ },
37
+ {
38
+ "id": "fleet-management-planned-capabilities",
39
+ "type": "items",
40
+ "data":
41
+ {
42
+ "headline": "What fleet management adds — planned, not shipped",
43
+ "description": "Four capabilities sit on the roadmap, gated as a planned Enterprise multi-tenant entitlement. None are live today.",
44
+ "items":
45
+ [
46
+ {
47
+ "title": "Fleet management",
48
+ "description": "One dashboard across every client site, instead of one login and one deploy per site.",
49
+ },
50
+ {
51
+ "title": "Cross-site rollup",
52
+ "description": "A single audit and citation report spanning the whole portfolio, instead of running `ailk audit` five separate times.",
53
+ },
54
+ {
55
+ "title": "White-label",
56
+ "description": "Client-facing surfaces that carry the agency's brand — not AILK's.",
57
+ },
58
+ {
59
+ "title": "Per-seat licensing",
60
+ "description": "One license structure sized to the team, instead of a Pro subscription billed per client site.",
61
+ },
62
+ ],
63
+ },
64
+ },
65
+ {
66
+ "id": "today-vs-fleet-management-tomorrow",
67
+ "type": "comparison-table",
68
+ "data":
69
+ {
70
+ "headline": "OSS + Pro today vs. fleet management tomorrow",
71
+ "columns":
72
+ [
73
+ { "key": "today", "name": "OSS + Pro (today)" },
74
+ { "key": "agency", "name": "Enterprise entitlement (planned)" },
75
+ ],
76
+ "groups":
77
+ [
78
+ {
79
+ "groupName": "Per-site capability",
80
+ "rows":
81
+ [
82
+ {
83
+ "featureName": "Schema registry, MCP server, `ailk audit` CLI",
84
+ "values": { "today": true, "agency": true },
85
+ },
86
+ {
87
+ "featureName": "One dashboard across all client sites",
88
+ "values": { "today": false, "agency": true },
89
+ },
90
+ {
91
+ "featureName": "Cross-site audit rollup",
92
+ "values": { "today": false, "agency": true },
93
+ },
94
+ {
95
+ "featureName": "White-label client surfaces",
96
+ "values": { "today": false, "agency": true },
97
+ },
98
+ {
99
+ "featureName": "Billing model",
100
+ "values":
101
+ {
102
+ "today": "$249/user/year, per site (Pro)",
103
+ "agency": "Per-seat licensing (planned)",
104
+ },
105
+ },
106
+ ],
107
+ },
108
+ ],
109
+ "footnote": "Availability: express interest only, not a purchasable tier. No ship date is committed.",
110
+ },
111
+ },
112
+ {
113
+ "id": "objection-wheres-fleet-management",
114
+ "type": "objection",
115
+ "data":
116
+ {
117
+ "headline": '"We run a portfolio of client sites. Where''s fleet management?"',
118
+ "items":
119
+ [
120
+ {
121
+ "objection": "We run a portfolio of client sites. Where's fleet management?",
122
+ "response": "Deferred. The capabilities above are 90+ days post-launch, planned as a future Enterprise multi-tenant entitlement, not a separate tier. At launch, agencies deliver on OSS plus Pro, per user. Multi-site management today is per-site, not fleet. If fleet is a hard requirement for your business today, tell us below and we'll reach out when it ships — not before.",
123
+ },
124
+ ],
125
+ },
126
+ },
127
+ {
128
+ "id": "express-interest-fleet-management",
129
+ "type": "newsletter",
130
+ "data":
131
+ {
132
+ "headline": "Tell us fleet management is a priority",
133
+ "description": "One email. We'll reach out when it ships — not before.",
134
+ "action": "/api/waitlist/agency-tier",
135
+ "placeholder": "you@agency.com",
136
+ "submitLabel": "Notify me",
137
+ },
138
+ },
139
+ {
140
+ "id": "secondary-cta-start-pro-trial",
141
+ "type": "cta",
142
+ "data":
143
+ {
144
+ "headline": "Need multi-site management now?",
145
+ "description": "Pro covers the full OSS capability set, per user, per site, today — available now.",
146
+ "primaryCta": { "label": "Start a Pro trial", "href": "/pricing" },
147
+ },
148
+ },
149
+ {
150
+ "id": "fleet-management-faq",
151
+ "type": "faq",
152
+ "data":
153
+ {
154
+ "headline": "Frequently asked questions about fleet management",
155
+ "items":
156
+ [
157
+ {
158
+ "question": "Is fleet management available now?",
159
+ "answer": "No. It's planned for 90+ days post-launch as a future Enterprise multi-tenant entitlement, not a separate tier. Telling us you're interested doesn't grant early access — it queues you for outreach when it ships.",
160
+ },
161
+ {
162
+ "question": "What does telling us you're interested commit me to?",
163
+ "answer": "Nothing. It's free, with no obligation to buy anything when it ships.",
164
+ },
165
+ {
166
+ "question": "Can I manage multiple client sites today without fleet management?",
167
+ "answer": "Yes — per site, the same way it works today: your own OSS install or Pro subscription, full capability set included, on each client site. What you don't get yet is one dashboard or one report across the whole portfolio.",
168
+ },
169
+ {
170
+ "question": "When will fleet management ship?",
171
+ "answer": "No date is committed. It's 90+ days post-launch — we'd rather tell you that than invent a date.",
172
+ },
173
+ {
174
+ "question": "How does fleet management differ from Pro?",
175
+ "answer": "Pro is per-user, per-site — the full capability set, licensed per seat on one site at a time. Fleet management adds those same capabilities across your entire portfolio as a planned Enterprise entitlement, not one site at a time.",
176
+ },
177
+ ],
178
+ },
179
+ },
180
+ ]
181
+ status: "Approved"
182
+ pageKey: "Waitlist"
183
+ entity: "ailaunchkit"
184
+ urlSlug: "waitlist"
185
+ lastUpdated: "2026-07-11"
186
+ pageLevelSchemaType: "LandingPage"
187
+ ---
188
+
189
+ import { JsonLd } from "@/components/JsonLd";
190
+
191
+ <JsonLd
192
+ data={{
193
+ "@context": "https://schema.org",
194
+ "@graph": [
195
+ {
196
+ "@type": "Product",
197
+ "@id": "https://ailaunchkit.ai/#product",
198
+ name: "AI Launch Kit",
199
+ alternateName: [
200
+ "AI Launch Kit by Working Theory",
201
+ "AILK by Working Theory",
202
+ "AILK",
203
+ "@ailaunchkit",
204
+ "@ailk",
205
+ "@working-theory",
206
+ "ai-launch-kit",
207
+ ],
208
+ url: "https://ailaunchkit.ai",
209
+ description:
210
+ "AI Launch Kit is the open-source website foundation for the agent-first internet — Apache 2.0, agent-ready, AEO-scored, deployable in days.",
211
+ sameAs: [
212
+ "https://github.com/working-theory-labs/ai-launch-kit",
213
+ "https://x.com/ailaunchkit",
214
+ "https://www.npmjs.com/org/ailk",
215
+ "https://youtube.com/@working-theory",
216
+ "https://linkedin.com/company/working-theory",
217
+ ],
218
+ foundingDate: "2026",
219
+ manufacturer: {
220
+ "@id": "https://ailaunchkit.ai/#salessmyth-organization",
221
+ "@type": "Organization",
222
+ name: "SalesSmyth LLC",
223
+ },
224
+ brand: {
225
+ "@id": "https://workingtheory.ai/#organization",
226
+ "@type": "Brand",
227
+ name: "Working Theory",
228
+ },
229
+ creator: {
230
+ "@id": "https://samhenry.org/#person",
231
+ "@type": "Person",
232
+ name: "Sam Henry",
233
+ },
234
+ category: "Open-source website foundation",
235
+ applicationCategory: "DeveloperApplication",
236
+ operatingSystem: "Cross-platform (Node.js)",
237
+ license: "https://www.apache.org/licenses/LICENSE-2.0",
238
+ codeRepository: "https://github.com/working-theory-labs/ai-launch-kit",
239
+ offers: [
240
+ {
241
+ "@type": "Offer",
242
+ name: "Free (OSS, Apache 2.0)",
243
+ price: "0",
244
+ priceCurrency: "USD",
245
+ },
246
+ {
247
+ "@type": "Offer",
248
+ name: "Pro",
249
+ price: "249",
250
+ priceCurrency: "USD",
251
+ priceSpecification: {
252
+ "@type": "UnitPriceSpecification",
253
+ price: "249",
254
+ priceCurrency: "USD",
255
+ unitText: "per user per year",
256
+ },
257
+ },
258
+ {
259
+ "@type": "Offer",
260
+ name: "Pro Plus",
261
+ price: "449",
262
+ priceCurrency: "USD",
263
+ priceSpecification: {
264
+ "@type": "UnitPriceSpecification",
265
+ price: "449",
266
+ priceCurrency: "USD",
267
+ unitText: "per user per month",
268
+ },
269
+ },
270
+ {
271
+ "@type": "Offer",
272
+ name: "Launch Service",
273
+ price: "2495",
274
+ priceCurrency: "USD",
275
+ },
276
+ ],
277
+ contributor: [
278
+ { "@type": "SoftwareApplication", name: "Claudio Planck" },
279
+ { "@type": "SoftwareApplication", name: "Anders Stewart" },
280
+ ],
281
+ },
282
+ {
283
+ "@type": "WebPage",
284
+ "@id": "https://ailaunchkit.ai/waitlist#webpage",
285
+ url: "https://ailaunchkit.ai/waitlist",
286
+ name: "Your client portfolio scales one site at a time.",
287
+ description:
288
+ "Fleet management — cross-site rollup, white-label, per-seat licensing — is planned as a future Enterprise multi-tenant entitlement, not shipped yet. Tell us it's a priority and start today on OSS or Pro.",
289
+ isPartOf: { "@id": "https://ailaunchkit.ai/#product" },
290
+ mainEntity: {
291
+ "@type": "FAQPage",
292
+ mainEntity: [
293
+ {
294
+ "@type": "Question",
295
+ name: "Is fleet management available now?",
296
+ acceptedAnswer: {
297
+ "@type": "Answer",
298
+ text: "No. It's planned for 90+ days post-launch as a future Enterprise multi-tenant entitlement, not a separate tier. Telling us you're interested doesn't grant early access — it queues you for outreach when it ships.",
299
+ },
300
+ },
301
+ {
302
+ "@type": "Question",
303
+ name: "What does telling us you're interested commit me to?",
304
+ acceptedAnswer: {
305
+ "@type": "Answer",
306
+ text: "Nothing. It's free, with no obligation to buy anything when it ships.",
307
+ },
308
+ },
309
+ {
310
+ "@type": "Question",
311
+ name: "Can I manage multiple client sites today without fleet management?",
312
+ acceptedAnswer: {
313
+ "@type": "Answer",
314
+ text: "Yes — per site, the same way it works today: your own OSS install or Pro subscription, full capability set included, on each client site. What you don't get yet is one dashboard or one report across the whole portfolio.",
315
+ },
316
+ },
317
+ {
318
+ "@type": "Question",
319
+ name: "When will fleet management ship?",
320
+ acceptedAnswer: {
321
+ "@type": "Answer",
322
+ text: "No date is committed. It's 90+ days post-launch — we'd rather tell you that than invent a date.",
323
+ },
324
+ },
325
+ {
326
+ "@type": "Question",
327
+ name: "How does fleet management differ from Pro?",
328
+ acceptedAnswer: {
329
+ "@type": "Answer",
330
+ text: "Pro is per-user, per-site — the full capability set, licensed per seat on one site at a time. Fleet management adds those same capabilities across your entire portfolio as a planned Enterprise entitlement, not one site at a time.",
331
+ },
332
+ },
333
+ ],
334
+ },
335
+ },
336
+ ],
337
+ }}
338
+ />
339
+
340
+ {/* Rendered from frontmatter `sections[]`; the MDX body is not read by the section-catalog renderer. Landed by land-section-catalog.py (#3111). */}
@@ -0,0 +1,152 @@
1
+ {
2
+ "@context": "https://schema.org",
3
+ "@graph": [
4
+ {
5
+ "@type": "Product",
6
+ "@id": "https://ailaunchkit.ai/#product",
7
+ "name": "AI Launch Kit",
8
+ "alternateName": [
9
+ "AI Launch Kit by Working Theory",
10
+ "AILK by Working Theory",
11
+ "AILK",
12
+ "@ailaunchkit",
13
+ "@ailk",
14
+ "@working-theory",
15
+ "ai-launch-kit"
16
+ ],
17
+ "url": "https://ailaunchkit.ai",
18
+ "description": "AI Launch Kit is the open-source website foundation for the agent-first internet — Apache 2.0, agent-ready, AEO-scored, deployable in days.",
19
+ "sameAs": [
20
+ "https://github.com/working-theory-labs/ai-launch-kit",
21
+ "https://x.com/ailaunchkit",
22
+ "https://www.npmjs.com/org/ailk",
23
+ "https://youtube.com/@working-theory",
24
+ "https://linkedin.com/company/working-theory"
25
+ ],
26
+ "foundingDate": "2026",
27
+ "manufacturer": {
28
+ "@id": "https://ailaunchkit.ai/#salessmyth-organization",
29
+ "@type": "Organization",
30
+ "name": "SalesSmyth LLC"
31
+ },
32
+ "brand": {
33
+ "@id": "https://workingtheory.ai/#organization",
34
+ "@type": "Brand",
35
+ "name": "Working Theory"
36
+ },
37
+ "creator": {
38
+ "@id": "https://samhenry.org/#person",
39
+ "@type": "Person",
40
+ "name": "Sam Henry"
41
+ },
42
+ "category": "Open-source website foundation",
43
+ "applicationCategory": "DeveloperApplication",
44
+ "operatingSystem": "Cross-platform (Node.js)",
45
+ "license": "https://www.apache.org/licenses/LICENSE-2.0",
46
+ "codeRepository": "https://github.com/working-theory-labs/ai-launch-kit",
47
+ "offers": [
48
+ {
49
+ "@type": "Offer",
50
+ "name": "Free (OSS, Apache 2.0)",
51
+ "price": "0",
52
+ "priceCurrency": "USD"
53
+ },
54
+ {
55
+ "@type": "Offer",
56
+ "name": "Pro",
57
+ "price": "249",
58
+ "priceCurrency": "USD",
59
+ "priceSpecification": {
60
+ "@type": "UnitPriceSpecification",
61
+ "price": "249",
62
+ "priceCurrency": "USD",
63
+ "unitText": "per user per year"
64
+ }
65
+ },
66
+ {
67
+ "@type": "Offer",
68
+ "name": "Pro Plus",
69
+ "price": "449",
70
+ "priceCurrency": "USD",
71
+ "priceSpecification": {
72
+ "@type": "UnitPriceSpecification",
73
+ "price": "449",
74
+ "priceCurrency": "USD",
75
+ "unitText": "per user per month"
76
+ }
77
+ },
78
+ {
79
+ "@type": "Offer",
80
+ "name": "Launch Service",
81
+ "price": "2495",
82
+ "priceCurrency": "USD"
83
+ }
84
+ ],
85
+ "contributor": [
86
+ {
87
+ "@type": "SoftwareApplication",
88
+ "name": "Claudio Planck"
89
+ },
90
+ {
91
+ "@type": "SoftwareApplication",
92
+ "name": "Anders Stewart"
93
+ }
94
+ ]
95
+ },
96
+ {
97
+ "@type": "WebPage",
98
+ "@id": "https://ailaunchkit.ai/waitlist#webpage",
99
+ "url": "https://ailaunchkit.ai/waitlist",
100
+ "name": "Your client portfolio scales one site at a time.",
101
+ "description": "Fleet management — cross-site rollup, white-label, per-seat licensing — is planned as a future Enterprise multi-tenant entitlement, not shipped yet. Tell us it's a priority and start today on OSS or Pro.",
102
+ "isPartOf": {
103
+ "@id": "https://ailaunchkit.ai/#product"
104
+ },
105
+ "mainEntity": {
106
+ "@type": "FAQPage",
107
+ "mainEntity": [
108
+ {
109
+ "@type": "Question",
110
+ "name": "Is fleet management available now?",
111
+ "acceptedAnswer": {
112
+ "@type": "Answer",
113
+ "text": "No. It's planned for 90+ days post-launch as a future Enterprise multi-tenant entitlement, not a separate tier. Telling us you're interested doesn't grant early access — it queues you for outreach when it ships."
114
+ }
115
+ },
116
+ {
117
+ "@type": "Question",
118
+ "name": "What does telling us you're interested commit me to?",
119
+ "acceptedAnswer": {
120
+ "@type": "Answer",
121
+ "text": "Nothing. It's free, with no obligation to buy anything when it ships."
122
+ }
123
+ },
124
+ {
125
+ "@type": "Question",
126
+ "name": "Can I manage multiple client sites today without fleet management?",
127
+ "acceptedAnswer": {
128
+ "@type": "Answer",
129
+ "text": "Yes — per site, the same way it works today: your own OSS install or Pro subscription, full capability set included, on each client site. What you don't get yet is one dashboard or one report across the whole portfolio."
130
+ }
131
+ },
132
+ {
133
+ "@type": "Question",
134
+ "name": "When will fleet management ship?",
135
+ "acceptedAnswer": {
136
+ "@type": "Answer",
137
+ "text": "No date is committed. It's 90+ days post-launch — we'd rather tell you that than invent a date."
138
+ }
139
+ },
140
+ {
141
+ "@type": "Question",
142
+ "name": "How does fleet management differ from Pro?",
143
+ "acceptedAnswer": {
144
+ "@type": "Answer",
145
+ "text": "Pro is per-user, per-site — the full capability set, licensed per seat on one site at a time. Fleet management adds those same capabilities across your entire portfolio as a planned Enterprise entitlement, not one site at a time."
146
+ }
147
+ }
148
+ ]
149
+ }
150
+ }
151
+ ]
152
+ }
@@ -0,0 +1,19 @@
1
+ ---
2
+ type: "LandingPage"
3
+ slug: "developers"
4
+ title: "Ship a Next.js starter built for agents and humans from the first commit."
5
+ description: "AI Launch Kit is the Apache 2.0 Next.js starter with peer web, MCP, and API surfaces and CI-enforced parity. Clone it, run the audit, deploy in days."
6
+ sections: [{"id": "hero", "type": "hero", "data": {"headline": "Ship a Next.js starter built for agents and humans from the first commit.", "subheadline": "Apache 2.0. Three peer apps — web, MCP, API — with parity enforced in CI, not bolted on after launch.", "badge": "Apache 2.0 · dogfooded by the team behind Sam Henry, Working Theory, and SalesSmyth", "primaryCta": {"label": "pnpm create ailk@latest", "href": "https://github.com/working-theory-labs/ai-launch-kit#quick-start", "external": true, "variant": "default"}, "secondaryCta": {"label": "Star on GitHub", "href": "https://github.com/working-theory-labs/ai-launch-kit", "external": true, "variant": "ghost"}, "variant": "default"}}, {"id": "insight-page-is-the-citation-unit", "type": "content-block", "data": {"body": "AI systems don't visit sites. They read pages, one at a time, and decide what to cite. When ChatGPT or Perplexity answers a question about your stack, the answer came from pages a model could parse, attribute to a source, and trust enough to quote.\n\nA starter that doesn't structure its own output for that reader stays invisible to it, no matter how clean the code underneath is. That's an architecture problem, not a marketing one. Schema has to be typed, not scraped after the fact. Agents need a callable surface, not a scraped DOM. AILK ships both from the scaffold up.", "variant": "default"}}, {"id": "peer-surfaces-architecture", "type": "feature", "data": {"headline": "What does 'peer surfaces' actually mean in the repo?", "description": "Three apps live in one repo, each a full peer of the others — not a UI with an API bolted on afterward. `apps/web` serves humans, `apps/mcp` serves agents over the Model Context Protocol, and `apps/api` serves programmatic callers over HTTP. A CI test fails the build if any capability drifts out of parity across the three.", "features": [{"title": "apps/web", "description": "The human-facing Next.js app. Renders every schema-typed page type from the typed content registry with server components."}, {"title": "apps/mcp", "description": "A first-class MCP server exposing the same capabilities as apps/web — page reads, schema queries, content actions — to any MCP-compatible agent."}, {"title": "apps/api", "description": "An HTTP API for programmatic callers that aren't MCP clients. Same capability surface, same parity guarantee, enforced by the same CI test."}], "variant": "default"}}, {"id": "apache-2-0-complete-oss", "type": "feature", "data": {"headline": "Is this actually open source, or open-core with the good parts gated?", "description": "Apache 2.0, full stop — not source-available, not free-until-you-scale. Every capability in the OSS layer ships complete: the schema registry, the peer apps, the audit CLI, the scaffolding skills. Pro and Pro Plus add hosted capability on top; neither gates anything already in the clone.", "features": [{"title": "What's free", "description": "The complete substrate: typed schema registry, peer web/MCP/API apps, `ailk audit`, and the `.claude/` scaffolding bundle."}, {"title": "What's paid", "description": "Pro and Pro Plus add hosted capability on top of the clone — they don't unlock anything held back from the OSS layer."}], "variant": "default"}}, {"id": "whats-in-the-oss-layer", "type": "items", "data": {"headline": "What ships in the OSS layer on day one?", "description": "Three things ship in the clone before you write a line of content: a typed schema registry, an AEO audit CLI, and an agent-assisted scaffolding bundle.", "items": [{"title": "Typed schema registry", "description": "60 page-type entries, per-type Zod validation, JSON-LD emitted straight from frontmatter — FAQ, glossary, entity, and identity markup included."}, {"title": "`ailk audit` CLI", "description": "Runs pre-launch and in CI. Scores structural AEO readiness — missing schema, ambiguous entity, pages that don't emit JSON-LD — before the site ships."}, {"title": "Agent-assisted scaffolding", "description": "`create-ailk` generates the three-app skeleton in one command. The `.claude/` bundle ships eight skills, including `scaffold-page`, `add-schema`, and `audit-site`."}], "columns": 3, "variant": "default"}}, {"id": "ailk-vs-saas-starters", "type": "comparison-table", "data": {"headline": "AILK vs ShipFast, create-t3-app, and makerkit: which should you choose?", "description": "Pick a SaaS starter for a dashboard product where auth and billing are the core deliverable. Pick AILK for a marketing site that has to be read and cited by AI systems — SaaS starters don't ship schema-typed content, an MCP server, or AEO scoring. That's not an oversight; it's not what they were built for.", "eyebrow": "AILK vs SaaS starters", "columns": [{"key": "ailk", "name": "AILK", "highlighted": true}, {"key": "saas", "name": "ShipFast / create-t3-app / makerkit"}], "groups": [{"groupName": "Foundation", "rows": [{"featureName": "Auth & billing scaffolding", "values": {"ailk": "Via the `.claude/scaffold-auth` skill", "saas": "Core focus — shipped by default"}}, {"featureName": "Schema-typed content surfaces", "values": {"ailk": true, "saas": false}}, {"featureName": "MCP server (agent-callable)", "values": {"ailk": true, "saas": false}}, {"featureName": "AEO scoring CLI", "values": {"ailk": true, "saas": false}}, {"featureName": "License", "values": {"ailk": "Apache 2.0", "saas": "Varies (MIT / commercial)"}}]}], "separation": "ruled"}}, {"id": "architecture-in-the-repo-not-a-deck", "type": "content-block", "data": {"body": "Clone the repo and check three things yourself: the CI parity test, the deployed `.well-known/mcp.json`, and the `ailk audit` output. None of them require trusting a claim on this page.\n\nThe parity test runs on every PR and fails the build if `apps/mcp` or `apps/api` drifts from `apps/web`'s capability surface. `.well-known/mcp.json` is live at any deployed AILK URL, including this one — request it directly. `ailk audit` runs against any AILK site, this one included, and produces the same structural score we run in CI.\n\nSam Henry, Working Theory, and SalesSmyth all publish on this substrate. That's why the schema registry and the peer-surfaces architecture exist in their current shape — the team hit these problems first and fixed them in the repo.", "variant": "default"}}, {"id": "developer-faq", "type": "faq", "data": {"headline": "Developer questions", "presentation": "expanded", "items": [{"question": "What license is AILK under?", "answer": "Apache 2.0, applied to the entire OSS layer — schema registry, peer apps, audit CLI, and scaffolding skills included. Paid tiers add capability, not access."}, {"question": "What Node and pnpm versions does it require?", "answer": "Node.js 20 or later and pnpm, deployable on any Vercel-compatible target. `create-ailk` checks your local versions before scaffolding."}, {"question": "Does the MCP server actually match the web UI, or is it a subset?", "answer": "Full parity, enforced in CI — not a subset. A PR that adds capability to `apps/web` without matching it in `apps/mcp` and `apps/api` fails the build."}, {"question": "Can I deploy this without Vercel?", "answer": "Yes. Vercel is the one-command path referenced most often, but nothing in the architecture requires it — deploy anywhere that runs a Next.js app."}, {"question": "Is the audit CLI actually free, or a paid-tier teaser?", "answer": "Free, in the OSS clone. `ailk audit` runs locally and in your own CI with no account or paid tier required."}]}}, {"id": "install-cta", "type": "cta", "data": {"headline": "Clone it, run it, read the CI parity test yourself.", "primaryCta": {"label": "pnpm create ailk@latest", "href": "https://github.com/working-theory-labs/ai-launch-kit#quick-start", "external": true, "variant": "default"}, "secondaryCta": {"label": "Star on GitHub", "href": "https://github.com/working-theory-labs/ai-launch-kit", "external": true, "variant": "ghost"}, "variant": "default"}}]
7
+ status: "Approved"
8
+ pageKey: "WebPage (/developers)"
9
+ entity: "ailaunchkit"
10
+ urlSlug: "developers"
11
+ lastUpdated: "2026-07-06"
12
+ pageLevelSchemaType: "LandingPage"
13
+ ---
14
+
15
+ import { JsonLd } from '@/components/JsonLd'
16
+
17
+ <JsonLd data={{"@context": "https://schema.org", "@graph": [{"@type": ["Product", "SoftwareApplication"], "@id": "https://ailaunchkit.ai/#softwareapplication", "name": "AI Launch Kit", "alternateName": ["AI Launch Kit by Working Theory", "AILK by Working Theory", "AILK", "@ailaunchkit", "@ailk", "@working-theory", "ai-launch-kit"], "url": "https://ailaunchkit.ai", "description": "AI Launch Kit is the open-source website foundation for the agent-first internet — Apache 2.0, agent-ready, AEO-scored, deployable in days.", "sameAs": ["https://github.com/working-theory-labs/ai-launch-kit", "https://x.com/ailaunchkit", "https://www.npmjs.com/org/ailk", "https://youtube.com/@working-theory", "https://linkedin.com/company/working-theory"], "foundingDate": "2026", "category": "Open-source website foundation", "applicationCategory": "DeveloperApplication", "operatingSystem": "Cross-platform (Node.js)", "license": "https://www.apache.org/licenses/LICENSE-2.0", "codeRepository": "https://github.com/working-theory-labs/ai-launch-kit", "manufacturer": {"@id": "https://workingtheory.ai/#organization"}, "brand": {"@id": "https://workingtheory.ai/#organization"}, "creator": {"@id": "https://samhenry.org/#person"}, "offers": [{"@type": "Offer", "name": "Free (OSS)", "price": "0", "priceCurrency": "USD"}, {"@type": "Offer", "name": "Pro", "price": "249", "priceCurrency": "USD", "priceSpecification": {"@type": "UnitPriceSpecification", "price": "249", "priceCurrency": "USD", "unitText": "per user per year"}}, {"@type": "Offer", "name": "Pro Plus", "price": "449", "priceCurrency": "USD", "priceSpecification": {"@type": "UnitPriceSpecification", "price": "449", "priceCurrency": "USD", "unitText": "per user per month"}}, {"@type": "Offer", "name": "Launch Service", "price": "2495", "priceCurrency": "USD"}], "contributor": [{"@type": "SoftwareApplication", "name": "Claudio Planck", "description": "AI engineering agent. Contributes to architecture, code review, and implementation across the AILK substrate."}, {"@type": "SoftwareApplication", "name": "Anders Stewart", "description": "AI VP Engineering agent. Owns implementation strategy across the AILK substrate."}]}, {"@type": "WebPage", "@id": "https://ailaunchkit.ai/developers#webpage", "url": "https://ailaunchkit.ai/developers", "name": "Ship a Next.js starter built for agents and humans from the first commit.", "description": "AI Launch Kit is the Apache 2.0 Next.js starter with peer web, MCP, and API surfaces and CI-enforced parity. Clone it, run the audit, deploy in days.", "isPartOf": {"@id": "https://ailaunchkit.ai/#softwareapplication"}, "about": {"@id": "https://ailaunchkit.ai/#softwareapplication"}}]}} />
18
+
19
+ {/* Rendered from frontmatter `sections[]`; the MDX body is not read by the section-catalog renderer. Landed by land-section-catalog.py (#3111). */}
@@ -0,0 +1,109 @@
1
+ {
2
+ "@context": "https://schema.org",
3
+ "@graph": [
4
+ {
5
+ "@type": [
6
+ "Product",
7
+ "SoftwareApplication"
8
+ ],
9
+ "@id": "https://ailaunchkit.ai/#softwareapplication",
10
+ "name": "AI Launch Kit",
11
+ "alternateName": [
12
+ "AI Launch Kit by Working Theory",
13
+ "AILK by Working Theory",
14
+ "AILK",
15
+ "@ailaunchkit",
16
+ "@ailk",
17
+ "@working-theory",
18
+ "ai-launch-kit"
19
+ ],
20
+ "url": "https://ailaunchkit.ai",
21
+ "description": "AI Launch Kit is the open-source website foundation for the agent-first internet — Apache 2.0, agent-ready, AEO-scored, deployable in days.",
22
+ "sameAs": [
23
+ "https://github.com/working-theory-labs/ai-launch-kit",
24
+ "https://x.com/ailaunchkit",
25
+ "https://www.npmjs.com/org/ailk",
26
+ "https://youtube.com/@working-theory",
27
+ "https://linkedin.com/company/working-theory"
28
+ ],
29
+ "foundingDate": "2026",
30
+ "category": "Open-source website foundation",
31
+ "applicationCategory": "DeveloperApplication",
32
+ "operatingSystem": "Cross-platform (Node.js)",
33
+ "license": "https://www.apache.org/licenses/LICENSE-2.0",
34
+ "codeRepository": "https://github.com/working-theory-labs/ai-launch-kit",
35
+ "manufacturer": {
36
+ "@id": "https://workingtheory.ai/#organization"
37
+ },
38
+ "brand": {
39
+ "@id": "https://workingtheory.ai/#organization"
40
+ },
41
+ "creator": {
42
+ "@id": "https://samhenry.org/#person"
43
+ },
44
+ "offers": [
45
+ {
46
+ "@type": "Offer",
47
+ "name": "Free (OSS)",
48
+ "price": "0",
49
+ "priceCurrency": "USD"
50
+ },
51
+ {
52
+ "@type": "Offer",
53
+ "name": "Pro",
54
+ "price": "249",
55
+ "priceCurrency": "USD",
56
+ "priceSpecification": {
57
+ "@type": "UnitPriceSpecification",
58
+ "price": "249",
59
+ "priceCurrency": "USD",
60
+ "unitText": "per user per year"
61
+ }
62
+ },
63
+ {
64
+ "@type": "Offer",
65
+ "name": "Pro Plus",
66
+ "price": "449",
67
+ "priceCurrency": "USD",
68
+ "priceSpecification": {
69
+ "@type": "UnitPriceSpecification",
70
+ "price": "449",
71
+ "priceCurrency": "USD",
72
+ "unitText": "per user per month"
73
+ }
74
+ },
75
+ {
76
+ "@type": "Offer",
77
+ "name": "Launch Service",
78
+ "price": "2495",
79
+ "priceCurrency": "USD"
80
+ }
81
+ ],
82
+ "contributor": [
83
+ {
84
+ "@type": "SoftwareApplication",
85
+ "name": "Claudio Planck",
86
+ "description": "AI engineering agent. Contributes to architecture, code review, and implementation across the AILK substrate."
87
+ },
88
+ {
89
+ "@type": "SoftwareApplication",
90
+ "name": "Anders Stewart",
91
+ "description": "AI VP Engineering agent. Owns implementation strategy across the AILK substrate."
92
+ }
93
+ ]
94
+ },
95
+ {
96
+ "@type": "WebPage",
97
+ "@id": "https://ailaunchkit.ai/developers#webpage",
98
+ "url": "https://ailaunchkit.ai/developers",
99
+ "name": "Ship a Next.js starter built for agents and humans from the first commit.",
100
+ "description": "AI Launch Kit is the Apache 2.0 Next.js starter with peer web, MCP, and API surfaces and CI-enforced parity. Clone it, run the audit, deploy in days.",
101
+ "isPartOf": {
102
+ "@id": "https://ailaunchkit.ai/#softwareapplication"
103
+ },
104
+ "about": {
105
+ "@id": "https://ailaunchkit.ai/#softwareapplication"
106
+ }
107
+ }
108
+ ]
109
+ }