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.
- package/dist/index.js +25 -42
- package/package.json +1 -1
- 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.
|
|
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?
|
|
7633
|
-
options:
|
|
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
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.
|
|
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?
|
|
69
|
-
options:
|
|
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)) {
|