bsmnt 0.6.4 → 0.7.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 (90) hide show
  1. package/dist/application/add-integration/index.d.ts.map +1 -1
  2. package/dist/application/add-integration/index.js +30 -4
  3. package/dist/application/add-integration/index.js.map +1 -1
  4. package/dist/application/shared/node-version.d.ts +8 -0
  5. package/dist/application/shared/node-version.d.ts.map +1 -0
  6. package/dist/application/shared/node-version.js +31 -0
  7. package/dist/application/shared/node-version.js.map +1 -0
  8. package/dist/application/shared/strip-ansi.d.ts +3 -0
  9. package/dist/application/shared/strip-ansi.d.ts.map +1 -0
  10. package/dist/application/shared/strip-ansi.js +7 -0
  11. package/dist/application/shared/strip-ansi.js.map +1 -0
  12. package/dist/core/create/execute-plan.d.ts +3 -0
  13. package/dist/core/create/execute-plan.d.ts.map +1 -1
  14. package/dist/core/create/execute-plan.js +3 -0
  15. package/dist/core/create/execute-plan.js.map +1 -1
  16. package/dist/domain/cms.d.ts +2 -0
  17. package/dist/domain/cms.d.ts.map +1 -1
  18. package/dist/domain/cms.js +1 -0
  19. package/dist/domain/cms.js.map +1 -1
  20. package/dist/domain/forms.d.ts +2 -2
  21. package/dist/domain/forms.js +1 -1
  22. package/dist/domain/forms.js.map +1 -1
  23. package/dist/domain/integration.d.ts +7 -3
  24. package/dist/domain/integration.d.ts.map +1 -1
  25. package/dist/domain/integration.js.map +1 -1
  26. package/dist/domain/skills.d.ts +26 -8
  27. package/dist/domain/skills.d.ts.map +1 -1
  28. package/dist/domain/skills.js +30 -9
  29. package/dist/domain/skills.js.map +1 -1
  30. package/dist/index.js +132 -16
  31. package/dist/index.js.map +1 -1
  32. package/dist/infrastructure/create/executor.d.ts.map +1 -1
  33. package/dist/infrastructure/create/executor.js +2 -1
  34. package/dist/infrastructure/create/executor.js.map +1 -1
  35. package/dist/infrastructure/create/init-git-repo.d.ts +11 -7
  36. package/dist/infrastructure/create/init-git-repo.d.ts.map +1 -1
  37. package/dist/infrastructure/create/init-git-repo.js +21 -18
  38. package/dist/infrastructure/create/init-git-repo.js.map +1 -1
  39. package/dist/infrastructure/create/sanity-auth.d.ts +11 -0
  40. package/dist/infrastructure/create/sanity-auth.d.ts.map +1 -0
  41. package/dist/infrastructure/create/sanity-auth.js +72 -0
  42. package/dist/infrastructure/create/sanity-auth.js.map +1 -0
  43. package/dist/infrastructure/create/setup-agent.d.ts +4 -3
  44. package/dist/infrastructure/create/setup-agent.d.ts.map +1 -1
  45. package/dist/infrastructure/create/setup-agent.js +51 -30
  46. package/dist/infrastructure/create/setup-agent.js.map +1 -1
  47. package/dist/infrastructure/create/setup-dotenvx.js +1 -1
  48. package/dist/infrastructure/create/setup-dotenvx.js.map +1 -1
  49. package/dist/infrastructure/create/setup-remote.d.ts +14 -0
  50. package/dist/infrastructure/create/setup-remote.d.ts.map +1 -0
  51. package/dist/infrastructure/create/setup-remote.js +139 -0
  52. package/dist/infrastructure/create/setup-remote.js.map +1 -0
  53. package/dist/infrastructure/create/setup-sanity.d.ts +3 -2
  54. package/dist/infrastructure/create/setup-sanity.d.ts.map +1 -1
  55. package/dist/infrastructure/create/setup-sanity.js +34 -49
  56. package/dist/infrastructure/create/setup-sanity.js.map +1 -1
  57. package/dist/modules/features/env/dotenvx/config.d.ts.map +1 -1
  58. package/dist/modules/features/env/dotenvx/config.js +6 -0
  59. package/dist/modules/features/env/dotenvx/config.js.map +1 -1
  60. package/dist/paths.d.ts +0 -2
  61. package/dist/paths.d.ts.map +1 -1
  62. package/dist/paths.js +0 -2
  63. package/dist/paths.js.map +1 -1
  64. package/package.json +3 -3
  65. package/src/agent-skills/hubspot-pagebuilder-block/SKILL.md +160 -0
  66. package/src/agent-skills/rss-feed/SKILL.md +158 -0
  67. package/src/modules/features/cms/sanity/files/lib/integrations/sanity/sanity.config.ts +3 -0
  68. package/src/modules/features/cms/sanity-pagebuilder/files/lib/integrations/sanity/sanity.config.ts +3 -0
  69. package/src/modules/features/cms/sanity-pagebuilder/files/lib/scripts/sanity-typegen.ts +16 -25
  70. package/src/modules/features/env/dotenvx/files/push-keys.mjs +7 -7
  71. package/src/modules/features/env/dotenvx/files/setup-remote.ts +182 -0
  72. package/src/modules/features/forms/hubspot/files/_sanity-adapter/form-block.ts +60 -0
  73. package/src/modules/features/forms/hubspot/files/_sanity-adapter/form-field.ts +30 -0
  74. package/src/modules/features/forms/hubspot/files/_sanity-adapter/form-select-input.tsx +169 -0
  75. package/src/modules/features/forms/hubspot/files/lib/integrations/hubspot/README.md +114 -0
  76. package/src/modules/features/forms/hubspot/files/lib/integrations/hubspot/embed.tsx +165 -0
  77. package/src/modules/features/forms/hubspot/files/lib/integrations/hubspot/form-selection.ts +40 -0
  78. package/src/modules/features/forms/hubspot/files/lib/integrations/hubspot/form.tsx +29 -0
  79. package/src/modules/features/forms/hubspot/files/lib/integrations/hubspot/forms.ts +142 -0
  80. package/src/modules/features/forms/hubspot/files/lib/integrations/hubspot/hubspot-form.css +634 -0
  81. package/src/modules/features/forms/hubspot/files/lib/integrations/hubspot/skeleton.tsx +24 -0
  82. package/src/templates/next-default/README.md +1 -0
  83. package/src/templates/next-default/knip.json +9 -1
  84. package/src/templates/next-experiments/README.md +1 -0
  85. package/src/templates/next-experiments/knip.json +9 -1
  86. package/src/templates/next-pagebuilder/README.md +1 -0
  87. package/src/templates/next-pagebuilder/knip.json +7 -2
  88. package/src/templates/next-pagebuilder/lib/integrations/sanity/sanity.types.ts +1197 -176
  89. package/src/templates/next-webgl/README.md +1 -0
  90. package/src/templates/next-webgl/knip.json +9 -1
@@ -1 +1 @@
1
- {"version":3,"file":"setup-sanity.js","sourceRoot":"","sources":["../../../src/infrastructure/create/setup-sanity.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"setup-sanity.js","sourceRoot":"","sources":["../../../src/infrastructure/create/setup-sanity.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../../../../../src/modules/features/env/dotenvx/config.ts"],"names":[],"mappings":"AAGA,MAAM,WAAW,aAAa;IAC7B,IAAI,EAAE,MAAM,CAAC;IACb,YAAY,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACrC,iFAAiF;IACjF,WAAW,EAAE,SAAS,MAAM,EAAE,CAAC;IAC/B,2EAA2E;IAC3E,aAAa,EAAE,SAAS,MAAM,EAAE,CAAC;IACjC,UAAU,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,CAAC;IAC7C,qEAAqE;IACrE,KAAK,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,CAAC;CACxC;AAED,eAAO,MAAM,aAAa,EAAE,aAgD3B,CAAC"}
1
+ {"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../../../../../src/modules/features/env/dotenvx/config.ts"],"names":[],"mappings":"AAGA,MAAM,WAAW,aAAa;IAC7B,IAAI,EAAE,MAAM,CAAC;IACb,YAAY,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACrC,iFAAiF;IACjF,WAAW,EAAE,SAAS,MAAM,EAAE,CAAC;IAC/B,2EAA2E;IAC3E,aAAa,EAAE,SAAS,MAAM,EAAE,CAAC;IACjC,UAAU,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,CAAC;IAC7C,qEAAqE;IACrE,KAAK,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,CAAC;CACxC;AAED,eAAO,MAAM,aAAa,EAAE,aAsD3B,CAAC"}
@@ -24,6 +24,11 @@ export const dotenvxConfig = {
24
24
  // Push the private keys from .env.keys to CI / host so envs decrypt there.
25
25
  // Pick a target from a menu, or pass `github` / `vercel`.
26
26
  "env:setup-remote": "bun run scripts/push-keys.mjs",
27
+ // One-shot remote provisioning: create the GitHub repo, link a Vercel
28
+ // project to it, and push the private key to Vercel env — the key lands
29
+ // before the git connection so the first push can decrypt. (CI reads the
30
+ // key from 1Password via OP_SERVICE_ACCOUNT_TOKEN, so no GitHub secret.)
31
+ "setup-remote": "bun ./lib/scripts/setup-remote.ts",
27
32
  // Save the private key to 1Password (Development vault) + point .env's op-ref at it.
28
33
  "env:save": "bun run scripts/save-key.mjs",
29
34
  // Onboarding: bun install restores .env.keys from 1Password (soft — never
@@ -36,6 +41,7 @@ export const dotenvxConfig = {
36
41
  "scripts/decrypt-env.mjs": "decrypt-env.mjs",
37
42
  "scripts/write-env.mjs": "write-env.mjs",
38
43
  "scripts/push-keys.mjs": "push-keys.mjs",
44
+ "lib/scripts/setup-remote.ts": "setup-remote.ts",
39
45
  "scripts/save-key.mjs": "save-key.mjs",
40
46
  // Runtime decryption on serverless (Vercel functions) — the run wrapper
41
47
  // only covers local dev + build. Next.js root instrumentation file.
@@ -1 +1 @@
1
- {"version":3,"file":"config.js","sourceRoot":"","sources":["../../../../../src/modules/features/env/dotenvx/config.ts"],"names":[],"mappings":"AAAA,yEAAyE;AACzE,gEAAgE;AAchE,MAAM,CAAC,MAAM,aAAa,GAAkB;IAC3C,IAAI,EAAE,SAAS;IAEf,YAAY,EAAE;QACb,kBAAkB,EAAE,SAAS;KAC7B;IAED,WAAW,EAAE;QACZ,OAAO;QACP,OAAO;QACP,KAAK;QACL,WAAW;QACX,aAAa;QACb,sBAAsB;KACtB;IAED,aAAa,EAAE,CAAC,gBAAgB,EAAE,gBAAgB,CAAC;IAEnD,UAAU,EAAE;QACX,WAAW,EAAE,+BAA+B;QAC5C,UAAU,EAAE,iCAAiC;QAC7C,2EAA2E;QAC3E,4EAA4E;QAC5E,SAAS,EAAE,mCAAmC;QAC9C,iBAAiB,EAAE,uCAAuC;QAC1D,2EAA2E;QAC3E,0DAA0D;QAC1D,kBAAkB,EAAE,+BAA+B;QACnD,qFAAqF;QACrF,UAAU,EAAE,8BAA8B;QAC1C,0EAA0E;QAC1E,uEAAuE;QACvE,UAAU,EAAE,sCAAsC;KAClD;IAED,KAAK,EAAE;QACN,gCAAgC,EAAE,cAAc;QAChD,uBAAuB,EAAE,eAAe;QACxC,yBAAyB,EAAE,iBAAiB;QAC5C,uBAAuB,EAAE,eAAe;QACxC,uBAAuB,EAAE,eAAe;QACxC,sBAAsB,EAAE,cAAc;QACtC,wEAAwE;QACxE,oEAAoE;QACpE,oBAAoB,EAAE,oBAAoB;QAC1C,mEAAmE;QACnE,eAAe,EAAE,cAAc;KAC/B;CACD,CAAC"}
1
+ {"version":3,"file":"config.js","sourceRoot":"","sources":["../../../../../src/modules/features/env/dotenvx/config.ts"],"names":[],"mappings":"AAAA,yEAAyE;AACzE,gEAAgE;AAchE,MAAM,CAAC,MAAM,aAAa,GAAkB;IAC3C,IAAI,EAAE,SAAS;IAEf,YAAY,EAAE;QACb,kBAAkB,EAAE,SAAS;KAC7B;IAED,WAAW,EAAE;QACZ,OAAO;QACP,OAAO;QACP,KAAK;QACL,WAAW;QACX,aAAa;QACb,sBAAsB;KACtB;IAED,aAAa,EAAE,CAAC,gBAAgB,EAAE,gBAAgB,CAAC;IAEnD,UAAU,EAAE;QACX,WAAW,EAAE,+BAA+B;QAC5C,UAAU,EAAE,iCAAiC;QAC7C,2EAA2E;QAC3E,4EAA4E;QAC5E,SAAS,EAAE,mCAAmC;QAC9C,iBAAiB,EAAE,uCAAuC;QAC1D,2EAA2E;QAC3E,0DAA0D;QAC1D,kBAAkB,EAAE,+BAA+B;QACnD,sEAAsE;QACtE,wEAAwE;QACxE,yEAAyE;QACzE,yEAAyE;QACzE,cAAc,EAAE,mCAAmC;QACnD,qFAAqF;QACrF,UAAU,EAAE,8BAA8B;QAC1C,0EAA0E;QAC1E,uEAAuE;QACvE,UAAU,EAAE,sCAAsC;KAClD;IAED,KAAK,EAAE;QACN,gCAAgC,EAAE,cAAc;QAChD,uBAAuB,EAAE,eAAe;QACxC,yBAAyB,EAAE,iBAAiB;QAC5C,uBAAuB,EAAE,eAAe;QACxC,uBAAuB,EAAE,eAAe;QACxC,6BAA6B,EAAE,iBAAiB;QAChD,sBAAsB,EAAE,cAAc;QACtC,wEAAwE;QACxE,oEAAoE;QACpE,oBAAoB,EAAE,oBAAoB;QAC1C,mEAAmE;QACnE,eAAe,EAAE,cAAc;KAC/B;CACD,CAAC"}
package/dist/paths.d.ts CHANGED
@@ -2,8 +2,6 @@
2
2
  export declare const TEMPLATES_DIR: string;
3
3
  /** Directory containing the reusable React hook files. */
4
4
  export declare const TEMPLATE_HOOKS_DIR: string;
5
- /** Directory containing the Biome linting plugin rules. */
6
- export declare const PLUGINS_DIR: string;
7
5
  /** Directory containing bundled agent skills copied into generated projects. */
8
6
  export declare const AGENT_SKILLS_DIR: string;
9
7
  /** Node-version guard injected into each scaffolded project; under `src/` so it ships verbatim. */
@@ -1 +1 @@
1
- {"version":3,"file":"paths.d.ts","sourceRoot":"","sources":["../src/paths.ts"],"names":[],"mappings":"AAaA,6DAA6D;AAC7D,eAAO,MAAM,aAAa,EAAE,MAI3B,CAAC;AAEF,0DAA0D;AAC1D,eAAO,MAAM,kBAAkB,EAAE,MAIhC,CAAC;AAEF,2DAA2D;AAC3D,eAAO,MAAM,WAAW,EAAE,MAA2C,CAAC;AAEtE,gFAAgF;AAChF,eAAO,MAAM,gBAAgB,EAAE,MAI9B,CAAC;AAEF,mGAAmG;AACnG,eAAO,MAAM,uBAAuB,EAAE,MAKrC,CAAC;AAEF;;;;;GAKG;AACH,eAAO,MAAM,gBAAgB,EAAE,MAQ9B,CAAC;AAEF;;;;GAIG;AACH,eAAO,MAAM,4BAA4B,EAAE,MAQ1C,CAAC;AAEF;;;;GAIG;AACH,eAAO,MAAM,iBAAiB,EAAE,MAQ/B,CAAC;AAEF;;;;GAIG;AACH,eAAO,MAAM,iBAAiB,EAAE,MAQ/B,CAAC"}
1
+ {"version":3,"file":"paths.d.ts","sourceRoot":"","sources":["../src/paths.ts"],"names":[],"mappings":"AAaA,6DAA6D;AAC7D,eAAO,MAAM,aAAa,EAAE,MAI3B,CAAC;AAEF,0DAA0D;AAC1D,eAAO,MAAM,kBAAkB,EAAE,MAIhC,CAAC;AAEF,gFAAgF;AAChF,eAAO,MAAM,gBAAgB,EAAE,MAI9B,CAAC;AAEF,mGAAmG;AACnG,eAAO,MAAM,uBAAuB,EAAE,MAKrC,CAAC;AAEF;;;;;GAKG;AACH,eAAO,MAAM,gBAAgB,EAAE,MAQ9B,CAAC;AAEF;;;;GAIG;AACH,eAAO,MAAM,4BAA4B,EAAE,MAQ1C,CAAC;AAEF;;;;GAIG;AACH,eAAO,MAAM,iBAAiB,EAAE,MAQ/B,CAAC;AAEF;;;;GAIG;AACH,eAAO,MAAM,iBAAiB,EAAE,MAQ/B,CAAC"}
package/dist/paths.js CHANGED
@@ -12,8 +12,6 @@ const PROJECT_ROOT = path.resolve(__dirname, "..");
12
12
  export const TEMPLATES_DIR = path.join(PROJECT_ROOT, "src", "templates");
13
13
  /** Directory containing the reusable React hook files. */
14
14
  export const TEMPLATE_HOOKS_DIR = path.join(PROJECT_ROOT, "src", "template-hooks");
15
- /** Directory containing the Biome linting plugin rules. */
16
- export const PLUGINS_DIR = path.join(PROJECT_ROOT, "plugins");
17
15
  /** Directory containing bundled agent skills copied into generated projects. */
18
16
  export const AGENT_SKILLS_DIR = path.join(PROJECT_ROOT, "src", "agent-skills");
19
17
  /** Node-version guard injected into each scaffolded project; under `src/` so it ships verbatim. */
package/dist/paths.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"paths.js","sourceRoot":"","sources":["../src/paths.ts"],"names":[],"mappings":"AAAA,OAAO,IAAI,MAAM,WAAW,CAAC;AAC7B,OAAO,EAAE,aAAa,EAAE,MAAM,UAAU,CAAC;AAEzC,MAAM,UAAU,GAAW,aAAa,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;AAC1D,MAAM,SAAS,GAAW,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC;AAEnD;;;;GAIG;AACH,MAAM,YAAY,GAAW,IAAI,CAAC,OAAO,CAAC,SAAS,EAAE,IAAI,CAAC,CAAC;AAE3D,6DAA6D;AAC7D,MAAM,CAAC,MAAM,aAAa,GAAW,IAAI,CAAC,IAAI,CAC7C,YAAY,EACZ,KAAK,EACL,WAAW,CACX,CAAC;AAEF,0DAA0D;AAC1D,MAAM,CAAC,MAAM,kBAAkB,GAAW,IAAI,CAAC,IAAI,CAClD,YAAY,EACZ,KAAK,EACL,gBAAgB,CAChB,CAAC;AAEF,2DAA2D;AAC3D,MAAM,CAAC,MAAM,WAAW,GAAW,IAAI,CAAC,IAAI,CAAC,YAAY,EAAE,SAAS,CAAC,CAAC;AAEtE,gFAAgF;AAChF,MAAM,CAAC,MAAM,gBAAgB,GAAW,IAAI,CAAC,IAAI,CAChD,YAAY,EACZ,KAAK,EACL,cAAc,CACd,CAAC;AAEF,mGAAmG;AACnG,MAAM,CAAC,MAAM,uBAAuB,GAAW,IAAI,CAAC,IAAI,CACvD,YAAY,EACZ,KAAK,EACL,QAAQ,EACR,wBAAwB,CACxB,CAAC;AAEF;;;;;GAKG;AACH,MAAM,CAAC,MAAM,gBAAgB,GAAW,IAAI,CAAC,IAAI,CAChD,YAAY,EACZ,KAAK,EACL,SAAS,EACT,UAAU,EACV,KAAK,EACL,QAAQ,EACR,OAAO,CACP,CAAC;AAEF;;;;GAIG;AACH,MAAM,CAAC,MAAM,4BAA4B,GAAW,IAAI,CAAC,IAAI,CAC5D,YAAY,EACZ,KAAK,EACL,SAAS,EACT,UAAU,EACV,KAAK,EACL,oBAAoB,EACpB,OAAO,CACP,CAAC;AAEF;;;;GAIG;AACH,MAAM,CAAC,MAAM,iBAAiB,GAAW,IAAI,CAAC,IAAI,CACjD,YAAY,EACZ,KAAK,EACL,SAAS,EACT,UAAU,EACV,OAAO,EACP,SAAS,EACT,OAAO,CACP,CAAC;AAEF;;;;GAIG;AACH,MAAM,CAAC,MAAM,iBAAiB,GAAW,IAAI,CAAC,IAAI,CACjD,YAAY,EACZ,KAAK,EACL,SAAS,EACT,UAAU,EACV,KAAK,EACL,SAAS,EACT,OAAO,CACP,CAAC"}
1
+ {"version":3,"file":"paths.js","sourceRoot":"","sources":["../src/paths.ts"],"names":[],"mappings":"AAAA,OAAO,IAAI,MAAM,WAAW,CAAC;AAC7B,OAAO,EAAE,aAAa,EAAE,MAAM,UAAU,CAAC;AAEzC,MAAM,UAAU,GAAW,aAAa,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;AAC1D,MAAM,SAAS,GAAW,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC;AAEnD;;;;GAIG;AACH,MAAM,YAAY,GAAW,IAAI,CAAC,OAAO,CAAC,SAAS,EAAE,IAAI,CAAC,CAAC;AAE3D,6DAA6D;AAC7D,MAAM,CAAC,MAAM,aAAa,GAAW,IAAI,CAAC,IAAI,CAC7C,YAAY,EACZ,KAAK,EACL,WAAW,CACX,CAAC;AAEF,0DAA0D;AAC1D,MAAM,CAAC,MAAM,kBAAkB,GAAW,IAAI,CAAC,IAAI,CAClD,YAAY,EACZ,KAAK,EACL,gBAAgB,CAChB,CAAC;AAEF,gFAAgF;AAChF,MAAM,CAAC,MAAM,gBAAgB,GAAW,IAAI,CAAC,IAAI,CAChD,YAAY,EACZ,KAAK,EACL,cAAc,CACd,CAAC;AAEF,mGAAmG;AACnG,MAAM,CAAC,MAAM,uBAAuB,GAAW,IAAI,CAAC,IAAI,CACvD,YAAY,EACZ,KAAK,EACL,QAAQ,EACR,wBAAwB,CACxB,CAAC;AAEF;;;;;GAKG;AACH,MAAM,CAAC,MAAM,gBAAgB,GAAW,IAAI,CAAC,IAAI,CAChD,YAAY,EACZ,KAAK,EACL,SAAS,EACT,UAAU,EACV,KAAK,EACL,QAAQ,EACR,OAAO,CACP,CAAC;AAEF;;;;GAIG;AACH,MAAM,CAAC,MAAM,4BAA4B,GAAW,IAAI,CAAC,IAAI,CAC5D,YAAY,EACZ,KAAK,EACL,SAAS,EACT,UAAU,EACV,KAAK,EACL,oBAAoB,EACpB,OAAO,CACP,CAAC;AAEF;;;;GAIG;AACH,MAAM,CAAC,MAAM,iBAAiB,GAAW,IAAI,CAAC,IAAI,CACjD,YAAY,EACZ,KAAK,EACL,SAAS,EACT,UAAU,EACV,OAAO,EACP,SAAS,EACT,OAAO,CACP,CAAC;AAEF;;;;GAIG;AACH,MAAM,CAAC,MAAM,iBAAiB,GAAW,IAAI,CAAC,IAAI,CACjD,YAAY,EACZ,KAAK,EACL,SAAS,EACT,UAAU,EACV,KAAK,EACL,SAAS,EACT,OAAO,CACP,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "bsmnt",
3
- "version": "0.6.4",
3
+ "version": "0.7.0",
4
4
  "packageManager": "bun@1.3.14",
5
5
  "description": "CLI to scaffold basement projects and add integrations",
6
6
  "type": "module",
@@ -26,9 +26,9 @@
26
26
  "src/agent-skills",
27
27
  "src/modules/features/cms/sanity/files",
28
28
  "src/modules/features/cms/sanity-pagebuilder/files",
29
+ "src/modules/features/forms/hubspot/files",
29
30
  "src/modules/features/env/dotenvx/files",
30
- "src/assets",
31
- "plugins"
31
+ "src/assets"
32
32
  ],
33
33
  "scripts": {
34
34
  "preinstall": "node src/assets/check-node-version.mjs",
@@ -0,0 +1,160 @@
1
+ ---
2
+ name: hubspot-pagebuilder-block
3
+ description: >-
4
+ Register a HubSpot form as a selectable `hubspotFormBlock` in a basement Sanity
5
+ page builder. Use when the user asks to "integrate/add HubSpot to the page
6
+ builder", "add a HubSpot form block", "make the HubSpot form selectable in the
7
+ page builder / Studio", "register the HubSpot form block in Sanity", or "wire
8
+ up the HubSpot form so editors can drop it on a page". Also covers rendering a
9
+ HubSpot form directly (no CMS) when asked how to use/show a HubSpot form.
10
+ ---
11
+
12
+ # Wire the HubSpot form block into the page builder
13
+
14
+ The HubSpot integration ships an agnostic core plus an optional Sanity adapter
15
+ (`lib/integrations/hubspot/sanity/`). The adapter is **not** auto-registered into
16
+ the page builder (that wiring couples to each project's schema), so do it here by
17
+ editing the project's real files. Read each file first and adapt to its actual
18
+ shape — do not blindly pattern-match. If an anchor below is missing, stop and
19
+ report it rather than guessing.
20
+
21
+ ## 0. Preconditions
22
+
23
+ - `lib/integrations/hubspot/` exists (the integration was added).
24
+ - `lib/integrations/hubspot/sanity/form-block.ts` exists (Sanity adapter — only
25
+ copied when Sanity is present). If it's missing, the project isn't a Sanity
26
+ project; skip to **Direct rendering** below.
27
+ - The project has a page builder: `lib/integrations/sanity/page-builder-config.ts`
28
+ exists. If not, it's the standard Sanity integration (no page builder) — skip to
29
+ **Direct rendering**.
30
+
31
+ ## 1. Register the schema — `lib/integrations/sanity/schemas/index.ts`
32
+
33
+ Add the import and include the block in the `schema.types` array (alongside the
34
+ other component documents, e.g. near `hero` / `description`):
35
+
36
+ ```ts
37
+ import { hubspotFormBlock } from "@/lib/integrations/hubspot/sanity/form-block"
38
+ // ...
39
+ export const schema: { types: SchemaTypeDefinition[] } = {
40
+ types: [
41
+ // ...existing component types...
42
+ hubspotFormBlock,
43
+ ],
44
+ }
45
+ ```
46
+
47
+ ## 2. Add it to the page-builder config — `lib/integrations/sanity/page-builder-config.ts`
48
+
49
+ Extend the `PageBuilderDocumentType` union and add a reusable reference member:
50
+
51
+ ```ts
52
+ export type PageBuilderDocumentType =
53
+ | "hero"
54
+ | "description"
55
+ | "hubspotFormBlock"
56
+ // ...rest...
57
+
58
+ // inside reusablePageBuilderReferenceMembers:
59
+ {
60
+ documentType: "hubspotFormBlock",
61
+ name: "hubspotFormBlockReference",
62
+ title: "HubSpot Form",
63
+ groups: ["generic"],
64
+ },
65
+ ```
66
+
67
+ ## 3. List it in the Studio — `lib/integrations/sanity/structure.ts`
68
+
69
+ Under the "Reusable Components" list, add (the schema's own envelope icon is used
70
+ automatically, so `.icon()` is optional):
71
+
72
+ ```ts
73
+ S.documentTypeListItem("hubspotFormBlock").title("HubSpot Forms"),
74
+ ```
75
+
76
+ ## 4. (Optional) Envelope icon — `lib/integrations/sanity/icons.ts`
77
+
78
+ The block already defaults to `@sanity/icons`' `EnvelopeIcon`. To match this
79
+ project's phosphor duotone icons, add and apply one:
80
+
81
+ ```ts
82
+ import { EnvelopeIcon } from "@phosphor-icons/react/dist/ssr"
83
+ export const hubspotFormIcon = asDuotoneIcon(EnvelopeIcon)
84
+ ```
85
+
86
+ Then override the icon where the block is registered in `schemas/index.ts`:
87
+
88
+ ```ts
89
+ import { hubspotFormBlock as hubspotFormBlockBase } from "@/lib/integrations/hubspot/sanity/form-block"
90
+ import { hubspotFormIcon } from "../icons"
91
+ const hubspotFormBlock: SchemaTypeDefinition = {
92
+ ...hubspotFormBlockBase,
93
+ icon: hubspotFormIcon,
94
+ }
95
+ ```
96
+
97
+ ## 5. Render it — `components/page-builder/renderer.tsx` + a new component
98
+
99
+ Create `components/page-builder/components/hubspot-form.tsx`:
100
+
101
+ ```tsx
102
+ import { stegaClean } from "next-sanity"
103
+ import { HubSpotForm } from "@/lib/integrations/hubspot/form"
104
+ import { decodeHubSpotFormSelection } from "@/lib/integrations/hubspot/form-selection"
105
+ import type { PageBuilderBlock } from "../types"
106
+
107
+ type HubSpotFormBlockProps = {
108
+ block: Extract<PageBuilderBlock, { _type: "hubspotFormBlock" }>
109
+ }
110
+
111
+ export function HubSpotFormBlock({ block }: HubSpotFormBlockProps) {
112
+ // stegaClean strips visual-editing metadata so the JSON selection parses.
113
+ const selection = decodeHubSpotFormSelection(stegaClean(block.form))
114
+ if (!selection) return null
115
+
116
+ return (
117
+ <section className="px-4 py-8 md:py-12">
118
+ <HubSpotForm
119
+ className="mx-auto max-w-[590px]"
120
+ formId={selection.formId}
121
+ portalId={selection.portalId}
122
+ region={selection.region}
123
+ />
124
+ </section>
125
+ )
126
+ }
127
+ ```
128
+
129
+ Then add the case to the renderer's `switch (block._type)`:
130
+
131
+ ```tsx
132
+ import { HubSpotFormBlock } from "./components/hubspot-form"
133
+ // ...
134
+ case "hubspotFormBlock":
135
+ return <HubSpotFormBlock block={block} />
136
+ ```
137
+
138
+ ## 6. Regenerate types + verify
139
+
140
+ ```bash
141
+ bun run sanity:typegen # regenerates sanity.types.ts so PageBuilderBlock includes the block
142
+ bun typecheck
143
+ ```
144
+
145
+ `bun typecheck` must pass. The page query already spreads dereferenced block
146
+ fields (`...@->{ ... }`), so `form` flows through with no query change.
147
+
148
+ ## Direct rendering (no page builder)
149
+
150
+ For any project, render a form without a CMS by passing the IDs directly:
151
+
152
+ ```tsx
153
+ import { HubSpotForm } from "@/lib/integrations/hubspot/form"
154
+
155
+ <HubSpotForm portalId="…" formId="…" region="na1" />
156
+ ```
157
+
158
+ `region` is the portal's data-hosting location (`na1`, `eu1`, …). Requires
159
+ `HUBSPOT_ACCESS_TOKEN` only for the Studio form picker, not for rendering. See
160
+ `lib/integrations/hubspot/README.md` for full usage.
@@ -0,0 +1,158 @@
1
+ ---
2
+ name: rss-feed
3
+ description: >-
4
+ Add or extend an RSS feed for a Sanity content type in a basement-scaffolded
5
+ project. Use when the user asks to "add RSS for events / changelog / releases /
6
+ <type>", "create a feed.xml for <content type>", "add a second RSS feed",
7
+ "extend the blog feed to include X", or "make this content syndicatable". The
8
+ blog feed at /feed.xml ships by default; this covers everything beyond it.
9
+ ---
10
+
11
+ # Add an RSS feed for a content type
12
+
13
+ basement Sanity projects ship a blog feed at `app/feed.xml/route.ts` plus a
14
+ reusable helper at `lib/utils/rss.ts` (`generateRssFeed`, `rssErrorResponse`).
15
+ To syndicate any other content type (events, changelog, releases, …), reuse that
16
+ helper — do **not** rewrite the XML generation.
17
+
18
+ Read each real file first and adapt to its actual shape; the two CMS variants
19
+ differ (see below). If `lib/utils/rss.ts` is missing, the project predates the
20
+ feed — port it from the blog feed pattern or stop and report.
21
+
22
+ ## Decision: extend vs. new feed
23
+
24
+ - **New dedicated feed** (recommended): `app/<type>/feed.xml/route.ts`, e.g.
25
+ `/events/feed.xml`. Cleaner, independently cacheable, one query per feed.
26
+ - **Extend the blog feed**: only when the user explicitly wants a single combined
27
+ feed. Merge the extra items into the existing `app/feed.xml/route.ts` `items`
28
+ array before `generateRssFeed`.
29
+
30
+ ## The helper contract — `lib/utils/rss.ts`
31
+
32
+ ```ts
33
+ generateRssFeed({
34
+ title: string,
35
+ link: string, // channel homepage for this feed
36
+ description: string,
37
+ feedUrl: string, // absolute URL of THIS feed (self link)
38
+ items: RssFeedItem[],
39
+ })
40
+ // RssFeedItem: { title, link, description?, pubDate?, authors?, category? }
41
+ ```
42
+
43
+ `pubDate` is parsed with `new Date(...)`, so pass an ISO date string. `authors`
44
+ becomes `<dc:creator>` entries. Always return `rssErrorResponse()` from a `catch`.
45
+
46
+ ## Identify the variant
47
+
48
+ Look at `lib/integrations/sanity/queries.ts`:
49
+
50
+ - **Standard Sanity** — content types are top-level documents (like `article`).
51
+ Use `getBaseUrl` from `lib/utils/url.ts` and build paths inline
52
+ (`` `${baseUrl}/blog/${slug}` ``). Only `getBaseUrl` is guaranteed here: the base
53
+ templates ship their own `lib/utils/url.ts` and the integration is copied with
54
+ `overwrite: false`, so don't rely on extra exports like `getPageUrl`.
55
+ - **Page builder** — content is `page` documents under a `pageFolder`, with the
56
+ type-specific fields inside a page-builder block (like `blogContent`). URL
57
+ helpers live in `lib/utils/sitemap.ts` (`getSitemapBaseUrl`, `getPageUrl`).
58
+
59
+ ## Steps
60
+
61
+ 1. **Query** — add a GROQ query to `lib/integrations/sanity/queries.ts` (wrap with
62
+ `defineQuery` so typegen types it). Select the fields you'll map: title, slug
63
+ (or `resolvedSlug`), a date, an author, and `metadata` (for `noIndex`).
64
+ 2. **Route** — create `app/<type>/feed.xml/route.ts` with
65
+ `export const dynamic = "force-dynamic"`, guard on a null `client`, fetch in a
66
+ `try/catch`, filter out `metadata?.noIndex`, map docs to `RssFeedItem`, return
67
+ `generateRssFeed(...)`.
68
+ 3. **Register the path in the CLI** — if you're editing the *basement-cli source*
69
+ (not a generated project), add `"app/<type>/feed.xml"` to the integration's
70
+ `additivePaths` in `config.ts`. In a generated project, no registration is
71
+ needed — the file is live.
72
+ 4. **Regenerate types + verify**: `bun run sanity:typegen` then `bun typecheck`,
73
+ and `curl http://localhost:3000/<type>/feed.xml` to confirm valid RSS 2.0.
74
+
75
+ ## Worked example — `event` type (standard Sanity)
76
+
77
+ GROQ (`queries.ts`):
78
+
79
+ ```ts
80
+ export const ALL_EVENTS_QUERY = defineQuery(`
81
+ *[_type == "event"] | order(startDate desc) {
82
+ _id, title, slug, excerpt, host, startDate, metadata, _updatedAt
83
+ }
84
+ `);
85
+ ```
86
+
87
+ Route (`app/events/feed.xml/route.ts`):
88
+
89
+ ```ts
90
+ import { client } from "@/lib/integrations/sanity/client";
91
+ import { ALL_EVENTS_QUERY } from "@/lib/integrations/sanity/queries";
92
+ import { generateRssFeed, rssErrorResponse } from "@/lib/utils/rss";
93
+ import { getBaseUrl } from "@/lib/utils/url";
94
+
95
+ export const dynamic = "force-dynamic";
96
+
97
+ export async function GET() {
98
+ const baseUrl = getBaseUrl();
99
+ if (!client) return rssErrorResponse();
100
+
101
+ try {
102
+ const events = await client.fetch(ALL_EVENTS_QUERY);
103
+ const items = (events ?? [])
104
+ .filter((e) => e.slug?.current && !e.metadata?.noIndex)
105
+ .map((e) => ({
106
+ title: e.title ?? "Untitled",
107
+ link: `${baseUrl}/events/${e.slug?.current}`,
108
+ description: e.excerpt ?? undefined,
109
+ pubDate: e.startDate ?? undefined,
110
+ authors: e.host ? [e.host] : undefined,
111
+ }));
112
+
113
+ return generateRssFeed({
114
+ title: `${new URL(baseUrl).hostname} Events`,
115
+ link: `${baseUrl}/events`,
116
+ description: "Upcoming events",
117
+ feedUrl: `${baseUrl}/events/feed.xml`,
118
+ items,
119
+ });
120
+ } catch (error) {
121
+ console.error("Error generating events RSS feed:", error);
122
+ return rssErrorResponse();
123
+ }
124
+ }
125
+ ```
126
+
127
+ ## Page-builder variant differences
128
+
129
+ When content lives under a `pageFolder` with a block:
130
+
131
+ - Query like `ALL_BLOG_ARTICLES_QUERY` — filter `pageFolder->slug.current == "<folder>"`,
132
+ project `"resolvedSlug": <slug expression>`, and reach into the block for date/author.
133
+ - Import `getSitemapBaseUrl` + `getPageUrl` from `@/lib/utils/sitemap`, and build the
134
+ link with `getPageUrl(baseUrl, article.resolvedSlug)`.
135
+ - Description from `metadata?.metaDescription`; date from `block.date`; author from
136
+ `block.author?.name`. Mirror `app/feed.xml/route.ts` from this integration.
137
+ - **Indexability differs from the standard blog.** The page-builder's canonical
138
+ field is `metadata.index` (visible, defaults to `true`); `metadata.noIndex` is a
139
+ hidden legacy field. Do **not** filter on `noIndex` alone. Instead project the
140
+ normalized value in your query — the same `select` used by `PAGE_SITEMAP_QUERY` /
141
+ `ALL_BLOG_ARTICLES_QUERY` — and filter on it:
142
+ ```groq
143
+ "noIndex": select(
144
+ defined(metadata.index) => !metadata.index,
145
+ defined(metadata.noIndex) => metadata.noIndex,
146
+ false
147
+ )
148
+ ```
149
+ (The standard Sanity blog has no `index` field, so there `!metadata?.noIndex` is correct.)
150
+
151
+ ## Optional: discoverability
152
+
153
+ To let readers auto-detect the feed, add an alternate link in the relevant
154
+ layout's `metadata.alternates.types`:
155
+
156
+ ```ts
157
+ alternates: { types: { "application/rss+xml": "/events/feed.xml" } }
158
+ ```
@@ -36,6 +36,9 @@ export default defineConfig({
36
36
  projectId,
37
37
  dataset,
38
38
  schema,
39
+ // Content Releases is an Enterprise-only feature; hide it from the Studio.
40
+ releases: { enabled: false },
41
+ scheduledDrafts: { enabled: false },
39
42
  plugins: [
40
43
  structureTool({ structure }),
41
44
  // Presentation tool for visual editing
@@ -28,6 +28,9 @@ export default defineConfig({
28
28
  basePath: "/studio",
29
29
  projectId,
30
30
  dataset,
31
+ // Content Releases is an Enterprise-only feature; hide it from the Studio.
32
+ releases: { enabled: false },
33
+ scheduledDrafts: { enabled: false },
31
34
  schema: {
32
35
  ...schema,
33
36
  templates: (previousTemplates) => [
@@ -1,43 +1,34 @@
1
1
  /**
2
- * Wrapper around `sanity schema extract && sanity typegen generate`
3
- * that gracefully skips when Sanity is not configured.
2
+ * Wrapper around `sanity schema extract && sanity typegen generate`; skips when
3
+ * Sanity isn't configured. Reads the project id from `process.env` — the
4
+ * dotenvx-wrapped script already decrypted `.env` into it — so it runs on Vercel
5
+ * too, which has no `.env.local`.
4
6
  */
5
7
  import { execSync } from "node:child_process";
6
- import { existsSync } from "node:fs";
7
8
  import { resolve } from "node:path";
8
9
 
9
10
  const sanityDir = resolve(import.meta.dir, "../integrations/sanity");
10
- const envFile = resolve(import.meta.dir, "../../.env.local");
11
11
 
12
- // Check if Sanity project ID is configured
13
- const hasEnvFile = existsSync(envFile);
14
-
15
- if (!hasEnvFile) {
16
- console.log(" Skipping sanity:typegen — .env.local not found");
17
- process.exit(0);
18
- }
19
-
20
- // Read .env.local to check for project ID
21
- const envContent = Bun.file(envFile);
22
- const text = await envContent.text();
23
- const hasProjectId = text
24
- .split("\n")
25
- .some(
26
- (line) =>
27
- line.startsWith("NEXT_PUBLIC_SANITY_PROJECT_ID=") &&
28
- line.split("=")[1]?.trim() !== "",
29
- );
30
-
31
- if (!hasProjectId) {
12
+ if (!process.env.NEXT_PUBLIC_SANITY_PROJECT_ID) {
32
13
  console.log(
33
14
  " Skipping sanity:typegen — NEXT_PUBLIC_SANITY_PROJECT_ID not set",
34
15
  );
35
16
  process.exit(0);
36
17
  }
37
18
 
19
+ // Format the generated file to the project's biome style so the committed types
20
+ // match lint — but only locally. In CI/Vercel the build discards the formatted
21
+ // result, so running biome there is pure per-deploy waste. (Scoped to the one
22
+ // file; linting the whole dir would rewrite unrelated source.)
23
+ const format =
24
+ process.env.CI || process.env.VERCEL
25
+ ? ""
26
+ : " && bun biome check --write --unsafe sanity.types.ts";
27
+
38
28
  try {
29
+ // No `--env-file` — dotenvx already injected the env into process.env.
39
30
  execSync(
40
- `cd ${sanityDir} && bun --env-file ../../../.env.local sanity schema extract && bun --env-file ../../../.env.local sanity typegen generate && bun biome check --write --unsafe`,
31
+ `cd ${sanityDir} && bun sanity schema extract && bun sanity typegen generate${format}`,
41
32
  { stdio: "inherit" },
42
33
  );
43
34
  } catch {
@@ -25,13 +25,12 @@ export function parsePrivateKeys(content) {
25
25
  return keys;
26
26
  }
27
27
 
28
- // The base key decrypts the shared .env (loaded in every environment); a
29
- // suffixed key (…_PRODUCTION / …_PREVIEW) decrypts only that environment's file.
28
+ // Base key Production + Preview (where the server decrypts .env); a suffixed
29
+ // key (…_PRODUCTION / …_PREVIEW) targets just that env. No Development: local
30
+ // dev decrypts with .env.keys, not a Vercel var.
30
31
  export function vercelEnvsFor(name) {
31
32
  const suffix = name.slice("DOTENV_PRIVATE_KEY".length).replace(/^_/, "");
32
- return suffix
33
- ? [suffix.toLowerCase()]
34
- : ["production", "preview", "development"];
33
+ return suffix ? [suffix.toLowerCase()] : ["production", "preview"];
35
34
  }
36
35
 
37
36
  // Ask which remote when no arg was given. Never hang a non-interactive shell.
@@ -101,8 +100,9 @@ async function main() {
101
100
  ok = pipe("gh", ["secret", "set", name], value) && ok;
102
101
  } else {
103
102
  for (const env of vercelEnvsFor(name)) {
104
- console.log(`→ vercel env add ${name} ${env}`);
105
- ok = pipe("vercel", ["env", "add", name, env], value) && ok;
103
+ console.log(`→ vercel env add ${name} ${env} (sensitive)`);
104
+ // --sensitive: write-only, never shown in the dashboard.
105
+ ok = pipe("vercel", ["env", "add", name, env, "--sensitive"], value) && ok;
106
106
  }
107
107
  }
108
108
  }