bsmnt 0.4.3 → 0.6.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 (266) hide show
  1. package/README.md +1 -0
  2. package/dist/application/add-hooks/index.d.ts.map +1 -1
  3. package/dist/application/add-hooks/index.js +1 -0
  4. package/dist/application/add-hooks/index.js.map +1 -1
  5. package/dist/application/add-integration/index.d.ts +33 -8
  6. package/dist/application/add-integration/index.d.ts.map +1 -1
  7. package/dist/application/add-integration/index.js +221 -90
  8. package/dist/application/add-integration/index.js.map +1 -1
  9. package/dist/application/create-project/build-context.d.ts +3 -1
  10. package/dist/application/create-project/build-context.d.ts.map +1 -1
  11. package/dist/application/create-project/build-context.js +2 -1
  12. package/dist/application/create-project/build-context.js.map +1 -1
  13. package/dist/application/create-project/index.d.ts +3 -1
  14. package/dist/application/create-project/index.d.ts.map +1 -1
  15. package/dist/application/create-project/index.js +4 -2
  16. package/dist/application/create-project/index.js.map +1 -1
  17. package/dist/application/create-project/map-selection-to-registry.js +1 -1
  18. package/dist/application/create-project/map-selection-to-registry.js.map +1 -1
  19. package/dist/application/install-skills/index.js +1 -1
  20. package/dist/application/install-skills/index.js.map +1 -1
  21. package/dist/application/shared/project-detection.d.ts +2 -2
  22. package/dist/application/shared/project-detection.d.ts.map +1 -1
  23. package/dist/application/shared/project-detection.js +2 -2
  24. package/dist/application/shared/project-detection.js.map +1 -1
  25. package/dist/core/create/execute-plan.d.ts +4 -0
  26. package/dist/core/create/execute-plan.d.ts.map +1 -1
  27. package/dist/core/create/execute-plan.js +8 -0
  28. package/dist/core/create/execute-plan.js.map +1 -1
  29. package/dist/core/create/internal-ids.d.ts +4 -1
  30. package/dist/core/create/internal-ids.d.ts.map +1 -1
  31. package/dist/core/create/internal-ids.js +6 -1
  32. package/dist/core/create/internal-ids.js.map +1 -1
  33. package/dist/core/create/types.d.ts +2 -0
  34. package/dist/core/create/types.d.ts.map +1 -1
  35. package/dist/domain/cms.d.ts +0 -7
  36. package/dist/domain/cms.d.ts.map +1 -1
  37. package/dist/domain/cms.js.map +1 -1
  38. package/dist/domain/forms.d.ts +17 -0
  39. package/dist/domain/forms.d.ts.map +1 -0
  40. package/dist/domain/forms.js +13 -0
  41. package/dist/domain/forms.js.map +1 -0
  42. package/dist/domain/integration.d.ts +30 -0
  43. package/dist/domain/integration.d.ts.map +1 -0
  44. package/dist/domain/integration.js +12 -0
  45. package/dist/domain/integration.js.map +1 -0
  46. package/dist/domain/skills.d.ts +58 -0
  47. package/dist/domain/skills.d.ts.map +1 -1
  48. package/dist/domain/skills.js +52 -0
  49. package/dist/domain/skills.js.map +1 -1
  50. package/dist/index.js +114 -38
  51. package/dist/index.js.map +1 -1
  52. package/dist/infrastructure/agents/register-sanity-mcp.js +9 -6
  53. package/dist/infrastructure/agents/register-sanity-mcp.js.map +1 -1
  54. package/dist/infrastructure/create/apply-package-json.d.ts.map +1 -1
  55. package/dist/infrastructure/create/apply-package-json.js +19 -0
  56. package/dist/infrastructure/create/apply-package-json.js.map +1 -1
  57. package/dist/infrastructure/create/executor.d.ts.map +1 -1
  58. package/dist/infrastructure/create/executor.js +5 -0
  59. package/dist/infrastructure/create/executor.js.map +1 -1
  60. package/dist/infrastructure/create/install-dependencies.d.ts.map +1 -1
  61. package/dist/infrastructure/create/install-dependencies.js +4 -0
  62. package/dist/infrastructure/create/install-dependencies.js.map +1 -1
  63. package/dist/infrastructure/create/lifecycle-registry.d.ts.map +1 -1
  64. package/dist/infrastructure/create/lifecycle-registry.js +2 -0
  65. package/dist/infrastructure/create/lifecycle-registry.js.map +1 -1
  66. package/dist/infrastructure/create/merge-registry.d.ts.map +1 -1
  67. package/dist/infrastructure/create/merge-registry.js +8 -0
  68. package/dist/infrastructure/create/merge-registry.js.map +1 -1
  69. package/dist/infrastructure/create/setup-agent.d.ts +2 -0
  70. package/dist/infrastructure/create/setup-agent.d.ts.map +1 -1
  71. package/dist/infrastructure/create/setup-agent.js +32 -8
  72. package/dist/infrastructure/create/setup-agent.js.map +1 -1
  73. package/dist/infrastructure/create/setup-dotenvx.d.ts +41 -0
  74. package/dist/infrastructure/create/setup-dotenvx.d.ts.map +1 -0
  75. package/dist/infrastructure/create/setup-dotenvx.js +502 -0
  76. package/dist/infrastructure/create/setup-dotenvx.js.map +1 -0
  77. package/dist/infrastructure/create/setup-sanity.d.ts +13 -1
  78. package/dist/infrastructure/create/setup-sanity.d.ts.map +1 -1
  79. package/dist/infrastructure/create/setup-sanity.js +74 -31
  80. package/dist/infrastructure/create/setup-sanity.js.map +1 -1
  81. package/dist/infrastructure/integrations/inject-integration.d.ts +3 -3
  82. package/dist/infrastructure/integrations/inject-integration.d.ts.map +1 -1
  83. package/dist/infrastructure/integrations/inject-integration.js +81 -37
  84. package/dist/infrastructure/integrations/inject-integration.js.map +1 -1
  85. package/dist/modules/features/cms/sanity/config.d.ts.map +1 -1
  86. package/dist/modules/features/cms/sanity/config.js +13 -6
  87. package/dist/modules/features/cms/sanity/config.js.map +1 -1
  88. package/dist/modules/features/cms/sanity/index.js +8 -2
  89. package/dist/modules/features/cms/sanity/index.js.map +1 -1
  90. package/dist/modules/features/cms/sanity/mergers/ci-workflow.d.ts +13 -0
  91. package/dist/modules/features/cms/sanity/mergers/ci-workflow.d.ts.map +1 -0
  92. package/dist/modules/features/cms/sanity/mergers/ci-workflow.js +38 -0
  93. package/dist/modules/features/cms/sanity/mergers/ci-workflow.js.map +1 -0
  94. package/dist/modules/features/cms/sanity/mergers/knip.d.ts +12 -0
  95. package/dist/modules/features/cms/sanity/mergers/knip.d.ts.map +1 -0
  96. package/dist/modules/features/cms/sanity/mergers/knip.js +38 -0
  97. package/dist/modules/features/cms/sanity/mergers/knip.js.map +1 -0
  98. package/dist/modules/features/cms/sanity/mergers/layout.d.ts.map +1 -1
  99. package/dist/modules/features/cms/sanity/mergers/layout.js +17 -3
  100. package/dist/modules/features/cms/sanity/mergers/layout.js.map +1 -1
  101. package/dist/modules/features/cms/sanity/mergers/sitemap.d.ts +3 -3
  102. package/dist/modules/features/cms/sanity/mergers/sitemap.d.ts.map +1 -1
  103. package/dist/modules/features/cms/sanity/mergers/sitemap.js +48 -62
  104. package/dist/modules/features/cms/sanity/mergers/sitemap.js.map +1 -1
  105. package/dist/modules/features/cms/sanity-pagebuilder/config.d.ts.map +1 -1
  106. package/dist/modules/features/cms/sanity-pagebuilder/config.js +8 -5
  107. package/dist/modules/features/cms/sanity-pagebuilder/config.js.map +1 -1
  108. package/dist/modules/features/cms/sanity-pagebuilder/index.js +2 -2
  109. package/dist/modules/features/cms/sanity-pagebuilder/index.js.map +1 -1
  110. package/dist/modules/features/env/dotenvx/config.d.ts +13 -0
  111. package/dist/modules/features/env/dotenvx/config.d.ts.map +1 -0
  112. package/dist/modules/features/env/dotenvx/config.js +47 -0
  113. package/dist/modules/features/env/dotenvx/config.js.map +1 -0
  114. package/dist/modules/features/forms/hubspot/config.d.ts +31 -0
  115. package/dist/modules/features/forms/hubspot/config.d.ts.map +1 -0
  116. package/dist/modules/features/forms/hubspot/config.js +25 -0
  117. package/dist/modules/features/forms/hubspot/config.js.map +1 -0
  118. package/dist/paths.d.ts +16 -0
  119. package/dist/paths.d.ts.map +1 -1
  120. package/dist/paths.js +16 -0
  121. package/dist/paths.js.map +1 -1
  122. package/package.json +21 -9
  123. package/src/agent-skills/json-ld/SKILL.md +85 -0
  124. package/src/agent-skills/manage-env/SKILL.md +67 -0
  125. package/src/assets/check-node-version.mjs +22 -0
  126. package/src/modules/features/cms/sanity/files/app/blog/[slug]/page.tsx +48 -21
  127. package/src/modules/features/cms/sanity/files/app/blog/page.tsx +54 -0
  128. package/src/modules/features/cms/sanity/files/app/feed.xml/route.ts +36 -0
  129. package/src/modules/features/cms/sanity/files/components/sanity/structured-data.tsx +83 -0
  130. package/src/modules/features/cms/sanity/files/lib/integrations/sanity/components/disable-draft-mode.tsx +3 -3
  131. package/src/modules/features/cms/sanity/files/lib/integrations/sanity/queries.ts +14 -0
  132. package/src/modules/features/cms/sanity/files/lib/integrations/sanity/sanity.config.ts +19 -3
  133. package/src/modules/features/cms/sanity/files/lib/integrations/sanity/sanity.types.ts +1 -0
  134. package/src/modules/features/cms/sanity/files/lib/integrations/sanity/schemas/article.ts +7 -7
  135. package/src/modules/features/cms/sanity/files/lib/integrations/sanity/schemas/index.ts +36 -1
  136. package/src/modules/features/cms/sanity/files/lib/integrations/sanity/schemas/metadata.ts +12 -1
  137. package/src/modules/features/cms/sanity/files/lib/integrations/sanity/schemas/structured-data-blocks.ts +416 -0
  138. package/src/modules/features/cms/sanity/files/lib/integrations/sanity/schemas/structured-data.ts +100 -0
  139. package/src/modules/features/cms/sanity/files/lib/integrations/sanity/structure.ts +37 -2
  140. package/src/modules/features/cms/sanity/files/lib/integrations/sanity/utils/page-json-ld.ts +208 -0
  141. package/src/modules/features/cms/sanity/files/lib/scripts/setup-ci-secrets.ts +117 -0
  142. package/src/modules/features/cms/sanity/files/lib/utils/rss.ts +96 -0
  143. package/src/modules/features/cms/sanity-pagebuilder/files/.knip.json +8 -0
  144. package/src/modules/features/cms/sanity-pagebuilder/files/app/api/[[...slug]]/route.ts +100 -0
  145. package/src/modules/features/cms/sanity-pagebuilder/files/app/api/draft-mode/disable/route.ts +7 -0
  146. package/src/modules/features/cms/sanity-pagebuilder/files/app/api/draft-mode/enable/route.ts +20 -0
  147. package/src/modules/features/cms/sanity-pagebuilder/files/app/api/revalidate/route.ts +126 -0
  148. package/src/modules/features/cms/sanity-pagebuilder/files/app/feed.xml/route.ts +40 -0
  149. package/src/modules/features/cms/sanity-pagebuilder/files/app/sitemap.md/route.ts +124 -0
  150. package/src/modules/features/cms/sanity-pagebuilder/files/app/studio/[[...tool]]/page.tsx +8 -0
  151. package/src/modules/features/cms/sanity-pagebuilder/files/components/sanity/draft-mode-toggle.tsx +27 -0
  152. package/src/modules/features/cms/sanity-pagebuilder/files/components/sanity/rich-text.tsx +87 -0
  153. package/src/modules/features/cms/sanity-pagebuilder/files/components/sanity/visual-editing.tsx +28 -0
  154. package/src/modules/features/cms/sanity-pagebuilder/files/components/ui/sanity-image/index.tsx +41 -0
  155. package/src/modules/features/cms/sanity-pagebuilder/files/lib/integrations/check-integration.ts +5 -0
  156. package/src/modules/features/cms/sanity-pagebuilder/files/lib/integrations/sanity/client.ts +27 -0
  157. package/src/modules/features/cms/sanity-pagebuilder/files/lib/integrations/sanity/components/disable-draft-mode.tsx +23 -0
  158. package/src/modules/features/cms/sanity-pagebuilder/files/lib/integrations/sanity/components/page-builder-input.tsx +39 -0
  159. package/src/modules/features/cms/sanity-pagebuilder/files/lib/integrations/sanity/components/page-category-input.tsx +50 -0
  160. package/src/modules/features/cms/sanity-pagebuilder/files/lib/integrations/sanity/components/same-as-input.tsx +66 -0
  161. package/src/modules/features/cms/sanity-pagebuilder/files/lib/integrations/sanity/components/slug-field.tsx +18 -0
  162. package/src/modules/features/cms/sanity-pagebuilder/files/lib/integrations/sanity/components/slug-input.tsx +14 -0
  163. package/src/modules/features/cms/sanity-pagebuilder/files/lib/integrations/sanity/confirm-publish-action.ts +40 -0
  164. package/src/modules/features/cms/sanity-pagebuilder/files/lib/integrations/sanity/env.ts +34 -0
  165. package/src/modules/features/cms/sanity-pagebuilder/files/lib/integrations/sanity/fetchers/layout.ts +67 -0
  166. package/src/modules/features/cms/sanity-pagebuilder/files/lib/integrations/sanity/fetchers/redirects.ts +17 -0
  167. package/src/modules/features/cms/sanity-pagebuilder/files/lib/integrations/sanity/icons.ts +79 -0
  168. package/src/modules/features/cms/sanity-pagebuilder/files/lib/integrations/sanity/live/index.tsx +88 -0
  169. package/src/modules/features/cms/sanity-pagebuilder/files/lib/integrations/sanity/markdown-proxy.config.ts +50 -0
  170. package/src/modules/features/cms/sanity-pagebuilder/files/lib/integrations/sanity/page-builder-config.ts +130 -0
  171. package/src/modules/features/cms/sanity-pagebuilder/files/lib/integrations/sanity/page-category.ts +28 -0
  172. package/src/modules/features/cms/sanity-pagebuilder/files/lib/integrations/sanity/page-tree-pane.tsx +420 -0
  173. package/src/modules/features/cms/sanity-pagebuilder/files/lib/integrations/sanity/pinned-pages.ts +54 -0
  174. package/src/modules/features/cms/sanity-pagebuilder/files/lib/integrations/sanity/presentation.ts +119 -0
  175. package/src/modules/features/cms/sanity-pagebuilder/files/lib/integrations/sanity/queries.ts +407 -0
  176. package/src/modules/features/cms/sanity-pagebuilder/files/lib/integrations/sanity/sanity.cli.ts +29 -0
  177. package/src/modules/features/cms/sanity-pagebuilder/files/lib/integrations/sanity/sanity.config.ts +113 -0
  178. package/src/modules/features/cms/sanity-pagebuilder/files/lib/integrations/sanity/schemas/components/index.ts +4 -0
  179. package/src/modules/features/cms/sanity-pagebuilder/files/lib/integrations/sanity/schemas/components/reusable/blog-content.ts +89 -0
  180. package/src/modules/features/cms/sanity-pagebuilder/files/lib/integrations/sanity/schemas/components/reusable/description.ts +29 -0
  181. package/src/modules/features/cms/sanity-pagebuilder/files/lib/integrations/sanity/schemas/components/reusable/hero.ts +28 -0
  182. package/src/modules/features/cms/sanity-pagebuilder/files/lib/integrations/sanity/schemas/components/singleton/content-collection.ts +45 -0
  183. package/src/modules/features/cms/sanity-pagebuilder/files/lib/integrations/sanity/schemas/content/author.ts +70 -0
  184. package/src/modules/features/cms/sanity-pagebuilder/files/lib/integrations/sanity/schemas/content/blog-category.ts +55 -0
  185. package/src/modules/features/cms/sanity-pagebuilder/files/lib/integrations/sanity/schemas/index.ts +124 -0
  186. package/src/modules/features/cms/sanity-pagebuilder/files/lib/integrations/sanity/schemas/layout/company-data.ts +70 -0
  187. package/src/modules/features/cms/sanity-pagebuilder/files/lib/integrations/sanity/schemas/layout/footer.ts +79 -0
  188. package/src/modules/features/cms/sanity-pagebuilder/files/lib/integrations/sanity/schemas/layout/navbar.ts +75 -0
  189. package/src/modules/features/cms/sanity-pagebuilder/files/lib/integrations/sanity/schemas/layout/redirect.ts +120 -0
  190. package/src/modules/features/cms/sanity-pagebuilder/files/lib/integrations/sanity/schemas/layout/structured-data.ts +124 -0
  191. package/src/modules/features/cms/sanity-pagebuilder/files/lib/integrations/sanity/schemas/shared/link.ts +125 -0
  192. package/src/modules/features/cms/sanity-pagebuilder/files/lib/integrations/sanity/schemas/shared/logo-field.ts +9 -0
  193. package/src/modules/features/cms/sanity-pagebuilder/files/lib/integrations/sanity/schemas/shared/metadata.ts +79 -0
  194. package/src/modules/features/cms/sanity-pagebuilder/files/lib/integrations/sanity/schemas/shared/nav-objects.ts +192 -0
  195. package/src/modules/features/cms/sanity-pagebuilder/files/lib/integrations/sanity/schemas/shared/page-builder.ts +39 -0
  196. package/src/modules/features/cms/sanity-pagebuilder/files/lib/integrations/sanity/schemas/shared/page-folder.ts +124 -0
  197. package/src/modules/features/cms/sanity-pagebuilder/files/lib/integrations/sanity/schemas/shared/page.ts +242 -0
  198. package/src/modules/features/cms/sanity-pagebuilder/files/lib/integrations/sanity/schemas/shared/richText.ts +63 -0
  199. package/src/modules/features/cms/sanity-pagebuilder/files/lib/integrations/sanity/schemas/shared/structured-data-blocks.ts +436 -0
  200. package/src/modules/features/cms/sanity-pagebuilder/files/lib/integrations/sanity/singletons.ts +51 -0
  201. package/src/modules/features/cms/sanity-pagebuilder/files/lib/integrations/sanity/structure.ts +330 -0
  202. package/src/modules/features/cms/sanity-pagebuilder/files/lib/integrations/sanity/utils/image.ts +8 -0
  203. package/src/modules/features/cms/sanity-pagebuilder/files/lib/integrations/sanity/utils/link.ts +140 -0
  204. package/src/modules/features/cms/sanity-pagebuilder/files/lib/integrations/sanity/utils/page-builder-markdown.ts +81 -0
  205. package/src/modules/features/cms/sanity-pagebuilder/files/lib/integrations/sanity/utils/page-json-ld.ts +208 -0
  206. package/src/modules/features/cms/sanity-pagebuilder/files/lib/scripts/sanity-typegen.ts +45 -0
  207. package/src/modules/features/cms/sanity-pagebuilder/files/lib/utils/check-redirect.ts +30 -0
  208. package/src/modules/features/cms/sanity-pagebuilder/files/lib/utils/json-ld.tsx +521 -0
  209. package/src/modules/features/cms/sanity-pagebuilder/files/lib/utils/metadata.ts +167 -0
  210. package/src/modules/features/cms/sanity-pagebuilder/files/lib/utils/rss.ts +96 -0
  211. package/src/modules/features/cms/sanity-pagebuilder/files/lib/utils/sitemap.ts +40 -0
  212. package/src/modules/features/cms/sanity-pagebuilder/files/proxy.ts +81 -0
  213. package/src/modules/features/env/dotenvx/files/decrypt-env.mjs +45 -0
  214. package/src/modules/features/env/dotenvx/files/gitleaks.yml +25 -0
  215. package/src/modules/features/env/dotenvx/files/instrumentation.ts +14 -0
  216. package/src/modules/features/env/dotenvx/files/push-keys.mjs +129 -0
  217. package/src/modules/features/env/dotenvx/files/save-key.mjs +108 -0
  218. package/src/modules/features/env/dotenvx/files/setup-env.mjs +67 -0
  219. package/src/modules/features/env/dotenvx/files/vercelignore +4 -0
  220. package/src/modules/features/env/dotenvx/files/write-env.mjs +47 -0
  221. package/src/templates/next-default/.env.example +14 -6
  222. package/src/templates/next-default/.github/workflows/ci.yml +83 -0
  223. package/src/templates/next-default/.vscode/extensions.json +3 -0
  224. package/src/templates/next-default/README.md +53 -0
  225. package/src/templates/next-default/knip.json +14 -0
  226. package/src/templates/next-default/lefthook.yml +5 -0
  227. package/src/templates/next-default/lib/utils/json-ld.tsx +327 -21
  228. package/src/templates/next-default/next.config.ts +6 -0
  229. package/src/templates/next-default/package.json +8 -4
  230. package/src/templates/next-experiments/.env.example +14 -6
  231. package/src/templates/next-experiments/.github/workflows/ci.yml +83 -0
  232. package/src/templates/next-experiments/.vscode/extensions.json +3 -0
  233. package/src/templates/next-experiments/README.md +53 -0
  234. package/src/templates/next-experiments/knip.json +14 -0
  235. package/src/templates/next-experiments/lefthook.yml +30 -0
  236. package/src/templates/next-experiments/lib/utils/json-ld.tsx +327 -21
  237. package/src/templates/next-experiments/next.config.ts +6 -0
  238. package/src/templates/next-experiments/package.json +10 -2
  239. package/src/templates/next-pagebuilder/.env.example +19 -1
  240. package/src/templates/next-pagebuilder/.github/workflows/ci.yml +90 -0
  241. package/src/templates/next-pagebuilder/.vscode/extensions.json +3 -0
  242. package/src/templates/next-pagebuilder/README.md +65 -0
  243. package/src/templates/next-pagebuilder/app/(content)/[[...slug]]/page.tsx +6 -1
  244. package/src/templates/next-pagebuilder/app/(content)/layout.tsx +3 -12
  245. package/src/templates/next-pagebuilder/components/layout/footer/index.tsx +11 -10
  246. package/src/templates/next-pagebuilder/components/layout/header/index.tsx +5 -3
  247. package/src/templates/next-pagebuilder/components/layout/json-ld/index.tsx +38 -26
  248. package/src/templates/next-pagebuilder/components/layout/wrapper/index.tsx +3 -11
  249. package/src/templates/next-pagebuilder/components/page-builder/components/content-collection/index.tsx +1 -1
  250. package/src/templates/next-pagebuilder/components/page-document/index.tsx +38 -0
  251. package/src/templates/next-pagebuilder/knip.json +27 -0
  252. package/src/templates/next-pagebuilder/lefthook.yml +5 -0
  253. package/src/templates/next-pagebuilder/lib/integrations/sanity/sanity.types.ts +36 -2
  254. package/src/templates/next-pagebuilder/lib/scripts/setup-ci-secrets.ts +117 -0
  255. package/src/templates/next-pagebuilder/next.config.ts +6 -0
  256. package/src/templates/next-pagebuilder/package.json +9 -3
  257. package/src/templates/next-webgl/.env.example +14 -6
  258. package/src/templates/next-webgl/.github/workflows/ci.yml +83 -0
  259. package/src/templates/next-webgl/.vscode/extensions.json +3 -0
  260. package/src/templates/next-webgl/README.md +53 -0
  261. package/src/templates/next-webgl/knip.json +13 -0
  262. package/src/templates/next-webgl/lefthook.yml +5 -0
  263. package/src/templates/next-webgl/lib/utils/json-ld.tsx +327 -21
  264. package/src/templates/next-webgl/next.config.ts +6 -0
  265. package/src/templates/next-webgl/package.json +8 -4
  266. package/src/modules/features/cms/sanity/files/lib/utils/json-ld.tsx +0 -244
@@ -16,7 +16,7 @@ import { resolveComposableCreateSelection } from "./resolve-selection.js";
16
16
  * pipeline through the infrastructure executor.
17
17
  */
18
18
  export async function createProject(options) {
19
- const { projectName, targetDir, template, cms, animation, agents, hooks } = options;
19
+ const { projectName, targetDir, template, cms, animation, agents, hooks, dotenvx = true, } = options;
20
20
  const selection = resolveComposableCreateSelection({
21
21
  template,
22
22
  cms,
@@ -28,6 +28,7 @@ export async function createProject(options) {
28
28
  selection,
29
29
  projectName,
30
30
  targetDir,
31
+ dotenvx,
31
32
  registry: createRegistry({
32
33
  presets: presetModules,
33
34
  features: [
@@ -49,12 +50,13 @@ export async function createProject(options) {
49
50
  * execute file/package work, run lifecycle hooks, then report post-create
50
51
  * effects such as Sanity setup.
51
52
  */
52
- export async function runComposableCreateProject({ selection, projectName, targetDir, pathPrefix, registry, executor, }) {
53
+ export async function runComposableCreateProject({ selection, projectName, targetDir, pathPrefix, dotenvx, registry, executor, }) {
53
54
  const context = buildCreateContext({
54
55
  selection,
55
56
  projectName,
56
57
  targetDir,
57
58
  pathPrefix,
59
+ dotenvx,
58
60
  });
59
61
  const registrySelection = mapSelectionToRegistry(selection);
60
62
  const plan = buildCreatePlan({
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/application/create-project/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,iCAAiC,CAAC;AAClE,OAAO,EAEN,iBAAiB,GACjB,MAAM,mCAAmC,CAAC;AAC3C,OAAO,EAAE,yBAAyB,EAAE,MAAM,mCAAmC,CAAC;AAC9E,OAAO,EAEN,cAAc,GACd,MAAM,+BAA+B,CAAC;AAOvC,OAAO,EAAE,kCAAkC,EAAE,MAAM,yCAAyC,CAAC;AAC7F,OAAO,EAAE,aAAa,EAAE,MAAM,wCAAwC,CAAC;AACvE,OAAO,EAAE,iBAAiB,EAAE,MAAM,2CAA2C,CAAC;AAC9E,OAAO,EAAE,WAAW,EAAE,MAAM,qCAAqC,CAAC;AAClE,OAAO,EAAE,YAAY,EAAE,MAAM,uCAAuC,CAAC;AACrE,OAAO,EAAE,aAAa,EAAE,MAAM,gCAAgC,CAAC;AAC/D,OAAO,EAEN,kBAAkB,GAClB,MAAM,oBAAoB,CAAC;AAC5B,OAAO,EAAE,sBAAsB,EAAE,MAAM,gCAAgC,CAAC;AACxE,OAAO,EAAE,gCAAgC,EAAE,MAAM,wBAAwB,CAAC;AA8B1E;;;GAGG;AACH,MAAM,CAAC,KAAK,UAAU,aAAa,CAClC,OAA6B;IAE7B,MAAM,EAAE,WAAW,EAAE,SAAS,EAAE,QAAQ,EAAE,GAAG,EAAE,SAAS,EAAE,MAAM,EAAE,KAAK,EAAE,GACxE,OAAO,CAAC;IAET,MAAM,SAAS,GAAG,gCAAgC,CAAC;QAClD,QAAQ;QACR,GAAG;QACH,SAAS;QACT,MAAM;QACN,KAAK;KACL,CAAC,CAAC;IAEH,MAAM,MAAM,GAAG,MAAM,0BAA0B,CAAC;QAC/C,SAAS;QACT,WAAW;QACX,SAAS;QACT,QAAQ,EAAE,cAAc,CAAC;YACxB,OAAO,EAAE,aAAa;YACtB,QAAQ,EAAE;gBACT,GAAG,WAAW;gBACd,GAAG,iBAAiB;gBACpB,GAAG,YAAY;gBACf,GAAG,aAAa;aAChB;SACD,CAAC;QACF,QAAQ,EAAE,kCAAkC,EAAE;KAC9C,CAAC,CAAC;IAEH,OAAO;QACN,OAAO,EAAE,IAAI;QACb,eAAe,EAAE,MAAM,CAAC,eAAe;KACvC,CAAC;AACH,CAAC;AAED;;;;GAIG;AACH,MAAM,CAAC,KAAK,UAAU,0BAA0B,CAAC,EAChD,SAAS,EACT,WAAW,EACX,SAAS,EACT,UAAU,EACV,QAAQ,EACR,QAAQ,GAC2B;IACnC,MAAM,OAAO,GAAG,kBAAkB,CAAC;QAClC,SAAS;QACT,WAAW;QACX,SAAS;QACT,UAAU;KACV,CAAC,CAAC;IACH,MAAM,iBAAiB,GAAG,sBAAsB,CAAC,SAAS,CAAC,CAAC;IAE5D,MAAM,IAAI,GAAG,eAAe,CAAC;QAC5B,SAAS,EAAE,iBAAiB;QAC5B,OAAO;QACP,QAAQ;KACR,CAAC,CAAC;IAEH,MAAM,eAAe,GAAG,MAAM,iBAAiB,CAAC,IAAI,EAAE,OAAO,EAAE,QAAQ,CAAC,CAAC;IAEzE,OAAO;QACN,eAAe,EAAE,eAAe,CAAC,yBAAyB,CAAC,QAAQ,CAClE,yBAAyB,CAAC,kBAAkB,CAC5C;KACD,CAAC;AACH,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/application/create-project/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,iCAAiC,CAAC;AAClE,OAAO,EAEN,iBAAiB,GACjB,MAAM,mCAAmC,CAAC;AAC3C,OAAO,EAAE,yBAAyB,EAAE,MAAM,mCAAmC,CAAC;AAC9E,OAAO,EAEN,cAAc,GACd,MAAM,+BAA+B,CAAC;AAOvC,OAAO,EAAE,kCAAkC,EAAE,MAAM,yCAAyC,CAAC;AAC7F,OAAO,EAAE,aAAa,EAAE,MAAM,wCAAwC,CAAC;AACvE,OAAO,EAAE,iBAAiB,EAAE,MAAM,2CAA2C,CAAC;AAC9E,OAAO,EAAE,WAAW,EAAE,MAAM,qCAAqC,CAAC;AAClE,OAAO,EAAE,YAAY,EAAE,MAAM,uCAAuC,CAAC;AACrE,OAAO,EAAE,aAAa,EAAE,MAAM,gCAAgC,CAAC;AAC/D,OAAO,EAEN,kBAAkB,GAClB,MAAM,oBAAoB,CAAC;AAC5B,OAAO,EAAE,sBAAsB,EAAE,MAAM,gCAAgC,CAAC;AACxE,OAAO,EAAE,gCAAgC,EAAE,MAAM,wBAAwB,CAAC;AAgC1E;;;GAGG;AACH,MAAM,CAAC,KAAK,UAAU,aAAa,CAClC,OAA6B;IAE7B,MAAM,EACL,WAAW,EACX,SAAS,EACT,QAAQ,EACR,GAAG,EACH,SAAS,EACT,MAAM,EACN,KAAK,EACL,OAAO,GAAG,IAAI,GACd,GAAG,OAAO,CAAC;IAEZ,MAAM,SAAS,GAAG,gCAAgC,CAAC;QAClD,QAAQ;QACR,GAAG;QACH,SAAS;QACT,MAAM;QACN,KAAK;KACL,CAAC,CAAC;IAEH,MAAM,MAAM,GAAG,MAAM,0BAA0B,CAAC;QAC/C,SAAS;QACT,WAAW;QACX,SAAS;QACT,OAAO;QACP,QAAQ,EAAE,cAAc,CAAC;YACxB,OAAO,EAAE,aAAa;YACtB,QAAQ,EAAE;gBACT,GAAG,WAAW;gBACd,GAAG,iBAAiB;gBACpB,GAAG,YAAY;gBACf,GAAG,aAAa;aAChB;SACD,CAAC;QACF,QAAQ,EAAE,kCAAkC,EAAE;KAC9C,CAAC,CAAC;IAEH,OAAO;QACN,OAAO,EAAE,IAAI;QACb,eAAe,EAAE,MAAM,CAAC,eAAe;KACvC,CAAC;AACH,CAAC;AAED;;;;GAIG;AACH,MAAM,CAAC,KAAK,UAAU,0BAA0B,CAAC,EAChD,SAAS,EACT,WAAW,EACX,SAAS,EACT,UAAU,EACV,OAAO,EACP,QAAQ,EACR,QAAQ,GAC2B;IACnC,MAAM,OAAO,GAAG,kBAAkB,CAAC;QAClC,SAAS;QACT,WAAW;QACX,SAAS;QACT,UAAU;QACV,OAAO;KACP,CAAC,CAAC;IACH,MAAM,iBAAiB,GAAG,sBAAsB,CAAC,SAAS,CAAC,CAAC;IAE5D,MAAM,IAAI,GAAG,eAAe,CAAC;QAC5B,SAAS,EAAE,iBAAiB;QAC5B,OAAO;QACP,QAAQ;KACR,CAAC,CAAC;IAEH,MAAM,eAAe,GAAG,MAAM,iBAAiB,CAAC,IAAI,EAAE,OAAO,EAAE,QAAQ,CAAC,CAAC;IAEzE,OAAO;QACN,eAAe,EAAE,eAAe,CAAC,yBAAyB,CAAC,QAAQ,CAClE,yBAAyB,CAAC,kBAAkB,CAC5C;KACD,CAAC;AACH,CAAC"}
@@ -14,7 +14,7 @@ export function mapSelectionToRegistry(selection) {
14
14
  function mapCmsToFeatureId(cms) {
15
15
  if (cms === null)
16
16
  return null;
17
- return CMS_FEATURE_MODULE_IDS[cms];
17
+ return CMS_FEATURE_MODULE_IDS[cms] ?? null;
18
18
  }
19
19
  function mapAnimationToFeatureId(animation) {
20
20
  if (animation === null)
@@ -1 +1 @@
1
- {"version":3,"file":"map-selection-to-registry.js","sourceRoot":"","sources":["../../../src/application/create-project/map-selection-to-registry.ts"],"names":[],"mappings":"AAAA,OAAO,EACN,wBAAwB,EACxB,4BAA4B,EAC5B,sBAAsB,EACtB,uBAAuB,EACvB,iBAAiB,GACjB,MAAM,mCAAmC,CAAC;AAO3C,MAAM,UAAU,sBAAsB,CACrC,SAA0B;IAE1B,MAAM,UAAU,GAAG;QAClB,iBAAiB,CAAC,SAAS,CAAC,GAAG,CAAC;QAChC,uBAAuB,CAAC,SAAS,CAAC,SAAS,CAAC;QAC5C,GAAG,SAAS,CAAC,MAAM,CAAC,GAAG,CAAC,mBAAmB,CAAC;QAC5C,GAAG,SAAS,CAAC,KAAK,CAAC,GAAG,CAAC,kBAAkB,CAAC;KAC1C,CAAC,MAAM,CAAC,CAAC,SAAS,EAAgC,EAAE,CAAC,SAAS,KAAK,IAAI,CAAC,CAAC;IAE1E,OAAO;QACN,QAAQ,EAAE,iBAAiB,CAAC,SAAS,CAAC,QAAQ,CAAC;QAC/C,UAAU;KACV,CAAC;AACH,CAAC;AAED,SAAS,iBAAiB,CACzB,GAA2B;IAE3B,IAAI,GAAG,KAAK,IAAI;QAAE,OAAO,IAAI,CAAC;IAC9B,OAAO,sBAAsB,CAAC,GAAG,CAAC,CAAC;AACpC,CAAC;AAED,SAAS,uBAAuB,CAC/B,SAAuC;IAEvC,IAAI,SAAS,KAAK,IAAI;QAAE,OAAO,IAAI,CAAC;IACpC,OAAO,4BAA4B,CAAC,SAAS,CAAC,CAAC;AAChD,CAAC;AAED,SAAS,mBAAmB,CAC3B,KAAwC;IAExC,OAAO,wBAAwB,CAAC,KAAK,CAAC,CAAC;AACxC,CAAC;AAED,SAAS,kBAAkB,CAC1B,IAAsC;IAEtC,OAAO,uBAAuB,CAAC,IAAI,CAAC,CAAC;AACtC,CAAC"}
1
+ {"version":3,"file":"map-selection-to-registry.js","sourceRoot":"","sources":["../../../src/application/create-project/map-selection-to-registry.ts"],"names":[],"mappings":"AAAA,OAAO,EACN,wBAAwB,EACxB,4BAA4B,EAC5B,sBAAsB,EACtB,uBAAuB,EACvB,iBAAiB,GACjB,MAAM,mCAAmC,CAAC;AAO3C,MAAM,UAAU,sBAAsB,CACrC,SAA0B;IAE1B,MAAM,UAAU,GAAG;QAClB,iBAAiB,CAAC,SAAS,CAAC,GAAG,CAAC;QAChC,uBAAuB,CAAC,SAAS,CAAC,SAAS,CAAC;QAC5C,GAAG,SAAS,CAAC,MAAM,CAAC,GAAG,CAAC,mBAAmB,CAAC;QAC5C,GAAG,SAAS,CAAC,KAAK,CAAC,GAAG,CAAC,kBAAkB,CAAC;KAC1C,CAAC,MAAM,CAAC,CAAC,SAAS,EAAgC,EAAE,CAAC,SAAS,KAAK,IAAI,CAAC,CAAC;IAE1E,OAAO;QACN,QAAQ,EAAE,iBAAiB,CAAC,SAAS,CAAC,QAAQ,CAAC;QAC/C,UAAU;KACV,CAAC;AACH,CAAC;AAED,SAAS,iBAAiB,CACzB,GAA2B;IAE3B,IAAI,GAAG,KAAK,IAAI;QAAE,OAAO,IAAI,CAAC;IAC9B,OAAO,sBAAsB,CAAC,GAAG,CAAC,IAAI,IAAI,CAAC;AAC5C,CAAC;AAED,SAAS,uBAAuB,CAC/B,SAAuC;IAEvC,IAAI,SAAS,KAAK,IAAI;QAAE,OAAO,IAAI,CAAC;IACpC,OAAO,4BAA4B,CAAC,SAAS,CAAC,CAAC;AAChD,CAAC;AAED,SAAS,mBAAmB,CAC3B,KAAwC;IAExC,OAAO,wBAAwB,CAAC,KAAK,CAAC,CAAC;AACxC,CAAC;AAED,SAAS,kBAAkB,CAC1B,IAAsC;IAEtC,OAAO,uBAAuB,CAAC,IAAI,CAAC,CAAC;AACtC,CAAC"}
@@ -82,7 +82,7 @@ export async function installSkills() {
82
82
  value: agent.cliArg,
83
83
  })),
84
84
  min: 1,
85
- hint: "Space to select, Enter to confirm",
85
+ instructions: false,
86
86
  }));
87
87
  if (!agents || agents.length === 0) {
88
88
  console.log(pc.yellow("\n No agents selected. Operation cancelled.\n"));
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/application/install-skills/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,oBAAoB,CAAC;AAC9C,OAAO,GAAG,MAAM,KAAK,CAAC;AACtB,OAAO,EAAE,MAAM,YAAY,CAAC;AAC5B,OAAO,OAAO,MAAM,SAAS,CAAC;AAC9B,OAAO,EAAE,aAAa,EAAE,MAAM,wBAAwB,CAAC;AACvD,OAAO,EACN,cAAc,EACd,wBAAwB,EACxB,yBAAyB,EACzB,MAAM,GACN,MAAM,wBAAwB,CAAC;AAEhC,8EAA8E;AAC9E,UAAU;AACV,8EAA8E;AAE9E;;;;GAIG;AACH,SAAS,qBAAqB;IAC7B,IAAI,CAAC;QACJ,MAAM,MAAM,GAAG,QAAQ,CAAC,qBAAqB,EAAE;YAC9C,KAAK,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC;YAC/B,OAAO,EAAE,MAAM;SACf,CAAC,CAAC,QAAQ,EAAE,CAAC;QAEd,MAAM,SAAS,GAAG,IAAI,GAAG,EAAU,CAAC;QAEpC,KAAK,MAAM,IAAI,IAAI,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC;YACvC,MAAM,OAAO,GAAG,IAAI,CAAC,IAAI,EAAE,CAAC;YAC5B,IAAI,CAAC,OAAO;gBAAE,SAAS;YAEvB,KAAK,MAAM,OAAO,IAAI,cAAc,EAAE,CAAC;gBACtC,MAAM,OAAO,GAAG,yBAAyB,CAAC,OAAO,CAAC,CAAC;gBACnD,IAAI,OAAO,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC;oBAChE,SAAS,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;gBACxB,CAAC;YACF,CAAC;QACF,CAAC;QAED,OAAO,SAAS,CAAC;IAClB,CAAC;IAAC,MAAM,CAAC;QACR,iEAAiE;QACjE,OAAO,IAAI,GAAG,EAAU,CAAC;IAC1B,CAAC;AACF,CAAC;AAED,8EAA8E;AAC9E,OAAO;AACP,8EAA8E;AAE9E;;;;;;;GAOG;AACH,MAAM,CAAC,KAAK,UAAU,aAAa;IAClC,sCAAsC;IACtC,MAAM,OAAO,GAAG,GAAG,CAAC,EAAE,KAAK,EAAE,MAAM,EAAE,CAAC,CAAC;IACvC,OAAO,CAAC,KAAK,CAAC,+BAA+B,CAAC,CAAC;IAE/C,MAAM,SAAS,GAAG,qBAAqB,EAAE,CAAC;IAE1C,OAAO,CAAC,IAAI,EAAE,CAAC;IAEf,uCAAuC;IACvC,MAAM,OAAO,GAAG,cAAc,CAAC,MAAM,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC,SAAS,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC;IAE5E,mDAAmD;IACnD,IAAI,OAAO,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QAC1B,OAAO,CAAC,GAAG,CACV,OAAO,EAAE,CAAC,KAAK,CAAC,4CAA4C,CAAC,mBAAmB,CAChF,CAAC;QACF,OAAO;IACR,CAAC;IAED,gCAAgC;IAChC,OAAO,CAAC,GAAG,CAAC,OAAO,EAAE,CAAC,IAAI,CAAC,sBAAsB,CAAC,IAAI,CAAC,CAAC;IAExD,KAAK,MAAM,OAAO,IAAI,cAAc,EAAE,CAAC;QACtC,MAAM,KAAK,GAAG,MAAM,CAAC,OAAO,CAAC,CAAC;QAC9B,MAAM,WAAW,GAAG,SAAS,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;QAC3C,MAAM,IAAI,GAAG,WAAW,CAAC,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;QAClE,MAAM,IAAI,GAAG,WAAW,CAAC,CAAC,CAAC,EAAE,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC;QAC3D,MAAM,IAAI,GAAG,EAAE,CAAC,GAAG,CAAC,MAAM,KAAK,CAAC,WAAW,EAAE,CAAC,CAAC;QAC/C,OAAO,CAAC,GAAG,CAAC,GAAG,IAAI,IAAI,IAAI,GAAG,IAAI,EAAE,CAAC,CAAC;IACvC,CAAC;IAED,OAAO,CAAC,GAAG,CACV,OAAO,EAAE,CAAC,IAAI,CAAC,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC,SAAS,OAAO,CAAC,MAAM,KAAK,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG,gBAAgB,CAC3F,CAAC;IAEF,qBAAqB;IACrB,MAAM,EAAE,MAAM,EAAE,GAAG,CAAC,MAAM,OAAO,CAAC;QACjC,IAAI,EAAE,aAAa;QACnB,IAAI,EAAE,QAAQ;QACd,OAAO,EAAE,2CAA2C;QACpD,OAAO,EAAE,aAAa,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC;YACtC,KAAK,EAAE,KAAK,CAAC,KAAK;YAClB,KAAK,EAAE,KAAK,CAAC,MAAM;SACnB,CAAC,CAAC;QACH,GAAG,EAAE,CAAC;QACN,IAAI,EAAE,mCAAmC;KACzC,CAAC,CAA0B,CAAC;IAE7B,IAAI,CAAC,MAAM,IAAI,MAAM,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACpC,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,MAAM,CAAC,gDAAgD,CAAC,CAAC,CAAC;QACzE,OAAO;IACR,CAAC;IAED,4BAA4B;IAC5B,IAAI,YAAY,GAAG,IAAI,CAAC;IAExB,KAAK,MAAM,OAAO,IAAI,OAAO,EAAE,CAAC;QAC/B,MAAM,KAAK,GAAG,MAAM,CAAC,OAAO,CAAC,CAAC;QAC9B,OAAO,CAAC,KAAK,CAAC,cAAc,KAAK,CAAC,IAAI,EAAE,CAAC,CAAC;QAE1C,IAAI,CAAC;YACJ,KAAK,MAAM,QAAQ,IAAI,MAAM,EAAE,CAAC;gBAC/B,MAAM,OAAO,GAAG,wBAAwB,CAAC,OAAO,EAAE;oBACjD,QAAQ;oBACR,MAAM,EAAE,IAAI;iBACZ,CAAC,CAAC;gBAEH,QAAQ,CAAC,OAAO,EAAE;oBACjB,KAAK,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC;oBAC/B,OAAO,EAAE,MAAM;iBACf,CAAC,CAAC;YACJ,CAAC;YACD,OAAO,CAAC,OAAO,CAAC,aAAa,KAAK,CAAC,IAAI,EAAE,CAAC,CAAC;QAC5C,CAAC;QAAC,MAAM,CAAC;YACR,OAAO,CAAC,IAAI,CAAC,qBAAqB,KAAK,CAAC,IAAI,EAAE,CAAC,CAAC;YAChD,YAAY,GAAG,KAAK,CAAC;QACtB,CAAC;IACF,CAAC;IAED,YAAY;IACZ,OAAO,CAAC,GAAG,EAAE,CAAC;IACd,IAAI,YAAY,EAAE,CAAC;QAClB,OAAO,CAAC,GAAG,CACV,KAAK,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,mCAAmC,CAClE,CAAC;IACH,CAAC;SAAM,CAAC;QACP,OAAO,CAAC,GAAG,CACV,KAAK,EAAE,CAAC,MAAM,CAAC,gCAAgC,CAAC,qBAAqB,CACrE,CAAC;IACH,CAAC;AACF,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/application/install-skills/index.ts"],"names":[],"mappings":"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"}
@@ -1,4 +1,4 @@
1
- import { type CmsId } from "../../domain/cms.js";
1
+ import { type IntegrationId } from "../../domain/integration.js";
2
2
  interface PackageJson {
3
3
  name?: string;
4
4
  dependencies?: Record<string, string>;
@@ -26,7 +26,7 @@ export declare function validateNextProject(targetDir: string): Promise<ProjectV
26
26
  * Check whether an integration is already installed in the target project.
27
27
  * Respects the project's `src/` layout when resolving the conventional path.
28
28
  */
29
- export declare function checkExistingIntegration(targetDir: string, integration: CmsId, usesSrcPrefix: boolean): Promise<boolean>;
29
+ export declare function checkExistingIntegration(targetDir: string, integration: IntegrationId, usesSrcPrefix: boolean): Promise<boolean>;
30
30
  /** Return `"src/"` when the project uses `src/app`, otherwise `""`. */
31
31
  export declare function detectSrcPrefix(targetDir: string): Promise<string>;
32
32
  export {};
@@ -1 +1 @@
1
- {"version":3,"file":"project-detection.d.ts","sourceRoot":"","sources":["../../../src/application/shared/project-detection.ts"],"names":[],"mappings":"AAEA,OAAO,EAAO,KAAK,KAAK,EAAE,MAAM,qBAAqB,CAAC;AAEtD,UAAU,WAAW;IACpB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,YAAY,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACtC,eAAe,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACzC,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;CACjC;AAED,MAAM,WAAW,wBAAwB;IACxC,KAAK,EAAE,IAAI,CAAC;IACZ,GAAG,EAAE,WAAW,CAAC;IACjB,aAAa,EAAE,OAAO,CAAC;CACvB;AAED,MAAM,WAAW,wBAAwB;IACxC,KAAK,EAAE,KAAK,CAAC;IACb,KAAK,EAAE,MAAM,CAAC;CACd;AAED,MAAM,MAAM,iBAAiB,GAC1B,wBAAwB,GACxB,wBAAwB,CAAC;AAE5B;;;;;GAKG;AACH,wBAAsB,mBAAmB,CACxC,SAAS,EAAE,MAAM,GACf,OAAO,CAAC,iBAAiB,CAAC,CAoC5B;AAED;;;GAGG;AACH,wBAAsB,wBAAwB,CAC7C,SAAS,EAAE,MAAM,EACjB,WAAW,EAAE,KAAK,EAClB,aAAa,EAAE,OAAO,GACpB,OAAO,CAAC,OAAO,CAAC,CAKlB;AAED,uEAAuE;AACvE,wBAAsB,eAAe,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAGxE"}
1
+ {"version":3,"file":"project-detection.d.ts","sourceRoot":"","sources":["../../../src/application/shared/project-detection.ts"],"names":[],"mappings":"AAEA,OAAO,EAEN,KAAK,aAAa,EAClB,MAAM,6BAA6B,CAAC;AAErC,UAAU,WAAW;IACpB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,YAAY,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACtC,eAAe,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACzC,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;CACjC;AAED,MAAM,WAAW,wBAAwB;IACxC,KAAK,EAAE,IAAI,CAAC;IACZ,GAAG,EAAE,WAAW,CAAC;IACjB,aAAa,EAAE,OAAO,CAAC;CACvB;AAED,MAAM,WAAW,wBAAwB;IACxC,KAAK,EAAE,KAAK,CAAC;IACb,KAAK,EAAE,MAAM,CAAC;CACd;AAED,MAAM,MAAM,iBAAiB,GAC1B,wBAAwB,GACxB,wBAAwB,CAAC;AAE5B;;;;;GAKG;AACH,wBAAsB,mBAAmB,CACxC,SAAS,EAAE,MAAM,GACf,OAAO,CAAC,iBAAiB,CAAC,CAoC5B;AAED;;;GAGG;AACH,wBAAsB,wBAAwB,CAC7C,SAAS,EAAE,MAAM,EACjB,WAAW,EAAE,aAAa,EAC1B,aAAa,EAAE,OAAO,GACpB,OAAO,CAAC,OAAO,CAAC,CAKlB;AAED,uEAAuE;AACvE,wBAAsB,eAAe,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAGxE"}
@@ -1,6 +1,6 @@
1
1
  import path from "node:path";
2
2
  import fs from "fs-extra";
3
- import { CMS } from "../../domain/cms.js";
3
+ import { getIntegration, } from "../../domain/integration.js";
4
4
  /**
5
5
  * Validate that the given directory is a Next.js App Router project.
6
6
  *
@@ -40,7 +40,7 @@ export async function validateNextProject(targetDir) {
40
40
  * Respects the project's `src/` layout when resolving the conventional path.
41
41
  */
42
42
  export async function checkExistingIntegration(targetDir, integration, usesSrcPrefix) {
43
- const basePath = CMS[integration].integrationPath;
43
+ const basePath = getIntegration(integration).integrationPath;
44
44
  const prefix = usesSrcPrefix ? "src/" : "";
45
45
  const integrationPath = path.join(targetDir, prefix + basePath);
46
46
  return fs.existsSync(integrationPath);
@@ -1 +1 @@
1
- {"version":3,"file":"project-detection.js","sourceRoot":"","sources":["../../../src/application/shared/project-detection.ts"],"names":[],"mappings":"AAAA,OAAO,IAAI,MAAM,WAAW,CAAC;AAC7B,OAAO,EAAE,MAAM,UAAU,CAAC;AAC1B,OAAO,EAAE,GAAG,EAAc,MAAM,qBAAqB,CAAC;AAwBtD;;;;;GAKG;AACH,MAAM,CAAC,KAAK,UAAU,mBAAmB,CACxC,SAAiB;IAEjB,MAAM,eAAe,GAAG,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,cAAc,CAAC,CAAC;IAE7D,IAAI,CAAC,EAAE,CAAC,UAAU,CAAC,eAAe,CAAC,EAAE,CAAC;QACrC,OAAO;YACN,KAAK,EAAE,KAAK;YACZ,KAAK,EAAE,4CAA4C;SACnD,CAAC;IACH,CAAC;IAED,MAAM,GAAG,GAAgB,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,eAAe,CAAC,CAAgB,CAAC;IAE7E,MAAM,OAAO,GAAG,GAAG,CAAC,YAAY,EAAE,IAAI,IAAI,GAAG,CAAC,eAAe,EAAE,IAAI,CAAC;IACpE,IAAI,CAAC,OAAO,EAAE,CAAC;QACd,OAAO;YACN,KAAK,EAAE,KAAK;YACZ,KAAK,EACJ,8EAA8E;SAC/E,CAAC;IACH,CAAC;IAED,MAAM,MAAM,GAAG,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,KAAK,CAAC,CAAC;IAC3C,MAAM,SAAS,GAAG,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,SAAS,CAAC,CAAC;IAClD,MAAM,SAAS,GAAG,EAAE,CAAC,UAAU,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC,UAAU,CAAC,SAAS,CAAC,CAAC;IAEpE,IAAI,CAAC,SAAS,EAAE,CAAC;QAChB,OAAO;YACN,KAAK,EAAE,KAAK;YACZ,KAAK,EACJ,0FAA0F;SAC3F,CAAC;IACH,CAAC;IAED,MAAM,aAAa,GAAG,EAAE,CAAC,UAAU,CAAC,SAAS,CAAC,CAAC;IAE/C,OAAO,EAAE,KAAK,EAAE,IAAI,EAAE,GAAG,EAAE,aAAa,EAAE,CAAC;AAC5C,CAAC;AAED;;;GAGG;AACH,MAAM,CAAC,KAAK,UAAU,wBAAwB,CAC7C,SAAiB,EACjB,WAAkB,EAClB,aAAsB;IAEtB,MAAM,QAAQ,GAAG,GAAG,CAAC,WAAW,CAAC,CAAC,eAAe,CAAC;IAClD,MAAM,MAAM,GAAG,aAAa,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC;IAC3C,MAAM,eAAe,GAAG,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,MAAM,GAAG,QAAQ,CAAC,CAAC;IAChE,OAAO,EAAE,CAAC,UAAU,CAAC,eAAe,CAAC,CAAC;AACvC,CAAC;AAED,uEAAuE;AACvE,MAAM,CAAC,KAAK,UAAU,eAAe,CAAC,SAAiB;IACtD,MAAM,YAAY,GAAG,MAAM,EAAE,CAAC,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,SAAS,CAAC,CAAC,CAAC;IAC1E,OAAO,YAAY,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC;AACnC,CAAC"}
1
+ {"version":3,"file":"project-detection.js","sourceRoot":"","sources":["../../../src/application/shared/project-detection.ts"],"names":[],"mappings":"AAAA,OAAO,IAAI,MAAM,WAAW,CAAC;AAC7B,OAAO,EAAE,MAAM,UAAU,CAAC;AAC1B,OAAO,EACN,cAAc,GAEd,MAAM,6BAA6B,CAAC;AAwBrC;;;;;GAKG;AACH,MAAM,CAAC,KAAK,UAAU,mBAAmB,CACxC,SAAiB;IAEjB,MAAM,eAAe,GAAG,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,cAAc,CAAC,CAAC;IAE7D,IAAI,CAAC,EAAE,CAAC,UAAU,CAAC,eAAe,CAAC,EAAE,CAAC;QACrC,OAAO;YACN,KAAK,EAAE,KAAK;YACZ,KAAK,EAAE,4CAA4C;SACnD,CAAC;IACH,CAAC;IAED,MAAM,GAAG,GAAgB,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,eAAe,CAAC,CAAgB,CAAC;IAE7E,MAAM,OAAO,GAAG,GAAG,CAAC,YAAY,EAAE,IAAI,IAAI,GAAG,CAAC,eAAe,EAAE,IAAI,CAAC;IACpE,IAAI,CAAC,OAAO,EAAE,CAAC;QACd,OAAO;YACN,KAAK,EAAE,KAAK;YACZ,KAAK,EACJ,8EAA8E;SAC/E,CAAC;IACH,CAAC;IAED,MAAM,MAAM,GAAG,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,KAAK,CAAC,CAAC;IAC3C,MAAM,SAAS,GAAG,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,SAAS,CAAC,CAAC;IAClD,MAAM,SAAS,GAAG,EAAE,CAAC,UAAU,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC,UAAU,CAAC,SAAS,CAAC,CAAC;IAEpE,IAAI,CAAC,SAAS,EAAE,CAAC;QAChB,OAAO;YACN,KAAK,EAAE,KAAK;YACZ,KAAK,EACJ,0FAA0F;SAC3F,CAAC;IACH,CAAC;IAED,MAAM,aAAa,GAAG,EAAE,CAAC,UAAU,CAAC,SAAS,CAAC,CAAC;IAE/C,OAAO,EAAE,KAAK,EAAE,IAAI,EAAE,GAAG,EAAE,aAAa,EAAE,CAAC;AAC5C,CAAC;AAED;;;GAGG;AACH,MAAM,CAAC,KAAK,UAAU,wBAAwB,CAC7C,SAAiB,EACjB,WAA0B,EAC1B,aAAsB;IAEtB,MAAM,QAAQ,GAAG,cAAc,CAAC,WAAW,CAAC,CAAC,eAAe,CAAC;IAC7D,MAAM,MAAM,GAAG,aAAa,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC;IAC3C,MAAM,eAAe,GAAG,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,MAAM,GAAG,QAAQ,CAAC,CAAC;IAChE,OAAO,EAAE,CAAC,UAAU,CAAC,eAAe,CAAC,CAAC;AACvC,CAAC;AAED,uEAAuE;AACvE,MAAM,CAAC,KAAK,UAAU,eAAe,CAAC,SAAiB;IACtD,MAAM,YAAY,GAAG,MAAM,EAAE,CAAC,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,SAAS,CAAC,CAAC,CAAC;IAC1E,OAAO,YAAY,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC;AACnC,CAAC"}
@@ -9,6 +9,10 @@ export interface CreatePlanExecutor {
9
9
  runLifecycleSteps: (stage: LifecycleStage, steps: LifecycleStep[], context: CreateContext) => Promise<string[]>;
10
10
  installDependencies: (targetDir: string) => Promise<void>;
11
11
  initGitRepo: (targetDir: string) => Promise<void>;
12
+ /** Wrap scripts + write dotenvx artifacts (runs before install). */
13
+ applyDotenvx: (context: CreateContext) => Promise<void>;
14
+ /** Generate the keypair + encrypt `.env` (runs after the finalize stage). */
15
+ encryptDotenvx: (context: CreateContext) => Promise<void>;
12
16
  }
13
17
  export interface ExecuteCreatePlanResult {
14
18
  completedLifecycleStepIds: string[];
@@ -1 +1 @@
1
- {"version":3,"file":"execute-plan.d.ts","sourceRoot":"","sources":["../../../src/core/create/execute-plan.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,2BAA2B,CAAC;AAC5D,OAAO,KAAK,EACX,aAAa,EACb,UAAU,EACV,cAAc,EACd,aAAa,EACb,cAAc,EACd,MAAM,YAAY,CAAC;AAEpB,MAAM,WAAW,kBAAkB;IAClC,YAAY,EAAE,CAAC,QAAQ,EAAE,UAAU,EAAE,SAAS,EAAE,MAAM,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;IACzE,kBAAkB,EAAE,CAAC,SAAS,EAAE,MAAM,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;IACzD,gBAAgB,EAAE,CAAC,IAAI,EAAE,UAAU,EAAE,OAAO,EAAE,aAAa,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;IAC9E,cAAc,EAAE,CAAC,IAAI,EAAE,UAAU,EAAE,OAAO,EAAE,aAAa,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;IAC5E,eAAe,EAAE,CAChB,UAAU,EAAE,cAAc,EAAE,EAC5B,OAAO,EAAE,aAAa,KAClB,OAAO,CAAC,IAAI,CAAC,CAAC;IACnB,iBAAiB,EAAE,CAClB,KAAK,EAAE,cAAc,EACrB,KAAK,EAAE,aAAa,EAAE,EACtB,OAAO,EAAE,aAAa,KAClB,OAAO,CAAC,MAAM,EAAE,CAAC,CAAC;IACvB,mBAAmB,EAAE,CAAC,SAAS,EAAE,MAAM,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;IAC1D,WAAW,EAAE,CAAC,SAAS,EAAE,MAAM,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;CAClD;AAED,MAAM,WAAW,uBAAuB;IACvC,yBAAyB,EAAE,MAAM,EAAE,CAAC;CACpC;AAED;;;;;GAKG;AACH,wBAAsB,iBAAiB,CACtC,IAAI,EAAE,UAAU,EAChB,OAAO,EAAE,aAAa,EACtB,QAAQ,EAAE,kBAAkB,GAC1B,OAAO,CAAC,uBAAuB,CAAC,CAmClC"}
1
+ {"version":3,"file":"execute-plan.d.ts","sourceRoot":"","sources":["../../../src/core/create/execute-plan.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,2BAA2B,CAAC;AAC5D,OAAO,KAAK,EACX,aAAa,EACb,UAAU,EACV,cAAc,EACd,aAAa,EACb,cAAc,EACd,MAAM,YAAY,CAAC;AAEpB,MAAM,WAAW,kBAAkB;IAClC,YAAY,EAAE,CAAC,QAAQ,EAAE,UAAU,EAAE,SAAS,EAAE,MAAM,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;IACzE,kBAAkB,EAAE,CAAC,SAAS,EAAE,MAAM,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;IACzD,gBAAgB,EAAE,CAAC,IAAI,EAAE,UAAU,EAAE,OAAO,EAAE,aAAa,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;IAC9E,cAAc,EAAE,CAAC,IAAI,EAAE,UAAU,EAAE,OAAO,EAAE,aAAa,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;IAC5E,eAAe,EAAE,CAChB,UAAU,EAAE,cAAc,EAAE,EAC5B,OAAO,EAAE,aAAa,KAClB,OAAO,CAAC,IAAI,CAAC,CAAC;IACnB,iBAAiB,EAAE,CAClB,KAAK,EAAE,cAAc,EACrB,KAAK,EAAE,aAAa,EAAE,EACtB,OAAO,EAAE,aAAa,KAClB,OAAO,CAAC,MAAM,EAAE,CAAC,CAAC;IACvB,mBAAmB,EAAE,CAAC,SAAS,EAAE,MAAM,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;IAC1D,WAAW,EAAE,CAAC,SAAS,EAAE,MAAM,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;IAClD,oEAAoE;IACpE,YAAY,EAAE,CAAC,OAAO,EAAE,aAAa,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;IACxD,6EAA6E;IAC7E,cAAc,EAAE,CAAC,OAAO,EAAE,aAAa,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;CAC1D;AAED,MAAM,WAAW,uBAAuB;IACvC,yBAAyB,EAAE,MAAM,EAAE,CAAC;CACpC;AAED;;;;;GAKG;AACH,wBAAsB,iBAAiB,CACtC,IAAI,EAAE,UAAU,EAChB,OAAO,EAAE,aAAa,EACtB,QAAQ,EAAE,kBAAkB,GAC1B,OAAO,CAAC,uBAAuB,CAAC,CA2ClC"}
@@ -12,10 +12,18 @@ export async function executeCreatePlan(plan, context, executor) {
12
12
  await executor.applyCopyPaths(plan, context);
13
13
  await executor.applyMergePaths(plan.mergePaths, context);
14
14
  completedLifecycleStepIds.push(...(await executor.runLifecycleSteps("preInstall", plan.lifecycle.preInstall, context)));
15
+ // Before install so the dep installs and `lefthook install` sees the hook.
16
+ if (context.dotenvx) {
17
+ await executor.applyDotenvx(context);
18
+ }
15
19
  await executor.initGitRepo(context.targetDir);
16
20
  await executor.installDependencies(context.targetDir);
17
21
  completedLifecycleStepIds.push(...(await executor.runLifecycleSteps("postInstall", plan.lifecycle.postInstall, context)));
18
22
  completedLifecycleStepIds.push(...(await executor.runLifecycleSteps("finalize", plan.lifecycle.finalize, context)));
23
+ // After finalize so Sanity's credentials land encrypted in the committed `.env`.
24
+ if (context.dotenvx) {
25
+ await executor.encryptDotenvx(context);
26
+ }
19
27
  return {
20
28
  completedLifecycleStepIds,
21
29
  };
@@ -1 +1 @@
1
- {"version":3,"file":"execute-plan.js","sourceRoot":"","sources":["../../../src/core/create/execute-plan.ts"],"names":[],"mappings":"AA+BA;;;;;GAKG;AACH,MAAM,CAAC,KAAK,UAAU,iBAAiB,CACtC,IAAgB,EAChB,OAAsB,EACtB,QAA4B;IAE5B,MAAM,yBAAyB,GAAa,EAAE,CAAC;IAE/C,MAAM,QAAQ,CAAC,YAAY,CAAC,IAAI,CAAC,QAAQ,EAAE,OAAO,CAAC,SAAS,CAAC,CAAC;IAC9D,MAAM,QAAQ,CAAC,kBAAkB,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;IACrD,MAAM,QAAQ,CAAC,gBAAgB,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;IAC/C,MAAM,QAAQ,CAAC,cAAc,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;IAC7C,MAAM,QAAQ,CAAC,eAAe,CAAC,IAAI,CAAC,UAAU,EAAE,OAAO,CAAC,CAAC;IACzD,yBAAyB,CAAC,IAAI,CAC7B,GAAG,CAAC,MAAM,QAAQ,CAAC,iBAAiB,CACnC,YAAY,EACZ,IAAI,CAAC,SAAS,CAAC,UAAU,EACzB,OAAO,CACP,CAAC,CACF,CAAC;IACF,MAAM,QAAQ,CAAC,WAAW,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;IAC9C,MAAM,QAAQ,CAAC,mBAAmB,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;IACtD,yBAAyB,CAAC,IAAI,CAC7B,GAAG,CAAC,MAAM,QAAQ,CAAC,iBAAiB,CACnC,aAAa,EACb,IAAI,CAAC,SAAS,CAAC,WAAW,EAC1B,OAAO,CACP,CAAC,CACF,CAAC;IACF,yBAAyB,CAAC,IAAI,CAC7B,GAAG,CAAC,MAAM,QAAQ,CAAC,iBAAiB,CACnC,UAAU,EACV,IAAI,CAAC,SAAS,CAAC,QAAQ,EACvB,OAAO,CACP,CAAC,CACF,CAAC;IAEF,OAAO;QACN,yBAAyB;KACzB,CAAC;AACH,CAAC"}
1
+ {"version":3,"file":"execute-plan.js","sourceRoot":"","sources":["../../../src/core/create/execute-plan.ts"],"names":[],"mappings":"AAmCA;;;;;GAKG;AACH,MAAM,CAAC,KAAK,UAAU,iBAAiB,CACtC,IAAgB,EAChB,OAAsB,EACtB,QAA4B;IAE5B,MAAM,yBAAyB,GAAa,EAAE,CAAC;IAE/C,MAAM,QAAQ,CAAC,YAAY,CAAC,IAAI,CAAC,QAAQ,EAAE,OAAO,CAAC,SAAS,CAAC,CAAC;IAC9D,MAAM,QAAQ,CAAC,kBAAkB,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;IACrD,MAAM,QAAQ,CAAC,gBAAgB,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;IAC/C,MAAM,QAAQ,CAAC,cAAc,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;IAC7C,MAAM,QAAQ,CAAC,eAAe,CAAC,IAAI,CAAC,UAAU,EAAE,OAAO,CAAC,CAAC;IACzD,yBAAyB,CAAC,IAAI,CAC7B,GAAG,CAAC,MAAM,QAAQ,CAAC,iBAAiB,CACnC,YAAY,EACZ,IAAI,CAAC,SAAS,CAAC,UAAU,EACzB,OAAO,CACP,CAAC,CACF,CAAC;IACF,2EAA2E;IAC3E,IAAI,OAAO,CAAC,OAAO,EAAE,CAAC;QACrB,MAAM,QAAQ,CAAC,YAAY,CAAC,OAAO,CAAC,CAAC;IACtC,CAAC;IACD,MAAM,QAAQ,CAAC,WAAW,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;IAC9C,MAAM,QAAQ,CAAC,mBAAmB,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;IACtD,yBAAyB,CAAC,IAAI,CAC7B,GAAG,CAAC,MAAM,QAAQ,CAAC,iBAAiB,CACnC,aAAa,EACb,IAAI,CAAC,SAAS,CAAC,WAAW,EAC1B,OAAO,CACP,CAAC,CACF,CAAC;IACF,yBAAyB,CAAC,IAAI,CAC7B,GAAG,CAAC,MAAM,QAAQ,CAAC,iBAAiB,CACnC,UAAU,EACV,IAAI,CAAC,SAAS,CAAC,QAAQ,EACvB,OAAO,CACP,CAAC,CACF,CAAC;IACF,iFAAiF;IACjF,IAAI,OAAO,CAAC,OAAO,EAAE,CAAC;QACrB,MAAM,QAAQ,CAAC,cAAc,CAAC,OAAO,CAAC,CAAC;IACxC,CAAC;IAED,OAAO;QACN,yBAAyB;KACzB,CAAC;AACH,CAAC"}
@@ -12,10 +12,13 @@ export declare const CREATE_MERGER_IDS: {
12
12
  readonly sanityLayout: "sanity:layout";
13
13
  readonly sanitySitemap: "sanity:sitemap";
14
14
  readonly sanityCheckIntegration: "sanity:check-integration";
15
+ readonly sanityCiWorkflow: "sanity:ci-workflow";
16
+ readonly sanityKnip: "sanity:knip";
15
17
  };
16
18
  export type CreateMergerId = (typeof CREATE_MERGER_IDS)[keyof typeof CREATE_MERGER_IDS];
17
19
  export declare const PRESET_MODULE_IDS: Record<TemplateId, string>;
18
- export declare const CMS_FEATURE_MODULE_IDS: Record<CmsId, string>;
20
+ export declare const SANITY_FEATURE_MODULE_ID = "feature:cms-sanity";
21
+ export declare const CMS_FEATURE_MODULE_IDS: Partial<Record<CmsId, string>>;
19
22
  export declare const SANITY_PAGEBUILDER_FEATURE_MODULE_ID = "feature:cms-sanity-pagebuilder";
20
23
  export declare const ANIMATION_FEATURE_MODULE_IDS: Record<AnimationId, string>;
21
24
  export declare const AGENT_FEATURE_MODULE_IDS: Record<AgentId, string>;
@@ -1 +1 @@
1
- {"version":3,"file":"internal-ids.d.ts","sourceRoot":"","sources":["../../../src/core/create/internal-ids.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,wBAAwB,CAAC;AACtD,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,4BAA4B,CAAC;AAC9D,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,qBAAqB,CAAC;AACjD,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,uBAAuB,CAAC;AACpD,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,2BAA2B,CAAC;AAE5D,eAAO,MAAM,yBAAyB;;;CAG5B,CAAC;AAEX,MAAM,MAAM,qBAAqB,GAChC,CAAC,OAAO,yBAAyB,CAAC,CAAC,MAAM,OAAO,yBAAyB,CAAC,CAAC;AAE5E,eAAO,MAAM,iBAAiB;;;;CAIpB,CAAC;AAEX,MAAM,MAAM,cAAc,GACzB,CAAC,OAAO,iBAAiB,CAAC,CAAC,MAAM,OAAO,iBAAiB,CAAC,CAAC;AAE5D,eAAO,MAAM,iBAAiB,EAAE,MAAM,CAAC,UAAU,EAAE,MAAM,CAKxD,CAAC;AAEF,eAAO,MAAM,sBAAsB,EAAE,MAAM,CAAC,KAAK,EAAE,MAAM,CAExD,CAAC;AAEF,eAAO,MAAM,oCAAoC,mCAChB,CAAC;AAElC,eAAO,MAAM,4BAA4B,EAAE,MAAM,CAAC,WAAW,EAAE,MAAM,CAGpE,CAAC;AAEF,eAAO,MAAM,wBAAwB,EAAE,MAAM,CAAC,OAAO,EAAE,MAAM,CAM5D,CAAC;AAEF,eAAO,MAAM,uBAAuB,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAI1D,CAAC"}
1
+ {"version":3,"file":"internal-ids.d.ts","sourceRoot":"","sources":["../../../src/core/create/internal-ids.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,wBAAwB,CAAC;AACtD,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,4BAA4B,CAAC;AAC9D,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,qBAAqB,CAAC;AACjD,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,uBAAuB,CAAC;AACpD,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,2BAA2B,CAAC;AAE5D,eAAO,MAAM,yBAAyB;;;CAG5B,CAAC;AAEX,MAAM,MAAM,qBAAqB,GAChC,CAAC,OAAO,yBAAyB,CAAC,CAAC,MAAM,OAAO,yBAAyB,CAAC,CAAC;AAE5E,eAAO,MAAM,iBAAiB;;;;;;CAMpB,CAAC;AAEX,MAAM,MAAM,cAAc,GACzB,CAAC,OAAO,iBAAiB,CAAC,CAAC,MAAM,OAAO,iBAAiB,CAAC,CAAC;AAE5D,eAAO,MAAM,iBAAiB,EAAE,MAAM,CAAC,UAAU,EAAE,MAAM,CAKxD,CAAC;AAEF,eAAO,MAAM,wBAAwB,uBAAuB,CAAC;AAI7D,eAAO,MAAM,sBAAsB,EAAE,OAAO,CAAC,MAAM,CAAC,KAAK,EAAE,MAAM,CAAC,CAEjE,CAAC;AAEF,eAAO,MAAM,oCAAoC,mCAChB,CAAC;AAElC,eAAO,MAAM,4BAA4B,EAAE,MAAM,CAAC,WAAW,EAAE,MAAM,CAGpE,CAAC;AAEF,eAAO,MAAM,wBAAwB,EAAE,MAAM,CAAC,OAAO,EAAE,MAAM,CAM5D,CAAC;AAEF,eAAO,MAAM,uBAAuB,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAI1D,CAAC"}
@@ -6,6 +6,8 @@ export const CREATE_MERGER_IDS = {
6
6
  sanityLayout: "sanity:layout",
7
7
  sanitySitemap: "sanity:sitemap",
8
8
  sanityCheckIntegration: "sanity:check-integration",
9
+ sanityCiWorkflow: "sanity:ci-workflow",
10
+ sanityKnip: "sanity:knip",
9
11
  };
10
12
  export const PRESET_MODULE_IDS = {
11
13
  "next-default": "preset:next-default",
@@ -13,8 +15,11 @@ export const PRESET_MODULE_IDS = {
13
15
  "next-webgl": "preset:next-webgl",
14
16
  "next-experiments": "preset:next-experiments",
15
17
  };
18
+ export const SANITY_FEATURE_MODULE_ID = "feature:cms-sanity";
19
+ // Only CMSs that participate in the create pipeline have a feature module.
20
+ // Integrate-only integrations (e.g. hubspot) are intentionally absent.
16
21
  export const CMS_FEATURE_MODULE_IDS = {
17
- sanity: "feature:cms-sanity",
22
+ sanity: SANITY_FEATURE_MODULE_ID,
18
23
  };
19
24
  export const SANITY_PAGEBUILDER_FEATURE_MODULE_ID = "feature:cms-sanity-pagebuilder";
20
25
  export const ANIMATION_FEATURE_MODULE_IDS = {
@@ -1 +1 @@
1
- {"version":3,"file":"internal-ids.js","sourceRoot":"","sources":["../../../src/core/create/internal-ids.ts"],"names":[],"mappings":"AAMA,MAAM,CAAC,MAAM,yBAAyB,GAAG;IACxC,UAAU,EAAE,aAAa;IACzB,kBAAkB,EAAE,sBAAsB;CACjC,CAAC;AAKX,MAAM,CAAC,MAAM,iBAAiB,GAAG;IAChC,YAAY,EAAE,eAAe;IAC7B,aAAa,EAAE,gBAAgB;IAC/B,sBAAsB,EAAE,0BAA0B;CACzC,CAAC;AAKX,MAAM,CAAC,MAAM,iBAAiB,GAA+B;IAC5D,cAAc,EAAE,qBAAqB;IACrC,kBAAkB,EAAE,yBAAyB;IAC7C,YAAY,EAAE,mBAAmB;IACjC,kBAAkB,EAAE,yBAAyB;CAC7C,CAAC;AAEF,MAAM,CAAC,MAAM,sBAAsB,GAA0B;IAC5D,MAAM,EAAE,oBAAoB;CAC5B,CAAC;AAEF,MAAM,CAAC,MAAM,oCAAoC,GAChD,gCAAgC,CAAC;AAElC,MAAM,CAAC,MAAM,4BAA4B,GAAgC;IACxE,IAAI,EAAE,wBAAwB;IAC9B,MAAM,EAAE,0BAA0B;CAClC,CAAC;AAEF,MAAM,CAAC,MAAM,wBAAwB,GAA4B;IAChE,MAAM,EAAE,sBAAsB;IAC9B,QAAQ,EAAE,wBAAwB;IAClC,MAAM,EAAE,sBAAsB;IAC9B,KAAK,EAAE,qBAAqB;IAC5B,MAAM,EAAE,sBAAsB;CAC9B,CAAC;AAEF,MAAM,CAAC,MAAM,uBAAuB,GAA2B;IAC9D,aAAa,EAAE,0BAA0B;IACzC,iBAAiB,EAAE,8BAA8B;IACjD,2BAA2B,EAAE,wCAAwC;CACrE,CAAC"}
1
+ {"version":3,"file":"internal-ids.js","sourceRoot":"","sources":["../../../src/core/create/internal-ids.ts"],"names":[],"mappings":"AAMA,MAAM,CAAC,MAAM,yBAAyB,GAAG;IACxC,UAAU,EAAE,aAAa;IACzB,kBAAkB,EAAE,sBAAsB;CACjC,CAAC;AAKX,MAAM,CAAC,MAAM,iBAAiB,GAAG;IAChC,YAAY,EAAE,eAAe;IAC7B,aAAa,EAAE,gBAAgB;IAC/B,sBAAsB,EAAE,0BAA0B;IAClD,gBAAgB,EAAE,oBAAoB;IACtC,UAAU,EAAE,aAAa;CAChB,CAAC;AAKX,MAAM,CAAC,MAAM,iBAAiB,GAA+B;IAC5D,cAAc,EAAE,qBAAqB;IACrC,kBAAkB,EAAE,yBAAyB;IAC7C,YAAY,EAAE,mBAAmB;IACjC,kBAAkB,EAAE,yBAAyB;CAC7C,CAAC;AAEF,MAAM,CAAC,MAAM,wBAAwB,GAAG,oBAAoB,CAAC;AAE7D,2EAA2E;AAC3E,uEAAuE;AACvE,MAAM,CAAC,MAAM,sBAAsB,GAAmC;IACrE,MAAM,EAAE,wBAAwB;CAChC,CAAC;AAEF,MAAM,CAAC,MAAM,oCAAoC,GAChD,gCAAgC,CAAC;AAElC,MAAM,CAAC,MAAM,4BAA4B,GAAgC;IACxE,IAAI,EAAE,wBAAwB;IAC9B,MAAM,EAAE,0BAA0B;CAClC,CAAC;AAEF,MAAM,CAAC,MAAM,wBAAwB,GAA4B;IAChE,MAAM,EAAE,sBAAsB;IAC9B,QAAQ,EAAE,wBAAwB;IAClC,MAAM,EAAE,sBAAsB;IAC9B,KAAK,EAAE,qBAAqB;IAC5B,MAAM,EAAE,sBAAsB;CAC9B,CAAC;AAEF,MAAM,CAAC,MAAM,uBAAuB,GAA2B;IAC9D,aAAa,EAAE,0BAA0B;IACzC,iBAAiB,EAAE,8BAA8B;IACjD,2BAA2B,EAAE,wCAAwC;CACrE,CAAC"}
@@ -63,6 +63,8 @@ export interface CreateContext {
63
63
  animation: AnimationId | null;
64
64
  agents: AgentId[];
65
65
  hooks: HookId[];
66
+ /** Set up dotenvx env encryption (default on; disabled via `--no-dotenvx`). */
67
+ dotenvx: boolean;
66
68
  }
67
69
  export interface PresetModule {
68
70
  id: PresetModuleId;
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/core/create/types.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/core/create/types.ts"],"names":[],"mappings":"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"}
@@ -1,10 +1,3 @@
1
- import type { SkillId } from "./skills.js";
2
- export interface CmsDefinition {
3
- label: string;
4
- description: string;
5
- integrationPath: string;
6
- skills: readonly SkillId[];
7
- }
8
1
  export declare const CMS: {
9
2
  readonly sanity: {
10
3
  readonly label: "Sanity CMS";
@@ -1 +1 @@
1
- {"version":3,"file":"cms.d.ts","sourceRoot":"","sources":["../../src/domain/cms.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,aAAa,CAAC;AAE3C,MAAM,WAAW,aAAa;IAC7B,KAAK,EAAE,MAAM,CAAC;IACd,WAAW,EAAE,MAAM,CAAC;IACpB,eAAe,EAAE,MAAM,CAAC;IACxB,MAAM,EAAE,SAAS,OAAO,EAAE,CAAC;CAC3B;AAED,eAAO,MAAM,GAAG;;;;;;;CAOkC,CAAC;AAEnD,MAAM,MAAM,KAAK,GAAG,MAAM,OAAO,GAAG,CAAC;AAErC,eAAO,MAAM,WAAW;;;;;QACb,KAAK;GAEb,CAAC"}
1
+ {"version":3,"file":"cms.d.ts","sourceRoot":"","sources":["../../src/domain/cms.ts"],"names":[],"mappings":"AAEA,eAAO,MAAM,GAAG;;;;;;;CAO0C,CAAC;AAE3D,MAAM,MAAM,KAAK,GAAG,MAAM,OAAO,GAAG,CAAC;AAErC,eAAO,MAAM,WAAW;;;;;QACb,KAAK;GAEb,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"cms.js","sourceRoot":"","sources":["../../src/domain/cms.ts"],"names":[],"mappings":"AASA,MAAM,CAAC,MAAM,GAAG,GAAG;IAClB,MAAM,EAAE;QACP,KAAK,EAAE,YAAY;QACnB,WAAW,EAAE,2CAA2C;QACxD,eAAe,EAAE,yBAAyB;QAC1C,MAAM,EAAE,CAAC,sBAAsB,CAAC;KAChC;CACgD,CAAC;AAInD,MAAM,CAAC,MAAM,WAAW,GAAG,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,GAAG,CAAC,EAAE,EAAE,CAAC,CAAC;IAClE,EAAE,EAAE,EAAW;IACf,GAAG,GAAG;CACN,CAAC,CAAC,CAAC"}
1
+ {"version":3,"file":"cms.js","sourceRoot":"","sources":["../../src/domain/cms.ts"],"names":[],"mappings":"AAEA,MAAM,CAAC,MAAM,GAAG,GAAG;IAClB,MAAM,EAAE;QACP,KAAK,EAAE,YAAY;QACnB,WAAW,EAAE,2CAA2C;QACxD,eAAe,EAAE,yBAAyB;QAC1C,MAAM,EAAE,CAAC,sBAAsB,CAAC;KAChC;CACwD,CAAC;AAI3D,MAAM,CAAC,MAAM,WAAW,GAAG,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,GAAG,CAAC,EAAE,EAAE,CAAC,CAAC;IAClE,EAAE,EAAE,EAAW;IACf,GAAG,GAAG;CACN,CAAC,CAAC,CAAC"}
@@ -0,0 +1,17 @@
1
+ export declare const FORMS: {
2
+ readonly hubspot: {
3
+ readonly label: "HubSpot Forms";
4
+ readonly description: "Embed HubSpot forms, styled and CMS-agnostic";
5
+ readonly integrationPath: "lib/integrations/hubspot";
6
+ readonly skills: readonly ["hubspot-pagebuilder-block"];
7
+ };
8
+ };
9
+ export type FormId = keyof typeof FORMS;
10
+ export declare const FORMS_CATALOG: {
11
+ label: "HubSpot Forms";
12
+ description: "Embed HubSpot forms, styled and CMS-agnostic";
13
+ integrationPath: "lib/integrations/hubspot";
14
+ skills: readonly ["hubspot-pagebuilder-block"];
15
+ id: FormId;
16
+ }[];
17
+ //# sourceMappingURL=forms.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"forms.d.ts","sourceRoot":"","sources":["../../src/domain/forms.ts"],"names":[],"mappings":"AAEA,eAAO,MAAM,KAAK;;;;;;;CAOwC,CAAC;AAE3D,MAAM,MAAM,MAAM,GAAG,MAAM,OAAO,KAAK,CAAC;AAExC,eAAO,MAAM,aAAa;;;;;QACf,MAAM;GAEd,CAAC"}
@@ -0,0 +1,13 @@
1
+ export const FORMS = {
2
+ hubspot: {
3
+ label: "HubSpot Forms",
4
+ description: "Embed HubSpot forms, styled and CMS-agnostic",
5
+ integrationPath: "lib/integrations/hubspot",
6
+ skills: ["hubspot-pagebuilder-block"],
7
+ },
8
+ };
9
+ export const FORMS_CATALOG = Object.entries(FORMS).map(([id, form]) => ({
10
+ id: id,
11
+ ...form,
12
+ }));
13
+ //# sourceMappingURL=forms.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"forms.js","sourceRoot":"","sources":["../../src/domain/forms.ts"],"names":[],"mappings":"AAEA,MAAM,CAAC,MAAM,KAAK,GAAG;IACpB,OAAO,EAAE;QACR,KAAK,EAAE,eAAe;QACtB,WAAW,EAAE,8CAA8C;QAC3D,eAAe,EAAE,0BAA0B;QAC3C,MAAM,EAAE,CAAC,2BAA2B,CAAC;KACrC;CACwD,CAAC;AAI3D,MAAM,CAAC,MAAM,aAAa,GAAG,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,IAAI,CAAC,EAAE,EAAE,CAAC,CAAC;IACvE,EAAE,EAAE,EAAY;IAChB,GAAG,IAAI;CACP,CAAC,CAAC,CAAC"}
@@ -0,0 +1,30 @@
1
+ import { type CmsId } from "./cms.js";
2
+ import { type FormId } from "./forms.js";
3
+ import type { SkillId } from "./skills.js";
4
+ /**
5
+ * Shared shape for every integration the CLI can inject (CMS or forms).
6
+ */
7
+ export interface IntegrationDefinition {
8
+ label: string;
9
+ description: string;
10
+ integrationPath: string;
11
+ skills: readonly SkillId[];
12
+ }
13
+ /** Any injectable integration — a CMS (`CmsId`) or a forms provider (`FormId`). */
14
+ export type IntegrationId = CmsId | FormId;
15
+ /** Combined catalog used by the interactive integrate/create prompts. */
16
+ export declare const INTEGRATION_CATALOG: ({
17
+ label: "Sanity CMS";
18
+ description: "Headless CMS with real-time collaboration";
19
+ integrationPath: "lib/integrations/sanity";
20
+ skills: readonly ["sanity-agent-toolkit"];
21
+ id: CmsId;
22
+ } | {
23
+ label: "HubSpot Forms";
24
+ description: "Embed HubSpot forms, styled and CMS-agnostic";
25
+ integrationPath: "lib/integrations/hubspot";
26
+ skills: readonly ["hubspot-pagebuilder-block"];
27
+ id: FormId;
28
+ })[];
29
+ export declare function getIntegration(id: IntegrationId): IntegrationDefinition;
30
+ //# sourceMappingURL=integration.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"integration.d.ts","sourceRoot":"","sources":["../../src/domain/integration.ts"],"names":[],"mappings":"AAAA,OAAO,EAAoB,KAAK,KAAK,EAAE,MAAM,UAAU,CAAC;AACxD,OAAO,EAAwB,KAAK,MAAM,EAAE,MAAM,YAAY,CAAC;AAC/D,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,aAAa,CAAC;AAE3C;;GAEG;AACH,MAAM,WAAW,qBAAqB;IACrC,KAAK,EAAE,MAAM,CAAC;IACd,WAAW,EAAE,MAAM,CAAC;IACpB,eAAe,EAAE,MAAM,CAAC;IACxB,MAAM,EAAE,SAAS,OAAO,EAAE,CAAC;CAC3B;AAED,mFAAmF;AACnF,MAAM,MAAM,aAAa,GAAG,KAAK,GAAG,MAAM,CAAC;AAO3C,yEAAyE;AACzE,eAAO,MAAM,mBAAmB;;;;;;;;;;;;IAAqC,CAAC;AAEtE,wBAAgB,cAAc,CAAC,EAAE,EAAE,aAAa,GAAG,qBAAqB,CAEvE"}
@@ -0,0 +1,12 @@
1
+ import { CMS, CMS_CATALOG } from "./cms.js";
2
+ import { FORMS, FORMS_CATALOG } from "./forms.js";
3
+ const INTEGRATIONS = {
4
+ ...CMS,
5
+ ...FORMS,
6
+ };
7
+ /** Combined catalog used by the interactive integrate/create prompts. */
8
+ export const INTEGRATION_CATALOG = [...CMS_CATALOG, ...FORMS_CATALOG];
9
+ export function getIntegration(id) {
10
+ return INTEGRATIONS[id];
11
+ }
12
+ //# sourceMappingURL=integration.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"integration.js","sourceRoot":"","sources":["../../src/domain/integration.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,GAAG,EAAE,WAAW,EAAc,MAAM,UAAU,CAAC;AACxD,OAAO,EAAE,KAAK,EAAE,aAAa,EAAe,MAAM,YAAY,CAAC;AAgB/D,MAAM,YAAY,GAAiD;IAClE,GAAG,GAAG;IACN,GAAG,KAAK;CACR,CAAC;AAEF,yEAAyE;AACzE,MAAM,CAAC,MAAM,mBAAmB,GAAG,CAAC,GAAG,WAAW,EAAE,GAAG,aAAa,CAAC,CAAC;AAEtE,MAAM,UAAU,cAAc,CAAC,EAAiB;IAC/C,OAAO,YAAY,CAAC,EAAE,CAAC,CAAC;AACzB,CAAC"}
@@ -22,10 +22,22 @@ export declare const SKILLS: {
22
22
  readonly name: "Frontend Design";
23
23
  readonly description: "Production-grade frontend interface patterns";
24
24
  };
25
+ readonly "design-engineering": {
26
+ readonly name: "Design Engineering";
27
+ readonly description: "Emil Kowalski's UI polish, animation, and interaction-design philosophy";
28
+ };
25
29
  readonly "next-best-practices": {
26
30
  readonly name: "Next.js Best Practices";
27
31
  readonly description: "Next.js-specific best practices";
28
32
  };
33
+ readonly greploop: {
34
+ readonly name: "GrepLoop";
35
+ readonly description: "Iteratively improve a PR until Greptile scores it 5/5";
36
+ };
37
+ readonly "check-pr": {
38
+ readonly name: "Check PR";
39
+ readonly description: "Check a PR for unresolved comments and failing checks";
40
+ };
29
41
  readonly "webgpu-threejs-tsl": {
30
42
  readonly name: "WebGPU Three.js TSL";
31
43
  readonly description: "WebGPU and Three.js TSL workflow support";
@@ -34,6 +46,10 @@ export declare const SKILLS: {
34
46
  readonly name: "Sanity Agent Toolkit";
35
47
  readonly description: "Sanity MCP tools and content workflow support";
36
48
  };
49
+ readonly "hubspot-pagebuilder-block": {
50
+ readonly name: "HubSpot Page-Builder Block";
51
+ readonly description: "Wire the HubSpot form block into a Sanity page builder";
52
+ };
37
53
  };
38
54
  export type SkillId = keyof typeof SKILLS;
39
55
  export declare const SKILL_CATALOG: ({
@@ -48,10 +64,22 @@ export declare const SKILL_CATALOG: ({
48
64
  name: "Frontend Design";
49
65
  description: "Production-grade frontend interface patterns";
50
66
  id: SkillId;
67
+ } | {
68
+ name: "Design Engineering";
69
+ description: "Emil Kowalski's UI polish, animation, and interaction-design philosophy";
70
+ id: SkillId;
51
71
  } | {
52
72
  name: "Next.js Best Practices";
53
73
  description: "Next.js-specific best practices";
54
74
  id: SkillId;
75
+ } | {
76
+ name: "GrepLoop";
77
+ description: "Iteratively improve a PR until Greptile scores it 5/5";
78
+ id: SkillId;
79
+ } | {
80
+ name: "Check PR";
81
+ description: "Check a PR for unresolved comments and failing checks";
82
+ id: SkillId;
55
83
  } | {
56
84
  name: "WebGPU Three.js TSL";
57
85
  description: "WebGPU and Three.js TSL workflow support";
@@ -60,8 +88,38 @@ export declare const SKILL_CATALOG: ({
60
88
  name: "Sanity Agent Toolkit";
61
89
  description: "Sanity MCP tools and content workflow support";
62
90
  id: SkillId;
91
+ } | {
92
+ name: "HubSpot Page-Builder Block";
93
+ description: "Wire the HubSpot form block into a Sanity page builder";
94
+ id: SkillId;
63
95
  })[];
64
96
  export declare const BASE_SKILL_IDS: readonly SkillId[];
97
+ /**
98
+ * Skills bundled at `src/agent-skills/<dir>/SKILL.md` and copied into
99
+ * generated projects at scaffold time — no network, unlike SKILLS.
100
+ */
101
+ export interface LocalSkillDefinition {
102
+ name: string;
103
+ description: string;
104
+ /** Directory name under `src/agent-skills/`. */
105
+ dir: string;
106
+ /** Only copy when dotenvx env encryption is enabled. */
107
+ dotenvxOnly?: boolean;
108
+ }
109
+ export declare const LOCAL_SKILLS: {
110
+ readonly "json-ld": {
111
+ readonly name: "JSON-LD Structured Data";
112
+ readonly description: "Wire schema.org JSON-LD into components using the project's generators";
113
+ readonly dir: "json-ld";
114
+ };
115
+ readonly "manage-env": {
116
+ readonly name: "Manage Env";
117
+ readonly description: "Add/change env vars in a dotenvx project (secret vs trivial)";
118
+ readonly dir: "manage-env";
119
+ readonly dotenvxOnly: true;
120
+ };
121
+ };
122
+ export type LocalSkillId = keyof typeof LOCAL_SKILLS;
65
123
  export declare function getSkillInstallDefinition(skillId: SkillId): SkillInstallDefinition;
66
124
  export declare function buildSkillInstallCommand(skillId: SkillId, options: {
67
125
  agentArg?: string;
@@ -1 +1 @@
1
- {"version":3,"file":"skills.d.ts","sourceRoot":"","sources":["../../src/domain/skills.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,aAAa,CAAC;AAE3C,MAAM,WAAW,eAAe;IAC/B,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,EAAE,MAAM,CAAC;IACpB,oBAAoB,CAAC,EAAE,SAAS,OAAO,EAAE,CAAC;CAC1C;AAED,MAAM,WAAW,sBAAsB;IACtC,MAAM,EAAE,MAAM,CAAC;IACf,IAAI,EAAE,SAAS,MAAM,EAAE,CAAC;IACxB,WAAW,EAAE,SAAS,MAAM,EAAE,CAAC;CAC/B;AAED,eAAO,MAAM,MAAM;;;;;;;;;;;;;;;;;;;;;;;;;CAyBiC,CAAC;AAErD,MAAM,MAAM,OAAO,GAAG,MAAM,OAAO,MAAM,CAAC;AAE1C,eAAO,MAAM,aAAa;;;QACf,OAAO;;;;QAAP,OAAO;;;;QAAP,OAAO;;;;QAAP,OAAO;;;;QAAP,OAAO;;;;QAAP,OAAO;IAEf,CAAC;AAEJ,eAAO,MAAM,cAAc,EAAE,SAAS,OAAO,EAK5C,CAAC;AAmCF,wBAAgB,yBAAyB,CACxC,OAAO,EAAE,OAAO,GACd,sBAAsB,CAExB;AAED,wBAAgB,wBAAwB,CACvC,OAAO,EAAE,OAAO,EAChB,OAAO,EAAE;IACR,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,MAAM,CAAC,EAAE,OAAO,CAAC;CACjB,GACC,MAAM,CAeR"}
1
+ {"version":3,"file":"skills.d.ts","sourceRoot":"","sources":["../../src/domain/skills.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,aAAa,CAAC;AAE3C,MAAM,WAAW,eAAe;IAC/B,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,EAAE,MAAM,CAAC;IACpB,oBAAoB,CAAC,EAAE,SAAS,OAAO,EAAE,CAAC;CAC1C;AAED,MAAM,WAAW,sBAAsB;IACtC,MAAM,EAAE,MAAM,CAAC;IACf,IAAI,EAAE,SAAS,MAAM,EAAE,CAAC;IACxB,WAAW,EAAE,SAAS,MAAM,EAAE,CAAC;CAC/B;AAED,eAAO,MAAM,MAAM;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CA0CiC,CAAC;AAErD,MAAM,MAAM,OAAO,GAAG,MAAM,OAAO,MAAM,CAAC;AAE1C,eAAO,MAAM,aAAa;;;QACf,OAAO;;;;QAAP,OAAO;;;;QAAP,OAAO;;;;QAAP,OAAO;;;;QAAP,OAAO;;;;QAAP,OAAO;;;;QAAP,OAAO;;;;QAAP,OAAO;;;;QAAP,OAAO;;;;QAAP,OAAO;IAEf,CAAC;AAEJ,eAAO,MAAM,cAAc,EAAE,SAAS,OAAO,EAQ5C,CAAC;AAEF;;;GAGG;AACH,MAAM,WAAW,oBAAoB;IACpC,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,EAAE,MAAM,CAAC;IACpB,gDAAgD;IAChD,GAAG,EAAE,MAAM,CAAC;IACZ,wDAAwD;IACxD,WAAW,CAAC,EAAE,OAAO,CAAC;CACtB;AAED,eAAO,MAAM,YAAY;;;;;;;;;;;;CAagC,CAAC;AAE1D,MAAM,MAAM,YAAY,GAAG,MAAM,OAAO,YAAY,CAAC;AAuDrD,wBAAgB,yBAAyB,CACxC,OAAO,EAAE,OAAO,GACd,sBAAsB,CAExB;AAED,wBAAgB,wBAAwB,CACvC,OAAO,EAAE,OAAO,EAChB,OAAO,EAAE;IACR,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,MAAM,CAAC,EAAE,OAAO,CAAC;CACjB,GACC,MAAM,CAeR"}
@@ -11,10 +11,22 @@ export const SKILLS = {
11
11
  name: "Frontend Design",
12
12
  description: "Production-grade frontend interface patterns",
13
13
  },
14
+ "design-engineering": {
15
+ name: "Design Engineering",
16
+ description: "Emil Kowalski's UI polish, animation, and interaction-design philosophy",
17
+ },
14
18
  "next-best-practices": {
15
19
  name: "Next.js Best Practices",
16
20
  description: "Next.js-specific best practices",
17
21
  },
22
+ greploop: {
23
+ name: "GrepLoop",
24
+ description: "Iteratively improve a PR until Greptile scores it 5/5",
25
+ },
26
+ "check-pr": {
27
+ name: "Check PR",
28
+ description: "Check a PR for unresolved comments and failing checks",
29
+ },
18
30
  "webgpu-threejs-tsl": {
19
31
  name: "WebGPU Three.js TSL",
20
32
  description: "WebGPU and Three.js TSL workflow support",
@@ -23,6 +35,10 @@ export const SKILLS = {
23
35
  name: "Sanity Agent Toolkit",
24
36
  description: "Sanity MCP tools and content workflow support",
25
37
  },
38
+ "hubspot-pagebuilder-block": {
39
+ name: "HubSpot Page-Builder Block",
40
+ description: "Wire the HubSpot form block into a Sanity page builder",
41
+ },
26
42
  };
27
43
  export const SKILL_CATALOG = Object.entries(SKILLS).map(([id, skill]) => ({
28
44
  id: id,
@@ -32,8 +48,24 @@ export const BASE_SKILL_IDS = [
32
48
  "vercel-react-best-practices",
33
49
  "web-design-guidelines",
34
50
  "frontend-design",
51
+ "design-engineering",
35
52
  "next-best-practices",
53
+ "greploop",
54
+ "check-pr",
36
55
  ];
56
+ export const LOCAL_SKILLS = {
57
+ "json-ld": {
58
+ name: "JSON-LD Structured Data",
59
+ description: "Wire schema.org JSON-LD into components using the project's generators",
60
+ dir: "json-ld",
61
+ },
62
+ "manage-env": {
63
+ name: "Manage Env",
64
+ description: "Add/change env vars in a dotenvx project (secret vs trivial)",
65
+ dir: "manage-env",
66
+ dotenvxOnly: true,
67
+ },
68
+ };
37
69
  const SKILL_INSTALL_CATALOG = {
38
70
  "vercel-react-best-practices": {
39
71
  source: "vercel-labs/agent-skills",
@@ -50,11 +82,26 @@ const SKILL_INSTALL_CATALOG = {
50
82
  args: ["--skill", "frontend-design"],
51
83
  detectNames: ["frontend-design"],
52
84
  },
85
+ "design-engineering": {
86
+ source: "emilkowalski/skill",
87
+ args: ["--skill", "emil-design-eng"],
88
+ detectNames: ["emil-design-eng"],
89
+ },
53
90
  "next-best-practices": {
54
91
  source: "vercel-labs/next-skills",
55
92
  args: ["--skill", "next-best-practices"],
56
93
  detectNames: ["next-best-practices"],
57
94
  },
95
+ greploop: {
96
+ source: "greptileai/skills",
97
+ args: ["--skill", "greploop"],
98
+ detectNames: ["greploop"],
99
+ },
100
+ "check-pr": {
101
+ source: "greptileai/skills",
102
+ args: ["--skill", "check-pr"],
103
+ detectNames: ["check-pr"],
104
+ },
58
105
  "webgpu-threejs-tsl": {
59
106
  source: "https://github.com/dgreenheck/webgpu-claude-skill",
60
107
  args: ["--skill", "webgpu-threejs-tsl"],
@@ -65,6 +112,11 @@ const SKILL_INSTALL_CATALOG = {
65
112
  args: [],
66
113
  detectNames: ["sanity-io/agent-toolkit", "agent-toolkit"],
67
114
  },
115
+ "hubspot-pagebuilder-block": {
116
+ source: "basementstudio/basement-cli",
117
+ args: ["--skill", "hubspot-pagebuilder-block"],
118
+ detectNames: ["hubspot-pagebuilder-block"],
119
+ },
68
120
  };
69
121
  export function getSkillInstallDefinition(skillId) {
70
122
  return SKILL_INSTALL_CATALOG[skillId];
@@ -1 +1 @@
1
- {"version":3,"file":"skills.js","sourceRoot":"","sources":["../../src/domain/skills.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"skills.js","sourceRoot":"","sources":["../../src/domain/skills.ts"],"names":[],"mappings":"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"}