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.
- package/bin/auth/auth-compliance.js +7 -7
- package/bin/commands/agent-commands.js +15 -15
- package/bin/commands/auto-commands.js +3 -3
- package/bin/commands/command-aliases.js +13 -4
- package/bin/config/cli-config.js +15 -5
- package/bin/update/update-checker.js +5 -5
- package/bin/vibecodingmachine.js +2 -2
- package/package.json +2 -2
- package/src/commands/agents/add.js +5 -5
- package/src/commands/agents/check.js +19 -19
- package/src/commands/agents/list.js +24 -24
- package/src/commands/agents/remove.js +4 -4
- package/src/commands/agents-check.js +1 -1
- package/src/commands/analyze-file-sizes.js +43 -43
- package/src/commands/auto-direct/auto-provider-manager.js +19 -19
- package/src/commands/auto-direct/auto-start-phases.js +493 -0
- package/src/commands/auto-direct/auto-status-display.js +35 -35
- package/src/commands/auto-direct/auto-utils.js +50 -50
- package/src/commands/auto-direct/cline-installer.js +56 -0
- package/src/commands/auto-direct/code-processor.js +27 -27
- package/src/commands/auto-direct/file-scanner.js +19 -19
- package/src/commands/auto-direct/ide-completion-waiter.js +485 -0
- package/src/commands/auto-direct/ide-fallback-runner.js +226 -0
- package/src/commands/auto-direct/ide-provider-runner.js +103 -0
- package/src/commands/auto-direct/iteration-handlers.js +189 -0
- package/src/commands/auto-direct/iteration-runner.js +485 -0
- package/src/commands/auto-direct/provider-config.js +38 -7
- package/src/commands/auto-direct/provider-manager.js +132 -6
- package/src/commands/auto-direct/requirement-manager.js +169 -104
- package/src/commands/auto-direct/requirement-mover.js +350 -0
- package/src/commands/auto-direct/spec-handlers.js +155 -0
- package/src/commands/auto-direct/spec-ide-runner.js +318 -0
- package/src/commands/auto-direct/spec-processing.js +203 -0
- package/src/commands/auto-direct/status-display.js +9 -9
- package/src/commands/auto-direct/utils.js +83 -1
- package/src/commands/auto-direct-refactored.js +1 -413
- package/src/commands/auto-direct.js +127 -4119
- package/src/commands/auto-execution.js +21 -21
- package/src/commands/auto-status-helpers.js +0 -2
- package/src/commands/auto.js +22 -22
- package/src/commands/check-compliance.js +65 -65
- package/src/commands/computers.js +39 -39
- package/src/commands/continuous-scan.js +19 -19
- package/src/commands/ide.js +4 -4
- package/src/commands/locale.js +7 -7
- package/src/commands/refactor-file.js +59 -59
- package/src/commands/requirements/commands.js +17 -17
- package/src/commands/requirements/default-handlers.js +30 -30
- package/src/commands/requirements/disable.js +3 -3
- package/src/commands/requirements/enable.js +3 -3
- package/src/commands/requirements/utils.js +6 -6
- package/src/commands/requirements-refactored.js +3 -3
- package/src/commands/requirements-remote.js +38 -38
- package/src/commands/requirements.js +3 -3
- package/src/commands/settings.js +111 -0
- package/src/commands/specs/count.js +60 -0
- package/src/commands/specs/disable.js +3 -3
- package/src/commands/specs/enable.js +3 -3
- package/src/commands/status.js +10 -10
- package/src/commands/sync.js +25 -25
- package/src/commands/timeout.js +35 -35
- package/src/trui/TruiInterface.js +2 -2
- package/src/trui/agents/AgentInterface.js +4 -4
- package/src/trui/agents/handlers/CommandHandler.js +4 -4
- package/src/trui/agents/handlers/ContextManager.js +1 -1
- package/src/trui/agents/handlers/DisplayHandler.js +11 -11
- package/src/trui/agents/handlers/HelpHandler.js +1 -1
- package/src/utils/agent-selector.js +6 -6
- package/src/utils/antigravity-installer.js +4 -4
- package/src/utils/asset-cleanup.js +1 -1
- package/src/utils/auth.js +9 -12
- package/src/utils/clarification-actions.js +4 -4
- package/src/utils/cline-js-handler.js +5 -5
- package/src/utils/compliance-check.js +6 -6
- package/src/utils/config.js +12 -12
- package/src/utils/display-formatters-complete.js +2 -2
- package/src/utils/display-formatters-extracted.js +2 -2
- package/src/utils/display-formatters.js +2 -2
- package/src/utils/feedback-handler.js +2 -2
- package/src/utils/first-run.js +7 -7
- package/src/utils/ide-detection.js +1 -1
- package/src/utils/ide-handlers.js +6 -6
- package/src/utils/interactive/clarification-actions.js +3 -3
- package/src/utils/interactive/core-ui.js +7 -7
- package/src/utils/interactive/file-backup.js +6 -6
- package/src/utils/interactive/file-import-export.js +49 -49
- package/src/utils/interactive/file-operations.js +3 -3
- package/src/utils/interactive/file-validation.js +41 -41
- package/src/utils/interactive/interactive-prompts.js +41 -41
- package/src/utils/interactive/requirement-actions.js +5 -5
- package/src/utils/interactive/requirement-crud.js +4 -4
- package/src/utils/interactive/requirements-navigation.js +10 -10
- package/src/utils/interactive-broken.js +6 -6
- package/src/utils/interactive.js +37 -37
- package/src/utils/keyboard-handler.js +4 -4
- package/src/utils/prompt-helper.js +6 -6
- package/src/utils/provider-checker/agent-checker.js +1 -1
- package/src/utils/provider-checker/agent-runner.js +203 -314
- package/src/utils/provider-checker/agents-file-lock.js +134 -0
- package/src/utils/provider-checker/agents-manager.js +224 -36
- package/src/utils/provider-checker/cli-installer.js +28 -28
- package/src/utils/provider-checker/cli-utils.js +2 -2
- package/src/utils/provider-checker/cursor-approval-clicker.js +108 -0
- package/src/utils/provider-checker/format-utils.js +4 -4
- package/src/utils/provider-checker/ide-installer-helper.js +96 -0
- package/src/utils/provider-checker/ide-manager.js +19 -8
- package/src/utils/provider-checker/ide-quota-checker.js +120 -0
- package/src/utils/provider-checker/ide-utils.js +2 -2
- package/src/utils/provider-checker/node-detector.js +4 -4
- package/src/utils/provider-checker/node-utils.js +5 -5
- package/src/utils/provider-checker/opencode-checker.js +107 -73
- package/src/utils/provider-checker/process-utils.js +1 -1
- package/src/utils/provider-checker/provider-validator.js +11 -11
- package/src/utils/provider-checker/quota-checker.js +5 -5
- package/src/utils/provider-checker/quota-detector.js +5 -5
- package/src/utils/provider-checker/requirements-manager.js +6 -6
- package/src/utils/provider-checker/test-requirements.js +1 -1
- package/src/utils/provider-checker/vscode-approval-clicker.js +328 -0
- package/src/utils/provider-checker-new.js +6 -6
- package/src/utils/provider-checker.js +6 -6
- package/src/utils/provider-checkers/ide-manager.js +13 -13
- package/src/utils/provider-checkers/node-executable-finder.js +4 -4
- package/src/utils/provider-checkers/provider-checker-core.js +5 -5
- package/src/utils/provider-checkers/provider-checker-main.js +17 -17
- package/src/utils/provider-registry.js +5 -6
- package/src/utils/provider-utils.js +12 -12
- package/src/utils/quota-detectors.js +32 -32
- package/src/utils/requirement-action-handlers.js +12 -12
- package/src/utils/requirement-actions/requirement-operations.js +3 -3
- package/src/utils/requirement-actions.js +1 -1
- package/src/utils/requirement-file-operations.js +5 -5
- package/src/utils/requirement-helpers.js +1 -1
- package/src/utils/requirement-management.js +5 -5
- package/src/utils/requirement-navigation.js +2 -2
- package/src/utils/requirement-organization.js +3 -3
- package/src/utils/rui-trui-adapter.js +14 -14
- package/src/utils/simple-trui.js +3 -3
- package/src/utils/status-helpers-extracted.js +3 -3
- package/src/utils/trui-clarifications.js +11 -11
- package/src/utils/trui-debug.js +3 -2
- package/src/utils/trui-devin.js +217 -0
- package/src/utils/trui-feedback.js +7 -7
- package/src/utils/trui-kiro-integration.js +34 -34
- package/src/utils/trui-main-handlers.js +20 -21
- package/src/utils/trui-main-menu.js +19 -19
- package/src/utils/trui-nav-agents.js +59 -8
- package/src/utils/trui-nav-requirements.js +3 -3
- package/src/utils/trui-nav-settings.js +10 -10
- package/src/utils/trui-nav-specifications.js +1 -1
- package/src/utils/trui-navigation-backup.js +11 -11
- package/src/utils/trui-navigation.js +9 -9
- package/src/utils/trui-provider-health.js +25 -25
- package/src/utils/trui-provider-manager.js +28 -28
- package/src/utils/trui-quick-menu.js +2 -2
- package/src/utils/trui-req-actions-backup.js +21 -21
- package/src/utils/trui-req-actions.js +20 -20
- package/src/utils/trui-req-editor.js +10 -10
- package/src/utils/trui-req-file-ops.js +3 -3
- package/src/utils/trui-req-tree.js +7 -7
- package/src/utils/trui-windsurf.js +103 -103
- package/src/utils/user-tracking.js +15 -15
- package/src/utils/trui-req-tree-old.js +0 -719
package/src/utils/interactive.js
CHANGED
|
@@ -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
|
|