@codebakers/cli 3.9.7 → 3.9.9
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/commands/go.js +29 -1
- package/dist/index.js +2 -2
- package/package.json +1 -1
- package/src/commands/go.ts +34 -1
- package/src/index.ts +2 -2
package/dist/commands/go.js
CHANGED
|
@@ -936,7 +936,7 @@ function log(message, options) {
|
|
|
936
936
|
}
|
|
937
937
|
}
|
|
938
938
|
// Current CLI version - must match package.json
|
|
939
|
-
const CURRENT_VERSION = '3.9.
|
|
939
|
+
const CURRENT_VERSION = '3.9.9';
|
|
940
940
|
/**
|
|
941
941
|
* Check for updates and install them automatically
|
|
942
942
|
* This makes "codebakers go" the magic phrase that keeps everything updated
|
|
@@ -1050,6 +1050,18 @@ async function go(options = {}) {
|
|
|
1050
1050
|
// =========================================================================
|
|
1051
1051
|
// FIRST-TIME SETUP - Project not yet configured
|
|
1052
1052
|
// =========================================================================
|
|
1053
|
+
// Auto-detect non-interactive mode (e.g., running from Claude Code)
|
|
1054
|
+
const isNonInteractive = !process.stdin.isTTY;
|
|
1055
|
+
if (isNonInteractive) {
|
|
1056
|
+
console.log(chalk_1.default.yellow('\n ⚡ Non-interactive mode - setting up project files only\n'));
|
|
1057
|
+
// Just set up the project files without auth
|
|
1058
|
+
// Auth can be done later via `codebakers go` in terminal or via MCP tools
|
|
1059
|
+
await setupProject(options);
|
|
1060
|
+
console.log(chalk_1.default.green('\n ✓ Project files installed!\n'));
|
|
1061
|
+
console.log(chalk_1.default.gray(' To activate trial/login, run in terminal:'));
|
|
1062
|
+
console.log(chalk_1.default.cyan(' codebakers go\n'));
|
|
1063
|
+
return;
|
|
1064
|
+
}
|
|
1053
1065
|
console.log(chalk_1.default.blue(`
|
|
1054
1066
|
╔═══════════════════════════════════════════════════════════╗
|
|
1055
1067
|
║ ║
|
|
@@ -1404,6 +1416,14 @@ async function setupProject(options = {}, auth) {
|
|
|
1404
1416
|
}
|
|
1405
1417
|
async function setupNewProject(cwd, options = {}, auth) {
|
|
1406
1418
|
console.log(chalk_1.default.cyan('\n ━━━ New Project Setup ━━━\n'));
|
|
1419
|
+
// Auto-detect non-interactive mode (e.g., running from Claude Code)
|
|
1420
|
+
const isNonInteractive = !process.stdin.isTTY;
|
|
1421
|
+
if (isNonInteractive && !options.type) {
|
|
1422
|
+
console.log(chalk_1.default.yellow(' ⚡ Non-interactive mode detected - using defaults\n'));
|
|
1423
|
+
options.type = 'personal';
|
|
1424
|
+
options.describe = options.describe || 'chat';
|
|
1425
|
+
options.skipReview = true;
|
|
1426
|
+
}
|
|
1407
1427
|
let projectType;
|
|
1408
1428
|
let projectName;
|
|
1409
1429
|
const defaultName = cwd.split(/[\\/]/).pop() || 'my-project';
|
|
@@ -1542,6 +1562,14 @@ ${content}
|
|
|
1542
1562
|
}
|
|
1543
1563
|
async function setupExistingProject(cwd, projectInfo, options = {}, auth) {
|
|
1544
1564
|
console.log(chalk_1.default.cyan('\n ━━━ Existing Project Detected ━━━\n'));
|
|
1565
|
+
// Auto-detect non-interactive mode (e.g., running from Claude Code)
|
|
1566
|
+
const isNonInteractive = !process.stdin.isTTY;
|
|
1567
|
+
if (isNonInteractive && !options.name) {
|
|
1568
|
+
console.log(chalk_1.default.yellow(' ⚡ Non-interactive mode detected - using defaults\n'));
|
|
1569
|
+
const folderName = cwd.split(/[\\/]/).pop() || 'my-project';
|
|
1570
|
+
options.name = folderName;
|
|
1571
|
+
options.skipReview = true;
|
|
1572
|
+
}
|
|
1545
1573
|
// Show what was detected
|
|
1546
1574
|
console.log(chalk_1.default.gray(' Found:'));
|
|
1547
1575
|
for (const detail of projectInfo.details.slice(0, 5)) {
|
package/dist/index.js
CHANGED
|
@@ -34,7 +34,7 @@ const api_js_1 = require("./lib/api.js");
|
|
|
34
34
|
// ============================================
|
|
35
35
|
// Automatic Update Notification
|
|
36
36
|
// ============================================
|
|
37
|
-
const CURRENT_VERSION = '3.9.
|
|
37
|
+
const CURRENT_VERSION = '3.9.9';
|
|
38
38
|
async function checkForUpdatesInBackground() {
|
|
39
39
|
// Check if we have a valid cached result first (fast path)
|
|
40
40
|
const cached = (0, config_js_2.getCachedUpdateInfo)();
|
|
@@ -195,7 +195,7 @@ const program = new commander_1.Command();
|
|
|
195
195
|
program
|
|
196
196
|
.name('codebakers')
|
|
197
197
|
.description('CodeBakers CLI - Production patterns for AI-assisted development')
|
|
198
|
-
.version('3.9.
|
|
198
|
+
.version('3.9.9');
|
|
199
199
|
// Zero-friction trial entry (no signup required)
|
|
200
200
|
program
|
|
201
201
|
.command('go')
|
package/package.json
CHANGED
package/src/commands/go.ts
CHANGED
|
@@ -1053,7 +1053,7 @@ function log(message: string, options?: GoOptions): void {
|
|
|
1053
1053
|
}
|
|
1054
1054
|
|
|
1055
1055
|
// Current CLI version - must match package.json
|
|
1056
|
-
const CURRENT_VERSION = '3.9.
|
|
1056
|
+
const CURRENT_VERSION = '3.9.9';
|
|
1057
1057
|
|
|
1058
1058
|
/**
|
|
1059
1059
|
* Check for updates and install them automatically
|
|
@@ -1184,6 +1184,21 @@ export async function go(options: GoOptions = {}): Promise<void> {
|
|
|
1184
1184
|
// FIRST-TIME SETUP - Project not yet configured
|
|
1185
1185
|
// =========================================================================
|
|
1186
1186
|
|
|
1187
|
+
// Auto-detect non-interactive mode (e.g., running from Claude Code)
|
|
1188
|
+
const isNonInteractive = !process.stdin.isTTY;
|
|
1189
|
+
if (isNonInteractive) {
|
|
1190
|
+
console.log(chalk.yellow('\n ⚡ Non-interactive mode - setting up project files only\n'));
|
|
1191
|
+
|
|
1192
|
+
// Just set up the project files without auth
|
|
1193
|
+
// Auth can be done later via `codebakers go` in terminal or via MCP tools
|
|
1194
|
+
await setupProject(options);
|
|
1195
|
+
|
|
1196
|
+
console.log(chalk.green('\n ✓ Project files installed!\n'));
|
|
1197
|
+
console.log(chalk.gray(' To activate trial/login, run in terminal:'));
|
|
1198
|
+
console.log(chalk.cyan(' codebakers go\n'));
|
|
1199
|
+
return;
|
|
1200
|
+
}
|
|
1201
|
+
|
|
1187
1202
|
console.log(chalk.blue(`
|
|
1188
1203
|
╔═══════════════════════════════════════════════════════════╗
|
|
1189
1204
|
║ ║
|
|
@@ -1585,6 +1600,15 @@ async function setupProject(options: GoOptions = {}, auth?: AuthInfo): Promise<v
|
|
|
1585
1600
|
async function setupNewProject(cwd: string, options: GoOptions = {}, auth?: AuthInfo): Promise<void> {
|
|
1586
1601
|
console.log(chalk.cyan('\n ━━━ New Project Setup ━━━\n'));
|
|
1587
1602
|
|
|
1603
|
+
// Auto-detect non-interactive mode (e.g., running from Claude Code)
|
|
1604
|
+
const isNonInteractive = !process.stdin.isTTY;
|
|
1605
|
+
if (isNonInteractive && !options.type) {
|
|
1606
|
+
console.log(chalk.yellow(' ⚡ Non-interactive mode detected - using defaults\n'));
|
|
1607
|
+
options.type = 'personal';
|
|
1608
|
+
options.describe = options.describe || 'chat';
|
|
1609
|
+
options.skipReview = true;
|
|
1610
|
+
}
|
|
1611
|
+
|
|
1588
1612
|
let projectType: string;
|
|
1589
1613
|
let projectName: string;
|
|
1590
1614
|
const defaultName = cwd.split(/[\\/]/).pop() || 'my-project';
|
|
@@ -1733,6 +1757,15 @@ ${content}
|
|
|
1733
1757
|
async function setupExistingProject(cwd: string, projectInfo: ProjectInfo, options: GoOptions = {}, auth?: AuthInfo): Promise<void> {
|
|
1734
1758
|
console.log(chalk.cyan('\n ━━━ Existing Project Detected ━━━\n'));
|
|
1735
1759
|
|
|
1760
|
+
// Auto-detect non-interactive mode (e.g., running from Claude Code)
|
|
1761
|
+
const isNonInteractive = !process.stdin.isTTY;
|
|
1762
|
+
if (isNonInteractive && !options.name) {
|
|
1763
|
+
console.log(chalk.yellow(' ⚡ Non-interactive mode detected - using defaults\n'));
|
|
1764
|
+
const folderName = cwd.split(/[\\/]/).pop() || 'my-project';
|
|
1765
|
+
options.name = folderName;
|
|
1766
|
+
options.skipReview = true;
|
|
1767
|
+
}
|
|
1768
|
+
|
|
1736
1769
|
// Show what was detected
|
|
1737
1770
|
console.log(chalk.gray(' Found:'));
|
|
1738
1771
|
for (const detail of projectInfo.details.slice(0, 5)) {
|
package/src/index.ts
CHANGED
|
@@ -34,7 +34,7 @@ import { join } from 'path';
|
|
|
34
34
|
// Automatic Update Notification
|
|
35
35
|
// ============================================
|
|
36
36
|
|
|
37
|
-
const CURRENT_VERSION = '3.9.
|
|
37
|
+
const CURRENT_VERSION = '3.9.9';
|
|
38
38
|
|
|
39
39
|
async function checkForUpdatesInBackground(): Promise<void> {
|
|
40
40
|
// Check if we have a valid cached result first (fast path)
|
|
@@ -216,7 +216,7 @@ const program = new Command();
|
|
|
216
216
|
program
|
|
217
217
|
.name('codebakers')
|
|
218
218
|
.description('CodeBakers CLI - Production patterns for AI-assisted development')
|
|
219
|
-
.version('3.9.
|
|
219
|
+
.version('3.9.9');
|
|
220
220
|
|
|
221
221
|
// Zero-friction trial entry (no signup required)
|
|
222
222
|
program
|