vibecodingmachine-cli 2026.3.14-1537 → 2026.6.17-1956

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 (162) hide show
  1. package/bin/auth/auth-compliance.js +7 -7
  2. package/bin/commands/agent-commands.js +15 -15
  3. package/bin/commands/auto-commands.js +3 -3
  4. package/bin/commands/command-aliases.js +13 -4
  5. package/bin/config/cli-config.js +15 -5
  6. package/bin/update/update-checker.js +5 -5
  7. package/bin/vibecodingmachine.js +2 -2
  8. package/package.json +2 -2
  9. package/src/commands/agents/add.js +5 -5
  10. package/src/commands/agents/check.js +19 -19
  11. package/src/commands/agents/list.js +24 -24
  12. package/src/commands/agents/remove.js +4 -4
  13. package/src/commands/agents-check.js +1 -1
  14. package/src/commands/analyze-file-sizes.js +43 -43
  15. package/src/commands/auto-direct/auto-provider-manager.js +19 -19
  16. package/src/commands/auto-direct/auto-start-phases.js +493 -0
  17. package/src/commands/auto-direct/auto-status-display.js +35 -35
  18. package/src/commands/auto-direct/auto-utils.js +50 -50
  19. package/src/commands/auto-direct/cline-installer.js +56 -0
  20. package/src/commands/auto-direct/code-processor.js +27 -27
  21. package/src/commands/auto-direct/file-scanner.js +19 -19
  22. package/src/commands/auto-direct/ide-completion-waiter.js +485 -0
  23. package/src/commands/auto-direct/ide-fallback-runner.js +226 -0
  24. package/src/commands/auto-direct/ide-provider-runner.js +103 -0
  25. package/src/commands/auto-direct/iteration-handlers.js +189 -0
  26. package/src/commands/auto-direct/iteration-runner.js +485 -0
  27. package/src/commands/auto-direct/provider-config.js +38 -7
  28. package/src/commands/auto-direct/provider-manager.js +132 -6
  29. package/src/commands/auto-direct/requirement-manager.js +169 -104
  30. package/src/commands/auto-direct/requirement-mover.js +350 -0
  31. package/src/commands/auto-direct/spec-handlers.js +155 -0
  32. package/src/commands/auto-direct/spec-ide-runner.js +318 -0
  33. package/src/commands/auto-direct/spec-processing.js +203 -0
  34. package/src/commands/auto-direct/status-display.js +9 -9
  35. package/src/commands/auto-direct/utils.js +83 -1
  36. package/src/commands/auto-direct-refactored.js +1 -413
  37. package/src/commands/auto-direct.js +127 -4119
  38. package/src/commands/auto-execution.js +21 -21
  39. package/src/commands/auto-status-helpers.js +0 -2
  40. package/src/commands/auto.js +22 -22
  41. package/src/commands/check-compliance.js +65 -65
  42. package/src/commands/computers.js +39 -39
  43. package/src/commands/continuous-scan.js +19 -19
  44. package/src/commands/ide.js +4 -4
  45. package/src/commands/locale.js +7 -7
  46. package/src/commands/refactor-file.js +59 -59
  47. package/src/commands/requirements/commands.js +17 -17
  48. package/src/commands/requirements/default-handlers.js +30 -30
  49. package/src/commands/requirements/disable.js +3 -3
  50. package/src/commands/requirements/enable.js +3 -3
  51. package/src/commands/requirements/utils.js +6 -6
  52. package/src/commands/requirements-refactored.js +3 -3
  53. package/src/commands/requirements-remote.js +38 -38
  54. package/src/commands/requirements.js +3 -3
  55. package/src/commands/settings.js +111 -0
  56. package/src/commands/specs/count.js +60 -0
  57. package/src/commands/specs/disable.js +3 -3
  58. package/src/commands/specs/enable.js +3 -3
  59. package/src/commands/status.js +10 -10
  60. package/src/commands/sync.js +25 -25
  61. package/src/commands/timeout.js +35 -35
  62. package/src/trui/TruiInterface.js +2 -2
  63. package/src/trui/agents/AgentInterface.js +4 -4
  64. package/src/trui/agents/handlers/CommandHandler.js +4 -4
  65. package/src/trui/agents/handlers/ContextManager.js +1 -1
  66. package/src/trui/agents/handlers/DisplayHandler.js +11 -11
  67. package/src/trui/agents/handlers/HelpHandler.js +1 -1
  68. package/src/utils/agent-selector.js +6 -6
  69. package/src/utils/antigravity-installer.js +4 -4
  70. package/src/utils/asset-cleanup.js +1 -1
  71. package/src/utils/auth.js +9 -12
  72. package/src/utils/clarification-actions.js +4 -4
  73. package/src/utils/cline-js-handler.js +5 -5
  74. package/src/utils/compliance-check.js +6 -6
  75. package/src/utils/config.js +12 -12
  76. package/src/utils/display-formatters-complete.js +2 -2
  77. package/src/utils/display-formatters-extracted.js +2 -2
  78. package/src/utils/display-formatters.js +2 -2
  79. package/src/utils/feedback-handler.js +2 -2
  80. package/src/utils/first-run.js +7 -7
  81. package/src/utils/ide-detection.js +1 -1
  82. package/src/utils/ide-handlers.js +6 -6
  83. package/src/utils/interactive/clarification-actions.js +3 -3
  84. package/src/utils/interactive/core-ui.js +7 -7
  85. package/src/utils/interactive/file-backup.js +6 -6
  86. package/src/utils/interactive/file-import-export.js +49 -49
  87. package/src/utils/interactive/file-operations.js +3 -3
  88. package/src/utils/interactive/file-validation.js +41 -41
  89. package/src/utils/interactive/interactive-prompts.js +41 -41
  90. package/src/utils/interactive/requirement-actions.js +5 -5
  91. package/src/utils/interactive/requirement-crud.js +4 -4
  92. package/src/utils/interactive/requirements-navigation.js +10 -10
  93. package/src/utils/interactive-broken.js +6 -6
  94. package/src/utils/interactive.js +37 -37
  95. package/src/utils/keyboard-handler.js +4 -4
  96. package/src/utils/prompt-helper.js +6 -6
  97. package/src/utils/provider-checker/agent-checker.js +1 -1
  98. package/src/utils/provider-checker/agent-runner.js +203 -314
  99. package/src/utils/provider-checker/agents-file-lock.js +134 -0
  100. package/src/utils/provider-checker/agents-manager.js +224 -36
  101. package/src/utils/provider-checker/cli-installer.js +28 -28
  102. package/src/utils/provider-checker/cli-utils.js +2 -2
  103. package/src/utils/provider-checker/cursor-approval-clicker.js +108 -0
  104. package/src/utils/provider-checker/format-utils.js +4 -4
  105. package/src/utils/provider-checker/ide-installer-helper.js +96 -0
  106. package/src/utils/provider-checker/ide-manager.js +19 -8
  107. package/src/utils/provider-checker/ide-quota-checker.js +120 -0
  108. package/src/utils/provider-checker/ide-utils.js +2 -2
  109. package/src/utils/provider-checker/node-detector.js +4 -4
  110. package/src/utils/provider-checker/node-utils.js +5 -5
  111. package/src/utils/provider-checker/opencode-checker.js +107 -73
  112. package/src/utils/provider-checker/process-utils.js +1 -1
  113. package/src/utils/provider-checker/provider-validator.js +11 -11
  114. package/src/utils/provider-checker/quota-checker.js +5 -5
  115. package/src/utils/provider-checker/quota-detector.js +5 -5
  116. package/src/utils/provider-checker/requirements-manager.js +6 -6
  117. package/src/utils/provider-checker/test-requirements.js +1 -1
  118. package/src/utils/provider-checker/vscode-approval-clicker.js +328 -0
  119. package/src/utils/provider-checker-new.js +6 -6
  120. package/src/utils/provider-checker.js +6 -6
  121. package/src/utils/provider-checkers/ide-manager.js +13 -13
  122. package/src/utils/provider-checkers/node-executable-finder.js +4 -4
  123. package/src/utils/provider-checkers/provider-checker-core.js +5 -5
  124. package/src/utils/provider-checkers/provider-checker-main.js +17 -17
  125. package/src/utils/provider-registry.js +5 -6
  126. package/src/utils/provider-utils.js +12 -12
  127. package/src/utils/quota-detectors.js +32 -32
  128. package/src/utils/requirement-action-handlers.js +12 -12
  129. package/src/utils/requirement-actions/requirement-operations.js +3 -3
  130. package/src/utils/requirement-actions.js +1 -1
  131. package/src/utils/requirement-file-operations.js +5 -5
  132. package/src/utils/requirement-helpers.js +1 -1
  133. package/src/utils/requirement-management.js +5 -5
  134. package/src/utils/requirement-navigation.js +2 -2
  135. package/src/utils/requirement-organization.js +3 -3
  136. package/src/utils/rui-trui-adapter.js +14 -14
  137. package/src/utils/simple-trui.js +3 -3
  138. package/src/utils/status-helpers-extracted.js +3 -3
  139. package/src/utils/trui-clarifications.js +11 -11
  140. package/src/utils/trui-debug.js +3 -2
  141. package/src/utils/trui-devin.js +217 -0
  142. package/src/utils/trui-feedback.js +7 -7
  143. package/src/utils/trui-kiro-integration.js +34 -34
  144. package/src/utils/trui-main-handlers.js +20 -21
  145. package/src/utils/trui-main-menu.js +19 -19
  146. package/src/utils/trui-nav-agents.js +59 -8
  147. package/src/utils/trui-nav-requirements.js +3 -3
  148. package/src/utils/trui-nav-settings.js +10 -10
  149. package/src/utils/trui-nav-specifications.js +1 -1
  150. package/src/utils/trui-navigation-backup.js +11 -11
  151. package/src/utils/trui-navigation.js +9 -9
  152. package/src/utils/trui-provider-health.js +25 -25
  153. package/src/utils/trui-provider-manager.js +28 -28
  154. package/src/utils/trui-quick-menu.js +2 -2
  155. package/src/utils/trui-req-actions-backup.js +21 -21
  156. package/src/utils/trui-req-actions.js +20 -20
  157. package/src/utils/trui-req-editor.js +10 -10
  158. package/src/utils/trui-req-file-ops.js +3 -3
  159. package/src/utils/trui-req-tree.js +7 -7
  160. package/src/utils/trui-windsurf.js +103 -103
  161. package/src/utils/user-tracking.js +15 -15
  162. package/src/utils/trui-req-tree-old.js +0 -719
@@ -87,48 +87,48 @@ async function main() {
87
87
  try {
88
88
  // Bootstrap project if in home directory
89
89
  await bootstrapProjectIfInHomeDir();
90
-
90
+
91
91
  // Show welcome screen
92
92
  await showWelcomeScreen();
93
-
93
+
94
94
  // Main menu loop
95
95
  while (true) {
96
96
  const choice = await showMainMenu();
97
-
97
+
98
98
  switch (choice) {
99
99
  case 'requirements':
100
100
  await showRequirementsTree();
101
101
  break;
102
-
102
+
103
103
  case 'search':
104
104
  await searchRequirements();
105
105
  break;
106
-
106
+
107
107
  case 'add':
108
108
  await handleAddRequirement();
109
109
  break;
110
-
110
+
111
111
  case 'stats':
112
112
  await showStatistics();
113
113
  break;
114
-
114
+
115
115
  case 'settings':
116
116
  await handleSettings();
117
117
  break;
118
-
118
+
119
119
  case 'sync':
120
120
  await showSyncStatus();
121
121
  break;
122
-
122
+
123
123
  case 'auto-mode':
124
124
  await handleAutoMode();
125
125
  break;
126
-
126
+
127
127
  case 'exit':
128
128
  showGoodbyeMessage();
129
129
  return;
130
130
  }
131
-
131
+
132
132
  // Pause before showing menu again
133
133
  if (choice !== 'exit') {
134
134
  console.log(chalk.gray('\nPress Enter to continue...'));
@@ -138,7 +138,7 @@ async function main() {
138
138
  console.clear();
139
139
  }
140
140
  }
141
-
141
+
142
142
  } catch (error) {
143
143
  showError('An error occurred in the interactive interface', error);
144
144
  process.exit(1);
@@ -151,24 +151,24 @@ async function main() {
151
151
  async function handleSettings() {
152
152
  while (true) {
153
153
  const choice = await showSettingsMenu();
154
-
154
+
155
155
  switch (choice) {
156
156
  case 'computer-name':
157
157
  await showComputerNameSettings();
158
158
  break;
159
-
159
+
160
160
  case 'language':
161
161
  await handleLanguageSettings();
162
162
  break;
163
-
163
+
164
164
  case 'statistics':
165
165
  await handleStatisticsSettings();
166
166
  break;
167
-
167
+
168
168
  case 'sync':
169
169
  await handleSyncSettings();
170
170
  break;
171
-
171
+
172
172
  case 'back':
173
173
  return;
174
174
  }
@@ -182,7 +182,7 @@ async function handleLanguageSettings() {
182
182
  console.log(chalk.bold('\n🌐 Language Settings\n'));
183
183
  console.log(chalk.gray('Language settings are controlled by environment variables\n'));
184
184
  console.log(chalk.gray('Set LANG environment variable to change language\n'));
185
-
185
+
186
186
  const currentLang = process.env.LANG || 'en_US.UTF-8';
187
187
  console.log(chalk.yellow(`Current language: ${currentLang}\n`));
188
188
  }
@@ -192,16 +192,16 @@ async function handleLanguageSettings() {
192
192
  */
193
193
  async function handleStatisticsSettings() {
194
194
  console.log(chalk.bold('\n📊 Statistics Settings\n'));
195
-
195
+
196
196
  const choices = [
197
197
  { name: '📈 Show detailed statistics', value: 'detailed' },
198
198
  { name: '📋 Export statistics', value: 'export' },
199
199
  { name: '🔄 Refresh statistics cache', value: 'refresh' },
200
200
  { name: '⬅️ Back', value: 'back' }
201
201
  ];
202
-
202
+
203
203
  const choice = await showSelectDialog('Statistics options:', choices);
204
-
204
+
205
205
  switch (choice) {
206
206
  case 'detailed':
207
207
  await showDetailedStatistics();
@@ -220,16 +220,16 @@ async function handleStatisticsSettings() {
220
220
  */
221
221
  async function handleSyncSettings() {
222
222
  console.log(chalk.bold('\n🔄 Sync Settings\n'));
223
-
223
+
224
224
  const choices = [
225
225
  { name: '🔄 Force sync now', value: 'force-sync' },
226
226
  { name: '⚙️ Sync configuration', value: 'config' },
227
227
  { name: '📊 Sync history', value: 'history' },
228
228
  { name: '⬅️ Back', value: 'back' }
229
229
  ];
230
-
230
+
231
231
  const choice = await showSelectDialog('Sync options:', choices);
232
-
232
+
233
233
  switch (choice) {
234
234
  case 'force-sync':
235
235
  await forceSync();
@@ -249,7 +249,7 @@ async function handleSyncSettings() {
249
249
  async function handleAutoMode() {
250
250
  try {
251
251
  const autoModeStatus = await checkAutoModeStatus();
252
-
252
+
253
253
  if (autoModeStatus.running) {
254
254
  const confirmed = await showConfirmDialog('Stop auto mode?');
255
255
  if (confirmed) {
@@ -273,14 +273,14 @@ async function handleAutoMode() {
273
273
  */
274
274
  async function showDetailedStatistics() {
275
275
  console.log(chalk.bold('\n📈 Detailed Statistics\n'));
276
-
276
+
277
277
  try {
278
278
  const stats = await getRequirementsStats();
279
279
  if (stats) {
280
280
  console.log(chalk.yellow('File Statistics:'));
281
281
  console.log(chalk.gray(` • Total lines: ${stats.totalLines}`));
282
282
  console.log(chalk.gray(` • Last modified: ${stats.lastModified.toLocaleString()}\n`));
283
-
283
+
284
284
  console.log(chalk.yellow('Requirement Distribution:'));
285
285
  console.log(chalk.gray(` • Todo: ${stats.todoCount}`));
286
286
  console.log(chalk.gray(` • Verified: ${stats.verifyCount}`));
@@ -299,7 +299,7 @@ async function showDetailedStatistics() {
299
299
  async function exportStatistics() {
300
300
  const formats = ['json', 'csv', 'txt'];
301
301
  const format = await showSelectDialog('Export format:', formats);
302
-
302
+
303
303
  try {
304
304
  await exportRequirements(format);
305
305
  } catch (error) {
@@ -356,18 +356,18 @@ function setupKeyboardShortcuts() {
356
356
  process.stdin.setRawMode(true);
357
357
  process.stdin.resume();
358
358
  process.stdin.setEncoding('utf8');
359
-
359
+
360
360
  process.stdin.on('data', (key) => {
361
361
  // Handle Ctrl+C
362
362
  if (key === '\u0003') {
363
363
  confirmAndExit();
364
364
  }
365
-
365
+
366
366
  // Handle 'q' for quit
367
367
  if (key === 'q') {
368
368
  confirmAndExit();
369
369
  }
370
-
370
+
371
371
  // Handle '?' for help
372
372
  if (key === '?') {
373
373
  showHelp();
@@ -410,7 +410,7 @@ module.exports = {
410
410
  startInteractive,
411
411
  showProviderManagerMenu,
412
412
  main,
413
-
413
+
414
414
  // Re-export utility functions for backward compatibility
415
415
  translateStage,
416
416
  normalizeProjectDirName,
@@ -424,17 +424,17 @@ module.exports = {
424
424
  getCurrentProgress,
425
425
  showGoodbyeMessage,
426
426
  indexToLetter,
427
-
427
+
428
428
  // Navigation functions
429
429
  showRequirementsTree,
430
430
  getSectionTitle,
431
431
  getRequirementList,
432
-
432
+
433
433
  // Action functions
434
434
  confirmAction,
435
435
  confirmAndExit,
436
436
  performRequirementAction,
437
-
437
+
438
438
  // Prompt functions
439
439
  showWelcomeScreen,
440
440
  showMainMenu,
@@ -446,7 +446,7 @@ module.exports = {
446
446
  showInputDialog,
447
447
  showSelectDialog,
448
448
  showMultiSelectDialog,
449
-
449
+
450
450
  // File operations
451
451
  showRequirementsBySection,
452
452
  showRequirementsFromChangelog,
@@ -462,7 +462,7 @@ module.exports = {
462
462
  // Run main function if this file is executed directly
463
463
  if (require.main === module) {
464
464
  setupKeyboardShortcuts();
465
-
465
+
466
466
  main().catch(error => {
467
467
  showError('Fatal error', error);
468
468
  process.exit(1);
@@ -18,12 +18,12 @@ class KeyboardHandler {
18
18
  */
19
19
  start() {
20
20
  if (this.isActive) return;
21
-
21
+
22
22
  this.isActive = true;
23
23
 
24
24
  // Set up keypress events on stdin
25
25
  readline.emitKeypressEvents(process.stdin);
26
-
26
+
27
27
  // Only set raw mode if stdin is a TTY
28
28
  if (process.stdin.isTTY && !process.stdin.isRaw) {
29
29
  process.stdin.setRawMode(true);
@@ -98,9 +98,9 @@ class KeyboardHandler {
98
98
  confirmExit() {
99
99
  this.exitConfirmMode = false;
100
100
  this.stop();
101
-
101
+
102
102
  console.log(chalk.green(' Exiting Auto Mode...\n'));
103
-
103
+
104
104
  if (this.onExit) {
105
105
  this.onExit();
106
106
  } else {
@@ -10,15 +10,15 @@ const chalk = require('chalk');
10
10
  */
11
11
  async function promptWithDefaults(questions, options = {}) {
12
12
  const { showDefaultHint = true } = options;
13
-
13
+
14
14
  // Check if any questions have defaults and if we should show the hint
15
15
  const hasDefaults = questions.some(q => q.default !== undefined);
16
-
16
+
17
17
  if (showDefaultHint && hasDefaults) {
18
18
  // Show the hint in gray before the first question with a default
19
19
  console.log(chalk.gray('(Capital letters are defaults--press return to select the defaults)'));
20
20
  }
21
-
21
+
22
22
  return await inquirer.prompt(questions);
23
23
  }
24
24
 
@@ -37,16 +37,16 @@ let hasShownDefaultHint = false;
37
37
  */
38
38
  async function promptWithDefaultsOnce(questions, options = {}) {
39
39
  const { forceShowHint = false } = options;
40
-
40
+
41
41
  // Check if any questions have defaults
42
42
  const hasDefaults = questions.some(q => q.default !== undefined);
43
-
43
+
44
44
  if (hasDefaults && (!hasShownDefaultHint || forceShowHint)) {
45
45
  // Show the hint in gray before the first question with a default
46
46
  console.log(chalk.gray('(Capital letters are defaults--press return to select the defaults)'));
47
47
  hasShownDefaultHint = true;
48
48
  }
49
-
49
+
50
50
  return await inquirer.prompt(questions);
51
51
  }
52
52
 
@@ -1,6 +1,6 @@
1
1
  /**
2
2
  * Agent Checker Module
3
- *
3
+ *
4
4
  * Contains main agent checking functionality.
5
5
  */
6
6