codebakers 2.0.10 → 2.1.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 +1643 -254
- package/package.json +1 -1
- package/src/commands/integrate.ts +985 -0
- package/src/commands/website.ts +643 -0
- package/src/index.ts +26 -2
package/src/index.ts
CHANGED
|
@@ -25,9 +25,11 @@ import { advisorsCommand } from './commands/advisors.js';
|
|
|
25
25
|
import { migrateCommand } from './commands/migrate.js';
|
|
26
26
|
import { prdMakerCommand } from './commands/prd-maker.js';
|
|
27
27
|
import { buildCommand } from './commands/build.js';
|
|
28
|
+
import { integrateCommand, INTEGRATIONS } from './commands/integrate.js';
|
|
29
|
+
import { websiteCommand } from './commands/website.js';
|
|
28
30
|
import { parseNaturalLanguage, clarifyCommand, clarifyDeployTarget } from './utils/nlp.js';
|
|
29
31
|
|
|
30
|
-
const VERSION = '2.
|
|
32
|
+
const VERSION = '2.1.1';
|
|
31
33
|
|
|
32
34
|
// ASCII art logo
|
|
33
35
|
const logo = `
|
|
@@ -66,6 +68,7 @@ async function showMainMenu(): Promise<void> {
|
|
|
66
68
|
message: 'What do you want to do? (or type naturally)',
|
|
67
69
|
options: inProject ? [
|
|
68
70
|
{ value: 'code', label: '💬 Code with AI', hint: 'build features, fix bugs' },
|
|
71
|
+
{ value: 'integrate', label: '🔌 One-Click Integrations', hint: '50+ services, browser auth' },
|
|
69
72
|
{ value: 'check', label: '🔍 Check code quality', hint: 'run pattern enforcement' },
|
|
70
73
|
{ value: 'deploy', label: '🚀 Deploy', hint: 'deploy to Vercel' },
|
|
71
74
|
{ value: 'migrate', label: '🗄️ Database migrations', hint: 'push, generate, status' },
|
|
@@ -80,6 +83,7 @@ async function showMainMenu(): Promise<void> {
|
|
|
80
83
|
{ value: 'design', label: '🎨 Design system', hint: 'set profile, colors' },
|
|
81
84
|
{ value: 'separator2', label: '─────────────────────────' },
|
|
82
85
|
{ value: 'new', label: '🆕 Create new project' },
|
|
86
|
+
{ value: 'website', label: '🌐 Website Builder', hint: 'Describe → AI builds it' },
|
|
83
87
|
{ value: 'build', label: '🏗️ Parallel Build', hint: '3 agents from PRD (swarm)' },
|
|
84
88
|
{ value: 'prd', label: '📄 Build from PRD', hint: 'sequential build' },
|
|
85
89
|
{ value: 'prd-maker', label: '✏️ Create PRD', hint: 'interview → generate PRD' },
|
|
@@ -88,6 +92,7 @@ async function showMainMenu(): Promise<void> {
|
|
|
88
92
|
{ value: 'help', label: '❓ Help' },
|
|
89
93
|
] : [
|
|
90
94
|
{ value: 'new', label: '🆕 Create new project' },
|
|
95
|
+
{ value: 'website', label: '🌐 Website Builder', hint: 'Describe → AI builds it' },
|
|
91
96
|
{ value: 'build', label: '🏗️ Parallel Build', hint: '3 agents from PRD (swarm)' },
|
|
92
97
|
{ value: 'prd', label: '📄 Build from PRD', hint: 'sequential build' },
|
|
93
98
|
{ value: 'prd-maker', label: '✏️ Create PRD', hint: 'interview → generate PRD' },
|
|
@@ -113,6 +118,9 @@ async function showMainMenu(): Promise<void> {
|
|
|
113
118
|
case 'code':
|
|
114
119
|
await codeCommand();
|
|
115
120
|
break;
|
|
121
|
+
case 'integrate':
|
|
122
|
+
await integrateCommand();
|
|
123
|
+
break;
|
|
116
124
|
case 'check':
|
|
117
125
|
await checkCommand();
|
|
118
126
|
break;
|
|
@@ -149,6 +157,9 @@ async function showMainMenu(): Promise<void> {
|
|
|
149
157
|
case 'new':
|
|
150
158
|
await initCommand();
|
|
151
159
|
break;
|
|
160
|
+
case 'website':
|
|
161
|
+
await websiteCommand();
|
|
162
|
+
break;
|
|
152
163
|
case 'build':
|
|
153
164
|
await buildCommand();
|
|
154
165
|
break;
|
|
@@ -327,6 +338,18 @@ program
|
|
|
327
338
|
.option('--sequential', 'Disable parallel execution')
|
|
328
339
|
.action(buildCommand);
|
|
329
340
|
|
|
341
|
+
program
|
|
342
|
+
.command('integrate [integration]')
|
|
343
|
+
.alias('add')
|
|
344
|
+
.description('One-click integrations (50+ services with browser auth)')
|
|
345
|
+
.action(integrateCommand);
|
|
346
|
+
|
|
347
|
+
program
|
|
348
|
+
.command('website')
|
|
349
|
+
.alias('site')
|
|
350
|
+
.description('Build a website by describing it in plain English')
|
|
351
|
+
.action(websiteCommand);
|
|
352
|
+
|
|
330
353
|
// Natural language processing for free-form input
|
|
331
354
|
async function handleNaturalLanguage(input: string): Promise<void> {
|
|
332
355
|
const config = new Config();
|
|
@@ -415,7 +438,8 @@ if (args.length === 0) {
|
|
|
415
438
|
const knownCommands = [
|
|
416
439
|
'setup', 'init', 'code', 'check', 'deploy', 'fix', 'generate',
|
|
417
440
|
'connect', 'status', 'gateway', 'security', 'learn', 'design',
|
|
418
|
-
'prd', 'advisors', 'migrate', 'prd-maker', 'build', 'swarm',
|
|
441
|
+
'prd', 'advisors', 'migrate', 'prd-maker', 'build', 'swarm',
|
|
442
|
+
'integrate', 'add', 'website', 'site', 'help'
|
|
419
443
|
];
|
|
420
444
|
|
|
421
445
|
const firstArg = args[0] as string;
|