vibecodingmachine-cli 2026.2.20-438 → 2026.2.26-1739

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 (101) hide show
  1. package/bin/auth/auth-compliance.js +126 -0
  2. package/bin/cli-program.js +104 -0
  3. package/bin/cli-setup.js +52 -0
  4. package/bin/commands/agent-commands.js +310 -0
  5. package/bin/commands/auto-commands.js +70 -0
  6. package/bin/commands/command-aliases.js +118 -0
  7. package/bin/commands/repo-commands.js +39 -0
  8. package/bin/commands/rui-commands.js +152 -0
  9. package/bin/config/cli-config.js +394 -0
  10. package/bin/init/environment-setup.js +84 -0
  11. package/bin/update/update-checker.js +126 -0
  12. package/bin/vibecodingmachine-new.js +50 -0
  13. package/bin/vibecodingmachine.js +29 -663
  14. package/package.json +8 -2
  15. package/src/commands/agents/add.js +277 -0
  16. package/src/commands/agents/check.js +380 -0
  17. package/src/commands/agents/list.js +471 -0
  18. package/src/commands/agents/remove.js +351 -0
  19. package/src/commands/analyze-file-sizes.js +428 -0
  20. package/src/commands/auto-direct/code-processor.js +282 -0
  21. package/src/commands/auto-direct/file-scanner.js +266 -0
  22. package/src/commands/auto-direct/provider-config.js +178 -0
  23. package/src/commands/auto-direct/provider-manager.js +219 -0
  24. package/src/commands/auto-direct/requirement-manager.js +172 -0
  25. package/src/commands/auto-direct/status-display.js +91 -0
  26. package/src/commands/auto-direct/utils.js +106 -0
  27. package/src/commands/auto-direct.js +875 -488
  28. package/src/commands/auto-execution.js +342 -0
  29. package/src/commands/auto-provider-management.js +102 -0
  30. package/src/commands/auto-requirement-management.js +161 -0
  31. package/src/commands/auto-status-helpers.js +141 -0
  32. package/src/commands/auto.js +105 -5155
  33. package/src/commands/check-compliance.js +536 -0
  34. package/src/commands/continuous-scan.js +119 -0
  35. package/src/commands/ide.js +16 -4
  36. package/src/commands/refactor-file.js +486 -0
  37. package/src/commands/requirements.js +301 -2
  38. package/src/commands/timeout.js +290 -0
  39. package/src/trui/TruiInterface.js +108 -0
  40. package/src/trui/agents/AgentInterface.js +580 -0
  41. package/src/utils/antigravity-installer.js +60 -6
  42. package/src/utils/clarification-actions.js +290 -0
  43. package/src/utils/config.js +123 -2
  44. package/src/utils/first-run.js +5 -5
  45. package/src/utils/ide-handlers.js +212 -0
  46. package/src/utils/interactive/clarification-actions.js +348 -0
  47. package/src/utils/interactive/core-ui.js +265 -0
  48. package/src/utils/interactive/file-backup.js +237 -0
  49. package/src/utils/interactive/file-import-export.js +305 -0
  50. package/src/utils/interactive/file-operations.js +49 -0
  51. package/src/utils/interactive/file-validation.js +276 -0
  52. package/src/utils/interactive/interactive-prompts.js +480 -0
  53. package/src/utils/interactive/requirement-actions.js +127 -0
  54. package/src/utils/interactive/requirement-crud.js +356 -0
  55. package/src/utils/interactive/requirements-navigation.js +286 -0
  56. package/src/utils/interactive.js +390 -3459
  57. package/src/utils/provider-checker/agent-checker.js +250 -0
  58. package/src/utils/provider-checker/agent-runner.js +450 -0
  59. package/src/utils/provider-checker/cli-installer.js +123 -0
  60. package/src/utils/provider-checker/cli-utils.js +15 -0
  61. package/src/utils/provider-checker/format-utils.js +32 -0
  62. package/src/utils/provider-checker/ide-manager.js +72 -0
  63. package/src/utils/provider-checker/ide-utils.js +71 -0
  64. package/src/utils/provider-checker/node-detector.js +56 -0
  65. package/src/utils/provider-checker/node-utils.js +61 -0
  66. package/src/utils/provider-checker/process-spawn.js +22 -0
  67. package/src/utils/provider-checker/process-utils.js +37 -0
  68. package/src/utils/provider-checker/provider-validator.js +160 -0
  69. package/src/utils/provider-checker/quota-checker.js +54 -0
  70. package/src/utils/provider-checker/quota-detector.js +44 -0
  71. package/src/utils/provider-checker/requirements-manager.js +94 -0
  72. package/src/utils/provider-checker/test-requirements.js +95 -0
  73. package/src/utils/provider-checker/time-formatter.js +18 -0
  74. package/src/utils/provider-checker-new.js +14 -0
  75. package/src/utils/provider-checker.js +12 -407
  76. package/src/utils/provider-checkers/ide-manager.js +128 -0
  77. package/src/utils/provider-checkers/node-executable-finder.js +51 -0
  78. package/src/utils/provider-checkers/provider-checker-core.js +172 -0
  79. package/src/utils/provider-checkers/provider-checker-main.js +107 -0
  80. package/src/utils/provider-manager.js +60 -4
  81. package/src/utils/provider-registry.js +26 -3
  82. package/src/utils/provider-utils.js +173 -0
  83. package/src/utils/quota-detectors.js +212 -0
  84. package/src/utils/requirement-action-handlers.js +288 -0
  85. package/src/utils/requirement-actions/clarification-actions.js +229 -0
  86. package/src/utils/requirement-actions/confirmation-prompts.js +93 -0
  87. package/src/utils/requirement-actions/file-operations.js +92 -0
  88. package/src/utils/requirement-actions/helpers.js +40 -0
  89. package/src/utils/requirement-actions/requirement-operations.js +335 -0
  90. package/src/utils/requirement-actions.js +46 -856
  91. package/src/utils/requirement-file-operations.js +259 -0
  92. package/src/utils/requirement-helpers.js +128 -0
  93. package/src/utils/requirement-management.js +279 -0
  94. package/src/utils/requirement-navigation.js +146 -0
  95. package/src/utils/requirement-organization.js +271 -0
  96. package/src/utils/simple-trui.js +75 -1
  97. package/src/utils/trui-navigation.js +28 -2
  98. package/src/utils/trui-req-tree.js +196 -11
  99. package/src/utils/trui-specifications.js +31 -1
  100. package/src/utils/interactive-backup.js +0 -5664
  101. package/src/utils/trui-provider-manager.js +0 -182
@@ -0,0 +1,84 @@
1
+ /**
2
+ * Environment setup and initialization
3
+ */
4
+
5
+ const path = require('path');
6
+ const fs = require('fs');
7
+ const { cleanupBrokenAssets } = require('../../src/utils/asset-cleanup');
8
+
9
+ /**
10
+ * Load environment variables from .env.cognito file
11
+ */
12
+ function loadEnvironmentVariables() {
13
+ // Auto-load .env.cognito from root
14
+ const rootDir = path.join(__dirname, '..', '..', '..', '..');
15
+ const envCognitoPath = path.join(rootDir, '.env.cognito');
16
+
17
+ if (fs.existsSync(envCognitoPath)) {
18
+ const envContent = fs.readFileSync(envCognitoPath, 'utf8');
19
+ envContent.split('\n').forEach(line => {
20
+ const trimmed = line.trim();
21
+ if (trimmed && !trimmed.startsWith('#')) {
22
+ const [key, ...valueParts] = trimmed.split('=');
23
+ if (key && valueParts.length > 0) {
24
+ process.env[key.trim()] = valueParts.join('=').trim();
25
+ }
26
+ }
27
+ });
28
+ }
29
+ }
30
+
31
+ /**
32
+ * Initialize cleanup for broken assets
33
+ */
34
+ async function initializeCleanup() {
35
+ try {
36
+ // mitigate broken assets issue
37
+ await cleanupBrokenAssets();
38
+ } catch (error) {
39
+ console.warn('Warning: Failed to cleanup broken assets:', error.message);
40
+ }
41
+ }
42
+
43
+ /**
44
+ * Setup error handlers
45
+ * @param {Object} dependencies - Dependencies for error reporting
46
+ */
47
+ function setupErrorHandlers(dependencies) {
48
+ const { chalk, t, errorReporter } = dependencies;
49
+
50
+ process.on('uncaughtException', async (error) => {
51
+ console.error(chalk.red(`${t('cli.error')}:`), error.message);
52
+ if (process.env.DEBUG) {
53
+ console.error(chalk.gray('Stack:'), error.stack);
54
+ }
55
+ await errorReporter.reportError(error, { type: 'uncaughtException' });
56
+ process.exit(1);
57
+ });
58
+
59
+ process.on('unhandledRejection', async (error) => {
60
+ console.error(chalk.red(`${t('cli.error')}:`), error.message);
61
+ if (process.env.DEBUG) {
62
+ console.error(chalk.gray('Stack:'), error.stack);
63
+ }
64
+ await errorReporter.reportError(error, { type: 'unhandledRejection' });
65
+ process.exit(1);
66
+ });
67
+ }
68
+
69
+ /**
70
+ * Initialize environment and setup
71
+ * @param {Object} dependencies - Dependencies for initialization
72
+ */
73
+ async function initializeEnvironment(dependencies) {
74
+ loadEnvironmentVariables();
75
+ await initializeCleanup();
76
+ setupErrorHandlers(dependencies);
77
+ }
78
+
79
+ module.exports = {
80
+ loadEnvironmentVariables,
81
+ initializeCleanup,
82
+ setupErrorHandlers,
83
+ initializeEnvironment
84
+ };
@@ -0,0 +1,126 @@
1
+ /**
2
+ * Update checking functionality
3
+ */
4
+
5
+ const path = require('path');
6
+ const fs = require('fs');
7
+ const chalk = require('chalk');
8
+ const ora = require('ora');
9
+ const { execSync } = require('child_process');
10
+
11
+ /**
12
+ * Check for updates and display notification
13
+ * @param {Object} dependencies - Dependencies for update checking
14
+ * @param {Object} options - Options for update checking
15
+ */
16
+ async function checkForUpdates(dependencies, options = {}) {
17
+ const { packageJson, promptWithDefaultsOnce } = dependencies;
18
+ const rootDir = path.join(__dirname, '..', '..', '..', '..');
19
+
20
+ try {
21
+ if (process.env.VCM_SKIP_UPDATE_CHECK === '1' || process.env.VCM_SKIP_UPDATE_CHECK === 'true') {
22
+ return;
23
+ }
24
+
25
+ // If running inside the repository (local development), skip update checks entirely
26
+ const isDevWorkspace = fs.existsSync(path.join(rootDir, '.git'));
27
+ if (isDevWorkspace) {
28
+ return;
29
+ }
30
+
31
+ // Additional check: if we're in a workspace with package.json containing vibecodingmachine
32
+ const packageJsonPath = path.join(rootDir, 'package.json');
33
+ if (fs.existsSync(packageJsonPath)) {
34
+ try {
35
+ const pkg = JSON.parse(fs.readFileSync(packageJsonPath, 'utf8'));
36
+ if (pkg.name === 'vibecodingmachine' || (pkg.workspaces && pkg.workspaces.length > 0)) {
37
+ return;
38
+ }
39
+ } catch (e) {
40
+ // Ignore JSON parse errors
41
+ }
42
+ }
43
+
44
+ console.log(chalk.gray(`\nšŸ” Checking for updates... (current: v${packageJson.version})`));
45
+
46
+ // Check npm registry for CLI updates (not S3 manifest which is for Electron)
47
+ const { checkForUpdates: checkNpmUpdates } = require('vibecodingmachine-core');
48
+ const updateInfo = await checkNpmUpdates('vibecodingmachine-cli', packageJson.version);
49
+ console.log(chalk.gray(` Update check result: ${JSON.stringify(updateInfo)}\n`));
50
+
51
+ if (updateInfo.hasUpdate) {
52
+ // Store update info globally for when auto mode starts
53
+ global.pendingUpdate = updateInfo;
54
+
55
+ // Display update notification
56
+ console.log(chalk.cyan(`\nšŸ“¦ Update available: v${updateInfo.currentVersion} → v${updateInfo.latestVersion}`));
57
+ console.log(chalk.gray(` Published: ${updateInfo.publishedDate}`));
58
+
59
+ // Prompt user to update
60
+ const answer = await promptWithDefaultsOnce([
61
+ {
62
+ type: 'confirm',
63
+ name: 'shouldUpdate',
64
+ message: 'Would you like to update now?',
65
+ default: true
66
+ }
67
+ ]);
68
+
69
+ if (answer.shouldUpdate) {
70
+ await performUpdate(updateInfo, rootDir);
71
+ } else {
72
+ console.log(chalk.gray(' You can update later with: ') + chalk.bold.white('npm install -g vibecodingmachine-cli@latest\n'));
73
+ }
74
+ } else {
75
+ console.log(chalk.gray(' No updates available - you have the latest version!\n'));
76
+ }
77
+ } catch (error) {
78
+ // Show error but don't block CLI usage
79
+ console.log(chalk.yellow(`\nāš ļø Update check failed: ${error.message}\n`));
80
+ }
81
+ }
82
+
83
+ /**
84
+ * Perform the actual update
85
+ * @param {Object} updateInfo - Update information
86
+ * @param {string} rootDir - Root directory path
87
+ */
88
+ async function performUpdate(updateInfo, rootDir) {
89
+ const chalk = require('chalk');
90
+ const ora = require('ora');
91
+ const { execSync } = require('child_process');
92
+
93
+ console.log(chalk.cyan('\nšŸ”„ Updating VibeCodingMachine CLI...\n'));
94
+ try {
95
+ // If we're running from the repository (local dev), avoid performing a global install
96
+ const isDevWorkspace = fs.existsSync(path.join(rootDir, '.git'));
97
+ if (isDevWorkspace) {
98
+ console.log(chalk.yellow('\nDetected local development workspace; skipping automatic global install.'));
99
+ console.log(chalk.gray(' To update the globally installed CLI run:') + ' ' + chalk.bold.white('npm install -g vibecodingmachine-cli@latest\n'));
100
+ // Do not attempt global install during development to avoid confusing local dev flow
101
+ return;
102
+ }
103
+
104
+ const spinner = ora('Installing update from npm...').start();
105
+ try {
106
+ // Use npm directly to install the latest version from registry
107
+ execSync('npm install -g vibecodingmachine-cli@latest', { stdio: 'inherit', encoding: 'utf8' });
108
+ spinner.succeed('Installed update');
109
+ console.log(chalk.green('\nāœ… Successfully updated to v' + updateInfo.latestVersion + '!'));
110
+ console.log(chalk.gray(' Please restart your command to use the new version.\n'));
111
+ process.exit(0);
112
+ } catch (err) {
113
+ spinner.fail('Installation failed');
114
+ console.log(chalk.red('\nāŒ Update failed:'), err.message);
115
+ console.log(chalk.yellow(' You can manually update with: ') + chalk.bold.white('npm install -g vibecodingmachine-cli@latest\n'));
116
+ }
117
+ } catch (error) {
118
+ console.log(chalk.red('\nāŒ Update failed:'), error.message);
119
+ console.log(chalk.yellow(' You can manually update with: ') + chalk.bold.white('npm install -g vibecodingmachine-cli@latest\n'));
120
+ }
121
+ }
122
+
123
+ module.exports = {
124
+ checkForUpdates,
125
+ performUpdate
126
+ };
@@ -0,0 +1,50 @@
1
+ #!/usr/bin/env node
2
+
3
+ /**
4
+ * Vibe Coding Machine CLI - Command-line interface for autonomous AI development
5
+ * "Big Dreams + AI + VibeCodingMachine.com = Your money making apps"
6
+ */
7
+
8
+ // Import CLI setup and initialization
9
+ const { initializeCLI } = require('./cli-setup');
10
+
11
+ // Import command setup modules
12
+ const { setupProgram, setupOtherCommands, runCLI } = require('./cli-program');
13
+ const { setupRepoCommands } = require('./commands/repo-commands');
14
+ const { setupAutoCommands } = require('./commands/auto-commands');
15
+ const { setupAgentCommands } = require('./commands/agent-commands');
16
+ const { setupCommandAliases } = require('./commands/command-aliases');
17
+
18
+ /**
19
+ * Main CLI execution
20
+ */
21
+ async function main() {
22
+ try {
23
+ // Initialize CLI environment
24
+ await initializeCLI();
25
+
26
+ // Setup main program configuration
27
+ const { commandName, packageJson } = setupProgram();
28
+
29
+ // Import command modules after initialization
30
+ const repoCommands = require('../src/commands/repo');
31
+ const autoCommands = require('../src/commands/auto');
32
+
33
+ // Setup all command groups
34
+ setupRepoCommands(repoCommands);
35
+ setupAutoCommands(autoCommands);
36
+ setupAgentCommands();
37
+ setupCommandAliases();
38
+ setupOtherCommands();
39
+
40
+ // Run CLI
41
+ runCLI();
42
+
43
+ } catch (error) {
44
+ console.error('āŒ CLI Error:', error);
45
+ process.exit(1);
46
+ }
47
+ }
48
+
49
+ // Execute main function
50
+ main();