@cmssy/cli 0.22.3 → 1.0.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 (260) hide show
  1. package/README.md +49 -650
  2. package/dist/cli.js +706 -328
  3. package/package.json +26 -73
  4. package/templates/block/Component.module.css.tpl +12 -0
  5. package/templates/block/Component.tsx.tpl +15 -0
  6. package/templates/block/block.ts.tpl +11 -0
  7. package/templates/init/app/[[...path]]/page.tsx +19 -0
  8. package/templates/init/app/api/draft/route.ts +5 -0
  9. package/templates/init/blocks/hero/Hero.module.css +131 -0
  10. package/templates/init/blocks/hero/Hero.tsx +100 -0
  11. package/templates/init/blocks/hero/block.ts +21 -0
  12. package/templates/init/cmssy/blocks.ts +5 -0
  13. package/templates/init/cmssy/editor.tsx +10 -0
  14. package/templates/init/cmssy.config.ts +8 -0
  15. package/templates/init/env.example +4 -0
  16. package/templates/init/next.config.mjs +8 -0
  17. package/templates/init/proxy.ts +32 -0
  18. package/config.d.ts +0 -3
  19. package/config.js +0 -4
  20. package/dist/cli.d.ts +0 -3
  21. package/dist/cli.d.ts.map +0 -1
  22. package/dist/cli.js.map +0 -1
  23. package/dist/commands/add-source.d.ts +0 -13
  24. package/dist/commands/add-source.d.ts.map +0 -1
  25. package/dist/commands/add-source.js +0 -273
  26. package/dist/commands/add-source.js.map +0 -1
  27. package/dist/commands/build.d.ts +0 -7
  28. package/dist/commands/build.d.ts.map +0 -1
  29. package/dist/commands/build.js +0 -127
  30. package/dist/commands/build.js.map +0 -1
  31. package/dist/commands/codegen.d.ts +0 -7
  32. package/dist/commands/codegen.d.ts.map +0 -1
  33. package/dist/commands/codegen.js +0 -150
  34. package/dist/commands/codegen.js.map +0 -1
  35. package/dist/commands/configure.d.ts +0 -6
  36. package/dist/commands/configure.d.ts.map +0 -1
  37. package/dist/commands/configure.js +0 -39
  38. package/dist/commands/configure.js.map +0 -1
  39. package/dist/commands/create.d.ts +0 -18
  40. package/dist/commands/create.d.ts.map +0 -1
  41. package/dist/commands/create.js +0 -403
  42. package/dist/commands/create.js.map +0 -1
  43. package/dist/commands/dev.d.ts +0 -6
  44. package/dist/commands/dev.d.ts.map +0 -1
  45. package/dist/commands/dev.js +0 -144
  46. package/dist/commands/dev.js.map +0 -1
  47. package/dist/commands/doctor.d.ts +0 -2
  48. package/dist/commands/doctor.d.ts.map +0 -1
  49. package/dist/commands/doctor.js +0 -230
  50. package/dist/commands/doctor.js.map +0 -1
  51. package/dist/commands/init.d.ts +0 -6
  52. package/dist/commands/init.d.ts.map +0 -1
  53. package/dist/commands/init.js +0 -414
  54. package/dist/commands/init.js.map +0 -1
  55. package/dist/commands/lib.d.ts +0 -17
  56. package/dist/commands/lib.d.ts.map +0 -1
  57. package/dist/commands/lib.js +0 -132
  58. package/dist/commands/lib.js.map +0 -1
  59. package/dist/commands/link.d.ts +0 -8
  60. package/dist/commands/link.d.ts.map +0 -1
  61. package/dist/commands/link.js +0 -116
  62. package/dist/commands/link.js.map +0 -1
  63. package/dist/commands/migrate.d.ts +0 -2
  64. package/dist/commands/migrate.d.ts.map +0 -1
  65. package/dist/commands/migrate.js +0 -231
  66. package/dist/commands/migrate.js.map +0 -1
  67. package/dist/commands/package.d.ts +0 -14
  68. package/dist/commands/package.d.ts.map +0 -1
  69. package/dist/commands/package.js +0 -137
  70. package/dist/commands/package.js.map +0 -1
  71. package/dist/commands/publish-block-buildtime.d.ts +0 -8
  72. package/dist/commands/publish-block-buildtime.d.ts.map +0 -1
  73. package/dist/commands/publish-block-buildtime.js +0 -290
  74. package/dist/commands/publish-block-buildtime.js.map +0 -1
  75. package/dist/commands/publish-template.d.ts +0 -22
  76. package/dist/commands/publish-template.d.ts.map +0 -1
  77. package/dist/commands/publish-template.js +0 -345
  78. package/dist/commands/publish-template.js.map +0 -1
  79. package/dist/commands/publish.d.ts +0 -15
  80. package/dist/commands/publish.d.ts.map +0 -1
  81. package/dist/commands/publish.js +0 -1003
  82. package/dist/commands/publish.js.map +0 -1
  83. package/dist/commands/skills.d.ts +0 -11
  84. package/dist/commands/skills.d.ts.map +0 -1
  85. package/dist/commands/skills.js +0 -178
  86. package/dist/commands/skills.js.map +0 -1
  87. package/dist/commands/sync.d.ts +0 -6
  88. package/dist/commands/sync.d.ts.map +0 -1
  89. package/dist/commands/sync.js +0 -208
  90. package/dist/commands/sync.js.map +0 -1
  91. package/dist/commands/test.d.ts +0 -8
  92. package/dist/commands/test.d.ts.map +0 -1
  93. package/dist/commands/test.js +0 -60
  94. package/dist/commands/test.js.map +0 -1
  95. package/dist/commands/upload.d.ts +0 -11
  96. package/dist/commands/upload.d.ts.map +0 -1
  97. package/dist/commands/upload.js +0 -128
  98. package/dist/commands/upload.js.map +0 -1
  99. package/dist/commands/workspaces.d.ts +0 -2
  100. package/dist/commands/workspaces.d.ts.map +0 -1
  101. package/dist/commands/workspaces.js +0 -62
  102. package/dist/commands/workspaces.js.map +0 -1
  103. package/dist/dev-ui/app.js +0 -1284
  104. package/dist/dev-ui/index.html +0 -1511
  105. package/dist/dev-ui-react/App.tsx +0 -164
  106. package/dist/dev-ui-react/__tests__/previewData.test.ts +0 -193
  107. package/dist/dev-ui-react/components/BlocksList.tsx +0 -232
  108. package/dist/dev-ui-react/components/Editor.tsx +0 -469
  109. package/dist/dev-ui-react/components/Preview.tsx +0 -146
  110. package/dist/dev-ui-react/hooks/useBlocks.ts +0 -80
  111. package/dist/dev-ui-react/index.html +0 -13
  112. package/dist/dev-ui-react/main.tsx +0 -8
  113. package/dist/dev-ui-react/styles.css +0 -856
  114. package/dist/dev-ui-react/types.ts +0 -45
  115. package/dist/skills/claude/cmssy-block.md +0 -454
  116. package/dist/skills/claude/cmssy-mcp-content.md +0 -231
  117. package/dist/test-helpers/index.d.ts +0 -23
  118. package/dist/test-helpers/index.d.ts.map +0 -1
  119. package/dist/test-helpers/index.js +0 -50
  120. package/dist/test-helpers/index.js.map +0 -1
  121. package/dist/types/block-config.d.ts +0 -6
  122. package/dist/types/block-config.d.ts.map +0 -1
  123. package/dist/types/block-config.js +0 -12
  124. package/dist/types/block-config.js.map +0 -1
  125. package/dist/types/publish-job.d.ts +0 -61
  126. package/dist/types/publish-job.d.ts.map +0 -1
  127. package/dist/types/publish-job.js +0 -13
  128. package/dist/types/publish-job.js.map +0 -1
  129. package/dist/utils/api-error.d.ts +0 -10
  130. package/dist/utils/api-error.d.ts.map +0 -1
  131. package/dist/utils/api-error.js +0 -55
  132. package/dist/utils/api-error.js.map +0 -1
  133. package/dist/utils/block-config.d.ts +0 -87
  134. package/dist/utils/block-config.d.ts.map +0 -1
  135. package/dist/utils/block-config.js +0 -214
  136. package/dist/utils/block-config.js.map +0 -1
  137. package/dist/utils/blocks-meta-cache.d.ts +0 -28
  138. package/dist/utils/blocks-meta-cache.d.ts.map +0 -1
  139. package/dist/utils/blocks-meta-cache.js +0 -72
  140. package/dist/utils/blocks-meta-cache.js.map +0 -1
  141. package/dist/utils/builder.d.ts +0 -34
  142. package/dist/utils/builder.d.ts.map +0 -1
  143. package/dist/utils/builder.js +0 -140
  144. package/dist/utils/builder.js.map +0 -1
  145. package/dist/utils/cmssy-config.d.ts +0 -16
  146. package/dist/utils/cmssy-config.d.ts.map +0 -1
  147. package/dist/utils/cmssy-config.js +0 -19
  148. package/dist/utils/cmssy-config.js.map +0 -1
  149. package/dist/utils/config.d.ts +0 -9
  150. package/dist/utils/config.d.ts.map +0 -1
  151. package/dist/utils/config.js +0 -51
  152. package/dist/utils/config.js.map +0 -1
  153. package/dist/utils/dependency-check.d.ts +0 -21
  154. package/dist/utils/dependency-check.d.ts.map +0 -1
  155. package/dist/utils/dependency-check.js +0 -56
  156. package/dist/utils/dependency-check.js.map +0 -1
  157. package/dist/utils/dev-generator/api-routes/blocks.d.ts +0 -3
  158. package/dist/utils/dev-generator/api-routes/blocks.d.ts.map +0 -1
  159. package/dist/utils/dev-generator/api-routes/blocks.js +0 -194
  160. package/dist/utils/dev-generator/api-routes/blocks.js.map +0 -1
  161. package/dist/utils/dev-generator/api-routes/config.d.ts +0 -2
  162. package/dist/utils/dev-generator/api-routes/config.d.ts.map +0 -1
  163. package/dist/utils/dev-generator/api-routes/config.js +0 -107
  164. package/dist/utils/dev-generator/api-routes/config.js.map +0 -1
  165. package/dist/utils/dev-generator/api-routes/preview.d.ts +0 -2
  166. package/dist/utils/dev-generator/api-routes/preview.d.ts.map +0 -1
  167. package/dist/utils/dev-generator/api-routes/preview.js +0 -50
  168. package/dist/utils/dev-generator/api-routes/preview.js.map +0 -1
  169. package/dist/utils/dev-generator/api-routes/workspaces.d.ts +0 -2
  170. package/dist/utils/dev-generator/api-routes/workspaces.d.ts.map +0 -1
  171. package/dist/utils/dev-generator/api-routes/workspaces.js +0 -128
  172. package/dist/utils/dev-generator/api-routes/workspaces.js.map +0 -1
  173. package/dist/utils/dev-generator/helpers.d.ts +0 -23
  174. package/dist/utils/dev-generator/helpers.d.ts.map +0 -1
  175. package/dist/utils/dev-generator/helpers.js +0 -128
  176. package/dist/utils/dev-generator/helpers.js.map +0 -1
  177. package/dist/utils/dev-generator/home-page.d.ts +0 -2
  178. package/dist/utils/dev-generator/home-page.d.ts.map +0 -1
  179. package/dist/utils/dev-generator/home-page.js +0 -643
  180. package/dist/utils/dev-generator/home-page.js.map +0 -1
  181. package/dist/utils/dev-generator/index.d.ts +0 -11
  182. package/dist/utils/dev-generator/index.d.ts.map +0 -1
  183. package/dist/utils/dev-generator/index.js +0 -85
  184. package/dist/utils/dev-generator/index.js.map +0 -1
  185. package/dist/utils/dev-generator/layout.d.ts +0 -3
  186. package/dist/utils/dev-generator/layout.d.ts.map +0 -1
  187. package/dist/utils/dev-generator/layout.js +0 -63
  188. package/dist/utils/dev-generator/layout.js.map +0 -1
  189. package/dist/utils/dev-generator/next-config.d.ts +0 -3
  190. package/dist/utils/dev-generator/next-config.d.ts.map +0 -1
  191. package/dist/utils/dev-generator/next-config.js +0 -111
  192. package/dist/utils/dev-generator/next-config.js.map +0 -1
  193. package/dist/utils/dev-generator/preview-pages.d.ts +0 -3
  194. package/dist/utils/dev-generator/preview-pages.d.ts.map +0 -1
  195. package/dist/utils/dev-generator/preview-pages.js +0 -833
  196. package/dist/utils/dev-generator/preview-pages.js.map +0 -1
  197. package/dist/utils/dev-generator.d.ts +0 -12
  198. package/dist/utils/dev-generator.d.ts.map +0 -1
  199. package/dist/utils/dev-generator.js +0 -1752
  200. package/dist/utils/dev-generator.js.map +0 -1
  201. package/dist/utils/field-schema.d.ts +0 -13
  202. package/dist/utils/field-schema.d.ts.map +0 -1
  203. package/dist/utils/field-schema.js +0 -182
  204. package/dist/utils/field-schema.js.map +0 -1
  205. package/dist/utils/graphql.d.ts +0 -39
  206. package/dist/utils/graphql.d.ts.map +0 -1
  207. package/dist/utils/graphql.js +0 -138
  208. package/dist/utils/graphql.js.map +0 -1
  209. package/dist/utils/lib-manifest.d.ts +0 -7
  210. package/dist/utils/lib-manifest.d.ts.map +0 -1
  211. package/dist/utils/lib-manifest.js +0 -59
  212. package/dist/utils/lib-manifest.js.map +0 -1
  213. package/dist/utils/publish-helpers.d.ts +0 -43
  214. package/dist/utils/publish-helpers.d.ts.map +0 -1
  215. package/dist/utils/publish-helpers.js +0 -215
  216. package/dist/utils/publish-helpers.js.map +0 -1
  217. package/dist/utils/publish-helpers.test.d.ts +0 -2
  218. package/dist/utils/publish-helpers.test.d.ts.map +0 -1
  219. package/dist/utils/publish-helpers.test.js +0 -24
  220. package/dist/utils/publish-helpers.test.js.map +0 -1
  221. package/dist/utils/resolve-workspace.d.ts +0 -6
  222. package/dist/utils/resolve-workspace.d.ts.map +0 -1
  223. package/dist/utils/resolve-workspace.js +0 -32
  224. package/dist/utils/resolve-workspace.js.map +0 -1
  225. package/dist/utils/scanner.d.ts +0 -42
  226. package/dist/utils/scanner.d.ts.map +0 -1
  227. package/dist/utils/scanner.js +0 -156
  228. package/dist/utils/scanner.js.map +0 -1
  229. package/dist/utils/schema-diff.d.ts +0 -22
  230. package/dist/utils/schema-diff.d.ts.map +0 -1
  231. package/dist/utils/schema-diff.js +0 -107
  232. package/dist/utils/schema-diff.js.map +0 -1
  233. package/dist/utils/source-collector.d.ts +0 -19
  234. package/dist/utils/source-collector.d.ts.map +0 -1
  235. package/dist/utils/source-collector.js +0 -565
  236. package/dist/utils/source-collector.js.map +0 -1
  237. package/dist/utils/theme-builder.d.ts +0 -12
  238. package/dist/utils/theme-builder.d.ts.map +0 -1
  239. package/dist/utils/theme-builder.js +0 -117
  240. package/dist/utils/theme-builder.js.map +0 -1
  241. package/dist/utils/type-generator.d.ts +0 -9
  242. package/dist/utils/type-generator.d.ts.map +0 -1
  243. package/dist/utils/type-generator.js +0 -86
  244. package/dist/utils/type-generator.js.map +0 -1
  245. package/dist/utils/version.d.ts +0 -10
  246. package/dist/utils/version.d.ts.map +0 -1
  247. package/dist/utils/version.js +0 -30
  248. package/dist/utils/version.js.map +0 -1
  249. package/dist/utils/versions.d.ts.map +0 -1
  250. package/dist/utils/versions.js.map +0 -1
  251. package/src/dev-app/app/api/blocks/[name]/config/route.ts +0 -140
  252. package/src/dev-app/app/api/blocks/route.ts +0 -61
  253. package/src/dev-app/app/api/config/route.ts +0 -98
  254. package/src/dev-app/app/api/context/route.ts +0 -126
  255. package/src/dev-app/app/api/preview/[name]/route.ts +0 -137
  256. package/src/dev-app/app/api/workspaces/route.ts +0 -124
  257. package/src/dev-app/app/layout.tsx +0 -18
  258. package/src/dev-app/app/page.tsx +0 -1785
  259. package/test.d.ts +0 -1
  260. package/test.js +0 -2
package/package.json CHANGED
@@ -1,29 +1,23 @@
1
1
  {
2
2
  "name": "@cmssy/cli",
3
- "version": "0.22.3",
4
- "description": "Unified CLI for building and publishing blocks to Cmssy design library",
3
+ "version": "1.0.0",
4
+ "description": "CLI for wiring a Next.js app to a headless cmssy workspace",
5
5
  "type": "module",
6
6
  "bin": {
7
7
  "cmssy": "./dist/cli.js"
8
8
  },
9
- "exports": {
10
- ".": "./dist/cli.js",
11
- "./config": "./config.js",
12
- "./test": "./test.js"
13
- },
14
- "scripts": {
15
- "build": "tsc && tsc config.ts --module esnext --target esnext --moduleResolution bundler && tsc config.ts --declaration --emitDeclarationOnly --module esnext --target esnext --moduleResolution bundler && node scripts/copy-assets.mjs",
16
- "dev": "tsc --watch",
17
- "test": "vitest run",
18
- "test:watch": "vitest",
19
- "test:coverage": "vitest run --coverage",
20
- "prepare": "npm run build"
21
- },
9
+ "files": [
10
+ "dist",
11
+ "templates",
12
+ "README.md",
13
+ "LICENSE"
14
+ ],
22
15
  "keywords": [
23
16
  "cmssy",
24
- "design-library",
25
17
  "cli",
26
- "cms"
18
+ "headless",
19
+ "cms",
20
+ "nextjs"
27
21
  ],
28
22
  "author": "Cmssy Team",
29
23
  "license": "MIT",
@@ -35,68 +29,27 @@
35
29
  "bugs": {
36
30
  "url": "https://github.com/cmssy-io/cmssy-cli/issues"
37
31
  },
38
- "files": [
39
- "dist",
40
- "src/dev-app",
41
- "config.js",
42
- "config.d.ts",
43
- "test.js",
44
- "test.d.ts",
45
- "README.md",
46
- "LICENSE"
47
- ],
48
32
  "engines": {
49
- "node": ">=18.0.0"
33
+ "node": ">=18.18.0"
50
34
  },
51
35
  "publishConfig": {
52
36
  "access": "public"
53
37
  },
54
38
  "dependencies": {
55
- "@cmssy/types": "^0.14.0",
56
- "@tailwindcss/postcss": "^4.1.18",
57
- "archiver": "^7.0.1",
58
- "chalk": "^5.3.0",
59
- "chokidar": "^4.0.1",
60
- "commander": "^12.1.0",
61
- "dotenv": "^16.4.7",
62
- "esbuild": "^0.24.0",
63
- "form-data": "^4.0.1",
64
- "fs-extra": "^11.2.0",
65
- "glob": "^11.0.0",
66
- "graphql": "^16.9.0",
67
- "graphql-request": "^7.1.2",
68
- "inquirer": "^10.0.0",
69
- "node-fetch": "^3.3.2",
70
- "ora": "^8.0.1",
71
- "postcss": "^8.4.49",
72
- "postcss-import": "^16.1.1",
73
- "semver": "^7.6.3",
74
- "tsx": "^4.21.0"
75
- },
76
- "peerDependencies": {
77
- "next": ">=15.0.0",
78
- "react": ">=19.0.0",
79
- "react-dom": ">=19.0.0"
80
- },
81
- "peerDependenciesMeta": {
82
- "next": {
83
- "optional": true
84
- }
39
+ "@clack/prompts": "^1.6.0",
40
+ "picocolors": "^1.1.1"
85
41
  },
86
42
  "devDependencies": {
87
- "@testing-library/react": "^16",
88
- "@types/archiver": "^7.0.0",
89
- "@types/form-data": "^2.5.2",
90
- "@types/fs-extra": "^11.0.4",
91
- "@types/inquirer": "^9.0.7",
92
- "@types/node": "^22.10.2",
93
- "@types/node-fetch": "^2.6.13",
94
- "@types/postcss-import": "^14.0.3",
95
- "@types/react": "^19",
96
- "@types/react-dom": "^19",
97
- "@types/semver": "^7.7.1",
98
- "@vitest/coverage-v8": "^3.2.4",
99
- "typescript": "^5.7.2",
100
- "vitest": "^3.2.4"
43
+ "@types/node": "^26.0.1",
44
+ "tsup": "^8.5.1",
45
+ "typescript": "^6.0.3",
46
+ "vitest": "^4.1.9"
47
+ },
48
+ "scripts": {
49
+ "build": "tsup",
50
+ "dev": "tsup --watch",
51
+ "typecheck": "tsc --noEmit",
52
+ "test": "vitest run",
53
+ "test:watch": "vitest"
101
54
  }
102
- }
55
+ }
@@ -0,0 +1,12 @@
1
+ .block {
2
+ margin: 0 auto;
3
+ max-width: 42rem;
4
+ padding: 3rem 1.5rem;
5
+ font-family: system-ui, -apple-system, sans-serif;
6
+ }
7
+
8
+ .heading {
9
+ margin: 0;
10
+ font-size: 1.5rem;
11
+ font-weight: 700;
12
+ }
@@ -0,0 +1,15 @@
1
+ import styles from "./{{Pascal}}.module.css";
2
+
3
+ type {{Pascal}}Content = {
4
+ heading?: string;
5
+ };
6
+
7
+ export default function {{Pascal}}({ content }: { content: {{Pascal}}Content }) {
8
+ const { heading } = content;
9
+ if (!heading) return null;
10
+ return (
11
+ <section className={styles.block}>
12
+ <h2 className={styles.heading}>{heading}</h2>
13
+ </section>
14
+ );
15
+ }
@@ -0,0 +1,11 @@
1
+ import { defineBlock, fields } from "@cmssy/react";
2
+ import {{Pascal}} from "./{{Pascal}}";
3
+
4
+ export const {{camel}}Block = defineBlock({
5
+ type: "{{type}}",
6
+ label: "{{Label}}",
7
+ component: {{Pascal}},
8
+ props: {
9
+ heading: fields.singleLine({ label: "Heading" }),
10
+ },
11
+ });
@@ -0,0 +1,19 @@
1
+ import { buildCmssyMetadata, createCmssyPage } from "@cmssy/next";
2
+ import { cmssy } from "@/cmssy.config";
3
+ import { blocks } from "@/cmssy/blocks";
4
+ import { CmssyEditor } from "@/cmssy/editor";
5
+
6
+ // SEO comes from the page's cmssy fields (title/description) + workspace
7
+ // branding (OG image), resolved server-side.
8
+ export async function generateMetadata({
9
+ params,
10
+ }: {
11
+ params: Promise<{ path?: string[] }>;
12
+ }) {
13
+ const { path } = await params;
14
+ return buildCmssyMetadata(cmssy, path);
15
+ }
16
+
17
+ // One catch-all route renders every cmssy page. Passing `editor` lets the cmssy
18
+ // editor frame and edit this site; published requests render published content.
19
+ export default createCmssyPage(cmssy, blocks, { editor: CmssyEditor });
@@ -0,0 +1,5 @@
1
+ import { createDraftRoute } from "@cmssy/next";
2
+ import { cmssy } from "@/cmssy.config";
3
+
4
+ // The cmssy editor hits this route (with the draftSecret) to enter preview mode.
5
+ export const GET = createDraftRoute(cmssy);
@@ -0,0 +1,131 @@
1
+ .hero {
2
+ --c-bg: #ffffff;
3
+ --c-fg: #0a0a0a;
4
+ --c-primary: #7c3aed;
5
+ --c-primary-fg: #ffffff;
6
+ --c-muted: #f4f4f5;
7
+ --c-muted-fg: #71717a;
8
+ --c-border: #e4e4e7;
9
+
10
+ position: relative;
11
+ overflow: hidden;
12
+ background: linear-gradient(
13
+ 135deg,
14
+ var(--c-muted),
15
+ var(--c-bg) 50%,
16
+ var(--c-muted)
17
+ );
18
+ color: var(--c-fg);
19
+ font-family:
20
+ system-ui,
21
+ -apple-system,
22
+ sans-serif;
23
+ }
24
+
25
+ .inner {
26
+ margin: 0 auto;
27
+ max-width: 48rem;
28
+ padding: 6rem 1.5rem;
29
+ text-align: center;
30
+ }
31
+
32
+ .badge {
33
+ display: inline-block;
34
+ margin-bottom: 1.5rem;
35
+ border-radius: 9999px;
36
+ background: color-mix(in srgb, var(--c-primary) 12%, transparent);
37
+ padding: 0.375rem 1rem;
38
+ font-size: 0.875rem;
39
+ font-weight: 500;
40
+ color: var(--c-primary);
41
+ }
42
+
43
+ .title {
44
+ margin: 0;
45
+ font-size: clamp(2.25rem, 5vw, 3.75rem);
46
+ font-weight: 700;
47
+ letter-spacing: -0.025em;
48
+ line-height: 1.1;
49
+ }
50
+
51
+ .highlight {
52
+ background: linear-gradient(90deg, var(--c-primary), var(--c-fg));
53
+ -webkit-background-clip: text;
54
+ background-clip: text;
55
+ color: transparent;
56
+ }
57
+
58
+ .subheading {
59
+ margin: 1.5rem auto 0;
60
+ max-width: 36rem;
61
+ font-size: 1.125rem;
62
+ color: var(--c-muted-fg);
63
+ }
64
+
65
+ .actions {
66
+ margin-top: 2.5rem;
67
+ display: flex;
68
+ flex-direction: column;
69
+ align-items: center;
70
+ justify-content: center;
71
+ gap: 1rem;
72
+ }
73
+
74
+ @media (min-width: 640px) {
75
+ .actions {
76
+ flex-direction: row;
77
+ }
78
+ }
79
+
80
+ .buttonPrimary,
81
+ .buttonSecondary {
82
+ display: inline-flex;
83
+ height: 3rem;
84
+ align-items: center;
85
+ justify-content: center;
86
+ border-radius: 0.375rem;
87
+ padding: 0 2rem;
88
+ font-size: 1rem;
89
+ font-weight: 500;
90
+ text-decoration: none;
91
+ transition:
92
+ opacity 0.2s,
93
+ background-color 0.2s;
94
+ }
95
+
96
+ .buttonPrimary {
97
+ background: var(--c-primary);
98
+ color: var(--c-primary-fg);
99
+ }
100
+
101
+ .buttonPrimary:hover {
102
+ opacity: 0.9;
103
+ }
104
+
105
+ .buttonSecondary {
106
+ border: 1px solid var(--c-border);
107
+ color: var(--c-fg);
108
+ }
109
+
110
+ .buttonSecondary:hover {
111
+ background: var(--c-muted);
112
+ }
113
+
114
+ .media {
115
+ margin-top: 4rem;
116
+ overflow: hidden;
117
+ border-radius: 0.75rem;
118
+ border: 1px solid var(--c-border);
119
+ box-shadow: 0 25px 50px -12px rgb(0 0 0 / 0.25);
120
+ }
121
+
122
+ .mediaFrame {
123
+ position: relative;
124
+ aspect-ratio: 16 / 9;
125
+ }
126
+
127
+ .video {
128
+ width: 100%;
129
+ height: 100%;
130
+ object-fit: cover;
131
+ }
@@ -0,0 +1,100 @@
1
+ import Image from "next/image";
2
+ import { CmssyLink } from "@cmssy/next/client";
3
+ import styles from "./Hero.module.css";
4
+
5
+ type HeroContent = {
6
+ badgeText?: string;
7
+ heading?: string;
8
+ headingHighlight?: string;
9
+ subheading?: string;
10
+ primaryButtonText?: string;
11
+ primaryButtonUrl?: string;
12
+ secondaryButtonText?: string;
13
+ secondaryButtonUrl?: string;
14
+ media?: string;
15
+ };
16
+
17
+ const isVideo = (src: string) => /\.(mp4|webm|ogg)$/i.test(src);
18
+
19
+ export default function Hero({ content }: { content: HeroContent }) {
20
+ const {
21
+ badgeText,
22
+ heading,
23
+ headingHighlight,
24
+ subheading,
25
+ primaryButtonText,
26
+ primaryButtonUrl = "#",
27
+ secondaryButtonText,
28
+ secondaryButtonUrl = "#",
29
+ media,
30
+ } = content;
31
+
32
+ if (!heading && !headingHighlight) return null;
33
+
34
+ return (
35
+ <section className={styles.hero}>
36
+ <div className={styles.inner}>
37
+ {badgeText && <span className={styles.badge}>{badgeText}</span>}
38
+
39
+ <h1 className={styles.title}>
40
+ {heading}
41
+ {headingHighlight && (
42
+ <>
43
+ {heading ? " " : ""}
44
+ <span className={styles.highlight}>{headingHighlight}</span>
45
+ </>
46
+ )}
47
+ </h1>
48
+
49
+ {subheading && <p className={styles.subheading}>{subheading}</p>}
50
+
51
+ {(primaryButtonText || secondaryButtonText) && (
52
+ <div className={styles.actions}>
53
+ {primaryButtonText && (
54
+ <CmssyLink
55
+ href={primaryButtonUrl}
56
+ className={styles.buttonPrimary}
57
+ >
58
+ {primaryButtonText}
59
+ </CmssyLink>
60
+ )}
61
+ {secondaryButtonText && (
62
+ <CmssyLink
63
+ href={secondaryButtonUrl}
64
+ className={styles.buttonSecondary}
65
+ >
66
+ {secondaryButtonText}
67
+ </CmssyLink>
68
+ )}
69
+ </div>
70
+ )}
71
+
72
+ {media && (
73
+ <div className={styles.media}>
74
+ <div className={styles.mediaFrame}>
75
+ {isVideo(media) ? (
76
+ <video
77
+ src={media}
78
+ autoPlay
79
+ muted
80
+ loop
81
+ playsInline
82
+ className={styles.video}
83
+ />
84
+ ) : (
85
+ <Image
86
+ src={media}
87
+ alt={heading ?? ""}
88
+ fill
89
+ sizes="(max-width: 768px) 100vw, 768px"
90
+ style={{ objectFit: "cover" }}
91
+ priority
92
+ />
93
+ )}
94
+ </div>
95
+ </div>
96
+ )}
97
+ </div>
98
+ </section>
99
+ );
100
+ }
@@ -0,0 +1,21 @@
1
+ import { defineBlock, fields } from "@cmssy/react";
2
+ import Hero from "./Hero";
3
+
4
+ // A simple content block: plain scalar fields, no loader. The component renders
5
+ // nothing until a heading is set, so an empty block is invisible on the page.
6
+ export const heroBlock = defineBlock({
7
+ type: "hero",
8
+ label: "Hero",
9
+ component: Hero,
10
+ props: {
11
+ badgeText: fields.singleLine({ label: "Badge" }),
12
+ heading: fields.singleLine({ label: "Heading", required: true }),
13
+ headingHighlight: fields.singleLine({ label: "Heading highlight" }),
14
+ subheading: fields.multiLine({ label: "Subheading" }),
15
+ primaryButtonText: fields.singleLine({ label: "Primary button text" }),
16
+ primaryButtonUrl: fields.link({ label: "Primary button URL" }),
17
+ secondaryButtonText: fields.singleLine({ label: "Secondary button text" }),
18
+ secondaryButtonUrl: fields.link({ label: "Secondary button URL" }),
19
+ media: fields.media({ label: "Media (image or video)" }),
20
+ },
21
+ });
@@ -0,0 +1,5 @@
1
+ import { heroBlock } from "@/blocks/hero/block";
2
+
3
+ // The single source of truth for which blocks this site can render. The editor
4
+ // reads each block's schema over the SDK bridge, so they appear in the picker.
5
+ export const blocks = [heroBlock];
@@ -0,0 +1,10 @@
1
+ "use client";
2
+
3
+ import { CmssyLazyEditor } from "@cmssy/react/client";
4
+ import type { CmssyEditorProps } from "@cmssy/next";
5
+
6
+ // The editor lazy-loads your block registry on the client, so server-only
7
+ // code (block loaders) is never bundled for the browser.
8
+ export function CmssyEditor(props: CmssyEditorProps) {
9
+ return <CmssyLazyEditor {...props} load={() => import("./blocks")} />;
10
+ }
@@ -0,0 +1,8 @@
1
+ import type { CmssyNextConfig } from "@cmssy/next";
2
+
3
+ export const cmssy: CmssyNextConfig = {
4
+ workspaceSlug: process.env.CMSSY_WORKSPACE_SLUG ?? "",
5
+ draftSecret: process.env.CMSSY_DRAFT_SECRET ?? "",
6
+ // apiUrl: process.env.CMSSY_API_URL,
7
+ // editorOrigin: process.env.CMSSY_EDITOR_ORIGIN,
8
+ };
@@ -0,0 +1,4 @@
1
+ # Your workspace slug (Settings -> Headless in the cmssy dashboard)
2
+ CMSSY_WORKSPACE_SLUG=
3
+ # Draft/preview secret, generated per workspace (Settings -> Headless)
4
+ CMSSY_DRAFT_SECRET=
@@ -0,0 +1,8 @@
1
+ /** @type {import('next').NextConfig} */
2
+ const nextConfig = {
3
+ images: {
4
+ remotePatterns: [{ protocol: "https", hostname: "assets.cmssy.io" }],
5
+ },
6
+ };
7
+
8
+ export default nextConfig;
@@ -0,0 +1,32 @@
1
+ import { NextResponse, type NextRequest } from "next/server";
2
+ import {
3
+ applyCmssyCsp,
4
+ CMSSY_EDIT_HEADER,
5
+ isCmssyEditRequest,
6
+ } from "@cmssy/next";
7
+ import { cmssy } from "@/cmssy.config";
8
+
9
+ // Next.js "proxy" (formerly middleware). It does two things:
10
+ // 1. Detects cmssy edit mode (`?cmssyEdit=1`) and exposes it to server
11
+ // components via the CMSSY_EDIT_HEADER (stripped from inbound requests
12
+ // first so a client can't forge it).
13
+ // 2. Applies the CSP `frame-ancestors` so the cmssy editor can frame this
14
+ // site in edit mode. editorOrigin defaults to the cmssy admin.
15
+ export function proxy(request: NextRequest) {
16
+ const editMode = isCmssyEditRequest(request);
17
+
18
+ const requestHeaders = new Headers(request.headers);
19
+ requestHeaders.delete(CMSSY_EDIT_HEADER);
20
+ if (editMode) requestHeaders.set(CMSSY_EDIT_HEADER, "1");
21
+
22
+ const response = NextResponse.next({ request: { headers: requestHeaders } });
23
+ if (editMode) {
24
+ applyCmssyCsp(response, { editorOrigin: cmssy.editorOrigin });
25
+ }
26
+ return response;
27
+ }
28
+
29
+ export const config = {
30
+ // Skip Next internals, the API routes, and files with an extension.
31
+ matcher: ["/((?!_next/|api/|.*\\..*).*)"],
32
+ };
package/config.d.ts DELETED
@@ -1,3 +0,0 @@
1
- export { defineBlock, defineTemplate, defineTheme, field, type FieldDef, } from "./dist/utils/block-config.js";
2
- export type { BlockConfig, TypedBlockConfig, FieldConfig, TypedFieldConfig, FieldValue, FieldTypeValueMap, BaseFieldConfig, SelectFieldConfig, MultiselectFieldConfig, RepeaterFieldConfig, MediaFieldConfig, PageRef, PageSelectorFieldConfig, BlockRequires, ShowWhenCondition, FieldValidation, ValidationPattern, LayoutOverride, PlatformContext, BlockProps, BlockAuthContext, BlockLocaleContext, BlockMember, BlockMemberProfile, TemplateConfig, TemplatePageBlueprint, TemplateBlockContent, TemplateBlockInstance, TemplateLayoutPosition, TemplateTheme, ResourceConfig, DefineThemeConfig, ThemeFontConfig, ThemeColorsConfig, ThemeTypographyConfig, FontSource, BorderRadiusPreset, } from "@cmssy/types";
3
- export { FieldType, FIELD_TYPE_DEFAULTS, LayoutPosition, WorkspaceModule, FeatureFlag, isTemplateConfig, } from "@cmssy/types";
package/config.js DELETED
@@ -1,4 +0,0 @@
1
- // Package exports for config.ts authoring
2
- export { defineBlock, defineTemplate, defineTheme, field, } from "./dist/utils/block-config.js";
3
- // Export const enums, functions, and runtime values
4
- export { FieldType, FIELD_TYPE_DEFAULTS, LayoutPosition, WorkspaceModule, FeatureFlag, isTemplateConfig, } from "@cmssy/types";
package/dist/cli.d.ts DELETED
@@ -1,3 +0,0 @@
1
- #!/usr/bin/env node
2
- export {};
3
- //# sourceMappingURL=cli.d.ts.map
package/dist/cli.d.ts.map DELETED
@@ -1 +0,0 @@
1
- {"version":3,"file":"cli.d.ts","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":""}
package/dist/cli.js.map DELETED
@@ -1 +0,0 @@
1
- {"version":3,"file":"cli.js","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":"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"}
@@ -1,13 +0,0 @@
1
- import { GraphQLClient } from "graphql-request";
2
- interface AddSourceOptions {
3
- workspace?: string;
4
- all?: boolean;
5
- }
6
- /**
7
- * Upload source code for a single block to workspace.
8
- * Reusable from both `cmssy add-source` and `cmssy publish --with-source`.
9
- */
10
- export declare function uploadBlockSource(blockName: string, blockPath: string, blockId: string, client: GraphQLClient): Promise<boolean>;
11
- export declare function addSourceCommand(blockNames: string[] | undefined, options: AddSourceOptions): Promise<void>;
12
- export {};
13
- //# sourceMappingURL=add-source.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"add-source.d.ts","sourceRoot":"","sources":["../../src/commands/add-source.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAUhD,UAAU,gBAAgB;IACxB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,GAAG,CAAC,EAAE,OAAO,CAAC;CACf;AA+GD;;;GAGG;AACH,wBAAsB,iBAAiB,CACrC,SAAS,EAAE,MAAM,EACjB,SAAS,EAAE,MAAM,EACjB,OAAO,EAAE,MAAM,EACf,MAAM,EAAE,aAAa,GACpB,OAAO,CAAC,OAAO,CAAC,CAgClB;AAED,wBAAsB,gBAAgB,CACpC,UAAU,EAAE,MAAM,EAAE,YAAK,EACzB,OAAO,EAAE,gBAAgB,iBAiM1B"}