@superdesign/cli 0.1.8 → 0.1.10

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.
package/README.md CHANGED
@@ -39,9 +39,9 @@ Use these to discover style direction, references, and brand context:
39
39
  - **Search prompt library** (style/components/pages)
40
40
 
41
41
  ```bash
42
- superdesign search-prompts --keyword "<keyword>" --json
42
+ superdesign search-prompts --query "<query>" --json
43
43
  superdesign search-prompts --tags "style" --json
44
- superdesign search-prompts --tags "style" --keyword "<style keyword>" --json
44
+ superdesign search-prompts --tags "style" --query "<style query>" --json
45
45
  ```
46
46
 
47
47
  - **Get full prompt details**
@@ -59,7 +59,7 @@ Use these to discover style direction, references, and brand context:
59
59
 
60
60
  Use design agent to generate high quality design drafts:
61
61
 
62
- - Create project (supports prompt / prompt file / HTML)
62
+ - Create project (auto-detects `.superdesign/design-system.md` as prompt)
63
63
  - Create design draft
64
64
  - Iterate design draft (replace / branch)
65
65
  - Plan flow pages → execute flow pages
@@ -75,7 +75,7 @@ Use design agent to generate high quality design drafts:
75
75
  4. Ask user whether ready to design in superdesign OR implement UI directly
76
76
  5. If yes to superdesign
77
77
  5.1 Create/update a pixel perfect html replica of current UI of page that we will design on top of in `.superdesign/replica_html_template/<name>.html` (html should only contain & reflect how UI look now, the actual design should be handled by superdesign agent)
78
- 5.2 Create project with this replica html + design system guide
78
+ 5.2 Create project with this replica html
79
79
  5.3 Start desigining by iterating & branching design draft based on designDraft ID returned from project
80
80
 
81
81
  ## Always-on rules
@@ -192,11 +192,11 @@ Then in the iterate command:
192
192
  ```bash
193
193
  superdesign create-project \
194
194
  --title "<feature>" \
195
- --html-file .superdesign/replica_html_template/<file>.html \
196
- --set-project-prompt-file .superdesign/design-system.md \
195
+ --template .superdesign/replica_html_template/<file>.html \
197
196
  --json
198
197
  ```
199
198
  → Note: `draftId` in response is the baseline draft
199
+ → Auto-detects `.superdesign/design-system.md` as project prompt
200
200
  3.4 Branch designs from baseline (use `draftId` from step 3.3)
201
201
  ```bash
202
202
  superdesign iterate-design-draft \
@@ -225,7 +225,7 @@ superdesign execute-flow-pages \
225
225
  #### Get HTML reference from a draft
226
226
 
227
227
  ```bash
228
- superdesign get-design --draft-id <draftId> --output ./design.html
228
+ superdesign get-design --draft-id <draftId>
229
229
  ```
230
230
 
231
231
  ---
@@ -234,16 +234,14 @@ superdesign get-design --draft-id <draftId> --output ./design.html
234
234
 
235
235
  ```bash
236
236
  # Inspirations
237
- superdesign search-prompts --keyword "<keyword>" --json
237
+ superdesign search-prompts --query "<query>" --json
238
238
  superdesign search-prompts --tags "style" --json
239
239
  superdesign get-prompts --slugs "<slug1,slug2>" --json
240
240
  superdesign extract-brand-guide --url https://example.com --json
241
241
 
242
- # Canvas - Create project
243
- # Options: -s/--set-project-prompt (inline), --set-project-prompt-file (from file)
244
- superdesign create-project --title "X" --set-project-prompt "..." --json
245
- superdesign create-project --title "X" --set-project-prompt-file .superdesign/design-system.md --json
246
- superdesign create-project --title "X" --html-file ./index.html --set-project-prompt-file .superdesign/design-system.md --json
242
+ # Canvas - Create project (auto-detects .superdesign/design-system.md as prompt)
243
+ superdesign create-project --title "X" --json
244
+ superdesign create-project --title "X" --template ./index.html --json
247
245
 
248
246
  # Iterate: replace mode (single variation, updates in place)
249
247
  superdesign iterate-design-draft --draft-id <id> -p "..." --mode replace --json
@@ -12,7 +12,7 @@ export declare const POLL_TIMEOUT_MS: number;
12
12
  export declare const AUTH_POLL_INTERVAL_MS = 2000;
13
13
  export declare const AUTH_POLL_TIMEOUT_MS: number;
14
14
  /** CLI version - should match package.json */
15
- export declare const CLI_VERSION = "0.1.8";
15
+ export declare const CLI_VERSION = "0.1.9";
16
16
  /** PostHog analytics configuration */
17
17
  export declare const POSTHOG_KEY: string;
18
18
  export declare const POSTHOG_HOST: string;
package/dist/index.cjs CHANGED
@@ -316,7 +316,7 @@ var __webpack_exports__ = {};
316
316
  try {
317
317
  startSpinner('Creating auth session...');
318
318
  const session = await createSession({
319
- cliVersion: "0.1.8",
319
+ cliVersion: "0.1.9",
320
320
  os: `${external_os_namespaceObject.platform()} ${external_os_namespaceObject.release()}`,
321
321
  hostname: external_os_namespaceObject.hostname()
322
322
  });
@@ -724,23 +724,24 @@ superdesign --help
724
724
  process.exit(EXIT_CODES.VALIDATION_ERROR);
725
725
  }
726
726
  }
727
- function readFileContent(filePath, inlineContent, fileType) {
728
- if (filePath) {
729
- if (!(0, external_fs_namespaceObject.existsSync)(filePath)) {
730
- output_error(`${fileType} file not found: ${filePath}`);
731
- process.exit(EXIT_CODES.VALIDATION_ERROR);
732
- }
733
- return (0, external_fs_namespaceObject.readFileSync)(filePath, 'utf-8');
727
+ function readFileIfExists(filePath) {
728
+ if ((0, external_fs_namespaceObject.existsSync)(filePath)) return (0, external_fs_namespaceObject.readFileSync)(filePath, 'utf-8');
729
+ }
730
+ function readFileOrError(filePath, fileType) {
731
+ if (!(0, external_fs_namespaceObject.existsSync)(filePath)) {
732
+ output_error(`${fileType} file not found: ${filePath}`);
733
+ process.exit(EXIT_CODES.VALIDATION_ERROR);
734
734
  }
735
- return inlineContent;
735
+ return (0, external_fs_namespaceObject.readFileSync)(filePath, 'utf-8');
736
736
  }
737
737
  function createCreateProjectCommand() {
738
- const command = new external_commander_namespaceObject.Command('create-project').description('Create a new SuperDesign project').requiredOption('--title <title>', 'Project title').option('--html <html>', 'Initial HTML content for first draft').option('--html-file <path>', 'Path to HTML file for first draft').option('-s, --set-project-prompt <prompt>', 'System prompt for the AI agent').option('--set-project-prompt-file <path>', 'Path to markdown file containing system prompt').option('--device <mode>', 'Device mode for draft (mobile, tablet, desktop)', 'desktop').option('--json', 'Output in JSON format').option('--no-open', 'Do not open project in browser after creation').action(async (options)=>{
738
+ const command = new external_commander_namespaceObject.Command('create-project').description('Create a new SuperDesign project').requiredOption('--title <title>', 'Project title').option('--template <path>', 'Path to HTML template file for first draft').option('--device <mode>', 'Device mode for html template (mobile, tablet, desktop)', 'desktop').option('--json', 'Output in JSON format').action(async (options)=>{
739
739
  if (options.json) setJsonMode(true);
740
740
  job_runner_requireAuth(manager_isAuthenticated);
741
741
  validateDeviceMode(options.device);
742
- const htmlContent = readFileContent(options.htmlFile, options.html, 'HTML');
743
- const promptContent = readFileContent(options.setProjectPromptFile, options.setProjectPrompt, 'Prompt');
742
+ const htmlContent = options.template ? readFileOrError(options.template, 'Template') : void 0;
743
+ const designSystemPath = '.superdesign/design-system.md';
744
+ const promptContent = readFileIfExists(designSystemPath);
744
745
  startSpinner('Creating project...');
745
746
  try {
746
747
  const project = await createProject({
@@ -750,10 +751,8 @@ superdesign --help
750
751
  deviceMode: options.device
751
752
  });
752
753
  succeedSpinner('Project created successfully!');
753
- if (options.open) {
754
- const urlWithLive = `${project.projectUrl}?live=1`;
755
- await openBrowser(urlWithLive);
756
- }
754
+ const urlWithLive = `${project.projectUrl}?live=1`;
755
+ await openBrowser(urlWithLive);
757
756
  if (isJsonMode()) output({
758
757
  projectId: project.projectId,
759
758
  title: project.title,
@@ -801,7 +800,7 @@ superdesign --help
801
800
  return response.data;
802
801
  }
803
802
  function createCreateDesignDraftCommand() {
804
- const command = new external_commander_namespaceObject.Command('create-design-draft').description('Create a design draft using AI generation').requiredOption('--project-id <id>', 'Project ID').requiredOption('--title <title>', 'Draft title').requiredOption('-p, --prompt <prompt>', 'Design prompt for AI generation').option('--device <mode>', 'Device mode (mobile, tablet, desktop)', 'desktop').option('--json', 'Output in JSON format').action(async (options)=>{
803
+ const command = new external_commander_namespaceObject.Command('create-design-draft').description('Create a design draft from scratch without any reference, Default dont use this, use iterate-design-draft instead').requiredOption('--project-id <id>', 'Project ID').requiredOption('--title <title>', 'Draft title').requiredOption('-p, --prompt <prompt>', 'Design prompt for AI generation').option('--device <mode>', 'Device mode (mobile, tablet, desktop)', 'desktop').option('--json', 'Output in JSON format').action(async (options)=>{
805
804
  if (options.json) setJsonMode(true);
806
805
  job_runner_requireAuth(manager_isAuthenticated);
807
806
  validateDeviceMode(options.device);
@@ -876,7 +875,17 @@ superdesign --help
876
875
  };
877
876
  }
878
877
  function createIterateDesignDraftCommand() {
879
- const command = new external_commander_namespaceObject.Command('iterate-design-draft').description('Iterate on an existing draft using AI').requiredOption('--draft-id <id>', 'Draft ID to iterate on').requiredOption('-p, --prompt <prompt...>', 'Iteration prompt(s). Use multiple -p for specific prompts per variation.').requiredOption('--mode <mode>', 'Iteration mode (replace or branch)').option('--count <count>', 'Number of variations (1-4). Only used when single prompt provided.').option('--json', 'Output in JSON format').action(async (options)=>{
878
+ const command = new external_commander_namespaceObject.Command('iterate-design-draft').description(`Generate design based on existing draft or template, the main design exploration tool
879
+
880
+ Usage Examples:
881
+ # Iterate: replace mode (single variation, updates in place)
882
+ superdesign iterate-design-draft --draft-id <id> -p "..." --mode replace --json
883
+
884
+ # Iterate: Explore multiple versions & variations (each prompt = one variation, prompt should be just directional, do not specify color, style, let superdesign design expert fill in details, you just give direction)
885
+ superdesign iterate-design-draft --draft-id <id> -p "dark theme" -p "minimal" -p "bold" --mode branch --json
886
+
887
+ # Iterate: Auto explore (only give exploration direction, and let Superdesign fill in details, e.g. explore different styles; Default do NOT use auto explore mode)
888
+ superdesign iterate-design-draft --draft-id <id> -p "..." --mode branch --count 3 --json`).requiredOption('--draft-id <id>', 'Draft ID to iterate on').requiredOption('-p, --prompt <prompt...>', 'Iteration prompt(s). Use multiple -p for specific prompts per variation.').requiredOption('--mode <mode>', 'Iteration mode (replace or branch)').option('--count <count>', 'Number of variations (1-4). Only used when single prompt provided.').option('--json', 'Output in JSON format').addOption(new external_commander_namespaceObject.Option('--project-id <id>').hideHelp()).action(async (options)=>{
880
889
  if (options.json) setJsonMode(true);
881
890
  job_runner_requireAuth(manager_isAuthenticated);
882
891
  const { prompts, count, mode } = validateOptions(options);
@@ -1111,7 +1120,7 @@ superdesign --help
1111
1120
  return response.data;
1112
1121
  }
1113
1122
  function createSearchPromptsCommand() {
1114
- const command = new external_commander_namespaceObject.Command('search-prompts').description('Search public prompts in the library').option('--keyword <text>', "Search keyword (searches title and description)").option('--tags <tags>', 'Comma-separated tags to filter by').option('--limit <n>', 'Maximum number of results (default: 20, max: 100)').option('--offset <n>', 'Number of results to skip (for pagination)').option('--json', 'Output in JSON format').action(async (options)=>{
1123
+ const command = new external_commander_namespaceObject.Command('search-prompts').description('Search public prompts in the library').option('--query <text>', "Search query (searches title and description)").option('--tags <tags>', 'Comma-separated tags to filter by').option('--limit <n>', 'Maximum number of results (default: 20, max: 100)').option('--offset <n>', 'Number of results to skip (for pagination)').option('--json', 'Output in JSON format').action(async (options)=>{
1115
1124
  if (options.json) setJsonMode(true);
1116
1125
  job_runner_requireAuth(manager_isAuthenticated);
1117
1126
  const spinner = isJsonMode() ? null : external_ora_default()('Searching prompts...').start();
@@ -1120,7 +1129,7 @@ superdesign --help
1120
1129
  const limit = options.limit ? parseInt(options.limit, 10) : 20;
1121
1130
  const offset = options.offset ? parseInt(options.offset, 10) : 0;
1122
1131
  const result = await searchPrompts({
1123
- keyword: options.keyword,
1132
+ keyword: options.query,
1124
1133
  tags,
1125
1134
  limit,
1126
1135
  offset
@@ -1306,7 +1315,7 @@ superdesign --help
1306
1315
  durationMs: opts.durationMs,
1307
1316
  errorCode: opts.errorCode,
1308
1317
  options: opts.options,
1309
- cliVersion: "0.1.8",
1318
+ cliVersion: "0.1.9",
1310
1319
  os: `${external_os_default().platform()} ${external_os_default().release()}`
1311
1320
  };
1312
1321
  const posthog = getPostHog();
@@ -1343,7 +1352,7 @@ superdesign --help
1343
1352
  (0, external_dotenv_namespaceObject.config)();
1344
1353
  function createProgram() {
1345
1354
  const program = new external_commander_namespaceObject.Command();
1346
- program.name('superdesign').description('SuperDesign CLI - AI product designer for coding agents').version("0.1.8");
1355
+ program.name('superdesign').description('SuperDesign CLI - AI product designer for coding agents').version("0.1.9");
1347
1356
  let startTime = 0;
1348
1357
  program.hook('preAction', ()=>{
1349
1358
  startTime = Date.now();
@@ -1361,15 +1370,17 @@ superdesign --help
1361
1370
  program.addCommand(createLogoutCommand());
1362
1371
  program.addCommand(createInitCommand());
1363
1372
  program.addCommand(createCreateProjectCommand());
1364
- program.addCommand(createCreateDesignDraftCommand());
1365
1373
  program.addCommand(createIterateDesignDraftCommand());
1366
- program.addCommand(createPlanFlowPagesCommand());
1374
+ program.addCommand(createPlanFlowPagesCommand(), {
1375
+ hidden: true
1376
+ });
1367
1377
  program.addCommand(createExecuteFlowPagesCommand());
1368
1378
  program.addCommand(createExtractBrandGuideCommand());
1369
1379
  program.addCommand(createSearchPromptsCommand());
1370
1380
  program.addCommand(createGetPromptsCommand());
1371
1381
  program.addCommand(createFetchDesignNodesCommand());
1372
1382
  program.addCommand(createGetDesignCommand());
1383
+ program.addCommand(createCreateDesignDraftCommand());
1373
1384
  return program;
1374
1385
  }
1375
1386
  async function run() {
package/dist/index.js CHANGED
@@ -1,7 +1,7 @@
1
1
  import { config as external_dotenv_config } from "dotenv";
2
2
  import { fileURLToPath } from "url";
3
3
  import { dirname, join, resolve as external_path_resolve } from "path";
4
- import { Command } from "commander";
4
+ import { Command, Option } from "commander";
5
5
  import { appendFileSync, existsSync, mkdirSync, readFileSync, unlinkSync, writeFileSync } from "fs";
6
6
  import os, { homedir, hostname, platform, release } from "os";
7
7
  import axios from "axios";
@@ -226,7 +226,7 @@ async function runAuthFlow(options = {}) {
226
226
  try {
227
227
  startSpinner('Creating auth session...');
228
228
  const session = await createSession({
229
- cliVersion: "0.1.8",
229
+ cliVersion: "0.1.9",
230
230
  os: `${platform()} ${release()}`,
231
231
  hostname: hostname()
232
232
  });
@@ -634,23 +634,24 @@ function validateDeviceMode(device) {
634
634
  process.exit(EXIT_CODES.VALIDATION_ERROR);
635
635
  }
636
636
  }
637
- function readFileContent(filePath, inlineContent, fileType) {
638
- if (filePath) {
639
- if (!existsSync(filePath)) {
640
- output_error(`${fileType} file not found: ${filePath}`);
641
- process.exit(EXIT_CODES.VALIDATION_ERROR);
642
- }
643
- return readFileSync(filePath, 'utf-8');
637
+ function readFileIfExists(filePath) {
638
+ if (existsSync(filePath)) return readFileSync(filePath, 'utf-8');
639
+ }
640
+ function readFileOrError(filePath, fileType) {
641
+ if (!existsSync(filePath)) {
642
+ output_error(`${fileType} file not found: ${filePath}`);
643
+ process.exit(EXIT_CODES.VALIDATION_ERROR);
644
644
  }
645
- return inlineContent;
645
+ return readFileSync(filePath, 'utf-8');
646
646
  }
647
647
  function createCreateProjectCommand() {
648
- const command = new Command('create-project').description('Create a new SuperDesign project').requiredOption('--title <title>', 'Project title').option('--html <html>', 'Initial HTML content for first draft').option('--html-file <path>', 'Path to HTML file for first draft').option('-s, --set-project-prompt <prompt>', 'System prompt for the AI agent').option('--set-project-prompt-file <path>', 'Path to markdown file containing system prompt').option('--device <mode>', 'Device mode for draft (mobile, tablet, desktop)', 'desktop').option('--json', 'Output in JSON format').option('--no-open', 'Do not open project in browser after creation').action(async (options)=>{
648
+ const command = new Command('create-project').description('Create a new SuperDesign project').requiredOption('--title <title>', 'Project title').option('--template <path>', 'Path to HTML template file for first draft').option('--device <mode>', 'Device mode for html template (mobile, tablet, desktop)', 'desktop').option('--json', 'Output in JSON format').action(async (options)=>{
649
649
  if (options.json) setJsonMode(true);
650
650
  job_runner_requireAuth(manager_isAuthenticated);
651
651
  validateDeviceMode(options.device);
652
- const htmlContent = readFileContent(options.htmlFile, options.html, 'HTML');
653
- const promptContent = readFileContent(options.setProjectPromptFile, options.setProjectPrompt, 'Prompt');
652
+ const htmlContent = options.template ? readFileOrError(options.template, 'Template') : void 0;
653
+ const designSystemPath = '.superdesign/design-system.md';
654
+ const promptContent = readFileIfExists(designSystemPath);
654
655
  startSpinner('Creating project...');
655
656
  try {
656
657
  const project = await createProject({
@@ -660,10 +661,8 @@ function createCreateProjectCommand() {
660
661
  deviceMode: options.device
661
662
  });
662
663
  succeedSpinner('Project created successfully!');
663
- if (options.open) {
664
- const urlWithLive = `${project.projectUrl}?live=1`;
665
- await openBrowser(urlWithLive);
666
- }
664
+ const urlWithLive = `${project.projectUrl}?live=1`;
665
+ await openBrowser(urlWithLive);
667
666
  if (isJsonMode()) output({
668
667
  projectId: project.projectId,
669
668
  title: project.title,
@@ -711,7 +710,7 @@ async function executeFlowPages(draftId, data) {
711
710
  return response.data;
712
711
  }
713
712
  function createCreateDesignDraftCommand() {
714
- const command = new Command('create-design-draft').description('Create a design draft using AI generation').requiredOption('--project-id <id>', 'Project ID').requiredOption('--title <title>', 'Draft title').requiredOption('-p, --prompt <prompt>', 'Design prompt for AI generation').option('--device <mode>', 'Device mode (mobile, tablet, desktop)', 'desktop').option('--json', 'Output in JSON format').action(async (options)=>{
713
+ const command = new Command('create-design-draft').description('Create a design draft from scratch without any reference, Default dont use this, use iterate-design-draft instead').requiredOption('--project-id <id>', 'Project ID').requiredOption('--title <title>', 'Draft title').requiredOption('-p, --prompt <prompt>', 'Design prompt for AI generation').option('--device <mode>', 'Device mode (mobile, tablet, desktop)', 'desktop').option('--json', 'Output in JSON format').action(async (options)=>{
715
714
  if (options.json) setJsonMode(true);
716
715
  job_runner_requireAuth(manager_isAuthenticated);
717
716
  validateDeviceMode(options.device);
@@ -786,7 +785,17 @@ function validateOptions(options) {
786
785
  };
787
786
  }
788
787
  function createIterateDesignDraftCommand() {
789
- const command = new Command('iterate-design-draft').description('Iterate on an existing draft using AI').requiredOption('--draft-id <id>', 'Draft ID to iterate on').requiredOption('-p, --prompt <prompt...>', 'Iteration prompt(s). Use multiple -p for specific prompts per variation.').requiredOption('--mode <mode>', 'Iteration mode (replace or branch)').option('--count <count>', 'Number of variations (1-4). Only used when single prompt provided.').option('--json', 'Output in JSON format').action(async (options)=>{
788
+ const command = new Command('iterate-design-draft').description(`Generate design based on existing draft or template, the main design exploration tool
789
+
790
+ Usage Examples:
791
+ # Iterate: replace mode (single variation, updates in place)
792
+ superdesign iterate-design-draft --draft-id <id> -p "..." --mode replace --json
793
+
794
+ # Iterate: Explore multiple versions & variations (each prompt = one variation, prompt should be just directional, do not specify color, style, let superdesign design expert fill in details, you just give direction)
795
+ superdesign iterate-design-draft --draft-id <id> -p "dark theme" -p "minimal" -p "bold" --mode branch --json
796
+
797
+ # Iterate: Auto explore (only give exploration direction, and let Superdesign fill in details, e.g. explore different styles; Default do NOT use auto explore mode)
798
+ superdesign iterate-design-draft --draft-id <id> -p "..." --mode branch --count 3 --json`).requiredOption('--draft-id <id>', 'Draft ID to iterate on').requiredOption('-p, --prompt <prompt...>', 'Iteration prompt(s). Use multiple -p for specific prompts per variation.').requiredOption('--mode <mode>', 'Iteration mode (replace or branch)').option('--count <count>', 'Number of variations (1-4). Only used when single prompt provided.').option('--json', 'Output in JSON format').addOption(new Option('--project-id <id>').hideHelp()).action(async (options)=>{
790
799
  if (options.json) setJsonMode(true);
791
800
  job_runner_requireAuth(manager_isAuthenticated);
792
801
  const { prompts, count, mode } = validateOptions(options);
@@ -1021,7 +1030,7 @@ async function getPrompts(data) {
1021
1030
  return response.data;
1022
1031
  }
1023
1032
  function createSearchPromptsCommand() {
1024
- const command = new Command('search-prompts').description('Search public prompts in the library').option('--keyword <text>', "Search keyword (searches title and description)").option('--tags <tags>', 'Comma-separated tags to filter by').option('--limit <n>', 'Maximum number of results (default: 20, max: 100)').option('--offset <n>', 'Number of results to skip (for pagination)').option('--json', 'Output in JSON format').action(async (options)=>{
1033
+ const command = new Command('search-prompts').description('Search public prompts in the library').option('--query <text>', "Search query (searches title and description)").option('--tags <tags>', 'Comma-separated tags to filter by').option('--limit <n>', 'Maximum number of results (default: 20, max: 100)').option('--offset <n>', 'Number of results to skip (for pagination)').option('--json', 'Output in JSON format').action(async (options)=>{
1025
1034
  if (options.json) setJsonMode(true);
1026
1035
  job_runner_requireAuth(manager_isAuthenticated);
1027
1036
  const spinner = isJsonMode() ? null : ora('Searching prompts...').start();
@@ -1030,7 +1039,7 @@ function createSearchPromptsCommand() {
1030
1039
  const limit = options.limit ? parseInt(options.limit, 10) : 20;
1031
1040
  const offset = options.offset ? parseInt(options.offset, 10) : 0;
1032
1041
  const result = await searchPrompts({
1033
- keyword: options.keyword,
1042
+ keyword: options.query,
1034
1043
  tags,
1035
1044
  limit,
1036
1045
  offset
@@ -1214,7 +1223,7 @@ async function trackCommand(opts) {
1214
1223
  durationMs: opts.durationMs,
1215
1224
  errorCode: opts.errorCode,
1216
1225
  options: opts.options,
1217
- cliVersion: "0.1.8",
1226
+ cliVersion: "0.1.9",
1218
1227
  os: `${os.platform()} ${os.release()}`
1219
1228
  };
1220
1229
  const posthog = getPostHog();
@@ -1251,7 +1260,7 @@ external_dotenv_config({
1251
1260
  external_dotenv_config();
1252
1261
  function createProgram() {
1253
1262
  const program = new Command();
1254
- program.name('superdesign').description('SuperDesign CLI - AI product designer for coding agents').version("0.1.8");
1263
+ program.name('superdesign').description('SuperDesign CLI - AI product designer for coding agents').version("0.1.9");
1255
1264
  let startTime = 0;
1256
1265
  program.hook('preAction', ()=>{
1257
1266
  startTime = Date.now();
@@ -1269,15 +1278,17 @@ function createProgram() {
1269
1278
  program.addCommand(createLogoutCommand());
1270
1279
  program.addCommand(createInitCommand());
1271
1280
  program.addCommand(createCreateProjectCommand());
1272
- program.addCommand(createCreateDesignDraftCommand());
1273
1281
  program.addCommand(createIterateDesignDraftCommand());
1274
- program.addCommand(createPlanFlowPagesCommand());
1282
+ program.addCommand(createPlanFlowPagesCommand(), {
1283
+ hidden: true
1284
+ });
1275
1285
  program.addCommand(createExecuteFlowPagesCommand());
1276
1286
  program.addCommand(createExtractBrandGuideCommand());
1277
1287
  program.addCommand(createSearchPromptsCommand());
1278
1288
  program.addCommand(createGetPromptsCommand());
1279
1289
  program.addCommand(createFetchDesignNodesCommand());
1280
1290
  program.addCommand(createGetDesignCommand());
1291
+ program.addCommand(createCreateDesignDraftCommand());
1281
1292
  return program;
1282
1293
  }
1283
1294
  async function run() {
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@superdesign/cli",
3
- "version": "0.1.8",
3
+ "version": "0.1.10",
4
4
  "description": "CLI for SuperDesign Platform - agent skills for Claude Code",
5
5
  "type": "module",
6
6
  "main": "./dist/index.cjs",