cmssy-cli 0.4.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 (51) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +235 -0
  3. package/dist/cli.d.ts +3 -0
  4. package/dist/cli.d.ts.map +1 -0
  5. package/dist/cli.js +71 -0
  6. package/dist/cli.js.map +1 -0
  7. package/dist/commands/build.d.ts +6 -0
  8. package/dist/commands/build.d.ts.map +1 -0
  9. package/dist/commands/build.js +153 -0
  10. package/dist/commands/build.js.map +1 -0
  11. package/dist/commands/configure.d.ts +6 -0
  12. package/dist/commands/configure.d.ts.map +1 -0
  13. package/dist/commands/configure.js +42 -0
  14. package/dist/commands/configure.js.map +1 -0
  15. package/dist/commands/create.d.ts +8 -0
  16. package/dist/commands/create.d.ts.map +1 -0
  17. package/dist/commands/create.js +314 -0
  18. package/dist/commands/create.js.map +1 -0
  19. package/dist/commands/deploy.d.ts +9 -0
  20. package/dist/commands/deploy.d.ts.map +1 -0
  21. package/dist/commands/deploy.js +226 -0
  22. package/dist/commands/deploy.js.map +1 -0
  23. package/dist/commands/dev.d.ts +6 -0
  24. package/dist/commands/dev.d.ts.map +1 -0
  25. package/dist/commands/dev.js +489 -0
  26. package/dist/commands/dev.js.map +1 -0
  27. package/dist/commands/init.d.ts +6 -0
  28. package/dist/commands/init.d.ts.map +1 -0
  29. package/dist/commands/init.js +517 -0
  30. package/dist/commands/init.js.map +1 -0
  31. package/dist/commands/sync.d.ts +6 -0
  32. package/dist/commands/sync.d.ts.map +1 -0
  33. package/dist/commands/sync.js +208 -0
  34. package/dist/commands/sync.js.map +1 -0
  35. package/dist/utils/blockforge-config.d.ts +19 -0
  36. package/dist/utils/blockforge-config.d.ts.map +1 -0
  37. package/dist/utils/blockforge-config.js +19 -0
  38. package/dist/utils/blockforge-config.js.map +1 -0
  39. package/dist/utils/cmssy-config.d.ts +19 -0
  40. package/dist/utils/cmssy-config.d.ts.map +1 -0
  41. package/dist/utils/cmssy-config.js +19 -0
  42. package/dist/utils/cmssy-config.js.map +1 -0
  43. package/dist/utils/config.d.ts +8 -0
  44. package/dist/utils/config.d.ts.map +1 -0
  45. package/dist/utils/config.js +45 -0
  46. package/dist/utils/config.js.map +1 -0
  47. package/dist/utils/graphql.d.ts +4 -0
  48. package/dist/utils/graphql.d.ts.map +1 -0
  49. package/dist/utils/graphql.js +26 -0
  50. package/dist/utils/graphql.js.map +1 -0
  51. package/package.json +66 -0
@@ -0,0 +1,517 @@
1
+ import chalk from "chalk";
2
+ import { execSync } from "child_process";
3
+ import fs from "fs-extra";
4
+ import inquirer from "inquirer";
5
+ import ora from "ora";
6
+ import path from "path";
7
+ export async function initCommand(name, options) {
8
+ console.log(chalk.blue.bold("\n🔨 Cmssy - Initialize Project\n"));
9
+ const answers = await inquirer.prompt([
10
+ {
11
+ type: "input",
12
+ name: "projectName",
13
+ message: "Project name:",
14
+ default: name || "my-blocks",
15
+ validate: (input) => {
16
+ if (/^[a-z0-9-_]+$/.test(input))
17
+ return true;
18
+ return "Project name must contain only lowercase letters, numbers, hyphens, and underscores";
19
+ },
20
+ },
21
+ {
22
+ type: "list",
23
+ name: "framework",
24
+ message: "Framework:",
25
+ choices: [
26
+ { name: "React", value: "react" },
27
+ { name: "Vue", value: "vue" },
28
+ { name: "Angular", value: "angular" },
29
+ { name: "Svelte", value: "svelte" },
30
+ { name: "Vanilla JS", value: "vanilla" },
31
+ ],
32
+ default: options?.framework || "react",
33
+ },
34
+ {
35
+ type: "confirm",
36
+ name: "useTailwind",
37
+ message: "Use Tailwind CSS v4?",
38
+ default: true,
39
+ },
40
+ {
41
+ type: "input",
42
+ name: "authorName",
43
+ message: "Author name:",
44
+ default: "",
45
+ },
46
+ {
47
+ type: "input",
48
+ name: "authorEmail",
49
+ message: "Author email:",
50
+ default: "",
51
+ },
52
+ {
53
+ type: "confirm",
54
+ name: "initGit",
55
+ message: "Initialize git repository?",
56
+ default: true,
57
+ },
58
+ ]);
59
+ const projectPath = path.join(process.cwd(), answers.projectName);
60
+ // Check if directory exists
61
+ if (fs.existsSync(projectPath)) {
62
+ console.error(chalk.red(`\n✖ Directory "${answers.projectName}" already exists\n`));
63
+ process.exit(1);
64
+ }
65
+ const spinner = ora("Creating project structure...").start();
66
+ try {
67
+ // Create project directory
68
+ fs.mkdirSync(projectPath, { recursive: true });
69
+ // Create directory structure
70
+ const dirs = ["blocks", "templates", "public", ".blockforge"];
71
+ dirs.forEach((dir) => {
72
+ fs.mkdirSync(path.join(projectPath, dir), { recursive: true });
73
+ });
74
+ // Create cmssy.config.js
75
+ const config = {
76
+ framework: answers.framework,
77
+ author: {
78
+ name: answers.authorName,
79
+ email: answers.authorEmail,
80
+ },
81
+ cdn: {
82
+ baseUrl: "",
83
+ },
84
+ build: {
85
+ outDir: "public",
86
+ minify: true,
87
+ sourcemap: true,
88
+ },
89
+ };
90
+ fs.writeFileSync(path.join(projectPath, "cmssy.config.js"), `export default ${JSON.stringify(config, null, 2)};\n`);
91
+ // Create package.json
92
+ const packageJson = {
93
+ name: answers.projectName,
94
+ version: "1.0.0",
95
+ type: "module",
96
+ scripts: {
97
+ dev: "cmssy dev -p 3000",
98
+ build: "cmssy build",
99
+ },
100
+ dependencies: {},
101
+ devDependencies: {
102
+ "cmssy-cli": "^0.4.0",
103
+ },
104
+ };
105
+ // Add Tailwind CSS v4 if selected
106
+ if (answers.useTailwind) {
107
+ packageJson.devDependencies = {
108
+ ...packageJson.devDependencies,
109
+ tailwindcss: "^4.0.0",
110
+ "@tailwindcss/postcss": "^4.0.0",
111
+ postcss: "^8.4.49",
112
+ "postcss-cli": "^11.0.0",
113
+ };
114
+ }
115
+ // Add framework-specific dependencies
116
+ if (answers.framework === "react") {
117
+ packageJson.dependencies = {
118
+ react: "^19.2.3",
119
+ "react-dom": "^19.2.3",
120
+ };
121
+ packageJson.devDependencies = {
122
+ ...packageJson.devDependencies,
123
+ "@types/react": "^19.2.7",
124
+ "@types/react-dom": "^19",
125
+ typescript: "^5.7.2",
126
+ };
127
+ }
128
+ fs.writeFileSync(path.join(projectPath, "package.json"), JSON.stringify(packageJson, null, 2) + "\n");
129
+ // Create tsconfig.json for React projects
130
+ if (answers.framework === "react") {
131
+ const tsConfig = {
132
+ compilerOptions: {
133
+ target: "ES2020",
134
+ module: "ESNext",
135
+ lib: ["ES2020", "DOM", "DOM.Iterable"],
136
+ jsx: "react-jsx",
137
+ moduleResolution: "bundler",
138
+ allowImportingTsExtensions: true,
139
+ resolveJsonModule: true,
140
+ isolatedModules: true,
141
+ noEmit: true,
142
+ strict: true,
143
+ skipLibCheck: true,
144
+ esModuleInterop: true,
145
+ allowSyntheticDefaultImports: true,
146
+ forceConsistentCasingInFileNames: true,
147
+ },
148
+ include: ["blocks/**/*", "templates/**/*"],
149
+ exclude: ["node_modules", "dist", "public"],
150
+ };
151
+ fs.writeFileSync(path.join(projectPath, "tsconfig.json"), JSON.stringify(tsConfig, null, 2) + "\n");
152
+ }
153
+ // Create .gitignore
154
+ const gitignore = `node_modules/
155
+ dist/
156
+ public/
157
+ .env
158
+ .DS_Store
159
+ *.log
160
+ .blockforge/cache/
161
+ `;
162
+ fs.writeFileSync(path.join(projectPath, ".gitignore"), gitignore);
163
+ // Create postcss.config.js for Tailwind v4 if selected
164
+ if (answers.useTailwind) {
165
+ const postcssConfig = `export default {
166
+ plugins: {
167
+ '@tailwindcss/postcss': {},
168
+ },
169
+ };
170
+ `;
171
+ fs.writeFileSync(path.join(projectPath, "postcss.config.js"), postcssConfig);
172
+ }
173
+ // Create .env.example
174
+ const envExample = `# Cmssy API Configuration
175
+ # Run 'cmssy configure' to set these values
176
+
177
+ # Cmssy GraphQL API URL
178
+ CMSSY_API_URL=https://api.cmssy.io/graphql
179
+
180
+ # Cmssy API Token (get from Workspace Settings → API Tokens)
181
+ # Required scopes: marketplace:publish
182
+ CMSSY_API_TOKEN=
183
+ `;
184
+ fs.writeFileSync(path.join(projectPath, ".env.example"), envExample);
185
+ // Create README.md
186
+ const readme = `# ${answers.projectName}
187
+
188
+ Cmssy project for building reusable UI blocks and templates.
189
+
190
+ ## Getting Started
191
+
192
+ \`\`\`bash
193
+ # Install dependencies
194
+ npm install
195
+
196
+ # Start development server with hot reload (http://localhost:3000)
197
+ npm run dev
198
+
199
+ # Or specify a custom port
200
+ npm run dev -- -p 3002
201
+
202
+ # Create a new block
203
+ cmssy create block my-block
204
+
205
+ # Build for production
206
+ npm run build
207
+ \`\`\`
208
+
209
+ ## Available Commands
210
+
211
+ ### Development
212
+ \`\`\`bash
213
+ # Start dev server with preview UI (uses npm script)
214
+ npm run dev
215
+
216
+ # Create a new block
217
+ cmssy create block <name>
218
+
219
+ # Create a new page template
220
+ cmssy create template <name>
221
+
222
+ # Build all blocks and templates (uses npm script)
223
+ npm run build
224
+ \`\`\`
225
+
226
+ ### Publishing to Cmssy Marketplace
227
+ \`\`\`bash
228
+ # Configure API credentials (run once)
229
+ cmssy configure
230
+
231
+ # Deploy all blocks and templates
232
+ cmssy deploy --all
233
+
234
+ # Deploy specific blocks
235
+ cmssy deploy --blocks hero pricing
236
+
237
+ # Deploy specific templates
238
+ cmssy deploy --templates landing
239
+
240
+ # Preview what would be deployed
241
+ cmssy deploy --all --dry-run
242
+ \`\`\`
243
+
244
+ ### Syncing from Marketplace
245
+ \`\`\`bash
246
+ # Pull a specific block from marketplace
247
+ cmssy sync @vendor/blocks.hero --workspace YOUR_WORKSPACE_ID
248
+
249
+ # Pull all installed packages
250
+ cmssy sync --workspace YOUR_WORKSPACE_ID
251
+ \`\`\`
252
+
253
+ ## Project Structure
254
+
255
+ \`\`\`
256
+ ${answers.projectName}/
257
+ ├── blocks/ # Your UI blocks
258
+ │ └── hero/
259
+ │ ├── src/
260
+ │ │ ├── index.tsx
261
+ │ │ ├── Hero.tsx
262
+ │ │ └── index.css
263
+ │ ├── package.json
264
+ │ └── preview.json
265
+ ├── templates/ # Your page templates
266
+ ├── public/ # Build output
267
+ ├── cmssy.config.js # Project configuration
268
+ ├── .env # API credentials (created by configure)
269
+ └── .env.example # API credentials template
270
+ \`\`\`
271
+
272
+ ## Configuration
273
+
274
+ Edit \`cmssy.config.js\` to customize:
275
+ - Framework (${answers.framework})
276
+ - Author information
277
+ - Build settings
278
+
279
+ ## Framework
280
+
281
+ - ${answers.framework}
282
+
283
+ ## Author
284
+
285
+ - ${answers.authorName} ${answers.authorEmail ? `<${answers.authorEmail}>` : ""}
286
+
287
+ ## Documentation
288
+
289
+ For more information, visit: https://cmssy.io/docs
290
+ `;
291
+ fs.writeFileSync(path.join(projectPath, "README.md"), readme);
292
+ spinner.succeed("Project structure created");
293
+ // Create example block
294
+ spinner.start("Creating example hero block...");
295
+ const exampleBlockPath = path.join(projectPath, "blocks", "hero");
296
+ fs.mkdirSync(exampleBlockPath, { recursive: true });
297
+ fs.mkdirSync(path.join(exampleBlockPath, "src"), { recursive: true });
298
+ if (answers.framework === "react") {
299
+ // Create React example with or without Tailwind
300
+ const heroComponent = answers.useTailwind
301
+ ? `interface HeroContent {
302
+ heading?: string;
303
+ subheading?: string;
304
+ ctaText?: string;
305
+ ctaUrl?: string;
306
+ }
307
+
308
+ interface HeroProps {
309
+ content: HeroContent;
310
+ }
311
+
312
+ export default function Hero({ content }: HeroProps) {
313
+ const {
314
+ heading = 'Welcome to Cmssy',
315
+ subheading = 'Build reusable UI blocks with any framework',
316
+ ctaText = 'Get Started',
317
+ ctaUrl = '#',
318
+ } = content;
319
+
320
+ return (
321
+ <section className="flex items-center justify-center min-h-[400px] p-8 bg-gradient-to-br from-purple-600 to-purple-900 text-white text-center">
322
+ <div className="max-w-3xl">
323
+ <h1 className="text-5xl font-bold mb-4">{heading}</h1>
324
+ <p className="text-xl mb-8 opacity-90">{subheading}</p>
325
+ <a
326
+ href={ctaUrl}
327
+ className="inline-block px-8 py-4 bg-white text-purple-600 rounded-lg font-semibold hover:scale-105 transition-transform"
328
+ >
329
+ {ctaText}
330
+ </a>
331
+ </div>
332
+ </section>
333
+ );
334
+ }
335
+ `
336
+ : `interface HeroContent {
337
+ heading?: string;
338
+ subheading?: string;
339
+ ctaText?: string;
340
+ ctaUrl?: string;
341
+ }
342
+
343
+ interface HeroProps {
344
+ content: HeroContent;
345
+ }
346
+
347
+ export default function Hero({ content }: HeroProps) {
348
+ const {
349
+ heading = 'Welcome to Cmssy',
350
+ subheading = 'Build reusable UI blocks with any framework',
351
+ ctaText = 'Get Started',
352
+ ctaUrl = '#',
353
+ } = content;
354
+
355
+ return (
356
+ <section className="hero">
357
+ <div className="hero-content">
358
+ <h1>{heading}</h1>
359
+ <p>{subheading}</p>
360
+ <a href={ctaUrl} className="cta-button">
361
+ {ctaText}
362
+ </a>
363
+ </div>
364
+ </section>
365
+ );
366
+ }
367
+ `;
368
+ fs.writeFileSync(path.join(exampleBlockPath, "src", "Hero.tsx"), heroComponent);
369
+ const indexFile = `import React from 'react';
370
+ import { createRoot, Root } from 'react-dom/client';
371
+ import Hero from './Hero';
372
+
373
+ interface BlockContext {
374
+ root: Root;
375
+ }
376
+
377
+ export default {
378
+ mount(element: HTMLElement, props: any): BlockContext {
379
+ const root = createRoot(element);
380
+ root.render(<Hero content={props} />);
381
+ return { root };
382
+ },
383
+
384
+ unmount(_element: HTMLElement, ctx: BlockContext): void {
385
+ ctx.root.unmount();
386
+ }
387
+ };
388
+ `;
389
+ fs.writeFileSync(path.join(exampleBlockPath, "src", "index.tsx"), indexFile);
390
+ }
391
+ const cssFile = answers.useTailwind
392
+ ? `@import "tailwindcss";
393
+ `
394
+ : `.hero {
395
+ display: flex;
396
+ align-items: center;
397
+ justify-content: center;
398
+ min-height: 400px;
399
+ padding: 2rem;
400
+ background: linear-gradient(135deg, #667eea 0%, #764ba2 100%);
401
+ color: white;
402
+ text-align: center;
403
+ }
404
+
405
+ .hero-content h1 {
406
+ font-size: 3rem;
407
+ margin-bottom: 1rem;
408
+ font-weight: bold;
409
+ }
410
+
411
+ .hero-content p {
412
+ font-size: 1.25rem;
413
+ margin-bottom: 2rem;
414
+ opacity: 0.9;
415
+ }
416
+
417
+ .cta-button {
418
+ display: inline-block;
419
+ padding: 1rem 2rem;
420
+ background: white;
421
+ color: #667eea;
422
+ text-decoration: none;
423
+ border-radius: 0.5rem;
424
+ font-weight: 600;
425
+ transition: transform 0.2s;
426
+ }
427
+
428
+ .cta-button:hover {
429
+ transform: scale(1.05);
430
+ }
431
+ `;
432
+ fs.writeFileSync(path.join(exampleBlockPath, "src", "index.css"), cssFile);
433
+ // Create package.json for block
434
+ const blockPackageJson = {
435
+ name: `@${answers.projectName}/blocks.hero`,
436
+ version: "1.0.0",
437
+ description: "Hero section block",
438
+ author: {
439
+ name: answers.authorName,
440
+ email: answers.authorEmail,
441
+ },
442
+ blockforge: {
443
+ packageType: "block",
444
+ displayName: "Hero Section",
445
+ category: "marketing",
446
+ tags: ["hero", "landing", "cta"],
447
+ pricing: {
448
+ licenseType: "free",
449
+ },
450
+ schemaFields: [
451
+ {
452
+ key: "heading",
453
+ type: "text",
454
+ label: "Main Heading",
455
+ required: true,
456
+ placeholder: "Welcome to Cmssy",
457
+ },
458
+ {
459
+ key: "subheading",
460
+ type: "text",
461
+ label: "Subheading",
462
+ placeholder: "Build reusable UI blocks",
463
+ },
464
+ {
465
+ key: "ctaText",
466
+ type: "string",
467
+ label: "CTA Button Text",
468
+ placeholder: "Get Started",
469
+ },
470
+ {
471
+ key: "ctaUrl",
472
+ type: "link",
473
+ label: "CTA Button URL",
474
+ placeholder: "#",
475
+ },
476
+ ],
477
+ defaultContent: {
478
+ heading: "Welcome to Cmssy",
479
+ subheading: "Build reusable UI blocks with any framework",
480
+ ctaText: "Get Started",
481
+ ctaUrl: "#",
482
+ },
483
+ },
484
+ };
485
+ fs.writeFileSync(path.join(exampleBlockPath, "package.json"), JSON.stringify(blockPackageJson, null, 2) + "\n");
486
+ // Create preview.json for dev server
487
+ const previewData = {
488
+ heading: "Welcome to Cmssy",
489
+ subheading: "Build reusable UI blocks with any framework",
490
+ ctaText: "Get Started",
491
+ ctaUrl: "#",
492
+ };
493
+ fs.writeFileSync(path.join(exampleBlockPath, "preview.json"), JSON.stringify(previewData, null, 2) + "\n");
494
+ spinner.succeed("Example hero block created");
495
+ // Initialize git
496
+ if (answers.initGit) {
497
+ spinner.start("Initializing git repository...");
498
+ process.chdir(projectPath);
499
+ execSync("git init", { stdio: "ignore" });
500
+ execSync("git branch -m main", { stdio: "ignore" });
501
+ spinner.succeed("Git repository initialized");
502
+ }
503
+ // Success message
504
+ console.log(chalk.green.bold("\n✓ Project created successfully!\n"));
505
+ console.log(chalk.cyan("Next steps:\n"));
506
+ console.log(chalk.white(` cd ${answers.projectName}`));
507
+ console.log(chalk.white(" npm install"));
508
+ console.log(chalk.white(" npm run dev"));
509
+ console.log(chalk.gray("\nHappy building! 🔨\n"));
510
+ }
511
+ catch (error) {
512
+ spinner.fail("Failed to create project");
513
+ console.error(chalk.red("\nError:"), error);
514
+ process.exit(1);
515
+ }
516
+ }
517
+ //# sourceMappingURL=init.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"init.js","sourceRoot":"","sources":["../../src/commands/init.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,6 @@
1
+ interface SyncOptions {
2
+ workspace?: string;
3
+ }
4
+ export declare function syncCommand(packageSlug: string | undefined, options: SyncOptions): Promise<void>;
5
+ export {};
6
+ //# sourceMappingURL=sync.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"sync.d.ts","sourceRoot":"","sources":["../../src/commands/sync.ts"],"names":[],"mappings":"AAQA,UAAU,WAAW;IACnB,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AA4BD,wBAAsB,WAAW,CAC/B,WAAW,EAAE,MAAM,GAAG,SAAS,EAC/B,OAAO,EAAE,WAAW,iBA2HrB"}