bsmnt 0.13.1 → 0.15.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 (177) hide show
  1. package/dist/core/create/internal-ids.d.ts +1 -0
  2. package/dist/core/create/internal-ids.d.ts.map +1 -1
  3. package/dist/core/create/internal-ids.js +1 -0
  4. package/dist/core/create/internal-ids.js.map +1 -1
  5. package/dist/domain/skills.d.ts +5 -0
  6. package/dist/domain/skills.d.ts.map +1 -1
  7. package/dist/domain/skills.js +9 -1
  8. package/dist/domain/skills.js.map +1 -1
  9. package/dist/infrastructure/create/format-project.d.ts +9 -0
  10. package/dist/infrastructure/create/format-project.d.ts.map +1 -0
  11. package/dist/infrastructure/create/format-project.js +21 -0
  12. package/dist/infrastructure/create/format-project.js.map +1 -0
  13. package/dist/infrastructure/create/lifecycle-registry.d.ts.map +1 -1
  14. package/dist/infrastructure/create/lifecycle-registry.js +5 -0
  15. package/dist/infrastructure/create/lifecycle-registry.js.map +1 -1
  16. package/dist/modules/features/cms/sanity-pagebuilder/config.d.ts.map +1 -1
  17. package/dist/modules/features/cms/sanity-pagebuilder/config.js +1 -0
  18. package/dist/modules/features/cms/sanity-pagebuilder/config.js.map +1 -1
  19. package/dist/modules/features/cms/sanity-pagebuilder/index.d.ts.map +1 -1
  20. package/dist/modules/features/cms/sanity-pagebuilder/index.js +1 -0
  21. package/dist/modules/features/cms/sanity-pagebuilder/index.js.map +1 -1
  22. package/dist/modules/features/cms/sanity-pagebuilder-cache/config.d.ts.map +1 -1
  23. package/dist/modules/features/cms/sanity-pagebuilder-cache/config.js +1 -0
  24. package/dist/modules/features/cms/sanity-pagebuilder-cache/config.js.map +1 -1
  25. package/dist/modules/features/cms/sanity-pagebuilder-cache/index.d.ts.map +1 -1
  26. package/dist/modules/features/cms/sanity-pagebuilder-cache/index.js +1 -0
  27. package/dist/modules/features/cms/sanity-pagebuilder-cache/index.js.map +1 -1
  28. package/package.json +1 -1
  29. package/src/agent-skills/ashby-pagebuilder-block/SKILL.md +29 -11
  30. package/src/agent-skills/hubspot-pagebuilder-block/SKILL.md +31 -12
  31. package/src/agent-skills/launch-ready/SKILL.md +114 -0
  32. package/src/agent-skills/launch-ready/references/a11y.md +74 -0
  33. package/src/agent-skills/launch-ready/references/content.md +65 -0
  34. package/src/agent-skills/launch-ready/references/crawlers.md +89 -0
  35. package/src/agent-skills/launch-ready/references/launch.md +44 -0
  36. package/src/agent-skills/launch-ready/references/metadata.md +83 -0
  37. package/src/agent-skills/launch-ready/references/performance.md +36 -0
  38. package/src/agent-skills/launch-ready/references/routing.md +47 -0
  39. package/src/agent-skills/launch-ready/references/security.md +39 -0
  40. package/src/agent-skills/page-builder-block/SKILL.md +26 -13
  41. package/src/modules/features/cms/sanity/files/app/layout.tsx +2 -2
  42. package/src/modules/features/cms/sanity/files/lib/utils/metadata.ts +2 -2
  43. package/src/modules/features/cms/sanity/files/lib/utils/url.ts +6 -3
  44. package/src/modules/features/cms/sanity-pagebuilder/files/app/api/revalidate/route.ts +2 -2
  45. package/src/modules/features/cms/sanity-pagebuilder/files/components/sanity/rich-text.tsx +4 -2
  46. package/src/modules/features/cms/sanity-pagebuilder/files/lib/integrations/sanity/components/block-actions-item.tsx +2 -2
  47. package/src/modules/features/cms/sanity-pagebuilder/files/lib/integrations/sanity/components/component-preview-frame.tsx +124 -0
  48. package/src/modules/features/cms/sanity-pagebuilder/files/lib/integrations/sanity/components/component-preview-pane.tsx +25 -0
  49. package/src/modules/features/cms/sanity-pagebuilder/files/lib/integrations/sanity/components/page-builder-input.tsx +3 -26
  50. package/src/modules/features/cms/sanity-pagebuilder/files/lib/integrations/sanity/components/page-builder-insert-menu.tsx +121 -93
  51. package/src/modules/features/cms/sanity-pagebuilder/files/lib/integrations/sanity/components/redirect-import-dialog.tsx +538 -0
  52. package/src/modules/features/cms/sanity-pagebuilder/files/lib/integrations/sanity/csv.ts +88 -0
  53. package/src/modules/features/cms/sanity-pagebuilder/files/lib/integrations/sanity/fetchers/breadcrumbs.ts +22 -0
  54. package/src/modules/features/cms/sanity-pagebuilder/files/lib/integrations/sanity/icons.ts +2 -2
  55. package/src/modules/features/cms/sanity-pagebuilder/files/lib/integrations/sanity/page-builder-config.ts +36 -49
  56. package/src/modules/features/cms/sanity-pagebuilder/files/lib/integrations/sanity/presentation.ts +1 -50
  57. package/src/modules/features/cms/sanity-pagebuilder/files/lib/integrations/sanity/queries.ts +76 -64
  58. package/src/modules/features/cms/sanity-pagebuilder/files/lib/integrations/sanity/redirect-import.ts +651 -0
  59. package/src/modules/features/cms/sanity-pagebuilder/files/lib/integrations/sanity/sanity.config.ts +6 -8
  60. package/src/modules/features/cms/sanity-pagebuilder/files/lib/integrations/sanity/schemas/components/index.ts +0 -1
  61. package/src/modules/features/cms/sanity-pagebuilder/files/lib/integrations/sanity/schemas/index.ts +1 -4
  62. package/src/modules/features/cms/sanity-pagebuilder/files/lib/integrations/sanity/schemas/layout/redirect.ts +9 -6
  63. package/src/modules/features/cms/sanity-pagebuilder/files/lib/integrations/sanity/schemas/layout/structured-data.ts +8 -0
  64. package/src/modules/features/cms/sanity-pagebuilder/files/lib/integrations/sanity/schemas/shared/block.ts +4 -4
  65. package/src/modules/features/cms/sanity-pagebuilder/files/lib/integrations/sanity/schemas/shared/metadata.ts +60 -6
  66. package/src/modules/features/cms/sanity-pagebuilder/files/lib/integrations/sanity/schemas/shared/page-builder.ts +4 -18
  67. package/src/modules/features/cms/sanity-pagebuilder/files/lib/integrations/sanity/schemas/shared/page.ts +33 -38
  68. package/src/modules/features/cms/sanity-pagebuilder/files/lib/integrations/sanity/schemas/shared/richText.ts +0 -1
  69. package/src/modules/features/cms/sanity-pagebuilder/files/lib/integrations/sanity/singletons.ts +0 -16
  70. package/src/modules/features/cms/sanity-pagebuilder/files/lib/integrations/sanity/structure.ts +52 -35
  71. package/src/modules/features/cms/sanity-pagebuilder/files/lib/integrations/sanity/tags.ts +5 -2
  72. package/src/modules/features/cms/sanity-pagebuilder/files/lib/scripts/sanity-typegen.ts +8 -11
  73. package/src/modules/features/cms/sanity-pagebuilder/files/lib/utils/metadata.ts +109 -136
  74. package/src/modules/features/cms/sanity-pagebuilder/files/lib/utils/studio-embed.ts +22 -0
  75. package/src/modules/features/cms/sanity-pagebuilder-cache/files/app/api/revalidate/route.ts +2 -2
  76. package/src/modules/features/cms/sanity-pagebuilder-cache/files/components/sanity/rich-text.tsx +4 -2
  77. package/src/modules/features/cms/sanity-pagebuilder-cache/files/lib/integrations/sanity/components/block-actions-item.tsx +2 -2
  78. package/src/modules/features/cms/sanity-pagebuilder-cache/files/lib/integrations/sanity/components/component-preview-frame.tsx +124 -0
  79. package/src/modules/features/cms/sanity-pagebuilder-cache/files/lib/integrations/sanity/components/component-preview-pane.tsx +25 -0
  80. package/src/modules/features/cms/sanity-pagebuilder-cache/files/lib/integrations/sanity/components/page-builder-input.tsx +3 -26
  81. package/src/modules/features/cms/sanity-pagebuilder-cache/files/lib/integrations/sanity/components/page-builder-insert-menu.tsx +121 -93
  82. package/src/modules/features/cms/sanity-pagebuilder-cache/files/lib/integrations/sanity/components/redirect-import-dialog.tsx +538 -0
  83. package/src/modules/features/cms/sanity-pagebuilder-cache/files/lib/integrations/sanity/csv.ts +88 -0
  84. package/src/modules/features/cms/sanity-pagebuilder-cache/files/lib/integrations/sanity/fetchers/breadcrumbs.ts +25 -0
  85. package/src/modules/features/cms/sanity-pagebuilder-cache/files/lib/integrations/sanity/icons.ts +2 -2
  86. package/src/modules/features/cms/sanity-pagebuilder-cache/files/lib/integrations/sanity/page-builder-config.ts +36 -49
  87. package/src/modules/features/cms/sanity-pagebuilder-cache/files/lib/integrations/sanity/presentation.ts +1 -50
  88. package/src/modules/features/cms/sanity-pagebuilder-cache/files/lib/integrations/sanity/queries.ts +76 -64
  89. package/src/modules/features/cms/sanity-pagebuilder-cache/files/lib/integrations/sanity/redirect-import.ts +651 -0
  90. package/src/modules/features/cms/sanity-pagebuilder-cache/files/lib/integrations/sanity/sanity.config.ts +6 -8
  91. package/src/modules/features/cms/sanity-pagebuilder-cache/files/lib/integrations/sanity/schemas/components/index.ts +0 -1
  92. package/src/modules/features/cms/sanity-pagebuilder-cache/files/lib/integrations/sanity/schemas/index.ts +1 -4
  93. package/src/modules/features/cms/sanity-pagebuilder-cache/files/lib/integrations/sanity/schemas/layout/redirect.ts +9 -6
  94. package/src/modules/features/cms/sanity-pagebuilder-cache/files/lib/integrations/sanity/schemas/layout/structured-data.ts +8 -0
  95. package/src/modules/features/cms/sanity-pagebuilder-cache/files/lib/integrations/sanity/schemas/shared/block.ts +4 -4
  96. package/src/modules/features/cms/sanity-pagebuilder-cache/files/lib/integrations/sanity/schemas/shared/metadata.ts +60 -6
  97. package/src/modules/features/cms/sanity-pagebuilder-cache/files/lib/integrations/sanity/schemas/shared/page-builder.ts +4 -18
  98. package/src/modules/features/cms/sanity-pagebuilder-cache/files/lib/integrations/sanity/schemas/shared/page.ts +33 -38
  99. package/src/modules/features/cms/sanity-pagebuilder-cache/files/lib/integrations/sanity/schemas/shared/richText.ts +0 -1
  100. package/src/modules/features/cms/sanity-pagebuilder-cache/files/lib/integrations/sanity/singletons.ts +0 -16
  101. package/src/modules/features/cms/sanity-pagebuilder-cache/files/lib/integrations/sanity/structure.ts +52 -35
  102. package/src/modules/features/cms/sanity-pagebuilder-cache/files/lib/integrations/sanity/tags.ts +6 -2
  103. package/src/modules/features/cms/sanity-pagebuilder-cache/files/lib/scripts/sanity-typegen.ts +8 -11
  104. package/src/modules/features/cms/sanity-pagebuilder-cache/files/lib/utils/metadata.ts +109 -136
  105. package/src/modules/features/cms/sanity-pagebuilder-cache/files/lib/utils/studio-embed.ts +22 -0
  106. package/src/modules/features/forms/hubspot/files/_sanity-adapter/form-block.ts +4 -10
  107. package/src/modules/features/forms/hubspot/files/lib/integrations/hubspot/README.md +10 -5
  108. package/src/modules/features/jobs/ashby/files/_sanity-adapter/job-board-block.ts +0 -7
  109. package/src/modules/features/jobs/ashby/files/lib/integrations/ashby/README.md +11 -5
  110. package/src/templates/next-default/.env.example +3 -1
  111. package/src/templates/next-default/app/layout.tsx +2 -1
  112. package/src/templates/next-default/app/robots.ts +9 -3
  113. package/src/templates/next-default/lib/utils/metadata.ts +2 -1
  114. package/src/templates/next-default/lib/utils/url.ts +20 -3
  115. package/src/templates/next-default/next.config.ts +16 -0
  116. package/src/templates/next-experiments/.env.example +3 -1
  117. package/src/templates/next-experiments/app/layout.tsx +2 -1
  118. package/src/templates/next-experiments/app/robots.ts +9 -3
  119. package/src/templates/next-experiments/lib/utils/metadata.ts +2 -1
  120. package/src/templates/next-experiments/lib/utils/url.ts +20 -3
  121. package/src/templates/next-experiments/next.config.ts +16 -0
  122. package/src/templates/next-pagebuilder/.env.example +3 -1
  123. package/src/templates/next-pagebuilder/.github/workflows/ci.yml +32 -8
  124. package/src/templates/next-pagebuilder/AGENTS.md +22 -7
  125. package/src/templates/next-pagebuilder/README.md +15 -3
  126. package/src/templates/next-pagebuilder/app/(content)/[[...slug]]/page.tsx +45 -7
  127. package/src/templates/next-pagebuilder/app/actions/unlock-gated-content.ts +5 -4
  128. package/src/templates/next-pagebuilder/app/components/page.tsx +81 -0
  129. package/src/templates/next-pagebuilder/app/layout.tsx +3 -41
  130. package/src/templates/next-pagebuilder/app/robots.ts +9 -3
  131. package/src/templates/next-pagebuilder/biome.json +2 -1
  132. package/src/templates/next-pagebuilder/components/layout/footer/index.tsx +1 -1
  133. package/src/templates/next-pagebuilder/components/page-builder/components/gated-content/index.tsx +8 -3
  134. package/src/templates/next-pagebuilder/components/page-builder/library.ts +183 -0
  135. package/src/templates/next-pagebuilder/components/page-builder/registry.tsx +4 -1
  136. package/src/templates/next-pagebuilder/components/page-builder/renderer.tsx +3 -1
  137. package/src/templates/next-pagebuilder/components/page-builder/stage.tsx +10 -0
  138. package/src/templates/next-pagebuilder/components/page-document/index.tsx +28 -35
  139. package/src/templates/next-pagebuilder/lefthook.yml +1 -1
  140. package/src/templates/next-pagebuilder/lib/integrations/sanity/sanity.types.ts +170 -299
  141. package/src/templates/next-pagebuilder/lib/utils/base-url.ts +18 -3
  142. package/src/templates/next-pagebuilder/lib/utils/breadcrumbs.ts +70 -0
  143. package/src/templates/next-pagebuilder/next.config.ts +16 -0
  144. package/src/templates/next-pagebuilder/package.json +1 -1
  145. package/src/templates/next-pagebuilder-cache/.env.example +3 -1
  146. package/src/templates/next-pagebuilder-cache/.github/workflows/ci.yml +32 -8
  147. package/src/templates/next-pagebuilder-cache/AGENTS.md +22 -7
  148. package/src/templates/next-pagebuilder-cache/README.md +15 -3
  149. package/src/templates/next-pagebuilder-cache/app/(content)/[[...slug]]/page.tsx +46 -7
  150. package/src/templates/next-pagebuilder-cache/app/actions/unlock-gated-content.ts +5 -4
  151. package/src/templates/next-pagebuilder-cache/app/components/page.tsx +91 -0
  152. package/src/templates/next-pagebuilder-cache/app/layout.tsx +5 -46
  153. package/src/templates/next-pagebuilder-cache/app/robots.ts +9 -3
  154. package/src/templates/next-pagebuilder-cache/biome.json +2 -1
  155. package/src/templates/next-pagebuilder-cache/components/layout/footer/index.tsx +1 -1
  156. package/src/templates/next-pagebuilder-cache/components/page-builder/components/gated-content/index.tsx +8 -3
  157. package/src/templates/next-pagebuilder-cache/components/page-builder/library.ts +183 -0
  158. package/src/templates/next-pagebuilder-cache/components/page-builder/registry.tsx +4 -1
  159. package/src/templates/next-pagebuilder-cache/components/page-builder/renderer.tsx +3 -1
  160. package/src/templates/next-pagebuilder-cache/components/page-builder/stage.tsx +10 -0
  161. package/src/templates/next-pagebuilder-cache/components/page-document/index.tsx +28 -35
  162. package/src/templates/next-pagebuilder-cache/lefthook.yml +1 -1
  163. package/src/templates/next-pagebuilder-cache/lib/integrations/sanity/sanity.types.ts +170 -299
  164. package/src/templates/next-pagebuilder-cache/lib/utils/base-url.ts +18 -3
  165. package/src/templates/next-pagebuilder-cache/lib/utils/breadcrumbs.ts +70 -0
  166. package/src/templates/next-pagebuilder-cache/next.config.ts +16 -0
  167. package/src/templates/next-pagebuilder-cache/package.json +1 -1
  168. package/src/templates/next-webgl/.env.example +3 -1
  169. package/src/templates/next-webgl/app/layout.tsx +2 -1
  170. package/src/templates/next-webgl/app/robots.ts +9 -3
  171. package/src/templates/next-webgl/lib/utils/metadata.ts +2 -1
  172. package/src/templates/next-webgl/lib/utils/url.ts +20 -3
  173. package/src/templates/next-webgl/next.config.ts +16 -0
  174. package/src/modules/features/cms/sanity-pagebuilder/files/lib/integrations/sanity/components/use-studio-preview-urls.ts +0 -62
  175. package/src/modules/features/cms/sanity-pagebuilder/files/lib/integrations/sanity/schemas/components/studio-preview.ts +0 -37
  176. package/src/modules/features/cms/sanity-pagebuilder-cache/files/lib/integrations/sanity/components/use-studio-preview-urls.ts +0 -62
  177. package/src/modules/features/cms/sanity-pagebuilder-cache/files/lib/integrations/sanity/schemas/components/studio-preview.ts +0 -37
@@ -7,6 +7,7 @@ export declare const CREATE_LIFECYCLE_STEP_IDS: {
7
7
  readonly agentSetup: "agent:setup";
8
8
  readonly sanitySetupProject: "sanity:setup-project";
9
9
  readonly sanityMcpSetup: "sanity:mcp-setup";
10
+ readonly formatProject: "project:format";
10
11
  };
11
12
  export type CreateLifecycleStepId = (typeof CREATE_LIFECYCLE_STEP_IDS)[keyof typeof CREATE_LIFECYCLE_STEP_IDS];
12
13
  export declare const CREATE_MERGER_IDS: {
@@ -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;aACrC,UAAU,EAAE,aAAa;aACzB,kBAAkB,EAAE,sBAAsB;aAC1C,cAAc,EAAE,kBAAkB;CACzB,CAAC;AAEX,MAAM,MAAM,qBAAqB,GAChC,CAAC,OAAO,yBAAyB,CAAC,CAAC,MAAM,OAAO,yBAAyB,CAAC,CAAC;AAE5E,eAAO,MAAM,iBAAiB;aAC7B,YAAY,EAAE,eAAe;aAC7B,aAAa,EAAE,gBAAgB;aAC/B,sBAAsB,EAAE,0BAA0B;aAClD,gBAAgB,EAAE,oBAAoB;aACtC,UAAU,EAAE,aAAa;aACzB,kBAAkB,EAAE,qBAAqB;CAChC,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,CAMxD,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,0CAA0C,yCAChB,CAAC;AAExC,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;aACrC,UAAU,EAAE,aAAa;aACzB,kBAAkB,EAAE,sBAAsB;aAC1C,cAAc,EAAE,kBAAkB;aAClC,aAAa,EAAE,gBAAgB;CACtB,CAAC;AAEX,MAAM,MAAM,qBAAqB,GAChC,CAAC,OAAO,yBAAyB,CAAC,CAAC,MAAM,OAAO,yBAAyB,CAAC,CAAC;AAE5E,eAAO,MAAM,iBAAiB;aAC7B,YAAY,EAAE,eAAe;aAC7B,aAAa,EAAE,gBAAgB;aAC/B,sBAAsB,EAAE,0BAA0B;aAClD,gBAAgB,EAAE,oBAAoB;aACtC,UAAU,EAAE,aAAa;aACzB,kBAAkB,EAAE,qBAAqB;CAChC,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,CAMxD,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,0CAA0C,yCAChB,CAAC;AAExC,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"}
@@ -2,6 +2,7 @@ export const CREATE_LIFECYCLE_STEP_IDS = {
2
2
  agentSetup: "agent:setup",
3
3
  sanitySetupProject: "sanity:setup-project",
4
4
  sanityMcpSetup: "sanity:mcp-setup",
5
+ formatProject: "project:format",
5
6
  };
6
7
  export const CREATE_MERGER_IDS = {
7
8
  sanityLayout: "sanity:layout",
@@ -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;IAC1C,cAAc,EAAE,kBAAkB;CACzB,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;IACzB,kBAAkB,EAAE,qBAAqB;CAChC,CAAC;AAKX,MAAM,CAAC,MAAM,iBAAiB,GAA+B;IAC5D,cAAc,EAAE,qBAAqB;IACrC,kBAAkB,EAAE,yBAAyB;IAC7C,wBAAwB,EAAE,+BAA+B;IACzD,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,0CAA0C,GACtD,sCAAsC,CAAC;AAExC,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;IAC1C,cAAc,EAAE,kBAAkB;IAClC,aAAa,EAAE,gBAAgB;CACtB,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;IACzB,kBAAkB,EAAE,qBAAqB;CAChC,CAAC;AAKX,MAAM,CAAC,MAAM,iBAAiB,GAA+B;IAC5D,cAAc,EAAE,qBAAqB;IACrC,kBAAkB,EAAE,yBAAyB;IAC7C,wBAAwB,EAAE,+BAA+B;IACzD,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,0CAA0C,GACtD,sCAAsC,CAAC;AAExC,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"}
@@ -104,6 +104,11 @@ export declare const LOCAL_SKILLS: {
104
104
  readonly description: "Wire schema.org JSON-LD into components using the project's generators";
105
105
  readonly dir: "json-ld";
106
106
  };
107
+ readonly "launch-ready": {
108
+ readonly name: "Launch Ready";
109
+ readonly description: "Launch-readiness rules: 404s, links, robots and sitemap, metadata, accessibility";
110
+ readonly dir: "launch-ready";
111
+ };
107
112
  readonly "rss-feed": {
108
113
  readonly name: "RSS Feed";
109
114
  readonly description: "Add or extend an RSS feed for a Sanity content type";
@@ -1 +1 @@
1
- {"version":3,"file":"skills.d.ts","sourceRoot":"","sources":["../../src/domain/skills.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"skills.d.ts","sourceRoot":"","sources":["../../src/domain/skills.ts"],"names":[],"mappings":"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"}
@@ -55,6 +55,11 @@ export const LOCAL_SKILLS = {
55
55
  description: "Wire schema.org JSON-LD into components using the project's generators",
56
56
  dir: "json-ld",
57
57
  },
58
+ "launch-ready": {
59
+ name: "Launch Ready",
60
+ description: "Launch-readiness rules: 404s, links, robots and sitemap, metadata, accessibility",
61
+ dir: "launch-ready",
62
+ },
58
63
  "rss-feed": {
59
64
  name: "RSS Feed",
60
65
  description: "Add or extend an RSS feed for a Sanity content type",
@@ -98,7 +103,10 @@ export const LOCAL_SKILLS = {
98
103
  * ashby-pagebuilder-block) are gated through each integration's `localSkills`,
99
104
  * and template-scoped ones (page-builder-block) through each template's.
100
105
  */
101
- export const BASE_LOCAL_SKILL_IDS = ["json-ld"];
106
+ export const BASE_LOCAL_SKILL_IDS = [
107
+ "json-ld",
108
+ "launch-ready",
109
+ ];
102
110
  const SKILL_INSTALL_CATALOG = {
103
111
  "vercel-react-best-practices": {
104
112
  source: "vercel-labs/agent-skills",
@@ -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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"}
@@ -0,0 +1,9 @@
1
+ /**
2
+ * Run `biome check --write` in the generated project so files copied from
3
+ * feature modules match the template's formatter settings and the first
4
+ * `bun lint` (`biome ci`) passes. Non-fatal: a failure is reported as a warning.
5
+ *
6
+ * @param targetDir - Absolute path to the scaffolded project directory
7
+ */
8
+ export declare function formatProject(targetDir: string): Promise<void>;
9
+ //# sourceMappingURL=format-project.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"format-project.d.ts","sourceRoot":"","sources":["../../../src/infrastructure/create/format-project.ts"],"names":[],"mappings":"AAGA;;;;;;GAMG;AACH,wBAAsB,aAAa,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAWpE"}
@@ -0,0 +1,21 @@
1
+ import { execSync } from "node:child_process";
2
+ import ora from "ora";
3
+ /**
4
+ * Run `biome check --write` in the generated project so files copied from
5
+ * feature modules match the template's formatter settings and the first
6
+ * `bun lint` (`biome ci`) passes. Non-fatal: a failure is reported as a warning.
7
+ *
8
+ * @param targetDir - Absolute path to the scaffolded project directory
9
+ */
10
+ export async function formatProject(targetDir) {
11
+ const spinner = ora("Formatting project (biome)...").start();
12
+ try {
13
+ execSync("bun biome check --write .", { cwd: targetDir, stdio: "pipe" });
14
+ spinner.succeed("Project formatted.");
15
+ }
16
+ catch (error) {
17
+ const message = error instanceof Error ? error.message : String(error);
18
+ spinner.warn(`Formatting left issues — run \`bun lint\` to see them.\n${message}`);
19
+ }
20
+ }
21
+ //# sourceMappingURL=format-project.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"format-project.js","sourceRoot":"","sources":["../../../src/infrastructure/create/format-project.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,oBAAoB,CAAC;AAC9C,OAAO,GAAG,MAAM,KAAK,CAAC;AAEtB;;;;;;GAMG;AACH,MAAM,CAAC,KAAK,UAAU,aAAa,CAAC,SAAiB;IACpD,MAAM,OAAO,GAAG,GAAG,CAAC,+BAA+B,CAAC,CAAC,KAAK,EAAE,CAAC;IAC7D,IAAI,CAAC;QACJ,QAAQ,CAAC,2BAA2B,EAAE,EAAE,GAAG,EAAE,SAAS,EAAE,KAAK,EAAE,MAAM,EAAE,CAAC,CAAC;QACzE,OAAO,CAAC,OAAO,CAAC,oBAAoB,CAAC,CAAC;IACvC,CAAC;IAAC,OAAO,KAAc,EAAE,CAAC;QACzB,MAAM,OAAO,GAAG,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;QACvE,OAAO,CAAC,IAAI,CACX,2DAA2D,OAAO,EAAE,CACpE,CAAC;IACH,CAAC;AACF,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"lifecycle-registry.d.ts","sourceRoot":"","sources":["../../../src/infrastructure/create/lifecycle-registry.ts"],"names":[],"mappings":"AAMA,OAAO,KAAK,EACX,aAAa,EACb,cAAc,EACd,aAAa,EACb,MAAM,4BAA4B,CAAC;AAoFpC,wBAAsB,iBAAiB,CACtC,KAAK,EAAE,cAAc,EACrB,KAAK,EAAE,aAAa,EAAE,EACtB,OAAO,EAAE,aAAa,GACpB,OAAO,CAAC,MAAM,EAAE,CAAC,CAgBnB"}
1
+ {"version":3,"file":"lifecycle-registry.d.ts","sourceRoot":"","sources":["../../../src/infrastructure/create/lifecycle-registry.ts"],"names":[],"mappings":"AAMA,OAAO,KAAK,EACX,aAAa,EACb,cAAc,EACd,aAAa,EACb,MAAM,4BAA4B,CAAC;AAyFpC,wBAAsB,iBAAiB,CACtC,KAAK,EAAE,cAAc,EACrB,KAAK,EAAE,aAAa,EAAE,EACtB,OAAO,EAAE,aAAa,GACpB,OAAO,CAAC,MAAM,EAAE,CAAC,CAgBnB"}
@@ -3,6 +3,7 @@ import prompts from "prompts";
3
3
  import { CREATE_LIFECYCLE_STEP_IDS, } from "../../core/create/internal-ids.js";
4
4
  import { AGENTS, isAgentId } from "../../domain/agents.js";
5
5
  import { getSanityMcpManualInstruction, registerSanityMcp, } from "../agents/register-sanity-mcp.js";
6
+ import { formatProject } from "./format-project.js";
6
7
  import { setupAgent } from "./setup-agent.js";
7
8
  import { setupSanity } from "./setup-sanity.js";
8
9
  const LIFECYCLE_REGISTRY = {
@@ -60,6 +61,10 @@ const LIFECYCLE_REGISTRY = {
60
61
  }
61
62
  return true;
62
63
  },
64
+ [CREATE_LIFECYCLE_STEP_IDS.formatProject]: async (_step, context) => {
65
+ await formatProject(context.targetDir);
66
+ return true;
67
+ },
63
68
  };
64
69
  export async function runLifecycleStage(stage, steps, context) {
65
70
  const completedStepIds = [];
@@ -1 +1 @@
1
- {"version":3,"file":"lifecycle-registry.js","sourceRoot":"","sources":["../../../src/infrastructure/create/lifecycle-registry.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"lifecycle-registry.js","sourceRoot":"","sources":["../../../src/infrastructure/create/lifecycle-registry.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../../../../../src/modules/features/cms/sanity-pagebuilder/config.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,MAAM,WAAW,kCAAkC;IAClD,IAAI,EAAE,MAAM,CAAC;IACb,YAAY,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACrC,eAAe,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACxC,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAChC,aAAa,EAAE,MAAM,EAAE,CAAC;CACxB;AAED,eAAO,MAAM,uBAAuB,EAAE,kCAgDrC,CAAC"}
1
+ {"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../../../../../src/modules/features/cms/sanity-pagebuilder/config.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,MAAM,WAAW,kCAAkC;IAClD,IAAI,EAAE,MAAM,CAAC;IACb,YAAY,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACrC,eAAe,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACxC,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAChC,aAAa,EAAE,MAAM,EAAE,CAAC;CACxB;AAED,eAAO,MAAM,uBAAuB,EAAE,kCAiDrC,CAAC"}
@@ -37,6 +37,7 @@ export const sanityPagebuilderConfig = {
37
37
  "lib/utils/metadata.ts",
38
38
  "lib/utils/rss.ts",
39
39
  "lib/utils/sitemap.ts",
40
+ "lib/utils/studio-embed.ts",
40
41
  "lib/scripts/sanity-typegen.ts",
41
42
  "app/studio",
42
43
  "app/api",
@@ -1 +1 @@
1
- {"version":3,"file":"config.js","sourceRoot":"","sources":["../../../../../src/modules/features/cms/sanity-pagebuilder/config.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAUH,MAAM,CAAC,MAAM,uBAAuB,GAAuC;IAC1E,IAAI,EAAE,oBAAoB;IAE1B,YAAY,EAAE;QACb,uBAAuB,EAAE,SAAS;QAClC,qBAAqB,EAAE,QAAQ;QAC/B,qBAAqB,EAAE,QAAQ;QAC/B,eAAe,EAAE,QAAQ;QACzB,mBAAmB,EAAE,QAAQ;QAC7B,eAAe,EAAE,QAAQ;QACzB,YAAY,EAAE,SAAS;QACvB,gBAAgB,EAAE,SAAS;QAC3B,wBAAwB,EAAE,QAAQ;QAClC,aAAa,EAAE,SAAS;QACxB,MAAM,EAAE,SAAS;QACjB,qBAAqB,EAAE,QAAQ;KAC/B;IAED,eAAe,EAAE;QAChB,6BAA6B,EAAE,QAAQ;QACvC,YAAY,EAAE,QAAQ;KACtB;IAED,OAAO,EAAE;QACR,gBAAgB,EACf,wFAAwF;QACzF,gBAAgB,EAAE,qCAAqC;QACvD,MAAM,EAAE,wBAAwB;QAChC,QAAQ,EAAE,wBAAwB;KAClC;IAED,aAAa,EAAE;QACd,yBAAyB;QACzB,uCAAuC;QACvC,6BAA6B;QAC7B,uBAAuB;QACvB,uBAAuB;QACvB,kBAAkB;QAClB,sBAAsB;QACtB,+BAA+B;QAC/B,YAAY;QACZ,SAAS;QACT,cAAc;QACd,gBAAgB;QAChB,UAAU;QACV,mBAAmB;QACnB,4BAA4B;KAC5B;CACD,CAAC"}
1
+ {"version":3,"file":"config.js","sourceRoot":"","sources":["../../../../../src/modules/features/cms/sanity-pagebuilder/config.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAUH,MAAM,CAAC,MAAM,uBAAuB,GAAuC;IAC1E,IAAI,EAAE,oBAAoB;IAE1B,YAAY,EAAE;QACb,uBAAuB,EAAE,SAAS;QAClC,qBAAqB,EAAE,QAAQ;QAC/B,qBAAqB,EAAE,QAAQ;QAC/B,eAAe,EAAE,QAAQ;QACzB,mBAAmB,EAAE,QAAQ;QAC7B,eAAe,EAAE,QAAQ;QACzB,YAAY,EAAE,SAAS;QACvB,gBAAgB,EAAE,SAAS;QAC3B,wBAAwB,EAAE,QAAQ;QAClC,aAAa,EAAE,SAAS;QACxB,MAAM,EAAE,SAAS;QACjB,qBAAqB,EAAE,QAAQ;KAC/B;IAED,eAAe,EAAE;QAChB,6BAA6B,EAAE,QAAQ;QACvC,YAAY,EAAE,QAAQ;KACtB;IAED,OAAO,EAAE;QACR,gBAAgB,EACf,wFAAwF;QACzF,gBAAgB,EAAE,qCAAqC;QACvD,MAAM,EAAE,wBAAwB;QAChC,QAAQ,EAAE,wBAAwB;KAClC;IAED,aAAa,EAAE;QACd,yBAAyB;QACzB,uCAAuC;QACvC,6BAA6B;QAC7B,uBAAuB;QACvB,uBAAuB;QACvB,kBAAkB;QAClB,sBAAsB;QACtB,2BAA2B;QAC3B,+BAA+B;QAC/B,YAAY;QACZ,SAAS;QACT,cAAc;QACd,gBAAgB;QAChB,UAAU;QACV,mBAAmB;QACnB,4BAA4B;KAC5B;CACD,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../src/modules/features/cms/sanity-pagebuilder/index.ts"],"names":[],"mappings":"AAMA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,kCAAkC,CAAC;AAItE,eAAO,MAAM,wBAAwB,EAAE,aAiCtC,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../src/modules/features/cms/sanity-pagebuilder/index.ts"],"names":[],"mappings":"AAMA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,kCAAkC,CAAC;AAItE,eAAO,MAAM,wBAAwB,EAAE,aAkCtC,CAAC"}
@@ -31,6 +31,7 @@ export const sanityPagebuilderFeature = {
31
31
  finalize: [
32
32
  { id: CREATE_LIFECYCLE_STEP_IDS.sanitySetupProject },
33
33
  { id: CREATE_LIFECYCLE_STEP_IDS.sanityMcpSetup },
34
+ { id: CREATE_LIFECYCLE_STEP_IDS.formatProject },
34
35
  ],
35
36
  },
36
37
  };
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../src/modules/features/cms/sanity-pagebuilder/index.ts"],"names":[],"mappings":"AAAA,OAAO,IAAI,MAAM,WAAW,CAAC;AAC7B,OAAO,EACN,yBAAyB,EACzB,wBAAwB,EACxB,oCAAoC,GACpC,MAAM,yCAAyC,CAAC;AAEjD,OAAO,EAAE,4BAA4B,EAAE,MAAM,sBAAsB,CAAC;AACpE,OAAO,EAAE,uBAAuB,EAAE,MAAM,aAAa,CAAC;AAEtD,MAAM,CAAC,MAAM,wBAAwB,GAAkB;IACtD,EAAE,EAAE,oCAAoC;IACxC,IAAI,EAAE,SAAS;IACf,KAAK,EAAE,uBAAuB;IAC9B,aAAa,EAAE,CAAC,wBAAwB,CAAC;IACzC,UAAU,CAAC,OAAO;QACjB,OAAO;YACN,WAAW,EAAE;gBACZ,YAAY,EAAE,uBAAuB,CAAC,YAAY;gBAClD,eAAe,EAAE,uBAAuB,CAAC,eAAe;gBACxD,OAAO,EAAE,uBAAuB,CAAC,OAAO;aACxC;YACD,SAAS,EAAE,uBAAuB,CAAC,aAAa,CAAC,GAAG,CAAC,CAAC,YAAY,EAAE,EAAE,CAAC,CAAC;gBACvE,IAAI,EAAE,IAAI,CAAC,IAAI,CAAC,4BAA4B,EAAE,YAAY,CAAC;gBAC3D,EAAE,EAAE,iBAAiB,CAAC,YAAY,EAAE,OAAO,CAAC,UAAU,CAAC;gBACvD,SAAS,EAAE,KAAK;aAChB,CAAC,CAAC;YACH,GAAG,EAAE;gBACJ,EAAE,GAAG,EAAE,+BAA+B,EAAE,QAAQ,EAAE,IAAI,EAAE;gBACxD,EAAE,GAAG,EAAE,4BAA4B,EAAE,QAAQ,EAAE,IAAI,EAAE;gBACrD,EAAE,GAAG,EAAE,uBAAuB,EAAE,QAAQ,EAAE,IAAI,EAAE;gBAChD,oEAAoE;gBACpE,kDAAkD;gBAClD,EAAE,GAAG,EAAE,0BAA0B,EAAE,QAAQ,EAAE,IAAI,EAAE;aACnD;YACD,SAAS,EAAE;gBACV,QAAQ,EAAE;oBACT,EAAE,EAAE,EAAE,yBAAyB,CAAC,kBAAkB,EAAE;oBACpD,EAAE,EAAE,EAAE,yBAAyB,CAAC,cAAc,EAAE;iBAChD;aACD;SACD,CAAC;IACH,CAAC;CACD,CAAC;AAEF,SAAS,iBAAiB,CAAC,YAAoB,EAAE,MAAmB;IACnE,IAAI,CAAC,MAAM;QAAE,OAAO,YAAY,CAAC;IAEjC,KAAK,MAAM,KAAK,IAAI,CAAC,MAAM,EAAE,MAAM,EAAE,aAAa,CAAC,EAAE,CAAC;QACrD,IAAI,YAAY,CAAC,UAAU,CAAC,KAAK,CAAC,EAAE,CAAC;YACpC,OAAO,GAAG,MAAM,GAAG,YAAY,EAAE,CAAC;QACnC,CAAC;IACF,CAAC;IAED,IAAI,YAAY,KAAK,UAAU,IAAI,YAAY,KAAK,UAAU,EAAE,CAAC;QAChE,OAAO,GAAG,MAAM,GAAG,YAAY,EAAE,CAAC;IACnC,CAAC;IAED,OAAO,YAAY,CAAC;AACrB,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../src/modules/features/cms/sanity-pagebuilder/index.ts"],"names":[],"mappings":"AAAA,OAAO,IAAI,MAAM,WAAW,CAAC;AAC7B,OAAO,EACN,yBAAyB,EACzB,wBAAwB,EACxB,oCAAoC,GACpC,MAAM,yCAAyC,CAAC;AAEjD,OAAO,EAAE,4BAA4B,EAAE,MAAM,sBAAsB,CAAC;AACpE,OAAO,EAAE,uBAAuB,EAAE,MAAM,aAAa,CAAC;AAEtD,MAAM,CAAC,MAAM,wBAAwB,GAAkB;IACtD,EAAE,EAAE,oCAAoC;IACxC,IAAI,EAAE,SAAS;IACf,KAAK,EAAE,uBAAuB;IAC9B,aAAa,EAAE,CAAC,wBAAwB,CAAC;IACzC,UAAU,CAAC,OAAO;QACjB,OAAO;YACN,WAAW,EAAE;gBACZ,YAAY,EAAE,uBAAuB,CAAC,YAAY;gBAClD,eAAe,EAAE,uBAAuB,CAAC,eAAe;gBACxD,OAAO,EAAE,uBAAuB,CAAC,OAAO;aACxC;YACD,SAAS,EAAE,uBAAuB,CAAC,aAAa,CAAC,GAAG,CAAC,CAAC,YAAY,EAAE,EAAE,CAAC,CAAC;gBACvE,IAAI,EAAE,IAAI,CAAC,IAAI,CAAC,4BAA4B,EAAE,YAAY,CAAC;gBAC3D,EAAE,EAAE,iBAAiB,CAAC,YAAY,EAAE,OAAO,CAAC,UAAU,CAAC;gBACvD,SAAS,EAAE,KAAK;aAChB,CAAC,CAAC;YACH,GAAG,EAAE;gBACJ,EAAE,GAAG,EAAE,+BAA+B,EAAE,QAAQ,EAAE,IAAI,EAAE;gBACxD,EAAE,GAAG,EAAE,4BAA4B,EAAE,QAAQ,EAAE,IAAI,EAAE;gBACrD,EAAE,GAAG,EAAE,uBAAuB,EAAE,QAAQ,EAAE,IAAI,EAAE;gBAChD,oEAAoE;gBACpE,kDAAkD;gBAClD,EAAE,GAAG,EAAE,0BAA0B,EAAE,QAAQ,EAAE,IAAI,EAAE;aACnD;YACD,SAAS,EAAE;gBACV,QAAQ,EAAE;oBACT,EAAE,EAAE,EAAE,yBAAyB,CAAC,kBAAkB,EAAE;oBACpD,EAAE,EAAE,EAAE,yBAAyB,CAAC,cAAc,EAAE;oBAChD,EAAE,EAAE,EAAE,yBAAyB,CAAC,aAAa,EAAE;iBAC/C;aACD;SACD,CAAC;IACH,CAAC;CACD,CAAC;AAEF,SAAS,iBAAiB,CAAC,YAAoB,EAAE,MAAmB;IACnE,IAAI,CAAC,MAAM;QAAE,OAAO,YAAY,CAAC;IAEjC,KAAK,MAAM,KAAK,IAAI,CAAC,MAAM,EAAE,MAAM,EAAE,aAAa,CAAC,EAAE,CAAC;QACrD,IAAI,YAAY,CAAC,UAAU,CAAC,KAAK,CAAC,EAAE,CAAC;YACpC,OAAO,GAAG,MAAM,GAAG,YAAY,EAAE,CAAC;QACnC,CAAC;IACF,CAAC;IAED,IAAI,YAAY,KAAK,UAAU,IAAI,YAAY,KAAK,UAAU,EAAE,CAAC;QAChE,OAAO,GAAG,MAAM,GAAG,YAAY,EAAE,CAAC;IACnC,CAAC;IAED,OAAO,YAAY,CAAC;AACrB,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../../../../../src/modules/features/cms/sanity-pagebuilder-cache/config.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,MAAM,WAAW,uCAAuC;IACvD,IAAI,EAAE,MAAM,CAAC;IACb,YAAY,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACrC,eAAe,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACxC,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAChC,aAAa,EAAE,MAAM,EAAE,CAAC;CACxB;AAED,eAAO,MAAM,4BAA4B,EAAE,uCAiDzC,CAAC"}
1
+ {"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../../../../../src/modules/features/cms/sanity-pagebuilder-cache/config.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,MAAM,WAAW,uCAAuC;IACvD,IAAI,EAAE,MAAM,CAAC;IACb,YAAY,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACrC,eAAe,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACxC,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAChC,aAAa,EAAE,MAAM,EAAE,CAAC;CACxB;AAED,eAAO,MAAM,4BAA4B,EAAE,uCAkDzC,CAAC"}
@@ -37,6 +37,7 @@ export const sanityPagebuilderCacheConfig = {
37
37
  "lib/utils/metadata.ts",
38
38
  "lib/utils/rss.ts",
39
39
  "lib/utils/sitemap.ts",
40
+ "lib/utils/studio-embed.ts",
40
41
  "lib/scripts/sanity-typegen.ts",
41
42
  "app/studio",
42
43
  "app/api",
@@ -1 +1 @@
1
- {"version":3,"file":"config.js","sourceRoot":"","sources":["../../../../../src/modules/features/cms/sanity-pagebuilder-cache/config.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAUH,MAAM,CAAC,MAAM,4BAA4B,GACxC;IACC,IAAI,EAAE,0BAA0B;IAEhC,YAAY,EAAE;QACb,uBAAuB,EAAE,SAAS;QAClC,qBAAqB,EAAE,QAAQ;QAC/B,qBAAqB,EAAE,QAAQ;QAC/B,eAAe,EAAE,QAAQ;QACzB,mBAAmB,EAAE,QAAQ;QAC7B,eAAe,EAAE,QAAQ;QACzB,YAAY,EAAE,SAAS;QACvB,gBAAgB,EAAE,SAAS;QAC3B,wBAAwB,EAAE,QAAQ;QAClC,aAAa,EAAE,SAAS;QACxB,MAAM,EAAE,SAAS;QACjB,qBAAqB,EAAE,QAAQ;KAC/B;IAED,eAAe,EAAE;QAChB,6BAA6B,EAAE,QAAQ;QACvC,YAAY,EAAE,QAAQ;KACtB;IAED,OAAO,EAAE;QACR,gBAAgB,EACf,wFAAwF;QACzF,gBAAgB,EAAE,qCAAqC;QACvD,MAAM,EAAE,wBAAwB;QAChC,QAAQ,EAAE,wBAAwB;KAClC;IAED,aAAa,EAAE;QACd,yBAAyB;QACzB,uCAAuC;QACvC,6BAA6B;QAC7B,uBAAuB;QACvB,uBAAuB;QACvB,kBAAkB;QAClB,sBAAsB;QACtB,+BAA+B;QAC/B,YAAY;QACZ,SAAS;QACT,cAAc;QACd,gBAAgB;QAChB,UAAU;QACV,mBAAmB;QACnB,4BAA4B;KAC5B;CACD,CAAC"}
1
+ {"version":3,"file":"config.js","sourceRoot":"","sources":["../../../../../src/modules/features/cms/sanity-pagebuilder-cache/config.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAUH,MAAM,CAAC,MAAM,4BAA4B,GACxC;IACC,IAAI,EAAE,0BAA0B;IAEhC,YAAY,EAAE;QACb,uBAAuB,EAAE,SAAS;QAClC,qBAAqB,EAAE,QAAQ;QAC/B,qBAAqB,EAAE,QAAQ;QAC/B,eAAe,EAAE,QAAQ;QACzB,mBAAmB,EAAE,QAAQ;QAC7B,eAAe,EAAE,QAAQ;QACzB,YAAY,EAAE,SAAS;QACvB,gBAAgB,EAAE,SAAS;QAC3B,wBAAwB,EAAE,QAAQ;QAClC,aAAa,EAAE,SAAS;QACxB,MAAM,EAAE,SAAS;QACjB,qBAAqB,EAAE,QAAQ;KAC/B;IAED,eAAe,EAAE;QAChB,6BAA6B,EAAE,QAAQ;QACvC,YAAY,EAAE,QAAQ;KACtB;IAED,OAAO,EAAE;QACR,gBAAgB,EACf,wFAAwF;QACzF,gBAAgB,EAAE,qCAAqC;QACvD,MAAM,EAAE,wBAAwB;QAChC,QAAQ,EAAE,wBAAwB;KAClC;IAED,aAAa,EAAE;QACd,yBAAyB;QACzB,uCAAuC;QACvC,6BAA6B;QAC7B,uBAAuB;QACvB,uBAAuB;QACvB,kBAAkB;QAClB,sBAAsB;QACtB,2BAA2B;QAC3B,+BAA+B;QAC/B,YAAY;QACZ,SAAS;QACT,cAAc;QACd,gBAAgB;QAChB,UAAU;QACV,mBAAmB;QACnB,4BAA4B;KAC5B;CACD,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../src/modules/features/cms/sanity-pagebuilder-cache/index.ts"],"names":[],"mappings":"AAOA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,kCAAkC,CAAC;AAItE,eAAO,MAAM,6BAA6B,EAAE,aAsC3C,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../src/modules/features/cms/sanity-pagebuilder-cache/index.ts"],"names":[],"mappings":"AAOA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,kCAAkC,CAAC;AAItE,eAAO,MAAM,6BAA6B,EAAE,aAuC3C,CAAC"}
@@ -34,6 +34,7 @@ export const sanityPagebuilderCacheFeature = {
34
34
  finalize: [
35
35
  { id: CREATE_LIFECYCLE_STEP_IDS.sanitySetupProject },
36
36
  { id: CREATE_LIFECYCLE_STEP_IDS.sanityMcpSetup },
37
+ { id: CREATE_LIFECYCLE_STEP_IDS.formatProject },
37
38
  ],
38
39
  },
39
40
  };
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../src/modules/features/cms/sanity-pagebuilder-cache/index.ts"],"names":[],"mappings":"AAAA,OAAO,IAAI,MAAM,WAAW,CAAC;AAC7B,OAAO,EACN,yBAAyB,EACzB,wBAAwB,EACxB,0CAA0C,EAC1C,oCAAoC,GACpC,MAAM,yCAAyC,CAAC;AAEjD,OAAO,EAAE,kCAAkC,EAAE,MAAM,sBAAsB,CAAC;AAC1E,OAAO,EAAE,4BAA4B,EAAE,MAAM,aAAa,CAAC;AAE3D,MAAM,CAAC,MAAM,6BAA6B,GAAkB;IAC3D,EAAE,EAAE,0CAA0C;IAC9C,IAAI,EAAE,SAAS;IACf,KAAK,EAAE,yCAAyC;IAChD,aAAa,EAAE;QACd,wBAAwB;QACxB,oCAAoC;KACpC;IACD,UAAU,CAAC,OAAO;QACjB,OAAO;YACN,WAAW,EAAE;gBACZ,YAAY,EAAE,4BAA4B,CAAC,YAAY;gBACvD,eAAe,EAAE,4BAA4B,CAAC,eAAe;gBAC7D,OAAO,EAAE,4BAA4B,CAAC,OAAO;aAC7C;YACD,SAAS,EAAE,4BAA4B,CAAC,aAAa,CAAC,GAAG,CACxD,CAAC,YAAY,EAAE,EAAE,CAAC,CAAC;gBAClB,IAAI,EAAE,IAAI,CAAC,IAAI,CAAC,kCAAkC,EAAE,YAAY,CAAC;gBACjE,EAAE,EAAE,iBAAiB,CAAC,YAAY,EAAE,OAAO,CAAC,UAAU,CAAC;gBACvD,SAAS,EAAE,KAAK;aAChB,CAAC,CACF;YACD,GAAG,EAAE;gBACJ,EAAE,GAAG,EAAE,+BAA+B,EAAE,QAAQ,EAAE,IAAI,EAAE;gBACxD,EAAE,GAAG,EAAE,4BAA4B,EAAE,QAAQ,EAAE,IAAI,EAAE;gBACrD,EAAE,GAAG,EAAE,uBAAuB,EAAE,QAAQ,EAAE,IAAI,EAAE;gBAChD,oEAAoE;gBACpE,kDAAkD;gBAClD,EAAE,GAAG,EAAE,0BAA0B,EAAE,QAAQ,EAAE,IAAI,EAAE;aACnD;YACD,SAAS,EAAE;gBACV,QAAQ,EAAE;oBACT,EAAE,EAAE,EAAE,yBAAyB,CAAC,kBAAkB,EAAE;oBACpD,EAAE,EAAE,EAAE,yBAAyB,CAAC,cAAc,EAAE;iBAChD;aACD;SACD,CAAC;IACH,CAAC;CACD,CAAC;AAEF,SAAS,iBAAiB,CAAC,YAAoB,EAAE,MAAmB;IACnE,IAAI,CAAC,MAAM;QAAE,OAAO,YAAY,CAAC;IAEjC,KAAK,MAAM,KAAK,IAAI,CAAC,MAAM,EAAE,MAAM,EAAE,aAAa,CAAC,EAAE,CAAC;QACrD,IAAI,YAAY,CAAC,UAAU,CAAC,KAAK,CAAC,EAAE,CAAC;YACpC,OAAO,GAAG,MAAM,GAAG,YAAY,EAAE,CAAC;QACnC,CAAC;IACF,CAAC;IAED,IAAI,YAAY,KAAK,UAAU,IAAI,YAAY,KAAK,UAAU,EAAE,CAAC;QAChE,OAAO,GAAG,MAAM,GAAG,YAAY,EAAE,CAAC;IACnC,CAAC;IAED,OAAO,YAAY,CAAC;AACrB,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../src/modules/features/cms/sanity-pagebuilder-cache/index.ts"],"names":[],"mappings":"AAAA,OAAO,IAAI,MAAM,WAAW,CAAC;AAC7B,OAAO,EACN,yBAAyB,EACzB,wBAAwB,EACxB,0CAA0C,EAC1C,oCAAoC,GACpC,MAAM,yCAAyC,CAAC;AAEjD,OAAO,EAAE,kCAAkC,EAAE,MAAM,sBAAsB,CAAC;AAC1E,OAAO,EAAE,4BAA4B,EAAE,MAAM,aAAa,CAAC;AAE3D,MAAM,CAAC,MAAM,6BAA6B,GAAkB;IAC3D,EAAE,EAAE,0CAA0C;IAC9C,IAAI,EAAE,SAAS;IACf,KAAK,EAAE,yCAAyC;IAChD,aAAa,EAAE;QACd,wBAAwB;QACxB,oCAAoC;KACpC;IACD,UAAU,CAAC,OAAO;QACjB,OAAO;YACN,WAAW,EAAE;gBACZ,YAAY,EAAE,4BAA4B,CAAC,YAAY;gBACvD,eAAe,EAAE,4BAA4B,CAAC,eAAe;gBAC7D,OAAO,EAAE,4BAA4B,CAAC,OAAO;aAC7C;YACD,SAAS,EAAE,4BAA4B,CAAC,aAAa,CAAC,GAAG,CACxD,CAAC,YAAY,EAAE,EAAE,CAAC,CAAC;gBAClB,IAAI,EAAE,IAAI,CAAC,IAAI,CAAC,kCAAkC,EAAE,YAAY,CAAC;gBACjE,EAAE,EAAE,iBAAiB,CAAC,YAAY,EAAE,OAAO,CAAC,UAAU,CAAC;gBACvD,SAAS,EAAE,KAAK;aAChB,CAAC,CACF;YACD,GAAG,EAAE;gBACJ,EAAE,GAAG,EAAE,+BAA+B,EAAE,QAAQ,EAAE,IAAI,EAAE;gBACxD,EAAE,GAAG,EAAE,4BAA4B,EAAE,QAAQ,EAAE,IAAI,EAAE;gBACrD,EAAE,GAAG,EAAE,uBAAuB,EAAE,QAAQ,EAAE,IAAI,EAAE;gBAChD,oEAAoE;gBACpE,kDAAkD;gBAClD,EAAE,GAAG,EAAE,0BAA0B,EAAE,QAAQ,EAAE,IAAI,EAAE;aACnD;YACD,SAAS,EAAE;gBACV,QAAQ,EAAE;oBACT,EAAE,EAAE,EAAE,yBAAyB,CAAC,kBAAkB,EAAE;oBACpD,EAAE,EAAE,EAAE,yBAAyB,CAAC,cAAc,EAAE;oBAChD,EAAE,EAAE,EAAE,yBAAyB,CAAC,aAAa,EAAE;iBAC/C;aACD;SACD,CAAC;IACH,CAAC;CACD,CAAC;AAEF,SAAS,iBAAiB,CAAC,YAAoB,EAAE,MAAmB;IACnE,IAAI,CAAC,MAAM;QAAE,OAAO,YAAY,CAAC;IAEjC,KAAK,MAAM,KAAK,IAAI,CAAC,MAAM,EAAE,MAAM,EAAE,aAAa,CAAC,EAAE,CAAC;QACrD,IAAI,YAAY,CAAC,UAAU,CAAC,KAAK,CAAC,EAAE,CAAC;YACpC,OAAO,GAAG,MAAM,GAAG,YAAY,EAAE,CAAC;QACnC,CAAC;IACF,CAAC;IAED,IAAI,YAAY,KAAK,UAAU,IAAI,YAAY,KAAK,UAAU,EAAE,CAAC;QAChE,OAAO,GAAG,MAAM,GAAG,YAAY,EAAE,CAAC;IACnC,CAAC;IAED,OAAO,YAAY,CAAC;AACrB,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "bsmnt",
3
- "version": "0.13.1",
3
+ "version": "0.15.0",
4
4
  "packageManager": "bun@1.3.14",
5
5
  "description": "CLI to scaffold basement projects and add integrations",
6
6
  "type": "module",
@@ -42,7 +42,7 @@ The shipped adapter uses plain `defineType` so it also works in the standard
42
42
  Sanity integration, which has no page builder. In this template every block must
43
43
  go through `defineBlock`
44
44
  (`lib/integrations/sanity/schemas/shared/block.ts`) — it implies
45
- `type: "document"` and appends **Anchor ID** and **Presentation Mode**, the two
45
+ `type: "object"` and appends **Anchor ID** and **Presentation Mode**, the two
46
46
  fields the renderer reads for the anchor and the spacing. A block without them
47
47
  fails `page-builder-config`'s conventions test.
48
48
 
@@ -70,7 +70,7 @@ generated anchor from the editor's heading with no extra work.
70
70
 
71
71
  Export it from `lib/integrations/sanity/schemas/components/index.ts` and add it
72
72
  to the `schema.types` array in `lib/integrations/sanity/schemas/index.ts`,
73
- alongside the other component documents (near `hero` / `description`):
73
+ alongside the other block types (near `hero` / `description`):
74
74
 
75
75
  ```ts
76
76
  import { ashbyJobBoardBlock } from "./components"
@@ -85,7 +85,9 @@ export const schema: { types: SchemaTypeDefinition[] } = {
85
85
 
86
86
  ## 2. Add it to the page-builder config — `lib/integrations/sanity/page-builder-config.ts`
87
87
 
88
- Extend the `PageBuilderDocumentType` union and add a reusable reference member.
88
+ Extend the `PageBuilderDocumentType` union and add a block member. Blocks are
89
+ inlined, so the member is identified by its schema type alone — there is no
90
+ separate member name and no reference type.
89
91
  Match the member shape the file actually uses — in the current basement page
90
92
  builder that's `pageTypes` (which page documents may host it) plus `category`
91
93
  (which insert-menu group it lands in):
@@ -97,25 +99,41 @@ export type PageBuilderDocumentType =
97
99
  | "ashbyJobBoardBlock"
98
100
  // ...rest...
99
101
 
100
- // inside reusablePageBuilderReferenceMembers:
102
+ // inside pageBuilderBlockMembers:
101
103
  {
102
104
  documentType: "ashbyJobBoardBlock",
103
- name: "ashbyJobBoardBlockReference",
104
105
  title: "Job Board",
105
106
  pageTypes: ["generic"],
106
107
  category: "list",
107
108
  },
108
109
  ```
109
110
 
110
- ## 3. List it in the Studio — `lib/integrations/sanity/structure.ts`
111
+ ## 3. Give it a fixture — `components/page-builder/library.ts`
111
112
 
112
- Under the "Reusable Components" list, add (the schema's own case icon is used
113
- automatically, so `.icon()` is optional):
113
+ A block's preview is a fixture rendered by the production renderer, not an
114
+ image: the same entry drives the live pane in the insert menu, the block's row
115
+ in Studio → **Components** and the `/components` route. Nothing goes in
116
+ `structure.ts` — that list is generated from `COMPONENT_LIBRARY`.
114
117
 
115
118
  ```ts
116
- S.documentTypeListItem("ashbyJobBoardBlock").title("Job Boards"),
119
+ // inside COMPONENT_LIBRARY:
120
+ {
121
+ documentType: "ashbyJobBoardBlock",
122
+ title: "Job Board",
123
+ notes: "Live roles pulled from Ashby, grouped by team.",
124
+ background: "bg-white",
125
+ block: {
126
+ _key: "placeholder",
127
+ _type: "ashbyJobBoardBlock",
128
+ internalTitle: "Open roles",
129
+ heading: "Open roles",
130
+ },
131
+ },
117
132
  ```
118
133
 
134
+ The `block` value is typed as the block's *query result*, so a field the
135
+ projection doesn't return is a typecheck error here rather than a blank preview.
136
+
119
137
  ## 4. Icon — `lib/integrations/sanity/icons.ts`
120
138
 
121
139
  The adapter defaults to `@sanity/icons`' `CaseIcon`. This project uses phosphor
@@ -241,8 +259,8 @@ bun typecheck
241
259
  bun lint
242
260
  ```
243
261
 
244
- `bun typecheck` must pass. The page query already spreads dereferenced block
245
- fields (`...@->{ ... }`), so `heading`, `boardName`, `anchorId` and
262
+ `bun typecheck` must pass. The page query spreads inlined block fields (`...`),
263
+ so `heading`, `boardName`, `anchorId` and
246
264
  `presentation` flow through with no query change.
247
265
 
248
266
  Then check it in the Studio: the block's form ends with **Anchor ID** and
@@ -37,7 +37,7 @@ The shipped adapter uses plain `defineType` so it also works in the standard
37
37
  Sanity integration, which has no page builder. In this template every block must
38
38
  go through `defineBlock`
39
39
  (`lib/integrations/sanity/schemas/shared/block.ts`) — it implies
40
- `type: "document"` and appends **Anchor ID** and **Presentation Mode**, the two
40
+ `type: "object"` and appends **Anchor ID** and **Presentation Mode**, the two
41
41
  fields the renderer reads for the anchor and the spacing. A block without them
42
42
  fails `page-builder-config`'s conventions test.
43
43
 
@@ -62,7 +62,7 @@ export const hubspotFormBlock = defineBlock({
62
62
 
63
63
  Export it from `lib/integrations/sanity/schemas/components/index.ts` and add it
64
64
  to the `schema.types` array in `lib/integrations/sanity/schemas/index.ts`,
65
- alongside the other component documents (near `hero` / `description`):
65
+ alongside the other block types (near `hero` / `description`):
66
66
 
67
67
  ```ts
68
68
  import { hubspotFormBlock } from "./components"
@@ -77,7 +77,9 @@ export const schema: { types: SchemaTypeDefinition[] } = {
77
77
 
78
78
  ## 2. Add it to the page-builder config — `lib/integrations/sanity/page-builder-config.ts`
79
79
 
80
- Extend the `PageBuilderDocumentType` union and add a reusable reference member:
80
+ Extend the `PageBuilderDocumentType` union and add a block member. Blocks are
81
+ inlined, so the member is identified by its schema type alone — there is no
82
+ separate member name and no reference type:
81
83
 
82
84
  ```ts
83
85
  export type PageBuilderDocumentType =
@@ -86,24 +88,41 @@ export type PageBuilderDocumentType =
86
88
  | "hubspotFormBlock"
87
89
  // ...rest...
88
90
 
89
- // inside reusablePageBuilderReferenceMembers:
91
+ // inside pageBuilderBlockMembers:
90
92
  {
91
93
  documentType: "hubspotFormBlock",
92
- name: "hubspotFormBlockReference",
93
94
  title: "HubSpot Form",
94
- groups: ["generic"],
95
+ pageTypes: ["generic"],
96
+ category: "form",
95
97
  },
96
98
  ```
97
99
 
98
- ## 3. List it in the Studio — `lib/integrations/sanity/structure.ts`
100
+ ## 3. Give it a fixture — `components/page-builder/library.ts`
99
101
 
100
- Under the "Reusable Components" list, add (the schema's own envelope icon is used
101
- automatically, so `.icon()` is optional):
102
+ A block's preview is a fixture rendered by the production renderer, not an
103
+ image: the same entry drives the live pane in the insert menu, the block's row
104
+ in Studio → **Components** and the `/components` route. Nothing goes in
105
+ `structure.ts` — that list is generated from `COMPONENT_LIBRARY`.
102
106
 
103
107
  ```ts
104
- S.documentTypeListItem("hubspotFormBlock").title("HubSpot Forms"),
108
+ // inside COMPONENT_LIBRARY:
109
+ {
110
+ documentType: "hubspotFormBlock",
111
+ title: "HubSpot Form",
112
+ notes:
113
+ "An embedded HubSpot form. The preview renders the frame without a form selected.",
114
+ background: "bg-white",
115
+ block: {
116
+ _key: "placeholder",
117
+ _type: "hubspotFormBlock",
118
+ name: "Book a demo",
119
+ },
120
+ },
105
121
  ```
106
122
 
123
+ The `block` value is typed as the block's *query result*, so a field the
124
+ projection doesn't return is a typecheck error here rather than a blank preview.
125
+
107
126
  ## 4. Envelope icon — `lib/integrations/sanity/icons.ts`
108
127
 
109
128
  The adapter defaults to `@sanity/icons`' `EnvelopeIcon`. This project uses
@@ -175,8 +194,8 @@ bun typecheck
175
194
  bun lint
176
195
  ```
177
196
 
178
- `bun typecheck` must pass. The page query already spreads dereferenced block
179
- fields (`...@->{ ... }`), so `form` flows through with no query change.
197
+ `bun typecheck` must pass. The page query spreads inlined block fields (`...`),
198
+ so `form` flows through with no query change.
180
199
 
181
200
  ## Direct rendering (no page builder)
182
201
 
@@ -0,0 +1,114 @@
1
+ ---
2
+ name: launch-ready
3
+ description: >-
4
+ The rules a site has to meet before it launches: 404s, links, robots and
5
+ sitemap, metadata and share cards, accessibility, and production checks.
6
+ Use before a commit or pull request, when the user approves work ("looks
7
+ good", "ship it", "merge it"), when creating a route, and when asked whether
8
+ the site is ready to launch.
9
+ ---
10
+
11
+ # Launch ready
12
+
13
+ Two tiers:
14
+
15
+ - **Must not ship**: the site says something false, or something that matters
16
+ doesn't work.
17
+ - **Fix before launch**: a measurable cost, or a group of people the site fails.
18
+
19
+ Crawler and metadata rules apply to public pages. The Studio, API routes and
20
+ pages behind auth are exempt from those, not from the accessibility rules.
21
+
22
+ ## When to use it
23
+
24
+ | Moment | Check |
25
+ | --- | --- |
26
+ | Creating a route | Every rule that applies to the new route |
27
+ | Before a commit or PR, or when told to ship | The rules that apply to the files in the diff |
28
+ | Asked whether the site is ready, or before launch | Every rule, including `references/launch.md` |
29
+
30
+ Fix what belongs to the current change. List anything else you notice for the
31
+ user; don't fix it unasked. If a **Must not ship** rule fails in the diff, say so
32
+ before you commit.
33
+
34
+ ## Launch decisions
35
+
36
+ Some rules depend on choices each project makes. Read them from the
37
+ `## Launch decisions` section of `AGENTS.md`. If it's missing, ask the user,
38
+ then add it:
39
+
40
+ ```md
41
+ ## Launch decisions
42
+
43
+ - Indexed by search engines: yes
44
+ - AI crawlers: allowed
45
+ - llms.txt: no
46
+ - Consent required before tracking: no
47
+ - Replaces an existing site: no
48
+ ```
49
+
50
+ ## Running the checks
51
+
52
+ Most checks run against a production build:
53
+
54
+ ```bash
55
+ bun run build && bun run start
56
+ ```
57
+
58
+ Then request `localhost:3000`. The checks in `references/launch.md` need the
59
+ deployed URL. Report each rule as pass or fail with the output you saw.
60
+
61
+ ## Must not ship
62
+
63
+ | ID | Rule | File |
64
+ | --- | --- | --- |
65
+ | ROUTE-01 | Missing pages return 404 | `references/routing.md` |
66
+ | ROUTE-02 | No internal link is broken | `references/routing.md` |
67
+ | CRAWL-01 | Indexing matches the decision | `references/crawlers.md` |
68
+ | CRAWL-02 | Canonicals point at the right page | `references/crawlers.md` |
69
+ | META-01 | Every page has a real title | `references/metadata.md` |
70
+ | META-02 | Metadata is in the server HTML | `references/metadata.md` |
71
+ | META-03 | The share image loads | `references/metadata.md` |
72
+ | META-04 | No `localhost` URLs in production | `references/metadata.md` |
73
+ | CONTENT-01 | Indexed copy is in the server HTML | `references/content.md` |
74
+ | CONTENT-02 | No placeholder output | `references/content.md` |
75
+ | CONTENT-03 | Each fact has one source | `references/content.md` |
76
+ | CONTENT-04 | No test pages, drafts or staging links | `references/content.md` |
77
+ | SEC-01 | `NEXT_PUBLIC_` holds only public keys | `references/security.md` |
78
+ | LAUNCH-01 | Forms deliver on production | `references/launch.md` |
79
+ | LAUNCH-02 | CMS publishing updates production | `references/launch.md` |
80
+
81
+ ## Fix before launch
82
+
83
+ | ID | Rule | File |
84
+ | --- | --- | --- |
85
+ | CRAWL-03 | The sitemap lists every indexable page | `references/crawlers.md` |
86
+ | CRAWL-04 | The sitemap lists only live pages | `references/crawlers.md` |
87
+ | CRAWL-05 | AI crawler policy matches the decision | `references/crawlers.md` |
88
+ | META-05 | Titles are unique | `references/metadata.md` |
89
+ | META-06 | Public pages have a description | `references/metadata.md` |
90
+ | META-07 | `<html lang>` matches the content | `references/metadata.md` |
91
+ | CONTENT-05 | No starter leftovers | `references/content.md` |
92
+ | A11Y-01 | Every page has an `h1` | `references/a11y.md` |
93
+ | A11Y-02 | Everything works by keyboard | `references/a11y.md` |
94
+ | A11Y-03 | Icon-only controls have a name | `references/a11y.md` |
95
+ | A11Y-04 | Inputs have labels | `references/a11y.md` |
96
+ | A11Y-05 | Text meets contrast | `references/a11y.md` |
97
+ | A11Y-06 | Motion can be paused or reduced | `references/a11y.md` |
98
+ | A11Y-07 | Targets are big enough; zoom stays on | `references/a11y.md` |
99
+ | A11Y-08 | No horizontal scroll at 320px | `references/a11y.md` |
100
+ | SEC-02 | Tracking matches the consent decision | `references/security.md` |
101
+ | SEC-03 | No first-party console errors | `references/security.md` |
102
+ | PERF-01 | The LCP image isn't lazy | `references/performance.md` |
103
+ | PERF-02 | Image `sizes` match the layout | `references/performance.md` |
104
+ | PERF-03 | Responses are compressed | `references/performance.md` |
105
+ | LAUNCH-03 | One host | `references/launch.md` |
106
+ | LAUNCH-04 | Old URLs redirect on a relaunch | `references/launch.md` |
107
+
108
+ ## Recommended
109
+
110
+ - Share images are 1200×630.
111
+ - JSON-LD parses. The `json-ld` skill covers authoring it.
112
+ - Images are compressed and fonts are subset.
113
+ - Keep the security headers in `next.config.ts`.
114
+ - Remove the `fb:app_id` tag when there's no Facebook app.