baseguard 1.0.1 → 1.0.3

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 (152) hide show
  1. package/.baseguardrc.example.json +64 -0
  2. package/.eslintrc.json +1 -1
  3. package/CHANGELOG.md +196 -0
  4. package/DEPLOYMENT.md +625 -0
  5. package/DEPLOYMENT_CHECKLIST.md +239 -0
  6. package/DEPLOYMENT_SUMMARY_v1.0.2.md +202 -0
  7. package/QUICK_START.md +134 -0
  8. package/README.md +447 -52
  9. package/RELEASE_NOTES_v1.0.2.md +434 -0
  10. package/bin/base.js +81 -61
  11. package/dist/ai/agentkit-orchestrator.d.ts +116 -0
  12. package/dist/ai/agentkit-orchestrator.d.ts.map +1 -0
  13. package/dist/ai/agentkit-orchestrator.js +417 -0
  14. package/dist/ai/agentkit-orchestrator.js.map +1 -0
  15. package/dist/ai/gemini-code-fixer.d.ts +85 -0
  16. package/dist/ai/gemini-code-fixer.d.ts.map +1 -0
  17. package/dist/ai/gemini-code-fixer.js +452 -0
  18. package/dist/ai/gemini-code-fixer.js.map +1 -0
  19. package/dist/ai/jules-implementer.d.ts +5 -4
  20. package/dist/ai/jules-implementer.d.ts.map +1 -1
  21. package/dist/ai/jules-implementer.js +6 -5
  22. package/dist/ai/jules-implementer.js.map +1 -1
  23. package/dist/ai/unified-code-fixer.d.ts +69 -0
  24. package/dist/ai/unified-code-fixer.d.ts.map +1 -0
  25. package/dist/ai/unified-code-fixer.js +289 -0
  26. package/dist/ai/unified-code-fixer.js.map +1 -0
  27. package/dist/commands/check.d.ts +3 -1
  28. package/dist/commands/check.d.ts.map +1 -1
  29. package/dist/commands/check.js +166 -34
  30. package/dist/commands/check.js.map +1 -1
  31. package/dist/commands/config.d.ts +4 -0
  32. package/dist/commands/config.d.ts.map +1 -1
  33. package/dist/commands/config.js +183 -0
  34. package/dist/commands/config.js.map +1 -1
  35. package/dist/commands/fix.d.ts.map +1 -1
  36. package/dist/commands/fix.js +89 -91
  37. package/dist/commands/fix.js.map +1 -1
  38. package/dist/commands/index.d.ts +1 -0
  39. package/dist/commands/index.d.ts.map +1 -1
  40. package/dist/commands/index.js +1 -0
  41. package/dist/commands/index.js.map +1 -1
  42. package/dist/commands/init.d.ts.map +1 -1
  43. package/dist/commands/init.js +16 -2
  44. package/dist/commands/init.js.map +1 -1
  45. package/dist/commands/status.d.ts +14 -0
  46. package/dist/commands/status.d.ts.map +1 -0
  47. package/dist/commands/status.js +254 -0
  48. package/dist/commands/status.js.map +1 -0
  49. package/dist/core/baseguard.d.ts +47 -5
  50. package/dist/core/baseguard.d.ts.map +1 -1
  51. package/dist/core/baseguard.js +506 -52
  52. package/dist/core/baseguard.js.map +1 -1
  53. package/dist/core/cache-manager.d.ts.map +1 -1
  54. package/dist/core/cache-manager.js +3 -1
  55. package/dist/core/cache-manager.js.map +1 -1
  56. package/dist/core/configuration-recovery.d.ts +116 -0
  57. package/dist/core/configuration-recovery.d.ts.map +1 -0
  58. package/dist/core/configuration-recovery.js +552 -0
  59. package/dist/core/configuration-recovery.js.map +1 -0
  60. package/dist/core/configuration.d.ts +4 -0
  61. package/dist/core/configuration.d.ts.map +1 -1
  62. package/dist/core/configuration.js +35 -0
  63. package/dist/core/configuration.js.map +1 -1
  64. package/dist/core/debug-logger.d.ts +181 -0
  65. package/dist/core/debug-logger.d.ts.map +1 -0
  66. package/dist/core/debug-logger.js +479 -0
  67. package/dist/core/debug-logger.js.map +1 -0
  68. package/dist/core/file-processor.d.ts.map +1 -1
  69. package/dist/core/file-processor.js +8 -2
  70. package/dist/core/file-processor.js.map +1 -1
  71. package/dist/core/graceful-degradation-manager.d.ts +123 -0
  72. package/dist/core/graceful-degradation-manager.d.ts.map +1 -0
  73. package/dist/core/graceful-degradation-manager.js +512 -0
  74. package/dist/core/graceful-degradation-manager.js.map +1 -0
  75. package/dist/core/index.d.ts +4 -0
  76. package/dist/core/index.d.ts.map +1 -1
  77. package/dist/core/index.js +4 -0
  78. package/dist/core/index.js.map +1 -1
  79. package/dist/core/logger.d.ts +1 -0
  80. package/dist/core/logger.d.ts.map +1 -0
  81. package/dist/core/logger.js +2 -0
  82. package/dist/core/logger.js.map +1 -0
  83. package/dist/core/memory-manager.d.ts +84 -0
  84. package/dist/core/memory-manager.d.ts.map +1 -1
  85. package/dist/core/memory-manager.js +236 -1
  86. package/dist/core/memory-manager.js.map +1 -1
  87. package/dist/core/startup-optimizer.d.ts +14 -0
  88. package/dist/core/startup-optimizer.d.ts.map +1 -1
  89. package/dist/core/startup-optimizer.js +74 -3
  90. package/dist/core/startup-optimizer.js.map +1 -1
  91. package/dist/core/system-error-handler.d.ts +65 -0
  92. package/dist/core/system-error-handler.d.ts.map +1 -0
  93. package/dist/core/system-error-handler.js +653 -0
  94. package/dist/core/system-error-handler.js.map +1 -0
  95. package/dist/git/github-manager.d.ts +5 -16
  96. package/dist/git/github-manager.d.ts.map +1 -1
  97. package/dist/git/github-manager.js +6 -61
  98. package/dist/git/github-manager.js.map +1 -1
  99. package/dist/parsers/react-parser-optimized.d.ts +16 -0
  100. package/dist/parsers/react-parser-optimized.d.ts.map +1 -0
  101. package/dist/parsers/react-parser-optimized.js +147 -0
  102. package/dist/parsers/react-parser-optimized.js.map +1 -0
  103. package/dist/parsers/react-parser.d.ts.map +1 -1
  104. package/dist/parsers/react-parser.js +17 -15
  105. package/dist/parsers/react-parser.js.map +1 -1
  106. package/dist/parsers/svelte-parser.d.ts.map +1 -1
  107. package/dist/parsers/svelte-parser.js +7 -3
  108. package/dist/parsers/svelte-parser.js.map +1 -1
  109. package/dist/parsers/vanilla-parser.d.ts.map +1 -1
  110. package/dist/parsers/vanilla-parser.js +7 -3
  111. package/dist/parsers/vanilla-parser.js.map +1 -1
  112. package/dist/parsers/vue-parser.d.ts +18 -0
  113. package/dist/parsers/vue-parser.d.ts.map +1 -1
  114. package/dist/parsers/vue-parser.js +387 -1
  115. package/dist/parsers/vue-parser.js.map +1 -1
  116. package/dist/types/index.d.ts +4 -0
  117. package/dist/types/index.d.ts.map +1 -1
  118. package/dist/ui/help.js +1 -1
  119. package/dist/ui/help.js.map +1 -1
  120. package/dist/ui/prompts.d.ts +7 -4
  121. package/dist/ui/prompts.d.ts.map +1 -1
  122. package/dist/ui/prompts.js +48 -55
  123. package/dist/ui/prompts.js.map +1 -1
  124. package/package.json +31 -6
  125. package/src/ai/__tests__/gemini-analyzer.test.ts +2 -2
  126. package/src/ai/agentkit-orchestrator.ts +534 -0
  127. package/src/ai/gemini-code-fixer.ts +540 -0
  128. package/src/ai/jules-implementer.ts +6 -5
  129. package/src/ai/unified-code-fixer.ts +347 -0
  130. package/src/commands/config.ts +126 -0
  131. package/src/commands/fix.ts +98 -94
  132. package/src/commands/init.ts +16 -2
  133. package/src/core/cache-manager.ts +4 -2
  134. package/src/core/configuration.ts +37 -0
  135. package/src/core/debug-logger.ts +2 -2
  136. package/src/core/file-processor.ts +10 -3
  137. package/src/core/index.ts +5 -1
  138. package/src/core/memory-manager.ts +4 -3
  139. package/src/core/startup-optimizer.ts +85 -3
  140. package/src/core/system-error-handler.ts +17 -11
  141. package/src/git/github-manager.ts +11 -79
  142. package/src/parsers/react-parser.ts +2 -2
  143. package/src/parsers/svelte-parser.ts +13 -9
  144. package/src/parsers/vanilla-parser.ts +18 -14
  145. package/src/parsers/vue-parser.ts +20 -14
  146. package/src/types/index.ts +4 -0
  147. package/src/ui/help.ts +1 -1
  148. package/src/ui/prompts.ts +54 -61
  149. package/test-build.js +41 -0
  150. package/tests/e2e/git-integration.e2e.test.ts +1 -1
  151. package/tsconfig.json +0 -1
  152. package/vitest.config.ts +4 -2
@@ -1,6 +1,8 @@
1
1
  import { UIComponents, Prompts } from '../ui/index.js';
2
2
  import { ConfigurationManager, ApiKeyManager, GitignoreManager } from '../core/index.js';
3
+ import { ConfigurationRecovery } from '../core/configuration-recovery.js';
3
4
  import { ErrorHandler } from '../core/error-handler.js';
5
+ import chalk from 'chalk';
4
6
  /**
5
7
  * Manage BaseGuard configuration
6
8
  */
@@ -37,6 +39,12 @@ export async function config(action, options) {
37
39
  case 'restore':
38
40
  await restoreConfiguration(options?.file);
39
41
  break;
42
+ case 'recover':
43
+ await recoverConfiguration(options);
44
+ break;
45
+ case 'coding-agent':
46
+ await manageCodingAgent(options);
47
+ break;
40
48
  default:
41
49
  UIComponents.showErrorBox(`Unknown config action: ${action}`);
42
50
  showConfigHelp();
@@ -297,6 +305,75 @@ async function restoreConfiguration(backupFile) {
297
305
  process.exit(1);
298
306
  }
299
307
  }
308
+ async function recoverConfiguration(options) {
309
+ try {
310
+ console.log(chalk.cyan('🔧 BaseGuard Configuration Recovery\n'));
311
+ if (options?.interactive) {
312
+ // Run interactive recovery wizard
313
+ await ConfigurationRecovery.runRecoveryWizard();
314
+ return;
315
+ }
316
+ // Automatic recovery
317
+ console.log(chalk.cyan('Attempting automatic configuration recovery...'));
318
+ const recoveryResult = await ConfigurationRecovery.recoverConfiguration({
319
+ createBackup: options?.backup ?? true,
320
+ validateConfig: true,
321
+ migrateVersion: true,
322
+ repairCorruption: true,
323
+ useDefaults: true
324
+ });
325
+ if (recoveryResult.success) {
326
+ UIComponents.showSuccessBox('Configuration recovered successfully');
327
+ if (recoveryResult.backupCreated) {
328
+ console.log(chalk.dim(`Backup created: ${recoveryResult.backupCreated}`));
329
+ }
330
+ if (recoveryResult.warnings.length > 0) {
331
+ console.log(chalk.yellow('\n⚠️ Recovery warnings:'));
332
+ recoveryResult.warnings.forEach(warning => {
333
+ console.log(chalk.yellow(` • ${warning}`));
334
+ });
335
+ }
336
+ // Show recovered configuration
337
+ console.log(chalk.cyan('\n📋 Recovered Configuration:'));
338
+ if (recoveryResult.config) {
339
+ console.log(` Version: ${recoveryResult.config.version}`);
340
+ console.log(` Targets: ${recoveryResult.config.targets.length} browser(s)`);
341
+ console.log(` API Keys: Jules ${recoveryResult.config.apiKeys.jules ? '✓' : '✗'}, Gemini ${recoveryResult.config.apiKeys.gemini ? '✓' : '✗'}`);
342
+ console.log(` Automation: ${recoveryResult.config.automation.enabled ? 'Enabled' : 'Disabled'}`);
343
+ }
344
+ }
345
+ else {
346
+ UIComponents.showErrorBox('Configuration recovery failed');
347
+ console.log(chalk.red('\n❌ Recovery errors:'));
348
+ recoveryResult.errors.forEach(error => {
349
+ console.log(chalk.red(` • ${error}`));
350
+ });
351
+ console.log(chalk.cyan('\n💡 Manual recovery options:'));
352
+ console.log(chalk.cyan(' • Run "base config recover --interactive" for guided recovery'));
353
+ console.log(chalk.cyan(' • Run "base init" to create a fresh configuration'));
354
+ console.log(chalk.cyan(' • Manually edit .baseguardrc.json file'));
355
+ console.log(chalk.cyan(' • Restore from backup if available'));
356
+ // Show available backups
357
+ const backups = await ConfigurationRecovery.listBackups();
358
+ if (backups.length > 0) {
359
+ console.log(chalk.cyan('\n📦 Available backups:'));
360
+ backups.slice(0, 3).forEach(backup => {
361
+ console.log(chalk.cyan(` • ${backup.timestamp.toLocaleString()} (${backup.source})`));
362
+ });
363
+ console.log(chalk.cyan('\n Use "base config restore --file <backup-file>" to restore'));
364
+ }
365
+ process.exit(1);
366
+ }
367
+ }
368
+ catch (error) {
369
+ UIComponents.showErrorBox(`Recovery process failed: ${error instanceof Error ? error.message : 'Unknown error'}`);
370
+ console.log(chalk.cyan('\n🆘 Emergency recovery options:'));
371
+ console.log(chalk.cyan(' • Delete .baseguardrc.json and run "base init"'));
372
+ console.log(chalk.cyan(' • Check file permissions in your project directory'));
373
+ console.log(chalk.cyan(' • Run "base diagnostics" for comprehensive troubleshooting'));
374
+ process.exit(1);
375
+ }
376
+ }
300
377
  function showConfigHelp() {
301
378
  UIComponents.showSectionHeader('Configuration Commands');
302
379
  UIComponents.showList([
@@ -314,6 +391,11 @@ function showConfigHelp() {
314
391
  'base config security - Check configuration security',
315
392
  'base config backup - Create configuration backup',
316
393
  'base config restore --file <backup> - Restore from backup',
394
+ 'base config recover - Attempt automatic configuration recovery',
395
+ 'base config recover --interactive - Run interactive recovery wizard',
396
+ 'base config coding-agent - Manage coding agent selection (Jules vs Gemini)',
397
+ 'base config coding-agent --show - Show current agent configuration',
398
+ 'base config coding-agent --agent gemini - Set Gemini as primary agent',
317
399
  '',
318
400
  'Shorthand commands:',
319
401
  'base add "chrome 100" - Add browser target',
@@ -321,4 +403,105 @@ function showConfigHelp() {
321
403
  'base list - List configuration summary'
322
404
  ]);
323
405
  }
406
+ async function manageCodingAgent(options) {
407
+ try {
408
+ const config = await ConfigurationManager.load();
409
+ if (options?.show) {
410
+ // Show current coding agent configuration
411
+ console.log(chalk.cyan('🤖 Coding Agent Configuration\n'));
412
+ console.log(`Primary Agent: ${chalk.white(config.codingAgent.primary)}`);
413
+ console.log(`Fallback Agent: ${chalk.white(config.codingAgent.fallback)}`);
414
+ // Show agent status
415
+ const { UnifiedCodeFixer } = await import('../ai/unified-code-fixer.js');
416
+ const unifiedFixer = new UnifiedCodeFixer(config);
417
+ const status = await unifiedFixer.getAgentStatus();
418
+ console.log(chalk.cyan('\n📊 Agent Status:'));
419
+ console.log(`Jules: ${status.jules.configured ? '🔑' : '❌'} configured, ${status.jules.available ? '✅' : '❌'} available`);
420
+ if (status.jules.repoDetected !== undefined) {
421
+ console.log(` ${status.jules.repoDetected ? '✅' : '❌'} GitHub repository detected`);
422
+ }
423
+ console.log(`Gemini: ${status.gemini.configured ? '🔑' : '❌'} configured, ${status.gemini.available ? '✅' : '❌'} available`);
424
+ // Show comparison
425
+ unifiedFixer.showAgentComparison();
426
+ return;
427
+ }
428
+ if (options?.agent) {
429
+ // Set specific agent
430
+ const agent = options.agent.toLowerCase();
431
+ if (agent !== 'jules' && agent !== 'gemini') {
432
+ UIComponents.showErrorBox('Invalid agent. Use "jules" or "gemini"');
433
+ return;
434
+ }
435
+ config.codingAgent.primary = agent;
436
+ await ConfigurationManager.save(config);
437
+ console.log(chalk.green(`✅ Primary coding agent set to ${agent}`));
438
+ // Show setup instructions if API key is missing
439
+ if (agent === 'jules' && !config.apiKeys.jules) {
440
+ console.log(chalk.yellow('\n⚠️ Jules API key not configured'));
441
+ console.log(chalk.cyan('Get your Jules API key: https://jules.google.com/settings#api'));
442
+ console.log(chalk.cyan('Run "base config set-keys" to configure it'));
443
+ }
444
+ else if (agent === 'gemini' && !config.apiKeys.gemini) {
445
+ console.log(chalk.yellow('\n⚠️ Gemini API key not configured'));
446
+ console.log(chalk.cyan('Get your Gemini API key: https://aistudio.google.com'));
447
+ console.log(chalk.cyan('Run "base config set-keys" to configure it'));
448
+ }
449
+ return;
450
+ }
451
+ // Interactive agent selection
452
+ const { UnifiedCodeFixer } = await import('../ai/unified-code-fixer.js');
453
+ const unifiedFixer = new UnifiedCodeFixer(config);
454
+ // Show current status
455
+ console.log(chalk.cyan('🤖 Current Coding Agent Configuration\n'));
456
+ console.log(`Primary: ${config.codingAgent.primary}`);
457
+ console.log(`Fallback: ${config.codingAgent.fallback}`);
458
+ // Get recommendation
459
+ const recommendation = await unifiedFixer.getRecommendedAgent();
460
+ console.log(chalk.cyan(`\n💡 Recommended: ${recommendation.agent}`));
461
+ console.log(chalk.dim(` Reason: ${recommendation.reason}`));
462
+ // Interactive selection
463
+ const { default: inquirer } = await import('inquirer');
464
+ const answers = await inquirer.prompt([
465
+ {
466
+ type: 'list',
467
+ name: 'primary',
468
+ message: 'Select primary coding agent:',
469
+ choices: [
470
+ { name: 'Gemini 2.5 Pro (works with any files, immediate)', value: 'gemini' },
471
+ { name: 'Jules (GitHub repos only, autonomous)', value: 'jules' }
472
+ ],
473
+ default: recommendation.agent
474
+ },
475
+ {
476
+ type: 'list',
477
+ name: 'fallback',
478
+ message: 'Select fallback coding agent:',
479
+ choices: [
480
+ { name: 'Gemini 2.5 Pro', value: 'gemini' },
481
+ { name: 'Jules', value: 'jules' }
482
+ ],
483
+ default: 'gemini'
484
+ }
485
+ ]);
486
+ config.codingAgent.primary = answers.primary;
487
+ config.codingAgent.fallback = answers.fallback;
488
+ await ConfigurationManager.save(config);
489
+ console.log(chalk.green('\n✅ Coding agent configuration updated'));
490
+ console.log(`Primary: ${answers.primary}`);
491
+ console.log(`Fallback: ${answers.fallback}`);
492
+ // Show next steps
493
+ console.log(chalk.cyan('\n🔧 Next Steps:'));
494
+ if (!config.apiKeys[answers.primary]) {
495
+ console.log(chalk.cyan(`• Configure ${answers.primary} API key: "base config set-keys"`));
496
+ }
497
+ if (answers.primary !== answers.fallback && !config.apiKeys[answers.fallback]) {
498
+ console.log(chalk.cyan(`• Configure ${answers.fallback} API key for fallback: "base config set-keys"`));
499
+ }
500
+ console.log(chalk.cyan('• Test with: "base fix --analyze-only"'));
501
+ }
502
+ catch (error) {
503
+ UIComponents.showErrorBox(`Failed to manage coding agent: ${error instanceof Error ? error.message : 'Unknown error'}`);
504
+ process.exit(1);
505
+ }
506
+ }
324
507
  //# sourceMappingURL=config.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"config.js","sourceRoot":"","sources":["../../src/commands/config.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"config.js","sourceRoot":"","sources":["../../src/commands/config.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"fix.d.ts","sourceRoot":"","sources":["../../src/commands/fix.ts"],"names":[],"mappings":"AASA;;GAEG;AACH,wBAAsB,GAAG,CAAC,OAAO,EAAE;IACjC,IAAI,CAAC,EAAE,OAAO,CAAC;IACf,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB,GAAG,OAAO,CAAC,IAAI,CAAC,CAyNhB"}
1
+ {"version":3,"file":"fix.d.ts","sourceRoot":"","sources":["../../src/commands/fix.ts"],"names":[],"mappings":"AASA;;GAEG;AACH,wBAAsB,GAAG,CAAC,OAAO,EAAE;IACjC,IAAI,CAAC,EAAE,OAAO,CAAC;IACf,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB,GAAG,OAAO,CAAC,IAAI,CAAC,CA6NhB"}
@@ -3,7 +3,7 @@ import { UIComponents } from '../ui/index.js';
3
3
  import { BaseGuard } from '../core/index.js';
4
4
  import { ConfigurationManager } from '../core/configuration.js';
5
5
  import { ErrorHandler } from '../core/error-handler.js';
6
- import { JulesImplementer } from '../ai/jules-implementer.js';
6
+ import { UnifiedCodeFixer } from '../ai/unified-code-fixer.js';
7
7
  import { GeminiAnalyzer } from '../ai/gemini-analyzer.js';
8
8
  import { glob } from 'glob';
9
9
  /**
@@ -25,28 +25,30 @@ export async function fix(options) {
25
25
  }
26
26
  // Initialize services
27
27
  const baseGuard = new BaseGuard(config);
28
- const julesImplementer = new JulesImplementer(config.apiKeys.jules);
28
+ const unifiedCodeFixer = new UnifiedCodeFixer(config);
29
29
  const geminiAnalyzer = new GeminiAnalyzer(config.apiKeys.gemini);
30
- // Check GitHub integration
31
- const isGitHubSetup = await julesImplementer.isGitHubIntegrationSetup();
32
- if (!isGitHubSetup) {
33
- console.log(chalk.yellow('⚠️ Jules GitHub integration not set up'));
34
- const { default: inquirer } = await import('inquirer');
35
- const { setupNow } = await inquirer.prompt([
36
- {
37
- type: 'confirm',
38
- name: 'setupNow',
39
- message: 'Would you like to set up Jules GitHub integration now?',
40
- default: true
41
- }
42
- ]);
43
- if (setupNow) {
44
- await julesImplementer.setupGitHubIntegration();
45
- }
46
- else {
47
- console.log(chalk.yellow('GitHub integration required for Jules fixing. Exiting.'));
48
- process.exit(0);
49
- }
30
+ // Show agent status and recommendations
31
+ console.log(chalk.cyan('🤖 Coding Agent Status:'));
32
+ const agentStatus = await unifiedCodeFixer.getAgentStatus();
33
+ const primaryAvailable = agentStatus.primary === 'jules' ? agentStatus.jules.available : agentStatus.gemini.available;
34
+ const fallbackAvailable = agentStatus.fallback === 'jules' ? agentStatus.jules.available : agentStatus.gemini.available;
35
+ console.log(` Primary: ${agentStatus.primary} ${primaryAvailable ? '✅' : '❌'}`);
36
+ console.log(` Fallback: ${agentStatus.fallback} ${fallbackAvailable ? '✅' : '❌'}`);
37
+ if (!primaryAvailable && !fallbackAvailable) {
38
+ console.log(chalk.red('\n❌ No coding agents are available'));
39
+ console.log(chalk.cyan('💡 Configure API keys to enable code fixing:'));
40
+ console.log(chalk.cyan(' • Run "base config set-keys" to configure API keys'));
41
+ console.log(chalk.cyan(' • Get Gemini API key: https://aistudio.google.com'));
42
+ console.log(chalk.cyan(' • Get Jules API key: https://jules.google.com/settings#api'));
43
+ process.exit(1);
44
+ }
45
+ // Show agent-specific information
46
+ if (agentStatus.primary === 'jules' && agentStatus.jules.repoDetected) {
47
+ console.log(chalk.cyan('🔗 GitHub repository detected - Jules available for autonomous fixing'));
48
+ }
49
+ else if (agentStatus.primary === 'gemini' || !agentStatus.jules.repoDetected) {
50
+ console.log(chalk.cyan('💎 Using Gemini 2.5 Pro for local file fixing'));
51
+ console.log(chalk.dim(' This works with any local files, no GitHub required'));
50
52
  }
51
53
  // Step 1: Check for violations
52
54
  console.log(chalk.cyan('🔍 Scanning for compatibility violations...'));
@@ -83,79 +85,75 @@ export async function fix(options) {
83
85
  });
84
86
  return;
85
87
  }
86
- // Step 3: Generate and apply fixes with Jules
87
- console.log(chalk.cyan('\n🤖 Generating fixes with Jules AI...'));
88
- const results = await julesImplementer.generateAndApplyFixes(violations, analyses);
89
- // Show results
90
- console.log(chalk.cyan('\n📊 Fix Results:\n'));
91
- if (results.applied.length > 0) {
92
- console.log(chalk.green(`✅ Applied ${results.applied.length} fixes:`));
93
- results.applied.forEach(fix => {
94
- console.log(chalk.green(` • ${fix.filePath} - ${fix.violation.feature}`));
95
- });
96
- console.log();
88
+ // Step 3: Generate fixes with unified code fixer
89
+ console.log(chalk.cyan(`\n🤖 Generating fixes with ${agentStatus.primary}...`));
90
+ const fixes = [];
91
+ let successCount = 0;
92
+ let failedCount = 0;
93
+ for (let i = 0; i < violations.length; i++) {
94
+ const violation = violations[i];
95
+ const analysis = analyses[i];
96
+ if (!violation || !analysis)
97
+ continue;
98
+ try {
99
+ console.log(chalk.cyan(`\n🔧 Fixing ${violation.feature} in ${violation.file}...`));
100
+ const fix = await unifiedCodeFixer.generateFix(violation, analysis);
101
+ fixes.push(fix);
102
+ successCount++;
103
+ console.log(chalk.green(`✅ Fix generated (confidence: ${Math.round(fix.confidence * 100)}%)`));
104
+ // Show preview if not in auto mode
105
+ if (!options.auto) {
106
+ console.log(chalk.dim('\nPreview:'));
107
+ console.log(chalk.dim(fix.preview.substring(0, 200) + (fix.preview.length > 200 ? '...' : '')));
108
+ }
109
+ }
110
+ catch (error) {
111
+ failedCount++;
112
+ console.log(chalk.red(`❌ Failed to generate fix: ${error instanceof Error ? error.message : 'Unknown error'}`));
113
+ }
97
114
  }
98
- if (results.skipped.length > 0) {
99
- console.log(chalk.yellow(`⏭️ Skipped ${results.skipped.length} fixes:`));
100
- results.skipped.forEach(fix => {
101
- console.log(chalk.yellow(` • ${fix.filePath} - ${fix.violation.feature}`));
102
- });
103
- console.log();
115
+ if (fixes.length === 0) {
116
+ console.log(chalk.yellow('\n⚠️ No fixes were generated'));
117
+ return;
104
118
  }
105
- if (results.failed.length > 0) {
106
- console.log(chalk.red(`❌ Failed ${results.failed.length} fixes:`));
107
- results.failed.forEach(({ fix, error }) => {
108
- console.log(chalk.red(` • ${fix.filePath} - ${fix.violation.feature}: ${error}`));
109
- });
110
- console.log();
111
- }
112
- // Show rollback option if fixes were applied
113
- if (results.applied.length > 0) {
114
- const { default: inquirer } = await import('inquirer');
115
- const { showRollback } = await inquirer.prompt([
116
- {
117
- type: 'confirm',
118
- name: 'showRollback',
119
- message: 'Would you like to see rollback options?',
120
- default: false
121
- }
122
- ]);
123
- if (showRollback) {
124
- const { rollbackAction } = await inquirer.prompt([
125
- {
126
- type: 'list',
127
- name: 'rollbackAction',
128
- message: 'Rollback options:',
129
- choices: [
130
- { name: 'Keep all fixes', value: 'keep' },
131
- { name: 'Rollback all fixes', value: 'rollback_all' },
132
- { name: 'Rollback specific fixes', value: 'rollback_specific' }
133
- ]
134
- }
135
- ]);
136
- if (rollbackAction === 'rollback_all') {
137
- await julesImplementer.rollbackAllFixes();
138
- UIComponents.showSuccessBox('All fixes have been rolled back');
119
+ // Show results summary
120
+ console.log(chalk.cyan('\n📊 Fix Generation Results:\n'));
121
+ console.log(chalk.green(`✅ Generated ${successCount} fixes`));
122
+ if (failedCount > 0) {
123
+ console.log(chalk.red(`❌ Failed to generate ${failedCount} fixes`));
124
+ }
125
+ // Show fixes with previews
126
+ if (!options.auto && fixes.length > 0) {
127
+ console.log(chalk.cyan('\n🔍 Generated Fixes:\n'));
128
+ fixes.forEach((fix, index) => {
129
+ console.log(chalk.white(`${index + 1}. ${fix.violation.feature} in ${fix.filePath}`));
130
+ console.log(chalk.dim(` Confidence: ${Math.round(fix.confidence * 100)}%`));
131
+ console.log(chalk.dim(` Strategy: ${fix.analysis.fixStrategy}`));
132
+ // Show a snippet of the explanation
133
+ const explanation = fix.explanation?.split('\n')[0] || 'No explanation available';
134
+ if (explanation.length > 80) {
135
+ console.log(chalk.dim(` ${explanation.substring(0, 80)}...`));
139
136
  }
140
- else if (rollbackAction === 'rollback_specific') {
141
- const appliedFiles = julesImplementer.getAppliedFixes();
142
- const { filesToRollback } = await inquirer.prompt([
143
- {
144
- type: 'checkbox',
145
- name: 'filesToRollback',
146
- message: 'Select fixes to rollback:',
147
- choices: appliedFiles.map(file => ({ name: file, value: file }))
148
- }
149
- ]);
150
- for (const file of filesToRollback) {
151
- await julesImplementer.rollbackFix(file);
152
- }
153
- if (filesToRollback.length > 0) {
154
- UIComponents.showSuccessBox(`Rolled back ${filesToRollback.length} fixes`);
155
- }
137
+ else {
138
+ console.log(chalk.dim(` ${explanation}`));
156
139
  }
157
- }
140
+ console.log();
141
+ });
142
+ }
143
+ // Show summary
144
+ console.log(chalk.cyan(`\n📈 Summary: ${successCount}/${violations.length} fixes generated successfully`));
145
+ if (failedCount > 0) {
146
+ console.log(chalk.yellow(`\n⚠️ ${failedCount} fixes failed to generate. This may be due to:`));
147
+ console.log(chalk.yellow(' • Complex compatibility issues requiring manual review'));
148
+ console.log(chalk.yellow(' • API rate limits or temporary service issues'));
149
+ console.log(chalk.yellow(' • Files that couldn\'t be read or analyzed'));
158
150
  }
151
+ // Show next steps
152
+ console.log(chalk.cyan('\n💡 Next Steps:'));
153
+ console.log(chalk.cyan(' • Review the generated fixes above'));
154
+ console.log(chalk.cyan(' • Apply fixes manually to your code'));
155
+ console.log(chalk.cyan(' • Test your application after applying fixes'));
156
+ console.log(chalk.cyan(' • Run "base check" to verify fixes resolve violations'));
159
157
  UIComponents.showSuccessBox('Fix process completed!');
160
158
  }
161
159
  catch (error) {
@@ -175,7 +173,7 @@ export async function fix(options) {
175
173
  UIComponents.showList([
176
174
  'Run "base init" to set up BaseGuard configuration',
177
175
  'Configure API keys with "base config set-keys"',
178
- 'Check GitHub integration for Jules fixing'
176
+ 'Ensure you are in a GitHub repository for Jules fixing'
179
177
  ]);
180
178
  }
181
179
  else if (apiError.type === 'network') {
@@ -1 +1 @@
1
- {"version":3,"file":"fix.js","sourceRoot":"","sources":["../../src/commands/fix.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"fix.js","sourceRoot":"","sources":["../../src/commands/fix.ts"],"names":[],"mappings":"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"}
@@ -3,4 +3,5 @@ export * from './check.js';
3
3
  export * from './fix.js';
4
4
  export * from './config.js';
5
5
  export * from './automation.js';
6
+ export { status, diagnostics } from './status.js';
6
7
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/commands/index.ts"],"names":[],"mappings":"AACA,cAAc,WAAW,CAAC;AAC1B,cAAc,YAAY,CAAC;AAC3B,cAAc,UAAU,CAAC;AACzB,cAAc,aAAa,CAAC;AAC5B,cAAc,iBAAiB,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/commands/index.ts"],"names":[],"mappings":"AACA,cAAc,WAAW,CAAC;AAC1B,cAAc,YAAY,CAAC;AAC3B,cAAc,UAAU,CAAC;AACzB,cAAc,aAAa,CAAC;AAC5B,cAAc,iBAAiB,CAAC;AAChC,OAAO,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC"}
@@ -4,4 +4,5 @@ export * from './check.js';
4
4
  export * from './fix.js';
5
5
  export * from './config.js';
6
6
  export * from './automation.js';
7
+ export { status, diagnostics } from './status.js';
7
8
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/commands/index.ts"],"names":[],"mappings":"AAAA,sBAAsB;AACtB,cAAc,WAAW,CAAC;AAC1B,cAAc,YAAY,CAAC;AAC3B,cAAc,UAAU,CAAC;AACzB,cAAc,aAAa,CAAC;AAC5B,cAAc,iBAAiB,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/commands/index.ts"],"names":[],"mappings":"AAAA,sBAAsB;AACtB,cAAc,WAAW,CAAC;AAC1B,cAAc,YAAY,CAAC;AAC3B,cAAc,UAAU,CAAC;AACzB,cAAc,aAAa,CAAC;AAC5B,cAAc,iBAAiB,CAAC;AAChC,OAAO,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"init.d.ts","sourceRoot":"","sources":["../../src/commands/init.ts"],"names":[],"mappings":"AAIA;;GAEG;AACH,wBAAsB,IAAI,CAAC,OAAO,EAAE;IAClC,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,WAAW,CAAC,EAAE,OAAO,CAAC;CACvB,GAAG,OAAO,CAAC,IAAI,CAAC,CAkIhB"}
1
+ {"version":3,"file":"init.d.ts","sourceRoot":"","sources":["../../src/commands/init.ts"],"names":[],"mappings":"AAIA;;GAEG;AACH,wBAAsB,IAAI,CAAC,OAAO,EAAE;IAClC,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,WAAW,CAAC,EAAE,OAAO,CAAC;CACvB,GAAG,OAAO,CAAC,IAAI,CAAC,CAgJhB"}
@@ -58,17 +58,31 @@ export async function init(options) {
58
58
  };
59
59
  }
60
60
  }
61
- // Set up API keys if not skipped
61
+ // Set up API keys and coding agent if not skipped
62
62
  if (!options.skipApiKeys) {
63
63
  spinner.stop();
64
64
  const apiKeys = await Prompts.setupApiKeys();
65
- spinner.start();
66
65
  if (apiKeys.julesApiKey) {
67
66
  config.apiKeys.jules = apiKeys.julesApiKey;
68
67
  }
69
68
  if (apiKeys.geminiApiKey) {
70
69
  config.apiKeys.gemini = apiKeys.geminiApiKey;
71
70
  }
71
+ // Configure coding agent based on available keys
72
+ if (apiKeys.julesApiKey && apiKeys.geminiApiKey) {
73
+ const codingAgentChoice = await Prompts.chooseCodingAgent();
74
+ config.codingAgent.primary = codingAgentChoice.primary;
75
+ config.codingAgent.fallback = codingAgentChoice.fallback;
76
+ }
77
+ else if (apiKeys.julesApiKey) {
78
+ config.codingAgent.primary = 'jules';
79
+ config.codingAgent.fallback = 'jules';
80
+ }
81
+ else if (apiKeys.geminiApiKey) {
82
+ config.codingAgent.primary = 'gemini';
83
+ config.codingAgent.fallback = 'gemini';
84
+ }
85
+ spinner.start();
72
86
  }
73
87
  await ConfigurationManager.save(config);
74
88
  spinner.succeed('BaseGuard configuration created');