bsmnt 0.4.0 → 0.4.2

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 (536) hide show
  1. package/dist/{helpers/add → application/add-hooks}/index.d.ts +4 -4
  2. package/dist/application/add-hooks/index.d.ts.map +1 -0
  3. package/dist/{helpers/add → application/add-hooks}/index.js +22 -35
  4. package/dist/application/add-hooks/index.js.map +1 -0
  5. package/dist/{utils → application/add-integration}/format-results.d.ts +1 -6
  6. package/dist/application/add-integration/format-results.d.ts.map +1 -0
  7. package/dist/{utils → application/add-integration}/format-results.js +1 -6
  8. package/dist/application/add-integration/format-results.js.map +1 -0
  9. package/dist/{helpers/integrate → application/add-integration}/index.d.ts +2 -1
  10. package/dist/application/add-integration/index.d.ts.map +1 -0
  11. package/dist/{helpers/integrate → application/add-integration}/index.js +46 -41
  12. package/dist/application/add-integration/index.js.map +1 -0
  13. package/dist/application/create-project/build-context.d.ts +9 -0
  14. package/dist/application/create-project/build-context.d.ts.map +1 -0
  15. package/dist/application/create-project/build-context.js +13 -0
  16. package/dist/application/create-project/build-context.js.map +1 -0
  17. package/dist/application/create-project/index.d.ts +44 -0
  18. package/dist/application/create-project/index.d.ts.map +1 -0
  19. package/dist/application/create-project/index.js +70 -0
  20. package/dist/application/create-project/index.js.map +1 -0
  21. package/dist/application/create-project/map-selection-to-registry.d.ts +3 -0
  22. package/dist/application/create-project/map-selection-to-registry.d.ts.map +1 -0
  23. package/dist/application/create-project/map-selection-to-registry.js +30 -0
  24. package/dist/application/create-project/map-selection-to-registry.js.map +1 -0
  25. package/dist/application/create-project/resolve-selection.d.ts +15 -0
  26. package/dist/application/create-project/resolve-selection.d.ts.map +1 -0
  27. package/dist/application/create-project/resolve-selection.js +11 -0
  28. package/dist/application/create-project/resolve-selection.js.map +1 -0
  29. package/dist/{helpers/skills → application/install-skills}/index.d.ts +1 -1
  30. package/dist/application/install-skills/index.d.ts.map +1 -0
  31. package/dist/{helpers/skills → application/install-skills}/index.js +31 -44
  32. package/dist/application/install-skills/index.js.map +1 -0
  33. package/dist/{utils/detect-project.d.ts → application/shared/project-detection.d.ts} +8 -15
  34. package/dist/application/shared/project-detection.d.ts.map +1 -0
  35. package/dist/{utils/detect-project.js → application/shared/project-detection.js} +8 -24
  36. package/dist/application/shared/project-detection.js.map +1 -0
  37. package/dist/core/create/build-plan.d.ts +8 -0
  38. package/dist/core/create/build-plan.d.ts.map +1 -0
  39. package/dist/core/create/build-plan.js +89 -0
  40. package/dist/core/create/build-plan.js.map +1 -0
  41. package/dist/core/create/execute-plan.d.ts +23 -0
  42. package/dist/core/create/execute-plan.d.ts.map +1 -0
  43. package/dist/core/create/execute-plan.js +23 -0
  44. package/dist/core/create/execute-plan.js.map +1 -0
  45. package/dist/core/create/internal-ids.d.ts +23 -0
  46. package/dist/core/create/internal-ids.d.ts.map +1 -0
  47. package/dist/core/create/internal-ids.js +36 -0
  48. package/dist/core/create/internal-ids.js.map +1 -0
  49. package/dist/core/create/registry.d.ts +12 -0
  50. package/dist/core/create/registry.d.ts.map +1 -0
  51. package/dist/core/create/registry.js +33 -0
  52. package/dist/core/create/registry.js.map +1 -0
  53. package/dist/core/create/types.d.ts +96 -0
  54. package/dist/core/create/types.d.ts.map +1 -0
  55. package/dist/core/create/types.js +2 -0
  56. package/dist/core/create/types.js.map +1 -0
  57. package/dist/domain/agents.d.ts +61 -0
  58. package/dist/domain/agents.d.ts.map +1 -0
  59. package/dist/domain/agents.js +35 -0
  60. package/dist/domain/agents.js.map +1 -0
  61. package/dist/domain/animations.d.ts +20 -0
  62. package/dist/domain/animations.d.ts.map +1 -0
  63. package/dist/domain/animations.js +13 -0
  64. package/dist/domain/animations.js.map +1 -0
  65. package/dist/domain/cms.d.ts +24 -0
  66. package/dist/domain/cms.d.ts.map +1 -0
  67. package/dist/domain/cms.js +13 -0
  68. package/dist/domain/cms.js.map +1 -0
  69. package/dist/domain/hooks.d.ts +67 -0
  70. package/dist/domain/hooks.d.ts.map +1 -0
  71. package/dist/domain/hooks.js +52 -0
  72. package/dist/domain/hooks.js.map +1 -0
  73. package/dist/domain/skills.d.ts +70 -0
  74. package/dist/domain/skills.d.ts.map +1 -0
  75. package/dist/domain/skills.js +84 -0
  76. package/dist/domain/skills.js.map +1 -0
  77. package/dist/domain/templates.d.ts +51 -0
  78. package/dist/domain/templates.d.ts.map +1 -0
  79. package/dist/domain/templates.js +27 -0
  80. package/dist/domain/templates.js.map +1 -0
  81. package/dist/index.js +124 -115
  82. package/dist/index.js.map +1 -1
  83. package/dist/infrastructure/agents/register-sanity-mcp.d.ts +12 -0
  84. package/dist/infrastructure/agents/register-sanity-mcp.d.ts.map +1 -0
  85. package/dist/infrastructure/agents/register-sanity-mcp.js +153 -0
  86. package/dist/infrastructure/agents/register-sanity-mcp.js.map +1 -0
  87. package/dist/infrastructure/create/apply-copy-paths.d.ts +3 -0
  88. package/dist/infrastructure/create/apply-copy-paths.d.ts.map +1 -0
  89. package/dist/infrastructure/create/apply-copy-paths.js +12 -0
  90. package/dist/infrastructure/create/apply-copy-paths.js.map +1 -0
  91. package/dist/infrastructure/create/apply-merge-paths.d.ts +3 -0
  92. package/dist/infrastructure/create/apply-merge-paths.d.ts.map +1 -0
  93. package/dist/infrastructure/create/apply-merge-paths.js +17 -0
  94. package/dist/infrastructure/create/apply-merge-paths.js.map +1 -0
  95. package/dist/infrastructure/create/apply-package-json.d.ts +8 -0
  96. package/dist/infrastructure/create/apply-package-json.d.ts.map +1 -0
  97. package/dist/infrastructure/create/apply-package-json.js +46 -0
  98. package/dist/infrastructure/create/apply-package-json.js.map +1 -0
  99. package/dist/infrastructure/create/copy-template.d.ts +10 -0
  100. package/dist/infrastructure/create/copy-template.d.ts.map +1 -0
  101. package/dist/infrastructure/create/copy-template.js.map +1 -0
  102. package/dist/infrastructure/create/executor.d.ts +3 -0
  103. package/dist/infrastructure/create/executor.d.ts.map +1 -0
  104. package/dist/infrastructure/create/executor.js +21 -0
  105. package/dist/infrastructure/create/executor.js.map +1 -0
  106. package/dist/{helpers/create/init-git.d.ts → infrastructure/create/init-git-repo.d.ts} +2 -3
  107. package/dist/infrastructure/create/init-git-repo.d.ts.map +1 -0
  108. package/dist/{helpers/create/init-git.js → infrastructure/create/init-git-repo.js} +1 -4
  109. package/dist/infrastructure/create/init-git-repo.js.map +1 -0
  110. package/dist/{helpers/create/install.d.ts → infrastructure/create/install-dependencies.d.ts} +1 -1
  111. package/dist/infrastructure/create/install-dependencies.d.ts.map +1 -0
  112. package/dist/{helpers/create/install.js → infrastructure/create/install-dependencies.js} +1 -1
  113. package/dist/infrastructure/create/install-dependencies.js.map +1 -0
  114. package/dist/infrastructure/create/lifecycle-registry.d.ts +3 -0
  115. package/dist/infrastructure/create/lifecycle-registry.d.ts.map +1 -0
  116. package/dist/infrastructure/create/lifecycle-registry.js +38 -0
  117. package/dist/infrastructure/create/lifecycle-registry.js.map +1 -0
  118. package/dist/infrastructure/create/merge-registry.d.ts +3 -0
  119. package/dist/infrastructure/create/merge-registry.d.ts.map +1 -0
  120. package/dist/infrastructure/create/merge-registry.js +27 -0
  121. package/dist/infrastructure/create/merge-registry.js.map +1 -0
  122. package/dist/infrastructure/create/rename-files.d.ts.map +1 -0
  123. package/dist/infrastructure/create/rename-files.js.map +1 -0
  124. package/dist/{helpers → infrastructure}/create/setup-agent.d.ts +9 -7
  125. package/dist/infrastructure/create/setup-agent.d.ts.map +1 -0
  126. package/dist/infrastructure/create/setup-agent.js +77 -0
  127. package/dist/infrastructure/create/setup-agent.js.map +1 -0
  128. package/dist/infrastructure/create/setup-sanity.d.ts.map +1 -0
  129. package/dist/{helpers → infrastructure}/create/setup-sanity.js +1 -19
  130. package/dist/infrastructure/create/setup-sanity.js.map +1 -0
  131. package/dist/infrastructure/integrations/inject-integration.d.ts +9 -0
  132. package/dist/infrastructure/integrations/inject-integration.d.ts.map +1 -0
  133. package/dist/{helpers/integrate/merge-orchestrator.js → infrastructure/integrations/inject-integration.js} +26 -38
  134. package/dist/infrastructure/integrations/inject-integration.js.map +1 -0
  135. package/dist/modules/features/agents/index.d.ts +3 -0
  136. package/dist/modules/features/agents/index.d.ts.map +1 -0
  137. package/dist/modules/features/agents/index.js +4 -0
  138. package/dist/modules/features/agents/index.js.map +1 -0
  139. package/dist/modules/features/agents/shared.d.ts +4 -0
  140. package/dist/modules/features/agents/shared.d.ts.map +1 -0
  141. package/dist/modules/features/agents/shared.js +21 -0
  142. package/dist/modules/features/agents/shared.js.map +1 -0
  143. package/dist/{configs/animations.d.ts → modules/features/animation/config.d.ts} +1 -1
  144. package/dist/modules/features/animation/config.d.ts.map +1 -0
  145. package/dist/{configs/animations.js → modules/features/animation/config.js} +1 -1
  146. package/dist/modules/features/animation/config.js.map +1 -0
  147. package/dist/modules/features/animation/gsap.d.ts +3 -0
  148. package/dist/modules/features/animation/gsap.d.ts.map +1 -0
  149. package/dist/modules/features/animation/gsap.js +16 -0
  150. package/dist/modules/features/animation/gsap.js.map +1 -0
  151. package/dist/modules/features/animation/index.d.ts +3 -0
  152. package/dist/modules/features/animation/index.d.ts.map +1 -0
  153. package/dist/modules/features/animation/index.js +4 -0
  154. package/dist/modules/features/animation/index.js.map +1 -0
  155. package/dist/modules/features/animation/motion.d.ts +3 -0
  156. package/dist/modules/features/animation/motion.d.ts.map +1 -0
  157. package/dist/modules/features/animation/motion.js +16 -0
  158. package/dist/modules/features/animation/motion.js.map +1 -0
  159. package/dist/modules/features/cms/index.d.ts +3 -0
  160. package/dist/modules/features/cms/index.d.ts.map +1 -0
  161. package/dist/modules/features/cms/index.js +7 -0
  162. package/dist/modules/features/cms/index.js.map +1 -0
  163. package/dist/modules/features/cms/sanity/config.d.ts.map +1 -0
  164. package/dist/{helpers/integrate → modules/features/cms}/sanity/config.js +3 -2
  165. package/dist/modules/features/cms/sanity/config.js.map +1 -0
  166. package/dist/modules/features/cms/sanity/index.d.ts +3 -0
  167. package/dist/modules/features/cms/sanity/index.d.ts.map +1 -0
  168. package/dist/modules/features/cms/sanity/index.js +61 -0
  169. package/dist/modules/features/cms/sanity/index.js.map +1 -0
  170. package/dist/{helpers/integrate/sanity/mergers/check-integration-merger.d.ts → modules/features/cms/sanity/mergers/check-integration.d.ts} +1 -1
  171. package/dist/modules/features/cms/sanity/mergers/check-integration.d.ts.map +1 -0
  172. package/dist/{helpers/integrate/sanity/mergers/check-integration-merger.js → modules/features/cms/sanity/mergers/check-integration.js} +1 -1
  173. package/dist/modules/features/cms/sanity/mergers/check-integration.js.map +1 -0
  174. package/dist/{helpers/integrate/sanity/mergers/layout-merger.d.ts → modules/features/cms/sanity/mergers/layout.d.ts} +1 -1
  175. package/dist/modules/features/cms/sanity/mergers/layout.d.ts.map +1 -0
  176. package/dist/{helpers/integrate/sanity/mergers/layout-merger.js → modules/features/cms/sanity/mergers/layout.js} +1 -1
  177. package/dist/modules/features/cms/sanity/mergers/layout.js.map +1 -0
  178. package/dist/modules/features/cms/sanity/mergers/sitemap.d.ts +13 -0
  179. package/dist/modules/features/cms/sanity/mergers/sitemap.d.ts.map +1 -0
  180. package/dist/modules/features/cms/sanity/mergers/sitemap.js +92 -0
  181. package/dist/modules/features/cms/sanity/mergers/sitemap.js.map +1 -0
  182. package/dist/modules/features/cms/sanity-pagebuilder/config.d.ts +14 -0
  183. package/dist/modules/features/cms/sanity-pagebuilder/config.d.ts.map +1 -0
  184. package/dist/modules/features/cms/sanity-pagebuilder/config.js +44 -0
  185. package/dist/modules/features/cms/sanity-pagebuilder/config.js.map +1 -0
  186. package/dist/modules/features/cms/sanity-pagebuilder/index.d.ts +3 -0
  187. package/dist/modules/features/cms/sanity-pagebuilder/index.d.ts.map +1 -0
  188. package/dist/modules/features/cms/sanity-pagebuilder/index.js +46 -0
  189. package/dist/modules/features/cms/sanity-pagebuilder/index.js.map +1 -0
  190. package/dist/modules/features/hooks/factory.d.ts +4 -0
  191. package/dist/modules/features/hooks/factory.d.ts.map +1 -0
  192. package/dist/modules/features/hooks/factory.js +26 -0
  193. package/dist/modules/features/hooks/factory.js.map +1 -0
  194. package/dist/modules/features/hooks/index.d.ts +3 -0
  195. package/dist/modules/features/hooks/index.d.ts.map +1 -0
  196. package/dist/modules/features/hooks/index.js +4 -0
  197. package/dist/modules/features/hooks/index.js.map +1 -0
  198. package/dist/modules/presets/index.d.ts +3 -0
  199. package/dist/modules/presets/index.d.ts.map +1 -0
  200. package/dist/modules/presets/index.js +11 -0
  201. package/dist/modules/presets/index.js.map +1 -0
  202. package/dist/modules/presets/next-default.d.ts +3 -0
  203. package/dist/modules/presets/next-default.d.ts.map +1 -0
  204. package/dist/modules/presets/next-default.js +9 -0
  205. package/dist/modules/presets/next-default.js.map +1 -0
  206. package/dist/modules/presets/next-experiments.d.ts +3 -0
  207. package/dist/modules/presets/next-experiments.d.ts.map +1 -0
  208. package/dist/modules/presets/next-experiments.js +9 -0
  209. package/dist/modules/presets/next-experiments.js.map +1 -0
  210. package/dist/modules/presets/next-pagebuilder.d.ts +3 -0
  211. package/dist/modules/presets/next-pagebuilder.d.ts.map +1 -0
  212. package/dist/modules/presets/next-pagebuilder.js +10 -0
  213. package/dist/modules/presets/next-pagebuilder.js.map +1 -0
  214. package/dist/modules/presets/next-webgl.d.ts +3 -0
  215. package/dist/modules/presets/next-webgl.d.ts.map +1 -0
  216. package/dist/modules/presets/next-webgl.js +9 -0
  217. package/dist/modules/presets/next-webgl.js.map +1 -0
  218. package/dist/paths.d.ts +7 -1
  219. package/dist/paths.d.ts.map +1 -1
  220. package/dist/paths.js +8 -2
  221. package/dist/paths.js.map +1 -1
  222. package/index.js +2 -2
  223. package/package.json +11 -4
  224. package/src/modules/features/cms/sanity/files/.knip.json +8 -0
  225. package/src/{helpers/integrate → modules/features/cms}/sanity/files/app/api/blog/[slug]/route.ts +3 -4
  226. package/src/{helpers/integrate → modules/features/cms}/sanity/files/app/api/revalidate/route.ts +1 -4
  227. package/src/{helpers/integrate → modules/features/cms}/sanity/files/app/blog/[slug]/page.tsx +8 -9
  228. package/src/{helpers/integrate → modules/features/cms}/sanity/files/app/layout.tsx +2 -2
  229. package/src/{helpers/integrate → modules/features/cms}/sanity/files/app/sitemap.md/route.ts +18 -29
  230. package/src/modules/features/cms/sanity/files/app/sitemap.xml/route.ts +51 -0
  231. package/src/{helpers/integrate → modules/features/cms}/sanity/files/lib/integrations/sanity/env.ts +2 -4
  232. package/src/{helpers/integrate → modules/features/cms}/sanity/files/lib/integrations/sanity/queries.ts +0 -42
  233. package/src/{helpers/integrate → modules/features/cms}/sanity/files/lib/integrations/sanity/schemas/index.ts +1 -1
  234. package/src/modules/features/cms/sanity/files/lib/scripts/copy-sanity-mcp.ts +23 -0
  235. package/src/modules/features/cms/sanity/files/lib/scripts/generate-page.ts +297 -0
  236. package/src/{helpers/integrate → modules/features/cms}/sanity/files/lib/utils/json-ld.tsx +1 -6
  237. package/src/{helpers/integrate → modules/features/cms}/sanity/files/lib/utils/metadata.ts +2 -2
  238. package/src/{helpers/integrate → modules/features/cms}/sanity/files/lib/utils/url.ts +4 -2
  239. package/src/{helpers/integrate → modules/features/cms}/sanity/files/proxy.ts +11 -11
  240. package/src/template-hooks/use-device-perf.ts +27 -17
  241. package/src/templates/next-default/.env.example +3 -3
  242. package/src/templates/next-default/.vscode/extensions.json +1 -5
  243. package/src/templates/next-default/.vscode/settings.json +1 -1
  244. package/src/templates/next-default/.zed/settings.json +47 -0
  245. package/src/templates/next-default/README.md +7 -6
  246. package/src/templates/next-default/_gitignore +1 -3
  247. package/src/templates/next-default/app/layout.tsx +21 -35
  248. package/src/templates/next-default/app/robots.ts +3 -4
  249. package/src/templates/next-default/app/sitemap.xml/route.ts +29 -29
  250. package/src/templates/next-default/biome.json +9 -2
  251. package/src/templates/next-default/components/ui/image/index.tsx +2 -1
  252. package/src/templates/next-default/components/ui/link/index.tsx +35 -35
  253. package/src/templates/next-default/lefthook.yml +25 -0
  254. package/src/templates/next-default/lib/README.md +8 -4
  255. package/src/templates/next-default/lib/hooks/use-media.ts +6 -3
  256. package/src/templates/next-default/lib/scripts/dev.ts +32 -0
  257. package/src/templates/next-default/lib/styles/README.md +13 -0
  258. package/src/templates/next-default/lib/styles/fonts.ts +20 -0
  259. package/src/templates/next-default/lib/styles/global.css +15 -196
  260. package/src/templates/next-default/lib/styles/index.css +3 -0
  261. package/src/templates/next-default/lib/styles/tokens.css +182 -0
  262. package/src/templates/next-default/lib/utils/README.md +40 -0
  263. package/src/templates/next-default/lib/utils/easings.ts +240 -0
  264. package/src/templates/next-default/lib/utils/fetch.ts +84 -0
  265. package/src/templates/next-default/lib/utils/global-css.d.ts +1 -0
  266. package/src/templates/next-default/lib/utils/json-ld.tsx +70 -68
  267. package/src/templates/next-default/lib/utils/math.ts +236 -0
  268. package/src/templates/next-default/lib/utils/metadata.ts +26 -27
  269. package/src/templates/next-default/lib/utils/strings.ts +246 -0
  270. package/src/templates/next-default/lib/utils/types.d.ts +15 -0
  271. package/src/templates/next-default/lib/utils/url.ts +8 -5
  272. package/src/templates/next-default/lib/utils/viewport.ts +199 -0
  273. package/src/templates/next-default/package.json +12 -7
  274. package/src/templates/next-default/svg.d.ts +1 -0
  275. package/src/templates/next-experiments/.env.example +3 -3
  276. package/src/templates/next-experiments/.knip.json +3 -0
  277. package/src/templates/next-experiments/.vscode/extensions.json +1 -5
  278. package/src/templates/next-experiments/.vscode/settings.json +1 -1
  279. package/src/templates/next-experiments/.zed/settings.json +47 -0
  280. package/src/templates/next-experiments/README.md +7 -6
  281. package/src/templates/next-experiments/_gitignore +1 -3
  282. package/src/templates/next-experiments/app/layout.tsx +21 -35
  283. package/src/templates/next-experiments/app/robots.ts +5 -2
  284. package/src/templates/next-experiments/app/sitemap.xml/route.ts +51 -0
  285. package/src/templates/next-experiments/biome.json +4 -2
  286. package/src/templates/next-experiments/components/layout/navigation-menu.tsx +1 -1
  287. package/src/templates/next-experiments/components/layout/wrapper/index.tsx +6 -6
  288. package/src/templates/next-experiments/components/ui/image/index.tsx +33 -33
  289. package/src/templates/next-experiments/lib/README.md +8 -4
  290. package/src/templates/next-experiments/lib/hooks/use-media.ts +6 -3
  291. package/src/templates/next-experiments/lib/scripts/dev.ts +32 -0
  292. package/src/templates/next-experiments/lib/styles/README.md +13 -0
  293. package/src/templates/next-experiments/lib/styles/fonts.ts +20 -0
  294. package/src/templates/next-experiments/lib/styles/global.css +16 -196
  295. package/src/templates/next-experiments/lib/styles/index.css +3 -0
  296. package/src/templates/next-experiments/lib/styles/tokens.css +182 -0
  297. package/src/templates/next-experiments/lib/utils/README.md +40 -0
  298. package/src/templates/next-experiments/lib/utils/easings.ts +240 -0
  299. package/src/templates/next-experiments/lib/utils/fetch.ts +84 -0
  300. package/src/templates/next-experiments/lib/utils/global-css.d.ts +1 -0
  301. package/src/templates/next-experiments/lib/utils/json-ld.tsx +70 -68
  302. package/src/templates/next-experiments/lib/utils/math.ts +236 -0
  303. package/src/templates/next-experiments/lib/utils/metadata.ts +26 -27
  304. package/src/templates/next-experiments/lib/utils/strings.ts +246 -0
  305. package/src/templates/next-experiments/lib/utils/types.d.ts +15 -0
  306. package/src/templates/next-experiments/lib/utils/url.ts +8 -5
  307. package/src/templates/next-experiments/lib/utils/viewport.ts +199 -0
  308. package/src/templates/next-experiments/package.json +6 -6
  309. package/src/templates/next-experiments/svg.d.ts +1 -0
  310. package/src/templates/next-pagebuilder/.vscode/extensions.json +16 -0
  311. package/src/templates/next-pagebuilder/.vscode/settings.json +105 -0
  312. package/src/templates/next-pagebuilder/.zed/settings.json +47 -0
  313. package/src/templates/next-pagebuilder/_gitignore +1 -3
  314. package/src/templates/next-pagebuilder/app/(content)/[[...slug]]/page.tsx +17 -8
  315. package/src/templates/next-pagebuilder/app/(content)/layout.tsx +18 -7
  316. package/src/templates/next-pagebuilder/app/actions/refresh.ts +5 -0
  317. package/src/templates/next-pagebuilder/app/robots.ts +3 -4
  318. package/src/templates/next-pagebuilder/biome.json +17 -0
  319. package/src/templates/next-pagebuilder/components/layout/footer/index.tsx +17 -22
  320. package/src/templates/next-pagebuilder/components/layout/header/index.tsx +3 -5
  321. package/src/templates/next-pagebuilder/components/layout/json-ld/index.tsx +11 -10
  322. package/src/templates/next-pagebuilder/components/layout/wrapper/index.tsx +14 -4
  323. package/src/templates/next-pagebuilder/components/page-builder/components/article-content/index.tsx +4 -9
  324. package/src/templates/next-pagebuilder/components/page-builder/components/article-content/related-post-item.tsx +4 -4
  325. package/src/templates/next-pagebuilder/components/page-builder/components/{post-collection → content-collection}/content-card.tsx +2 -2
  326. package/src/templates/next-pagebuilder/components/page-builder/components/content-collection/content-filters.tsx +93 -0
  327. package/src/templates/next-pagebuilder/components/page-builder/components/{post-collection → content-collection}/content-grid.tsx +7 -9
  328. package/src/templates/next-pagebuilder/components/page-builder/components/content-collection/content-pagination-nav.tsx +71 -0
  329. package/src/templates/next-pagebuilder/components/page-builder/components/content-collection/index.tsx +219 -0
  330. package/src/templates/next-pagebuilder/components/page-builder/components/{post-collection → content-collection}/types.ts +7 -4
  331. package/src/templates/next-pagebuilder/components/page-builder/renderer.tsx +17 -5
  332. package/src/templates/next-pagebuilder/components/page-builder/types.ts +9 -7
  333. package/src/templates/next-pagebuilder/components/page-document/index.tsx +19 -4
  334. package/src/templates/next-pagebuilder/lefthook.yml +25 -0
  335. package/src/templates/next-pagebuilder/lib/integrations/sanity/sanity.types.ts +208 -0
  336. package/src/templates/next-pagebuilder/lib/styles/global.css +0 -1
  337. package/src/templates/next-pagebuilder/next.config.ts +1 -0
  338. package/src/templates/next-pagebuilder/package.json +13 -26
  339. package/src/templates/next-pagebuilder/postcss.config.mjs +27 -1
  340. package/src/templates/next-pagebuilder/svg.d.ts +1 -0
  341. package/src/templates/next-webgl/.env.example +3 -3
  342. package/src/templates/next-webgl/.vscode/extensions.json +1 -5
  343. package/src/templates/next-webgl/.vscode/settings.json +1 -1
  344. package/src/templates/next-webgl/.zed/settings.json +47 -0
  345. package/src/templates/next-webgl/README.md +7 -6
  346. package/src/templates/next-webgl/_gitignore +1 -3
  347. package/src/templates/next-webgl/app/layout.tsx +21 -35
  348. package/src/templates/next-webgl/app/robots.ts +3 -4
  349. package/src/templates/next-webgl/app/sitemap.xml/route.ts +29 -29
  350. package/src/templates/next-webgl/biome.json +9 -2
  351. package/src/templates/next-webgl/components/ui/image/index.tsx +2 -1
  352. package/src/templates/next-webgl/components/webgl/components/scene/index.tsx +0 -2
  353. package/src/templates/next-webgl/lefthook.yml +25 -0
  354. package/src/templates/next-webgl/lib/README.md +8 -4
  355. package/src/templates/next-webgl/lib/hooks/use-media.ts +6 -3
  356. package/src/templates/next-webgl/lib/scripts/dev.ts +32 -0
  357. package/src/templates/next-webgl/lib/styles/README.md +13 -0
  358. package/src/templates/next-webgl/lib/styles/fonts.ts +20 -0
  359. package/src/templates/next-webgl/lib/styles/global.css +16 -196
  360. package/src/templates/next-webgl/lib/styles/index.css +3 -0
  361. package/src/templates/next-webgl/lib/styles/tokens.css +182 -0
  362. package/src/templates/next-webgl/lib/utils/README.md +40 -0
  363. package/src/templates/next-webgl/lib/utils/easings.ts +240 -0
  364. package/src/templates/next-webgl/lib/utils/fetch.ts +84 -0
  365. package/src/templates/next-webgl/lib/utils/global-css.d.ts +1 -0
  366. package/src/templates/next-webgl/lib/utils/json-ld.tsx +70 -68
  367. package/src/templates/next-webgl/lib/utils/math.ts +236 -0
  368. package/src/templates/next-webgl/lib/utils/metadata.ts +26 -27
  369. package/src/templates/next-webgl/lib/utils/strings.ts +246 -0
  370. package/src/templates/next-webgl/lib/utils/types.d.ts +15 -0
  371. package/src/templates/next-webgl/lib/utils/url.ts +8 -5
  372. package/src/templates/next-webgl/lib/utils/viewport.ts +199 -0
  373. package/src/templates/next-webgl/package.json +13 -8
  374. package/src/templates/next-webgl/svg.d.ts +1 -0
  375. package/src/templates/next-webgl/tsconfig.tsbuildinfo +1 -1
  376. package/dist/configs/animations.d.ts.map +0 -1
  377. package/dist/configs/animations.js.map +0 -1
  378. package/dist/configs/skills.d.ts +0 -27
  379. package/dist/configs/skills.d.ts.map +0 -1
  380. package/dist/configs/skills.js +0 -18
  381. package/dist/configs/skills.js.map +0 -1
  382. package/dist/configs/skills.json +0 -26
  383. package/dist/helpers/add/hooks-config.d.ts +0 -22
  384. package/dist/helpers/add/hooks-config.d.ts.map +0 -1
  385. package/dist/helpers/add/hooks-config.js +0 -31
  386. package/dist/helpers/add/hooks-config.js.map +0 -1
  387. package/dist/helpers/add/index.d.ts.map +0 -1
  388. package/dist/helpers/add/index.js.map +0 -1
  389. package/dist/helpers/create/copy-template.d.ts +0 -11
  390. package/dist/helpers/create/copy-template.d.ts.map +0 -1
  391. package/dist/helpers/create/copy-template.js.map +0 -1
  392. package/dist/helpers/create/index.d.ts +0 -24
  393. package/dist/helpers/create/index.d.ts.map +0 -1
  394. package/dist/helpers/create/index.js +0 -99
  395. package/dist/helpers/create/index.js.map +0 -1
  396. package/dist/helpers/create/init-git.d.ts.map +0 -1
  397. package/dist/helpers/create/init-git.js.map +0 -1
  398. package/dist/helpers/create/install.d.ts.map +0 -1
  399. package/dist/helpers/create/install.js.map +0 -1
  400. package/dist/helpers/create/rename-files.d.ts.map +0 -1
  401. package/dist/helpers/create/rename-files.js.map +0 -1
  402. package/dist/helpers/create/setup-agent.d.ts.map +0 -1
  403. package/dist/helpers/create/setup-agent.js +0 -91
  404. package/dist/helpers/create/setup-agent.js.map +0 -1
  405. package/dist/helpers/create/setup-sanity.d.ts.map +0 -1
  406. package/dist/helpers/create/setup-sanity.js.map +0 -1
  407. package/dist/helpers/create/update-package.d.ts +0 -20
  408. package/dist/helpers/create/update-package.d.ts.map +0 -1
  409. package/dist/helpers/create/update-package.js +0 -97
  410. package/dist/helpers/create/update-package.js.map +0 -1
  411. package/dist/helpers/integrate/index.d.ts.map +0 -1
  412. package/dist/helpers/integrate/index.js.map +0 -1
  413. package/dist/helpers/integrate/merge-config.d.ts +0 -21
  414. package/dist/helpers/integrate/merge-config.d.ts.map +0 -1
  415. package/dist/helpers/integrate/merge-config.js +0 -42
  416. package/dist/helpers/integrate/merge-config.js.map +0 -1
  417. package/dist/helpers/integrate/merge-orchestrator.d.ts +0 -10
  418. package/dist/helpers/integrate/merge-orchestrator.d.ts.map +0 -1
  419. package/dist/helpers/integrate/merge-orchestrator.js.map +0 -1
  420. package/dist/helpers/integrate/sanity/config.d.ts.map +0 -1
  421. package/dist/helpers/integrate/sanity/config.js.map +0 -1
  422. package/dist/helpers/integrate/sanity/mergers/check-integration-merger.d.ts.map +0 -1
  423. package/dist/helpers/integrate/sanity/mergers/check-integration-merger.js.map +0 -1
  424. package/dist/helpers/integrate/sanity/mergers/layout-merger.d.ts.map +0 -1
  425. package/dist/helpers/integrate/sanity/mergers/layout-merger.js.map +0 -1
  426. package/dist/helpers/integrate/sanity/mergers/sitemap-merger.d.ts +0 -11
  427. package/dist/helpers/integrate/sanity/mergers/sitemap-merger.d.ts.map +0 -1
  428. package/dist/helpers/integrate/sanity/mergers/sitemap-merger.js +0 -133
  429. package/dist/helpers/integrate/sanity/mergers/sitemap-merger.js.map +0 -1
  430. package/dist/helpers/skills/index.d.ts.map +0 -1
  431. package/dist/helpers/skills/index.js.map +0 -1
  432. package/dist/utils/detect-project.d.ts.map +0 -1
  433. package/dist/utils/detect-project.js.map +0 -1
  434. package/dist/utils/format-results.d.ts.map +0 -1
  435. package/dist/utils/format-results.js.map +0 -1
  436. package/src/helpers/integrate/sanity/files/lib/integrations/sanity/WEBHOOK-SETUP.md +0 -74
  437. package/src/helpers/integrate/sanity/files/lib/integrations/sanity/sitemap.ts +0 -90
  438. package/src/template-hooks/config.js +0 -32
  439. package/src/templates/next-default/css.d.ts +0 -1
  440. package/src/templates/next-default/lib/utils/portable-text-to-markdown.ts +0 -83
  441. package/src/templates/next-default/tsconfig.tsbuildinfo +0 -1
  442. package/src/templates/next-experiments/css.d.ts +0 -1
  443. package/src/templates/next-experiments/lib/utils/portable-text-to-markdown.ts +0 -83
  444. package/src/templates/next-pagebuilder/app/api/[[...slug]]/route.ts +0 -100
  445. package/src/templates/next-pagebuilder/app/api/draft-mode/disable/route.ts +0 -7
  446. package/src/templates/next-pagebuilder/app/api/draft-mode/enable/route.ts +0 -20
  447. package/src/templates/next-pagebuilder/app/api/revalidate/route.ts +0 -121
  448. package/src/templates/next-pagebuilder/app/sitemap.md/route.ts +0 -124
  449. package/src/templates/next-pagebuilder/app/studio/[[...tool]]/page.tsx +0 -8
  450. package/src/templates/next-pagebuilder/components/page-builder/components/post-collection/index.tsx +0 -28
  451. package/src/templates/next-pagebuilder/components/sanity/draft-mode-toggle.tsx +0 -27
  452. package/src/templates/next-pagebuilder/components/sanity/rich-text.tsx +0 -87
  453. package/src/templates/next-pagebuilder/components/sanity/visual-editing.tsx +0 -27
  454. package/src/templates/next-pagebuilder/components/ui/sanity-image/index.tsx +0 -41
  455. package/src/templates/next-pagebuilder/lib/integrations/check-integration.ts +0 -5
  456. package/src/templates/next-pagebuilder/lib/integrations/sanity/client.ts +0 -27
  457. package/src/templates/next-pagebuilder/lib/integrations/sanity/components/disable-draft-mode.tsx +0 -23
  458. package/src/templates/next-pagebuilder/lib/integrations/sanity/components/page-builder-input.tsx +0 -36
  459. package/src/templates/next-pagebuilder/lib/integrations/sanity/components/page-category-input.tsx +0 -50
  460. package/src/templates/next-pagebuilder/lib/integrations/sanity/components/rich-text.tsx +0 -84
  461. package/src/templates/next-pagebuilder/lib/integrations/sanity/confirm-publish-action.ts +0 -40
  462. package/src/templates/next-pagebuilder/lib/integrations/sanity/env.ts +0 -34
  463. package/src/templates/next-pagebuilder/lib/integrations/sanity/fetchers/layout.ts +0 -35
  464. package/src/templates/next-pagebuilder/lib/integrations/sanity/icons.ts +0 -58
  465. package/src/templates/next-pagebuilder/lib/integrations/sanity/live/index.tsx +0 -61
  466. package/src/templates/next-pagebuilder/lib/integrations/sanity/markdown-proxy.config.ts +0 -50
  467. package/src/templates/next-pagebuilder/lib/integrations/sanity/page-builder-config.ts +0 -132
  468. package/src/templates/next-pagebuilder/lib/integrations/sanity/page-category.ts +0 -28
  469. package/src/templates/next-pagebuilder/lib/integrations/sanity/queries.ts +0 -281
  470. package/src/templates/next-pagebuilder/lib/integrations/sanity/sanity.cli.ts +0 -29
  471. package/src/templates/next-pagebuilder/lib/integrations/sanity/sanity.config.ts +0 -211
  472. package/src/templates/next-pagebuilder/lib/integrations/sanity/schemas/components/index.ts +0 -4
  473. package/src/templates/next-pagebuilder/lib/integrations/sanity/schemas/components/reusable/blog-content.ts +0 -89
  474. package/src/templates/next-pagebuilder/lib/integrations/sanity/schemas/components/reusable/description.ts +0 -29
  475. package/src/templates/next-pagebuilder/lib/integrations/sanity/schemas/components/reusable/hero.ts +0 -28
  476. package/src/templates/next-pagebuilder/lib/integrations/sanity/schemas/components/singleton/content-collection.ts +0 -45
  477. package/src/templates/next-pagebuilder/lib/integrations/sanity/schemas/content/author.ts +0 -70
  478. package/src/templates/next-pagebuilder/lib/integrations/sanity/schemas/content/blog-category.ts +0 -55
  479. package/src/templates/next-pagebuilder/lib/integrations/sanity/schemas/index.ts +0 -96
  480. package/src/templates/next-pagebuilder/lib/integrations/sanity/schemas/layout/company-data.ts +0 -62
  481. package/src/templates/next-pagebuilder/lib/integrations/sanity/schemas/layout/footer.ts +0 -79
  482. package/src/templates/next-pagebuilder/lib/integrations/sanity/schemas/layout/navbar.ts +0 -74
  483. package/src/templates/next-pagebuilder/lib/integrations/sanity/schemas/shared/link.ts +0 -125
  484. package/src/templates/next-pagebuilder/lib/integrations/sanity/schemas/shared/logo-field.ts +0 -9
  485. package/src/templates/next-pagebuilder/lib/integrations/sanity/schemas/shared/metadata.ts +0 -68
  486. package/src/templates/next-pagebuilder/lib/integrations/sanity/schemas/shared/nav-objects.ts +0 -192
  487. package/src/templates/next-pagebuilder/lib/integrations/sanity/schemas/shared/page-builder.ts +0 -39
  488. package/src/templates/next-pagebuilder/lib/integrations/sanity/schemas/shared/page-folder.ts +0 -124
  489. package/src/templates/next-pagebuilder/lib/integrations/sanity/schemas/shared/page.ts +0 -232
  490. package/src/templates/next-pagebuilder/lib/integrations/sanity/schemas/shared/richText.ts +0 -63
  491. package/src/templates/next-pagebuilder/lib/integrations/sanity/singletons.ts +0 -44
  492. package/src/templates/next-pagebuilder/lib/integrations/sanity/structure.ts +0 -453
  493. package/src/templates/next-pagebuilder/lib/integrations/sanity/utils/image.ts +0 -8
  494. package/src/templates/next-pagebuilder/lib/integrations/sanity/utils/link.ts +0 -137
  495. package/src/templates/next-pagebuilder/lib/integrations/sanity/utils/page-builder-markdown.ts +0 -81
  496. package/src/templates/next-pagebuilder/lib/scripts/sanity-typegen.ts +0 -45
  497. package/src/templates/next-pagebuilder/lib/utils/json-ld.tsx +0 -213
  498. package/src/templates/next-pagebuilder/lib/utils/metadata.ts +0 -167
  499. package/src/templates/next-pagebuilder/lib/utils/sitemap.ts +0 -37
  500. package/src/templates/next-pagebuilder/proxy.ts +0 -81
  501. package/src/templates/next-webgl/css.d.ts +0 -1
  502. package/src/templates/next-webgl/lib/utils/portable-text-to-markdown.ts +0 -83
  503. package/dist/{helpers → infrastructure}/create/copy-template.js +0 -0
  504. package/dist/{helpers → infrastructure}/create/rename-files.d.ts +0 -0
  505. package/dist/{helpers → infrastructure}/create/rename-files.js +0 -0
  506. package/dist/{helpers → infrastructure}/create/setup-sanity.d.ts +0 -0
  507. package/dist/{helpers/integrate → modules/features/cms}/sanity/config.d.ts +0 -0
  508. package/src/{helpers/integrate → modules/features/cms}/sanity/files/app/api/draft-mode/disable/route.ts +0 -0
  509. package/src/{helpers/integrate → modules/features/cms}/sanity/files/app/api/draft-mode/enable/route.ts +0 -0
  510. package/src/{helpers/integrate → modules/features/cms}/sanity/files/app/studio/[[...tool]]/page.tsx +0 -0
  511. package/src/{helpers/integrate → modules/features/cms}/sanity/files/app/studio/layout.tsx +0 -0
  512. package/src/{helpers/integrate → modules/features/cms}/sanity/files/components/ui/sanity-image/index.tsx +0 -0
  513. package/src/{helpers/integrate → modules/features/cms}/sanity/files/lib/integrations/README.md +0 -0
  514. package/src/{helpers/integrate → modules/features/cms}/sanity/files/lib/integrations/check-integration.ts +0 -0
  515. package/src/{helpers/integrate → modules/features/cms}/sanity/files/lib/integrations/sanity/MARKDOWN-PROXY.md +0 -0
  516. package/src/{helpers/integrate → modules/features/cms}/sanity/files/lib/integrations/sanity/README.md +0 -0
  517. package/src/{helpers/integrate → modules/features/cms}/sanity/files/lib/integrations/sanity/client.ts +0 -0
  518. package/src/{helpers/integrate → modules/features/cms}/sanity/files/lib/integrations/sanity/components/disable-draft-mode.tsx +0 -0
  519. package/src/{helpers/integrate → modules/features/cms}/sanity/files/lib/integrations/sanity/components/rich-text.tsx +0 -0
  520. package/src/{helpers/integrate → modules/features/cms}/sanity/files/lib/integrations/sanity/confirm-publish-action.ts +0 -0
  521. package/src/{helpers/integrate → modules/features/cms}/sanity/files/lib/integrations/sanity/live/index.tsx +1 -1
  522. package/src/{helpers/integrate → modules/features/cms}/sanity/files/lib/integrations/sanity/markdown-proxy.config.ts +0 -0
  523. package/src/{helpers/integrate → modules/features/cms}/sanity/files/lib/integrations/sanity/sanity.cli.ts +0 -0
  524. package/src/{helpers/integrate → modules/features/cms}/sanity/files/lib/integrations/sanity/sanity.config.ts +1 -1
  525. /package/src/{helpers/integrate → modules/features/cms}/sanity/files/lib/integrations/sanity/sanity.types.ts +0 -0
  526. /package/src/{helpers/integrate → modules/features/cms}/sanity/files/lib/integrations/sanity/schema.json +0 -0
  527. /package/src/{helpers/integrate → modules/features/cms}/sanity/files/lib/integrations/sanity/schemas/article.ts +0 -0
  528. /package/src/{helpers/integrate → modules/features/cms}/sanity/files/lib/integrations/sanity/schemas/example.ts +0 -0
  529. /package/src/{helpers/integrate → modules/features/cms}/sanity/files/lib/integrations/sanity/schemas/link.ts +0 -0
  530. /package/src/{helpers/integrate → modules/features/cms}/sanity/files/lib/integrations/sanity/schemas/metadata.ts +0 -0
  531. /package/src/{helpers/integrate → modules/features/cms}/sanity/files/lib/integrations/sanity/schemas/navigation.ts +0 -0
  532. /package/src/{helpers/integrate → modules/features/cms}/sanity/files/lib/integrations/sanity/schemas/richText.ts +0 -0
  533. /package/src/{helpers/integrate → modules/features/cms}/sanity/files/lib/integrations/sanity/structure.ts +0 -0
  534. /package/src/{helpers/integrate → modules/features/cms}/sanity/files/lib/integrations/sanity/utils/image.ts +0 -0
  535. /package/src/{helpers/integrate → modules/features/cms}/sanity/files/lib/integrations/sanity/utils/link.ts +0 -0
  536. /package/src/{helpers/integrate → modules/features/cms}/sanity/files/lib/utils/portable-text-to-markdown.ts +0 -0
@@ -0,0 +1,27 @@
1
+ export const TEMPLATES = {
2
+ "next-default": {
3
+ label: "Default (Next.js Starter)",
4
+ description: "Next.js starter preset",
5
+ skills: [],
6
+ },
7
+ "next-webgl": {
8
+ label: "WebGL/WebGPU (3D Graphics)",
9
+ description: "3D graphics starter preset",
10
+ skills: ["webgpu-threejs-tsl"],
11
+ },
12
+ "next-pagebuilder": {
13
+ label: "Page Builder",
14
+ description: "Next.js page builder preset with built-in Sanity support",
15
+ skills: [],
16
+ },
17
+ "next-experiments": {
18
+ label: "Experiment (Creative Coding)",
19
+ description: "Creative coding starter preset",
20
+ skills: ["webgpu-threejs-tsl"],
21
+ },
22
+ };
23
+ export const TEMPLATE_CATALOG = Object.entries(TEMPLATES).map(([id, template]) => ({
24
+ id: id,
25
+ ...template,
26
+ }));
27
+ //# sourceMappingURL=templates.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"templates.js","sourceRoot":"","sources":["../../src/domain/templates.ts"],"names":[],"mappings":"AAQA,MAAM,CAAC,MAAM,SAAS,GAAG;IACxB,cAAc,EAAE;QACf,KAAK,EAAE,2BAA2B;QAClC,WAAW,EAAE,wBAAwB;QACrC,MAAM,EAAE,EAAE;KACV;IACD,YAAY,EAAE;QACb,KAAK,EAAE,4BAA4B;QACnC,WAAW,EAAE,4BAA4B;QACzC,MAAM,EAAE,CAAC,oBAAoB,CAAC;KAC9B;IACD,kBAAkB,EAAE;QACnB,KAAK,EAAE,cAAc;QACrB,WAAW,EAAE,0DAA0D;QACvE,MAAM,EAAE,EAAE;KACV;IACD,kBAAkB,EAAE;QACnB,KAAK,EAAE,8BAA8B;QACrC,WAAW,EAAE,gCAAgC;QAC7C,MAAM,EAAE,CAAC,oBAAoB,CAAC;KAC9B;CACqD,CAAC;AAIxD,MAAM,CAAC,MAAM,gBAAgB,GAAG,MAAM,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC,GAAG,CAC5D,CAAC,CAAC,EAAE,EAAE,QAAQ,CAAC,EAAE,EAAE,CAAC,CAAC;IACpB,EAAE,EAAE,EAAgB;IACpB,GAAG,QAAQ;CACX,CAAC,CACF,CAAC"}
package/dist/index.js CHANGED
@@ -5,11 +5,15 @@ import { Command } from "commander";
5
5
  import fs from "fs-extra";
6
6
  import pc from "picocolors";
7
7
  import prompts from "prompts";
8
- import { hooksConfig } from "./helpers/add/hooks-config.js";
9
- import { addToProject } from "./helpers/add/index.js";
10
- import { createProject } from "./helpers/create/index.js";
11
- import { addIntegration } from "./helpers/integrate/index.js";
12
- import { installSkills } from "./helpers/skills/index.js";
8
+ import { addToProject } from "./application/add-hooks/index.js";
9
+ import { addIntegration } from "./application/add-integration/index.js";
10
+ import { createProject } from "./application/create-project/index.js";
11
+ import { installSkills } from "./application/install-skills/index.js";
12
+ import { AGENT_CATALOG } from "./domain/agents.js";
13
+ import { ANIMATION_CATALOG } from "./domain/animations.js";
14
+ import { CMS_CATALOG } from "./domain/cms.js";
15
+ import { HOOK_CATALOG } from "./domain/hooks.js";
16
+ import { TEMPLATE_CATALOG } from "./domain/templates.js";
13
17
  // ---------------------------------------------------------------------------
14
18
  // Banner
15
19
  // ---------------------------------------------------------------------------
@@ -25,40 +29,28 @@ function showBanner() {
25
29
  `));
26
30
  console.log(orange("\n Welcome to basement-cli\n"));
27
31
  }
32
+ // ---------------------------------------------------------------------------
33
+ // Template labels & mapping
34
+ // ---------------------------------------------------------------------------
28
35
  const TEMPLATE_MAP = {
29
36
  default: "next-default",
30
37
  webgpu: "next-webgl",
31
38
  experiment: "next-experiments",
32
39
  pagebuilder: "next-pagebuilder",
33
40
  };
34
- /** Templates available under the "traditional" architecture. */
35
- const TRADITIONAL_TEMPLATE_LABELS = {
36
- "next-default": "Default (Next.js Starter)",
37
- "next-webgl": "WebGL/WebGPU (3D Graphics)",
38
- "next-experiments": "Experiment (Creative Coding)",
39
- };
40
- /**
41
- * Resolve architecture from Commander flags.
42
- * --page-builder implies page-builder architecture.
43
- * --default, --webgpu, --webgl, --experiment imply traditional.
44
- */
45
- function resolveArchitectureFlag(opts) {
46
- if (opts.pageBuilder)
47
- return "page-builder";
48
- if (opts.default || opts.webgpu || opts.webgl || opts.experiment)
49
- return "traditional";
50
- return undefined;
51
- }
52
41
  /**
53
- * Resolve template from Commander flags (traditional architecture only).
42
+ * Resolve template from Commander flags. Returns the template directory name
43
+ * (e.g. "next-default") or undefined if no flag was provided.
54
44
  */
55
45
  function resolveTemplateFlag(opts) {
56
46
  if (opts.default)
57
- return "next-default";
47
+ return TEMPLATE_MAP.default;
58
48
  if (opts.webgpu || opts.webgl)
59
- return "next-webgl";
49
+ return TEMPLATE_MAP.webgpu;
60
50
  if (opts.experiment)
61
- return "next-experiments";
51
+ return TEMPLATE_MAP.experiment;
52
+ if (opts.pagebuilder)
53
+ return TEMPLATE_MAP.pagebuilder;
62
54
  return undefined;
63
55
  }
64
56
  /** Resolve CMS from flags. */
@@ -67,7 +59,7 @@ function resolveCmsFlag(opts) {
67
59
  return "sanity";
68
60
  // Commander negated option: --no-cms sets opts.cms to false
69
61
  if (opts.cms === false)
70
- return "none";
62
+ return null;
71
63
  return undefined;
72
64
  }
73
65
  /** Resolve animation from flags. */
@@ -77,7 +69,7 @@ function resolveAnimationFlag(opts) {
77
69
  if (opts.motion)
78
70
  return "motion";
79
71
  if (opts.animation === false)
80
- return "none";
72
+ return null;
81
73
  return undefined;
82
74
  }
83
75
  /** Resolve agents from flags. Returns undefined if no flag was provided. */
@@ -98,11 +90,57 @@ function resolveAgentFlags(opts) {
98
90
  agents.push("gemini");
99
91
  return agents.length > 0 ? agents : undefined;
100
92
  }
93
+ function getCreateFlagConflicts(opts) {
94
+ const conflicts = [];
95
+ const templateFlags = new Set();
96
+ if (opts.default)
97
+ templateFlags.add(TEMPLATE_MAP.default);
98
+ if (opts.webgpu || opts.webgl)
99
+ templateFlags.add(TEMPLATE_MAP.webgpu);
100
+ if (opts.experiment)
101
+ templateFlags.add(TEMPLATE_MAP.experiment);
102
+ if (opts.pagebuilder)
103
+ templateFlags.add(TEMPLATE_MAP.pagebuilder);
104
+ if (templateFlags.size > 1) {
105
+ conflicts.push("Choose only one template flag: --default, --webgpu/--webgl, --experiment, or --pagebuilder.");
106
+ }
107
+ if (opts.sanity && opts.cms === false) {
108
+ conflicts.push("--sanity conflicts with --no-cms.");
109
+ }
110
+ if (opts.pagebuilder && (opts.sanity || opts.cms === false)) {
111
+ conflicts.push("--pagebuilder includes Sanity by default; remove --sanity / --no-cms.");
112
+ }
113
+ const animationFlags = Number(Boolean(opts.gsap)) + Number(Boolean(opts.motion));
114
+ if (animationFlags > 1) {
115
+ conflicts.push("Choose only one animation flag: --gsap or --motion.");
116
+ }
117
+ if (animationFlags > 0 && opts.animation === false) {
118
+ conflicts.push("Animation flags conflict with --no-animation.");
119
+ }
120
+ const agentFlags = Number(Boolean(opts.claude)) +
121
+ Number(Boolean(opts.opencode)) +
122
+ Number(Boolean(opts.cursor)) +
123
+ Number(Boolean(opts.codex)) +
124
+ Number(Boolean(opts.gemini));
125
+ if (agentFlags > 0 && opts.agent === false) {
126
+ conflicts.push("Agent flags conflict with --no-agent.");
127
+ }
128
+ return conflicts;
129
+ }
101
130
  /**
102
131
  * Run the interactive create flow. Flags that were already provided via CLI
103
132
  * skip the corresponding prompt.
104
133
  */
105
134
  async function runCreate(projectNameArg, opts) {
135
+ const conflicts = getCreateFlagConflicts(opts);
136
+ if (conflicts.length > 0) {
137
+ console.log(pc.red("\n Conflicting flags:\n"));
138
+ for (const conflict of conflicts) {
139
+ console.log(pc.red(` - ${conflict}`));
140
+ }
141
+ console.log();
142
+ return;
143
+ }
106
144
  // --- Project name ---
107
145
  let projectName = projectNameArg;
108
146
  if (!projectName) {
@@ -119,101 +157,71 @@ async function runCreate(projectNameArg, opts) {
119
157
  return 'Project name may only include lowercase letters, numbers, hyphens, underscores, or "." to use the current directory.';
120
158
  },
121
159
  }));
122
- if (!value) {
160
+ if (value === undefined) {
123
161
  console.log(pc.yellow("\n Operation cancelled.\n"));
124
162
  return;
125
163
  }
126
164
  projectName = value;
127
165
  }
128
- // --- Architecture ---
129
- let architecture = resolveArchitectureFlag(opts);
130
- if (!architecture) {
166
+ // --- Template ---
167
+ let template = resolveTemplateFlag(opts);
168
+ if (!template) {
169
+ const templateChoices = TEMPLATE_CATALOG.map((templateOption) => ({
170
+ title: templateOption.label,
171
+ value: templateOption.id,
172
+ }));
131
173
  const { value } = (await prompts({
132
174
  type: "select",
133
175
  name: "value",
134
- message: "Which architecture do you want to use?",
135
- choices: [
136
- {
137
- title: "Traditional",
138
- description: "Classic Next.js project structure",
139
- value: "traditional",
140
- },
141
- {
142
- title: "Page Builder (Sanity CMS)",
143
- description: "CMS-driven catch-all routing with composable content blocks",
144
- value: "page-builder",
145
- },
146
- ],
176
+ message: "What type of project are you building?",
177
+ choices: templateChoices,
147
178
  }));
148
- if (!value) {
179
+ if (value === undefined) {
149
180
  console.log(pc.yellow("\n Operation cancelled.\n"));
150
181
  return;
151
182
  }
152
- architecture = value;
153
- }
154
- // --- Template & CMS based on architecture ---
155
- let template;
156
- let cms;
157
- if (architecture === "page-builder") {
158
- // Page Builder uses its own template with Sanity built-in
159
- template = TEMPLATE_MAP.pagebuilder;
160
- cms = "sanity";
183
+ template = value;
161
184
  }
162
- else {
163
- // Traditional: pick a template
164
- let traditionalTemplate = resolveTemplateFlag(opts);
165
- if (!traditionalTemplate) {
166
- const templateChoices = Object.entries(TRADITIONAL_TEMPLATE_LABELS).map(([value, title]) => ({
167
- title,
168
- value,
169
- }));
170
- const { value } = (await prompts({
171
- type: "select",
172
- name: "value",
173
- message: "What type of project are you building?",
174
- choices: templateChoices,
175
- }));
176
- if (!value) {
177
- console.log(pc.yellow("\n Operation cancelled.\n"));
178
- return;
179
- }
180
- traditionalTemplate = value;
181
- }
182
- template = traditionalTemplate;
183
- // Traditional: pick a CMS
184
- let resolvedCms = resolveCmsFlag(opts);
185
- if (!resolvedCms) {
186
- const { value } = (await prompts({
187
- type: "select",
188
- name: "value",
189
- message: "Which CMS will you use?",
190
- choices: [
191
- { title: "Sanity", value: "sanity" },
192
- { title: "None", value: "none" },
193
- ],
194
- }));
195
- if (!value) {
196
- console.log(pc.yellow("\n Operation cancelled.\n"));
197
- return;
198
- }
199
- resolvedCms = value;
185
+ // --- CMS ---
186
+ // The pagebuilder preset bundles its own Sanity feature via `defaultFeatures`,
187
+ // so skip the CMS prompt and force `cms` to null. Selecting any other CMS
188
+ // would be rejected by the preset's `allowedFeatures` list.
189
+ let cms = template === "next-pagebuilder" ? null : resolveCmsFlag(opts);
190
+ if (cms === undefined) {
191
+ const { value } = (await prompts({
192
+ type: "select",
193
+ name: "value",
194
+ message: "Which CMS will you use?",
195
+ choices: [
196
+ ...CMS_CATALOG.map((cmsOption) => ({
197
+ title: cmsOption.label,
198
+ value: cmsOption.id,
199
+ })),
200
+ { title: "None", value: null },
201
+ ],
202
+ }));
203
+ if (value === undefined) {
204
+ console.log(pc.yellow("\n Operation cancelled.\n"));
205
+ return;
200
206
  }
201
- cms = resolvedCms;
207
+ cms = value;
202
208
  }
203
209
  // --- Animation ---
204
210
  let animation = resolveAnimationFlag(opts);
205
- if (!animation) {
211
+ if (animation === undefined) {
206
212
  const { value } = (await prompts({
207
213
  type: "select",
208
214
  name: "value",
209
215
  message: "Which animation library do you prefer?",
210
216
  choices: [
211
- { title: "GSAP", value: "gsap" },
212
- { title: "Framer Motion", value: "motion" },
213
- { title: "None", value: "none" },
217
+ ...ANIMATION_CATALOG.map((animationOption) => ({
218
+ title: animationOption.label,
219
+ value: animationOption.id,
220
+ })),
221
+ { title: "None", value: null },
214
222
  ],
215
223
  }));
216
- if (!value) {
224
+ if (value === undefined) {
217
225
  console.log(pc.yellow("\n Operation cancelled.\n"));
218
226
  return;
219
227
  }
@@ -226,13 +234,10 @@ async function runCreate(projectNameArg, opts) {
226
234
  type: "multiselect",
227
235
  name: "value",
228
236
  message: "Which agents are you using? (space to select, enter to confirm)",
229
- choices: [
230
- { title: "Claude Code", value: "claude" },
231
- { title: "OpenCode", value: "opencode" },
232
- { title: "Cursor", value: "cursor" },
233
- { title: "Codex", value: "codex" },
234
- { title: "Gemini CLI", value: "gemini" },
235
- ],
237
+ choices: AGENT_CATALOG.map((agent) => ({
238
+ title: agent.label,
239
+ value: agent.id,
240
+ })),
236
241
  hint: "Select none to skip agent setup",
237
242
  }));
238
243
  if (!value) {
@@ -252,7 +257,10 @@ async function runCreate(projectNameArg, opts) {
252
257
  type: "multiselect",
253
258
  name: "value",
254
259
  message: "Select hooks you want to add:",
255
- choices: hooksConfig.map((h) => ({ title: h.name, value: h.file })),
260
+ choices: HOOK_CATALOG.map((hook) => ({
261
+ title: hook.label,
262
+ value: hook.id,
263
+ })),
256
264
  }));
257
265
  if (!value) {
258
266
  console.log(pc.yellow("\n Operation cancelled.\n"));
@@ -264,11 +272,11 @@ async function runCreate(projectNameArg, opts) {
264
272
  const isCurrentDir = projectName === ".";
265
273
  const targetDir = isCurrentDir
266
274
  ? process.cwd()
267
- : path.join(process.cwd(), projectName);
275
+ : path.resolve(process.cwd(), projectName);
268
276
  // When using ".", derive the package name from the directory name
269
277
  const packageName = isCurrentDir
270
278
  ? path.basename(process.cwd())
271
- : projectName;
279
+ : path.basename(targetDir);
272
280
  if (!isCurrentDir && fs.existsSync(targetDir)) {
273
281
  const { overwrite } = (await prompts({
274
282
  type: "confirm",
@@ -300,7 +308,8 @@ async function runCreate(projectNameArg, opts) {
300
308
  if (!isCurrentDir) {
301
309
  console.log(pc.cyan(` cd ${projectName}`));
302
310
  }
303
- if (cms === "sanity" && !result.sanitySetupDone) {
311
+ const sanityRequested = cms === "sanity" || template === "next-pagebuilder";
312
+ if (sanityRequested && !result.sanitySetupDone) {
304
313
  console.log(pc.cyan(" # Set up Sanity credentials:"));
305
314
  console.log(pc.dim(" # Add to .env.local:"));
306
315
  console.log(pc.dim(" # NEXT_PUBLIC_SANITY_PROJECT_ID=your-project-id"));
@@ -347,7 +356,7 @@ program
347
356
  .option("--webgpu", "Use WebGPU template")
348
357
  .option("--webgl", "Deprecated alias for --webgpu")
349
358
  .option("--experiment", "Use Experiment template")
350
- .option("--page-builder", "Use Page Builder template (includes Sanity CMS)")
359
+ .option("--pagebuilder", "Use Page Builder template (includes Sanity)")
351
360
  .option("--sanity", "Use Sanity CMS")
352
361
  .option("--no-cms", "Skip CMS")
353
362
  .option("--gsap", "Use GSAP animation")
@@ -386,11 +395,11 @@ program
386
395
  showBanner();
387
396
  await addToProject();
388
397
  });
389
- // SKILLS command (install curated basement skills globally)
398
+ // SKILLS command (install basement base skills globally)
390
399
  program
391
400
  .command("skills")
392
401
  .alias("s")
393
- .description("Install curated basement agent skills globally")
402
+ .description("Install basement base agent skills globally")
394
403
  .action(async () => {
395
404
  showBanner();
396
405
  await installSkills();
@@ -420,7 +429,7 @@ program.action(async () => {
420
429
  },
421
430
  {
422
431
  title: "Install skills",
423
- description: "Install curated basement agent skills globally",
432
+ description: "Install basement base agent skills globally",
424
433
  value: "skills",
425
434
  },
426
435
  ],
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,12 @@
1
+ import type { AgentId } from "../../domain/agents.js";
2
+ export interface SanityMcpFailure {
3
+ agent: AgentId;
4
+ reason: string;
5
+ }
6
+ export interface RegisterSanityMcpResult {
7
+ succeeded: AgentId[];
8
+ failed: SanityMcpFailure[];
9
+ }
10
+ export declare function registerSanityMcp(targetDir: string, agents: AgentId[]): Promise<RegisterSanityMcpResult>;
11
+ export declare function getSanityMcpManualInstruction(agent: AgentId): string;
12
+ //# sourceMappingURL=register-sanity-mcp.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"register-sanity-mcp.d.ts","sourceRoot":"","sources":["../../../src/infrastructure/agents/register-sanity-mcp.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,wBAAwB,CAAC;AAgBtD,MAAM,WAAW,gBAAgB;IAChC,KAAK,EAAE,OAAO,CAAC;IACf,MAAM,EAAE,MAAM,CAAC;CACf;AAED,MAAM,WAAW,uBAAuB;IACvC,SAAS,EAAE,OAAO,EAAE,CAAC;IACrB,MAAM,EAAE,gBAAgB,EAAE,CAAC;CAC3B;AAED,wBAAsB,iBAAiB,CACtC,SAAS,EAAE,MAAM,EACjB,MAAM,EAAE,OAAO,EAAE,GACf,OAAO,CAAC,uBAAuB,CAAC,CAyClC;AAED,wBAAgB,6BAA6B,CAAC,KAAK,EAAE,OAAO,GAAG,MAAM,CAepE"}
@@ -0,0 +1,153 @@
1
+ import { execSync } from "node:child_process";
2
+ import path from "node:path";
3
+ import fs from "fs-extra";
4
+ const SANITY_MCP_SERVER_NAME = "Sanity";
5
+ const SANITY_MCP_URL = "https://mcp.sanity.io";
6
+ export async function registerSanityMcp(targetDir, agents) {
7
+ const dedupedAgents = [...new Set(agents)];
8
+ const result = {
9
+ succeeded: [],
10
+ failed: [],
11
+ };
12
+ for (const agent of dedupedAgents) {
13
+ try {
14
+ if (agent === "cursor") {
15
+ await configureCursorMcp(targetDir);
16
+ result.succeeded.push(agent);
17
+ continue;
18
+ }
19
+ if (agent === "opencode") {
20
+ await configureOpenCodeMcp(targetDir);
21
+ result.succeeded.push(agent);
22
+ continue;
23
+ }
24
+ const command = getSanityMcpRegisterCommand(agent);
25
+ if (!command) {
26
+ result.failed.push({
27
+ agent,
28
+ reason: "No automatic registration strategy available.",
29
+ });
30
+ continue;
31
+ }
32
+ runMcpCommand(command);
33
+ result.succeeded.push(agent);
34
+ }
35
+ catch (error) {
36
+ result.failed.push({
37
+ agent,
38
+ reason: getErrorMessage(error),
39
+ });
40
+ }
41
+ }
42
+ return result;
43
+ }
44
+ export function getSanityMcpManualInstruction(agent) {
45
+ switch (agent) {
46
+ case "claude":
47
+ return "claude mcp add Sanity -t http https://mcp.sanity.io --scope user";
48
+ case "codex":
49
+ return "codex mcp add Sanity --url https://mcp.sanity.io";
50
+ case "gemini":
51
+ return "gemini mcp add --transport http --scope user Sanity https://mcp.sanity.io";
52
+ case "cursor":
53
+ return 'Add `mcpServers.Sanity = { type: "http", url: "https://mcp.sanity.io" }` to .cursor/mcp.json';
54
+ case "opencode":
55
+ return 'Add `mcp.sanity = { type: "remote", url: "https://mcp.sanity.io", oauth: {} }` to .opencode/opencode.json and run `opencode mcp auth sanity`';
56
+ default:
57
+ return "Configure Sanity MCP manually for this agent.";
58
+ }
59
+ }
60
+ function getSanityMcpRegisterCommand(agent) {
61
+ switch (agent) {
62
+ case "claude":
63
+ return "claude mcp add Sanity -t http https://mcp.sanity.io --scope user";
64
+ case "codex":
65
+ return "codex mcp add Sanity --url https://mcp.sanity.io";
66
+ case "gemini":
67
+ return "gemini mcp add --transport http --scope user Sanity https://mcp.sanity.io";
68
+ default:
69
+ return null;
70
+ }
71
+ }
72
+ function runMcpCommand(command) {
73
+ try {
74
+ execSync(command, {
75
+ stdio: "pipe",
76
+ timeout: 60_000,
77
+ });
78
+ }
79
+ catch (error) {
80
+ const stderr = error instanceof Object &&
81
+ "stderr" in error &&
82
+ error.stderr instanceof Buffer
83
+ ? error.stderr.toString()
84
+ : "";
85
+ if (stderr.includes("already exists")) {
86
+ return;
87
+ }
88
+ throw error;
89
+ }
90
+ }
91
+ async function configureCursorMcp(targetDir) {
92
+ const filePath = path.join(targetDir, ".cursor", "mcp.json");
93
+ await fs.ensureDir(path.dirname(filePath));
94
+ const config = ((await readJsonSafe(filePath)) ?? {});
95
+ const existingServers = isPlainObject(config.mcpServers)
96
+ ? config.mcpServers
97
+ : {};
98
+ config.mcpServers = {
99
+ ...existingServers,
100
+ [SANITY_MCP_SERVER_NAME]: {
101
+ type: "http",
102
+ url: SANITY_MCP_URL,
103
+ },
104
+ };
105
+ await fs.writeJson(filePath, config, { spaces: 2 });
106
+ }
107
+ async function configureOpenCodeMcp(targetDir) {
108
+ const filePath = path.join(targetDir, ".opencode", "opencode.json");
109
+ await fs.ensureDir(path.dirname(filePath));
110
+ const config = ((await readJsonSafe(filePath)) ?? {});
111
+ const existingMcp = isPlainObject(config.mcp)
112
+ ? config.mcp
113
+ : {};
114
+ config.mcp = {
115
+ ...existingMcp,
116
+ sanity: {
117
+ type: "remote",
118
+ url: SANITY_MCP_URL,
119
+ oauth: {},
120
+ },
121
+ };
122
+ if (!config.$schema) {
123
+ config.$schema = "https://opencode.ai/config.json";
124
+ }
125
+ await fs.writeJson(filePath, config, { spaces: 2 });
126
+ }
127
+ async function readJsonSafe(filePath) {
128
+ try {
129
+ if (!(await fs.pathExists(filePath))) {
130
+ return null;
131
+ }
132
+ return await fs.readJson(filePath);
133
+ }
134
+ catch {
135
+ return {};
136
+ }
137
+ }
138
+ function isPlainObject(value) {
139
+ return typeof value === "object" && value !== null && !Array.isArray(value);
140
+ }
141
+ function getErrorMessage(error) {
142
+ const stderr = error instanceof Object &&
143
+ "stderr" in error &&
144
+ error.stderr instanceof Buffer
145
+ ? error.stderr.toString().trim()
146
+ : "";
147
+ if (stderr)
148
+ return stderr;
149
+ if (error instanceof Error)
150
+ return error.message;
151
+ return String(error);
152
+ }
153
+ //# sourceMappingURL=register-sanity-mcp.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"register-sanity-mcp.js","sourceRoot":"","sources":["../../../src/infrastructure/agents/register-sanity-mcp.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,3 @@
1
+ import type { CreateContext, CreatePlan } from "../../core/create/types.js";
2
+ export declare function applyCopyPaths(plan: CreatePlan, context: CreateContext): Promise<void>;
3
+ //# sourceMappingURL=apply-copy-paths.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"apply-copy-paths.d.ts","sourceRoot":"","sources":["../../../src/infrastructure/create/apply-copy-paths.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,aAAa,EAAE,UAAU,EAAE,MAAM,4BAA4B,CAAC;AAE5E,wBAAsB,cAAc,CACnC,IAAI,EAAE,UAAU,EAChB,OAAO,EAAE,aAAa,GACpB,OAAO,CAAC,IAAI,CAAC,CAQf"}