codebakers 2.2.1 → 2.2.2

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 (3) hide show
  1. package/dist/index.js +25 -42
  2. package/package.json +1 -1
  3. package/src/index.ts +33 -42
package/dist/index.js CHANGED
@@ -7604,7 +7604,7 @@ async function clarifyDeployTarget() {
7604
7604
  }
7605
7605
 
7606
7606
  // src/index.ts
7607
- var VERSION2 = "2.2.1";
7607
+ var VERSION2 = "2.2.2";
7608
7608
  var logo = `
7609
7609
  \u2588\u2588\u2588\u2588\u2588\u2588\u2557 \u2588\u2588\u2588\u2588\u2588\u2588\u2557 \u2588\u2588\u2588\u2588\u2588\u2588\u2557 \u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2557\u2588\u2588\u2588\u2588\u2588\u2588\u2557 \u2588\u2588\u2588\u2588\u2588\u2557 \u2588\u2588\u2557 \u2588\u2588\u2557\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2557\u2588\u2588\u2588\u2588\u2588\u2588\u2557 \u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2557
7610
7610
  \u2588\u2588\u2554\u2550\u2550\u2550\u2550\u255D\u2588\u2588\u2554\u2550\u2550\u2550\u2588\u2588\u2557\u2588\u2588\u2554\u2550\u2550\u2588\u2588\u2557\u2588\u2588\u2554\u2550\u2550\u2550\u2550\u255D\u2588\u2588\u2554\u2550\u2550\u2588\u2588\u2557\u2588\u2588\u2554\u2550\u2550\u2588\u2588\u2557\u2588\u2588\u2551 \u2588\u2588\u2554\u255D\u2588\u2588\u2554\u2550\u2550\u2550\u2550\u255D\u2588\u2588\u2554\u2550\u2550\u2588\u2588\u2557\u2588\u2588\u2554\u2550\u2550\u2550\u2550\u255D
@@ -7628,48 +7628,31 @@ async function showMainMenu() {
7628
7628
  return;
7629
7629
  }
7630
7630
  const inProject = config.isInProject();
7631
+ const menuOptions = [];
7632
+ menuOptions.push({ value: "new", label: "\u{1F195} Create new project" });
7633
+ menuOptions.push({ value: "website", label: "\u{1F310} Website Builder", hint: "Describe \u2192 AI builds it" });
7634
+ menuOptions.push({ value: "build", label: "\u{1F3D7}\uFE0F Parallel Build", hint: "3 agents from PRD" });
7635
+ menuOptions.push({ value: "prd", label: "\u{1F4C4} Build from PRD", hint: "sequential build" });
7636
+ menuOptions.push({ value: "prd-maker", label: "\u270F\uFE0F Create PRD", hint: "interview \u2192 generate PRD" });
7637
+ menuOptions.push({ value: "advisors", label: "\u{1F31F} Dream Team Advisors", hint: "consult with experts" });
7638
+ if (inProject) {
7639
+ menuOptions.push({ value: "separator1", label: "\u2500\u2500\u2500\u2500\u2500 Current Project \u2500\u2500\u2500\u2500\u2500" });
7640
+ menuOptions.push({ value: "code", label: "\u{1F4AC} Code with AI", hint: "build features, fix bugs" });
7641
+ menuOptions.push({ value: "check", label: "\u{1F50D} Check code quality", hint: "run pattern enforcement" });
7642
+ menuOptions.push({ value: "deploy", label: "\u{1F680} Deploy", hint: "deploy to Vercel" });
7643
+ menuOptions.push({ value: "fix", label: "\u{1F527} Fix errors", hint: "auto-fix with AI" });
7644
+ menuOptions.push({ value: "generate", label: "\u26A1 Generate", hint: "scaffold components, pages" });
7645
+ menuOptions.push({ value: "migrate", label: "\u{1F5C4}\uFE0F Database migrations", hint: "push, generate, status" });
7646
+ }
7647
+ menuOptions.push({ value: "separator2", label: "\u2500\u2500\u2500\u2500\u2500 Tools & Settings \u2500\u2500\u2500\u2500\u2500" });
7648
+ menuOptions.push({ value: "integrate", label: "\u{1F50C} One-Click Integrations", hint: "50+ services" });
7649
+ menuOptions.push({ value: "gateway", label: "\u{1F4F1} Channel gateway", hint: "WhatsApp, Telegram, etc." });
7650
+ menuOptions.push({ value: "connect", label: "\u{1F517} Connect service", hint: "API keys" });
7651
+ menuOptions.push({ value: "settings", label: "\u2699\uFE0F Settings" });
7652
+ menuOptions.push({ value: "help", label: "\u2753 Help" });
7631
7653
  const action = await p21.select({
7632
- message: "What do you want to do? (or type naturally)",
7633
- options: inProject ? [
7634
- { value: "code", label: "\u{1F4AC} Code with AI", hint: "build features, fix bugs" },
7635
- { value: "integrate", label: "\u{1F50C} One-Click Integrations", hint: "50+ services, browser auth" },
7636
- { value: "check", label: "\u{1F50D} Check code quality", hint: "run pattern enforcement" },
7637
- { value: "deploy", label: "\u{1F680} Deploy", hint: "deploy to Vercel" },
7638
- { value: "migrate", label: "\u{1F5C4}\uFE0F Database migrations", hint: "push, generate, status" },
7639
- { value: "fix", label: "\u{1F527} Fix errors", hint: "auto-fix build/deploy errors" },
7640
- { value: "generate", label: "\u26A1 Generate", hint: "scaffold components, pages" },
7641
- { value: "status", label: "\u{1F4CA} Project status", hint: "view project health" },
7642
- { value: "separator1", label: "\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500" },
7643
- { value: "connect", label: "\u{1F517} Connect service", hint: "add integrations" },
7644
- { value: "gateway", label: "\u{1F4F1} Channel gateway", hint: "WhatsApp, Telegram, etc." },
7645
- { value: "learn", label: "\u{1F9E0} Learning settings", hint: "view what I've learned" },
7646
- { value: "security", label: "\u{1F512} Security audit", hint: "check for vulnerabilities" },
7647
- { value: "design", label: "\u{1F3A8} Design system", hint: "set profile, colors" },
7648
- { value: "separator2", label: "\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500" },
7649
- { value: "new", label: "\u{1F195} Create new project" },
7650
- { value: "website", label: "\u{1F310} Website Builder", hint: "Describe \u2192 AI builds it" },
7651
- { value: "build", label: "\u{1F3D7}\uFE0F Parallel Build", hint: "3 agents from PRD (swarm)" },
7652
- { value: "prd", label: "\u{1F4C4} Build from PRD", hint: "sequential build" },
7653
- { value: "prd-maker", label: "\u270F\uFE0F Create PRD", hint: "interview \u2192 generate PRD" },
7654
- { value: "advisors", label: "\u{1F31F} Dream Team Advisors", hint: "consult with experts" },
7655
- { value: "settings", label: "\u2699\uFE0F Settings" },
7656
- { value: "help", label: "\u2753 Help" }
7657
- ] : [
7658
- { value: "new", label: "\u{1F195} Create new project" },
7659
- { value: "website", label: "\u{1F310} Website Builder", hint: "Describe \u2192 AI builds it" },
7660
- { value: "build", label: "\u{1F3D7}\uFE0F Parallel Build", hint: "3 agents from PRD (swarm)" },
7661
- { value: "prd", label: "\u{1F4C4} Build from PRD", hint: "sequential build" },
7662
- { value: "prd-maker", label: "\u270F\uFE0F Create PRD", hint: "interview \u2192 generate PRD" },
7663
- { value: "advisors", label: "\u{1F31F} Dream Team Advisors", hint: "consult with experts" },
7664
- { value: "open", label: "\u{1F4C2} Open existing project" },
7665
- { value: "status", label: "\u{1F4CA} View all projects" },
7666
- { value: "separator1", label: "\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500" },
7667
- { value: "connect", label: "\u{1F517} Connect service" },
7668
- { value: "gateway", label: "\u{1F4F1} Channel gateway", hint: "WhatsApp, Telegram, etc." },
7669
- { value: "learn", label: "\u{1F9E0} Learning settings" },
7670
- { value: "settings", label: "\u2699\uFE0F Settings" },
7671
- { value: "help", label: "\u2753 Help" }
7672
- ]
7654
+ message: "What do you want to do?",
7655
+ options: menuOptions
7673
7656
  });
7674
7657
  if (p21.isCancel(action)) {
7675
7658
  p21.cancel("Goodbye!");
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "codebakers",
3
- "version": "2.2.1",
3
+ "version": "2.2.2",
4
4
  "description": "AI dev team that follows the rules. Build apps from anywhere with pattern enforcement.",
5
5
  "type": "module",
6
6
  "main": "dist/index.js",
package/src/index.ts CHANGED
@@ -29,7 +29,7 @@ import { integrateCommand, INTEGRATIONS } from './commands/integrate.js';
29
29
  import { websiteCommand } from './commands/website.js';
30
30
  import { parseNaturalLanguage, clarifyCommand, clarifyDeployTarget } from './utils/nlp.js';
31
31
 
32
- const VERSION = '2.2.1';
32
+ const VERSION = '2.2.2';
33
33
 
34
34
  // ASCII art logo
35
35
  const logo = `
@@ -63,49 +63,40 @@ async function showMainMenu(): Promise<void> {
63
63
  // Check if in a project directory
64
64
  const inProject = config.isInProject();
65
65
 
66
+ // Build menu options based on context
67
+ const menuOptions = [];
68
+
69
+ // Always show these creation options at top
70
+ menuOptions.push({ value: 'new', label: '🆕 Create new project' });
71
+ menuOptions.push({ value: 'website', label: '🌐 Website Builder', hint: 'Describe → AI builds it' });
72
+ menuOptions.push({ value: 'build', label: '🏗️ Parallel Build', hint: '3 agents from PRD' });
73
+ menuOptions.push({ value: 'prd', label: '📄 Build from PRD', hint: 'sequential build' });
74
+ menuOptions.push({ value: 'prd-maker', label: '✏️ Create PRD', hint: 'interview → generate PRD' });
75
+ menuOptions.push({ value: 'advisors', label: '🌟 Dream Team Advisors', hint: 'consult with experts' });
76
+
77
+ // If in a project, show project-specific options
78
+ if (inProject) {
79
+ menuOptions.push({ value: 'separator1', label: '───── Current Project ─────' });
80
+ menuOptions.push({ value: 'code', label: '💬 Code with AI', hint: 'build features, fix bugs' });
81
+ menuOptions.push({ value: 'check', label: '🔍 Check code quality', hint: 'run pattern enforcement' });
82
+ menuOptions.push({ value: 'deploy', label: '🚀 Deploy', hint: 'deploy to Vercel' });
83
+ menuOptions.push({ value: 'fix', label: '🔧 Fix errors', hint: 'auto-fix with AI' });
84
+ menuOptions.push({ value: 'generate', label: '⚡ Generate', hint: 'scaffold components, pages' });
85
+ menuOptions.push({ value: 'migrate', label: '🗄️ Database migrations', hint: 'push, generate, status' });
86
+ }
87
+
88
+ // Always show these
89
+ menuOptions.push({ value: 'separator2', label: '───── Tools & Settings ─────' });
90
+ menuOptions.push({ value: 'integrate', label: '🔌 One-Click Integrations', hint: '50+ services' });
91
+ menuOptions.push({ value: 'gateway', label: '📱 Channel gateway', hint: 'WhatsApp, Telegram, etc.' });
92
+ menuOptions.push({ value: 'connect', label: '🔗 Connect service', hint: 'API keys' });
93
+ menuOptions.push({ value: 'settings', label: '⚙️ Settings' });
94
+ menuOptions.push({ value: 'help', label: '❓ Help' });
95
+
66
96
  // Main menu
67
97
  const action = await p.select({
68
- message: 'What do you want to do? (or type naturally)',
69
- options: inProject ? [
70
- { value: 'code', label: '💬 Code with AI', hint: 'build features, fix bugs' },
71
- { value: 'integrate', label: '🔌 One-Click Integrations', hint: '50+ services, browser auth' },
72
- { value: 'check', label: '🔍 Check code quality', hint: 'run pattern enforcement' },
73
- { value: 'deploy', label: '🚀 Deploy', hint: 'deploy to Vercel' },
74
- { value: 'migrate', label: '🗄️ Database migrations', hint: 'push, generate, status' },
75
- { value: 'fix', label: '🔧 Fix errors', hint: 'auto-fix build/deploy errors' },
76
- { value: 'generate', label: '⚡ Generate', hint: 'scaffold components, pages' },
77
- { value: 'status', label: '📊 Project status', hint: 'view project health' },
78
- { value: 'separator1', label: '─────────────────────────' },
79
- { value: 'connect', label: '🔗 Connect service', hint: 'add integrations' },
80
- { value: 'gateway', label: '📱 Channel gateway', hint: 'WhatsApp, Telegram, etc.' },
81
- { value: 'learn', label: '🧠 Learning settings', hint: 'view what I\'ve learned' },
82
- { value: 'security', label: '🔒 Security audit', hint: 'check for vulnerabilities' },
83
- { value: 'design', label: '🎨 Design system', hint: 'set profile, colors' },
84
- { value: 'separator2', label: '─────────────────────────' },
85
- { value: 'new', label: '🆕 Create new project' },
86
- { value: 'website', label: '🌐 Website Builder', hint: 'Describe → AI builds it' },
87
- { value: 'build', label: '🏗️ Parallel Build', hint: '3 agents from PRD (swarm)' },
88
- { value: 'prd', label: '📄 Build from PRD', hint: 'sequential build' },
89
- { value: 'prd-maker', label: '✏️ Create PRD', hint: 'interview → generate PRD' },
90
- { value: 'advisors', label: '🌟 Dream Team Advisors', hint: 'consult with experts' },
91
- { value: 'settings', label: '⚙️ Settings' },
92
- { value: 'help', label: '❓ Help' },
93
- ] : [
94
- { value: 'new', label: '🆕 Create new project' },
95
- { value: 'website', label: '🌐 Website Builder', hint: 'Describe → AI builds it' },
96
- { value: 'build', label: '🏗️ Parallel Build', hint: '3 agents from PRD (swarm)' },
97
- { value: 'prd', label: '📄 Build from PRD', hint: 'sequential build' },
98
- { value: 'prd-maker', label: '✏️ Create PRD', hint: 'interview → generate PRD' },
99
- { value: 'advisors', label: '🌟 Dream Team Advisors', hint: 'consult with experts' },
100
- { value: 'open', label: '📂 Open existing project' },
101
- { value: 'status', label: '📊 View all projects' },
102
- { value: 'separator1', label: '─────────────────────────' },
103
- { value: 'connect', label: '🔗 Connect service' },
104
- { value: 'gateway', label: '📱 Channel gateway', hint: 'WhatsApp, Telegram, etc.' },
105
- { value: 'learn', label: '🧠 Learning settings' },
106
- { value: 'settings', label: '⚙️ Settings' },
107
- { value: 'help', label: '❓ Help' },
108
- ]
98
+ message: 'What do you want to do?',
99
+ options: menuOptions,
109
100
  });
110
101
 
111
102
  if (p.isCancel(action)) {