gitcoach-cli 1.0.0 → 1.0.1

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/run.js CHANGED
@@ -55,7 +55,7 @@ async function main() {
55
55
  }
56
56
 
57
57
  if (args.includes('--version') || args.includes('-v')) {
58
- console.log(`gitsense/${config.version} ${process.platform}-${process.arch} node-${process.version}`);
58
+ console.log(`gitcoach/${config.version} ${process.platform}-${process.arch} node-${process.version}`);
59
59
  return;
60
60
  }
61
61
 
@@ -15,7 +15,7 @@ const DEFAULT_ANALYTICS = {
15
15
  }
16
16
  };
17
17
  const analyticsStore = new Conf({
18
- projectName: 'gitsense',
18
+ projectName: 'gitcoach',
19
19
  configName: 'analytics',
20
20
  defaults: DEFAULT_ANALYTICS
21
21
  });
@@ -2,7 +2,7 @@ import { Command } from '@oclif/core';
2
2
  import { initI18n } from '../i18n/index.js';
3
3
  import { showConfigMenu } from '../ui/menus/config-menu.js';
4
4
  export default class Config extends Command {
5
- static description = 'Configure GitSense settings';
5
+ static description = 'Configure GitCoach settings';
6
6
  static examples = ['<%= config.bin %> config'];
7
7
  async run() {
8
8
  await initI18n();
@@ -17,7 +17,7 @@ import { showStashMenu } from '../ui/menus/stash-menu.js';
17
17
  import { showSetupMenu, handleGitInit, handleGitClone } from '../ui/menus/setup-menu.js';
18
18
  import { showHelpMenu } from '../ui/menus/help-menu.js';
19
19
  export default class Index extends Command {
20
- static description = 'GitSense - Your AI-Powered Git Coach';
20
+ static description = 'GitCoach - Your AI-Powered Git Coach';
21
21
  static examples = [
22
22
  '<%= config.bin %>',
23
23
  '<%= config.bin %> init',
@@ -3,5 +3,6 @@ export default class Init extends Command {
3
3
  static description: string;
4
4
  static examples: string[];
5
5
  run(): Promise<void>;
6
+ private checkAndOfferCopilotInstallation;
6
7
  }
7
8
  //# sourceMappingURL=init.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"init.d.ts","sourceRoot":"","sources":["../../src/commands/init.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,aAAa,CAAC;AAetC,MAAM,CAAC,OAAO,OAAO,IAAK,SAAQ,OAAO;IACvC,OAAgB,WAAW,SAA0C;IAErE,OAAgB,QAAQ,WAA8B;IAEhD,GAAG,IAAI,OAAO,CAAC,IAAI,CAAC;CAuD3B"}
1
+ {"version":3,"file":"init.d.ts","sourceRoot":"","sources":["../../src/commands/init.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,aAAa,CAAC;AAkBtC,MAAM,CAAC,OAAO,OAAO,IAAK,SAAQ,OAAO;IACvC,OAAgB,WAAW,SAA0C;IAErE,OAAgB,QAAQ,WAA8B;IAEhD,GAAG,IAAI,OAAO,CAAC,IAAI,CAAC;YA2DZ,gCAAgC;CA+C/C"}
@@ -3,15 +3,18 @@ import { initI18n, t, changeLanguage } from '../i18n/index.js';
3
3
  import { userConfig } from '../config/user-config.js';
4
4
  import { SUPPORTED_LANGUAGES, EXPERIENCE_LEVELS, THEMES } from '../config/defaults.js';
5
5
  import { logger } from '../utils/logger.js';
6
- import { titleBox, successBox } from '../ui/components/box.js';
7
- import { promptSelect } from '../ui/components/prompt.js';
6
+ import { titleBox, successBox, infoBox, warningBox } from '../ui/components/box.js';
7
+ import { promptSelect, promptConfirm } from '../ui/components/prompt.js';
8
+ import { copilotService } from '../services/copilot-service.js';
9
+ import { createSpinner } from '../ui/components/spinner.js';
10
+ import { getTheme } from '../ui/themes/index.js';
8
11
  export default class Init extends Command {
9
- static description = 'First-time setup wizard for GitSense';
12
+ static description = 'First-time setup wizard for GitCoach';
10
13
  static examples = ['<%= config.bin %> init'];
11
14
  async run() {
12
15
  await initI18n();
13
16
  // Welcome message
14
- logger.raw(titleBox('GitSense Setup', t('setup.welcome')));
17
+ logger.raw(titleBox('GitCoach Setup', t('setup.welcome')));
15
18
  logger.raw('');
16
19
  // Select language
17
20
  const language = await promptSelect(t('setup.selectLanguage'), SUPPORTED_LANGUAGES.map(l => ({
@@ -35,11 +38,44 @@ export default class Init extends Command {
35
38
  description: l.description
36
39
  })));
37
40
  userConfig.setExperienceLevel(level);
41
+ // Check for Copilot CLI availability
42
+ await this.checkAndOfferCopilotInstallation();
38
43
  // Mark first run as complete
39
44
  userConfig.setFirstRunComplete();
40
45
  // Success message
41
46
  logger.raw('\n' + successBox(`${t('setup.complete')}\n\n${t('setup.tip')}`, t('success.title')));
42
47
  logger.raw('');
43
48
  }
49
+ async checkAndOfferCopilotInstallation() {
50
+ const theme = getTheme();
51
+ // Check if Copilot CLI is already available
52
+ const copilotAvailable = await copilotService.isAvailable();
53
+ if (copilotAvailable) {
54
+ // Copilot CLI is already installed
55
+ logger.raw('\n' + theme.success('✓ ' + t('setup.copilotDetected')));
56
+ return;
57
+ }
58
+ // Copilot CLI not found - show info and offer installation
59
+ logger.raw('\n' + infoBox(t('setup.copilotNotInstalled') + '\n\n' + t('setup.copilotBenefits'), t('setup.copilotTitle')));
60
+ const shouldInstall = await promptConfirm(t('setup.copilotInstallQuestion'), true);
61
+ if (!shouldInstall) {
62
+ // User declined - continue without Copilot
63
+ logger.raw(theme.textMuted(t('setup.copilotSkipped')));
64
+ return;
65
+ }
66
+ // User wants to install - proceed with installation
67
+ logger.raw('');
68
+ const spinner = createSpinner({ text: t('setup.copilotInstalling') });
69
+ spinner.start();
70
+ const result = await copilotService.installCopilotCli();
71
+ if (result.success) {
72
+ spinner.succeed(t('setup.copilotInstallSuccess'));
73
+ logger.raw(theme.textMuted(t('setup.copilotInstallNote')));
74
+ }
75
+ else {
76
+ spinner.fail(t('setup.copilotInstallFailed'));
77
+ logger.raw(warningBox(t('setup.copilotInstallFailedDetail') + '\n\n' + t('setup.copilotManualInstall'), t('warnings.title')));
78
+ }
79
+ }
44
80
  }
45
81
  //# sourceMappingURL=init.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"init.js","sourceRoot":"","sources":["../../src/commands/init.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,aAAa,CAAC;AACtC,OAAO,EAAE,QAAQ,EAAE,CAAC,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAC/D,OAAO,EAAE,UAAU,EAAE,MAAM,0BAA0B,CAAC;AACtD,OAAO,EACL,mBAAmB,EACnB,iBAAiB,EACjB,MAAM,EAIP,MAAM,uBAAuB,CAAC;AAC/B,OAAO,EAAE,MAAM,EAAE,MAAM,oBAAoB,CAAC;AAC5C,OAAO,EAAE,QAAQ,EAAE,UAAU,EAAE,MAAM,yBAAyB,CAAC;AAC/D,OAAO,EAAE,YAAY,EAAE,MAAM,4BAA4B,CAAC;AAE1D,MAAM,CAAC,OAAO,OAAO,IAAK,SAAQ,OAAO;IACvC,MAAM,CAAU,WAAW,GAAG,sCAAsC,CAAC;IAErE,MAAM,CAAU,QAAQ,GAAG,CAAC,wBAAwB,CAAC,CAAC;IAEtD,KAAK,CAAC,GAAG;QACP,MAAM,QAAQ,EAAE,CAAC;QAEjB,kBAAkB;QAClB,MAAM,CAAC,GAAG,CAAC,QAAQ,CAAC,gBAAgB,EAAE,CAAC,CAAC,eAAe,CAAC,CAAC,CAAC,CAAC;QAC3D,MAAM,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;QAEf,kBAAkB;QAClB,MAAM,QAAQ,GAAG,MAAM,YAAY,CACjC,CAAC,CAAC,sBAAsB,CAAC,EACzB,mBAAmB,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;YAC5B,IAAI,EAAE,GAAG,CAAC,CAAC,UAAU,KAAK,CAAC,CAAC,IAAI,GAAG;YACnC,KAAK,EAAE,CAAC,CAAC,IAAI;SACd,CAAC,CAAC,CACJ,CAAC;QAEF,cAAc,CAAC,QAAQ,CAAC,CAAC;QAEzB,sDAAsD;QACtD,MAAM,QAAQ,EAAE,CAAC;QAEjB,eAAe;QACf,MAAM,aAAa,GAAG,MAAM,YAAY,CACtC,CAAC,CAAC,mBAAmB,CAAC,EACtB,MAAM,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC;YAChB,IAAI,EAAE,EAAE,CAAC,KAAK,KAAK,SAAS,CAAC,CAAC,CAAC,oCAAoC,CAAC,CAAC,CAAC,yBAAyB;YAC/F,KAAK,EAAE,EAAE,CAAC,KAAK;YACf,WAAW,EAAE,EAAE,CAAC,WAAW;SAC5B,CAAC,CAAC,CACJ,CAAC;QAEF,UAAU,CAAC,QAAQ,CAAC,aAAa,CAAC,CAAC;QAEnC,0BAA0B;QAC1B,MAAM,KAAK,GAAG,MAAM,YAAY,CAC9B,CAAC,CAAC,mBAAmB,CAAC,EACtB,iBAAiB,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;YAC1B,IAAI,EAAE,CAAC,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,WAAW,EAAE,GAAG,CAAC,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC;YACxD,KAAK,EAAE,CAAC,CAAC,KAAK;YACd,WAAW,EAAE,CAAC,CAAC,WAAW;SAC3B,CAAC,CAAC,CACJ,CAAC;QAEF,UAAU,CAAC,kBAAkB,CAAC,KAAK,CAAC,CAAC;QAErC,6BAA6B;QAC7B,UAAU,CAAC,mBAAmB,EAAE,CAAC;QAEjC,kBAAkB;QAClB,MAAM,CAAC,GAAG,CAAC,IAAI,GAAG,UAAU,CAC1B,GAAG,CAAC,CAAC,gBAAgB,CAAC,OAAO,CAAC,CAAC,WAAW,CAAC,EAAE,EAC7C,CAAC,CAAC,eAAe,CAAC,CACnB,CAAC,CAAC;QACH,MAAM,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;IACjB,CAAC"}
1
+ {"version":3,"file":"init.js","sourceRoot":"","sources":["../../src/commands/init.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,aAAa,CAAC;AACtC,OAAO,EAAE,QAAQ,EAAE,CAAC,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAC/D,OAAO,EAAE,UAAU,EAAE,MAAM,0BAA0B,CAAC;AACtD,OAAO,EACL,mBAAmB,EACnB,iBAAiB,EACjB,MAAM,EAIP,MAAM,uBAAuB,CAAC;AAC/B,OAAO,EAAE,MAAM,EAAE,MAAM,oBAAoB,CAAC;AAC5C,OAAO,EAAE,QAAQ,EAAE,UAAU,EAAE,OAAO,EAAE,UAAU,EAAE,MAAM,yBAAyB,CAAC;AACpF,OAAO,EAAE,YAAY,EAAE,aAAa,EAAE,MAAM,4BAA4B,CAAC;AACzE,OAAO,EAAE,cAAc,EAAE,MAAM,gCAAgC,CAAC;AAChE,OAAO,EAAE,aAAa,EAAE,MAAM,6BAA6B,CAAC;AAC5D,OAAO,EAAE,QAAQ,EAAE,MAAM,uBAAuB,CAAC;AAEjD,MAAM,CAAC,OAAO,OAAO,IAAK,SAAQ,OAAO;IACvC,MAAM,CAAU,WAAW,GAAG,sCAAsC,CAAC;IAErE,MAAM,CAAU,QAAQ,GAAG,CAAC,wBAAwB,CAAC,CAAC;IAEtD,KAAK,CAAC,GAAG;QACP,MAAM,QAAQ,EAAE,CAAC;QAEjB,kBAAkB;QAClB,MAAM,CAAC,GAAG,CAAC,QAAQ,CAAC,gBAAgB,EAAE,CAAC,CAAC,eAAe,CAAC,CAAC,CAAC,CAAC;QAC3D,MAAM,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;QAEf,kBAAkB;QAClB,MAAM,QAAQ,GAAG,MAAM,YAAY,CACjC,CAAC,CAAC,sBAAsB,CAAC,EACzB,mBAAmB,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;YAC5B,IAAI,EAAE,GAAG,CAAC,CAAC,UAAU,KAAK,CAAC,CAAC,IAAI,GAAG;YACnC,KAAK,EAAE,CAAC,CAAC,IAAI;SACd,CAAC,CAAC,CACJ,CAAC;QAEF,cAAc,CAAC,QAAQ,CAAC,CAAC;QAEzB,sDAAsD;QACtD,MAAM,QAAQ,EAAE,CAAC;QAEjB,eAAe;QACf,MAAM,aAAa,GAAG,MAAM,YAAY,CACtC,CAAC,CAAC,mBAAmB,CAAC,EACtB,MAAM,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC;YAChB,IAAI,EAAE,EAAE,CAAC,KAAK,KAAK,SAAS,CAAC,CAAC,CAAC,oCAAoC,CAAC,CAAC,CAAC,yBAAyB;YAC/F,KAAK,EAAE,EAAE,CAAC,KAAK;YACf,WAAW,EAAE,EAAE,CAAC,WAAW;SAC5B,CAAC,CAAC,CACJ,CAAC;QAEF,UAAU,CAAC,QAAQ,CAAC,aAAa,CAAC,CAAC;QAEnC,0BAA0B;QAC1B,MAAM,KAAK,GAAG,MAAM,YAAY,CAC9B,CAAC,CAAC,mBAAmB,CAAC,EACtB,iBAAiB,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;YAC1B,IAAI,EAAE,CAAC,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,WAAW,EAAE,GAAG,CAAC,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC;YACxD,KAAK,EAAE,CAAC,CAAC,KAAK;YACd,WAAW,EAAE,CAAC,CAAC,WAAW;SAC3B,CAAC,CAAC,CACJ,CAAC;QAEF,UAAU,CAAC,kBAAkB,CAAC,KAAK,CAAC,CAAC;QAErC,qCAAqC;QACrC,MAAM,IAAI,CAAC,gCAAgC,EAAE,CAAC;QAE9C,6BAA6B;QAC7B,UAAU,CAAC,mBAAmB,EAAE,CAAC;QAEjC,kBAAkB;QAClB,MAAM,CAAC,GAAG,CAAC,IAAI,GAAG,UAAU,CAC1B,GAAG,CAAC,CAAC,gBAAgB,CAAC,OAAO,CAAC,CAAC,WAAW,CAAC,EAAE,EAC7C,CAAC,CAAC,eAAe,CAAC,CACnB,CAAC,CAAC;QACH,MAAM,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;IACjB,CAAC;IAEO,KAAK,CAAC,gCAAgC;QAC5C,MAAM,KAAK,GAAG,QAAQ,EAAE,CAAC;QAEzB,4CAA4C;QAC5C,MAAM,gBAAgB,GAAG,MAAM,cAAc,CAAC,WAAW,EAAE,CAAC;QAE5D,IAAI,gBAAgB,EAAE,CAAC;YACrB,mCAAmC;YACnC,MAAM,CAAC,GAAG,CAAC,IAAI,GAAG,KAAK,CAAC,OAAO,CAAC,IAAI,GAAG,CAAC,CAAC,uBAAuB,CAAC,CAAC,CAAC,CAAC;YACpE,OAAO;QACT,CAAC;QAED,2DAA2D;QAC3D,MAAM,CAAC,GAAG,CAAC,IAAI,GAAG,OAAO,CACvB,CAAC,CAAC,2BAA2B,CAAC,GAAG,MAAM,GAAG,CAAC,CAAC,uBAAuB,CAAC,EACpE,CAAC,CAAC,oBAAoB,CAAC,CACxB,CAAC,CAAC;QAEH,MAAM,aAAa,GAAG,MAAM,aAAa,CACvC,CAAC,CAAC,8BAA8B,CAAC,EACjC,IAAI,CACL,CAAC;QAEF,IAAI,CAAC,aAAa,EAAE,CAAC;YACnB,2CAA2C;YAC3C,MAAM,CAAC,GAAG,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC,CAAC,sBAAsB,CAAC,CAAC,CAAC,CAAC;YACvD,OAAO;QACT,CAAC;QAED,oDAAoD;QACpD,MAAM,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;QACf,MAAM,OAAO,GAAG,aAAa,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC,yBAAyB,CAAC,EAAE,CAAC,CAAC;QACtE,OAAO,CAAC,KAAK,EAAE,CAAC;QAEhB,MAAM,MAAM,GAAG,MAAM,cAAc,CAAC,iBAAiB,EAAE,CAAC;QAExD,IAAI,MAAM,CAAC,OAAO,EAAE,CAAC;YACnB,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,6BAA6B,CAAC,CAAC,CAAC;YAClD,MAAM,CAAC,GAAG,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC,CAAC,0BAA0B,CAAC,CAAC,CAAC,CAAC;QAC7D,CAAC;aAAM,CAAC;YACN,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,4BAA4B,CAAC,CAAC,CAAC;YAC9C,MAAM,CAAC,GAAG,CAAC,UAAU,CACnB,CAAC,CAAC,kCAAkC,CAAC,GAAG,MAAM,GAAG,CAAC,CAAC,4BAA4B,CAAC,EAChF,CAAC,CAAC,gBAAgB,CAAC,CACpB,CAAC,CAAC;QACL,CAAC;IACH,CAAC"}
@@ -7,12 +7,12 @@ import { getTheme } from '../ui/themes/index.js';
7
7
  import { titleBox, infoBox } from '../ui/components/box.js';
8
8
  import { statsTable } from '../ui/components/table.js';
9
9
  export default class Stats extends Command {
10
- static description = 'View your GitSense statistics';
10
+ static description = 'View your GitCoach statistics';
11
11
  static examples = ['<%= config.bin %> stats'];
12
12
  async run() {
13
13
  await initI18n();
14
14
  const theme = getTheme();
15
- logger.raw('\n' + titleBox(t('stats.title'), 'Your GitSense Journey'));
15
+ logger.raw('\n' + titleBox(t('stats.title'), 'Your GitCoach Journey'));
16
16
  const totalCommits = userConfig.getTotalCommits();
17
17
  const errorsPrevented = userConfig.getErrorsPreventedCount();
18
18
  const aiCommits = userConfig.getAiCommitsGenerated();
@@ -1,7 +1,7 @@
1
1
  import Conf from 'conf';
2
2
  import { DEFAULT_PREFERENCES, DEFAULT_APP_CONFIG } from './defaults.js';
3
3
  const config = new Conf({
4
- projectName: 'gitsense',
4
+ projectName: 'gitcoach',
5
5
  defaults: {
6
6
  preferences: DEFAULT_PREFERENCES,
7
7
  app: DEFAULT_APP_CONFIG
@@ -1,9 +1,9 @@
1
1
  {
2
2
  "app": {
3
- "name": "GitSense",
3
+ "name": "GitCoach",
4
4
  "tagline": "Your AI-Powered Git Coach",
5
5
  "version": "v{{version}}",
6
- "welcome": "Welcome to GitSense!",
6
+ "welcome": "Welcome to GitCoach!",
7
7
  "goodbye": "Goodbye! Happy coding!"
8
8
  },
9
9
  "menu": {
@@ -27,13 +27,13 @@
27
27
  "stash": "Stash",
28
28
  "stashDesc": "Save work temporarily",
29
29
  "config": "Settings",
30
- "configDesc": "Configure GitSense",
30
+ "configDesc": "Configure GitCoach",
31
31
  "stats": "Statistics",
32
32
  "statsDesc": "View your progress",
33
33
  "help": "Help",
34
34
  "helpDesc": "Get assistance",
35
35
  "quit": "Quit",
36
- "quitDesc": "Exit GitSense",
36
+ "quitDesc": "Exit GitCoach",
37
37
  "back": "Back",
38
38
  "backDesc": "Return to previous menu"
39
39
  },
@@ -234,11 +234,11 @@
234
234
  "configUpdated": "Configuration updated."
235
235
  },
236
236
  "setup": {
237
- "welcome": "Welcome to GitSense Setup!",
237
+ "welcome": "Welcome to GitCoach Setup!",
238
238
  "selectLanguage": "Select your preferred language:",
239
239
  "selectTheme": "Select your preferred theme:",
240
240
  "selectLevel": "What is your Git experience level?",
241
- "complete": "Setup complete! You're ready to use GitSense.",
241
+ "complete": "Setup complete! You're ready to use GitCoach.",
242
242
  "tip": "Tip: You can change these settings anytime in the config menu.",
243
243
  "notGitRepo": "This directory is not a Git repository.",
244
244
  "menuTitle": "What would you like to do?",
@@ -246,7 +246,7 @@
246
246
  "initDesc": "Initialize a new Git repository",
247
247
  "clone": "Clone",
248
248
  "cloneDesc": "Clone an existing repository",
249
- "quitDesc": "Exit GitSense",
249
+ "quitDesc": "Exit GitCoach",
250
250
  "initInProgress": "Initializing Git repository...",
251
251
  "initSuccess": "Git repository initialized successfully!",
252
252
  "addRemoteQuestion": "Would you like to add a remote origin?",
@@ -260,14 +260,26 @@
260
260
  "cloneDirPrompt": "Enter directory name (leave empty for default):",
261
261
  "cloneInProgress": "Cloning repository...",
262
262
  "cloneSuccess": "Repository cloned successfully to '{{dir}}'!",
263
- "cloneNextStep": "Run 'cd {{dir}}' then 'gitsense' to start.",
263
+ "cloneNextStep": "Run 'cd {{dir}}' then 'gitcoach' to start.",
264
264
  "gitignoreQuestion": "Would you like to create a .gitignore file?",
265
265
  "gitignoreType": "Select project type:",
266
266
  "gitignoreNode": "Node.js",
267
267
  "gitignorePython": "Python",
268
268
  "gitignoreJava": "Java",
269
269
  "gitignoreGeneric": "Generic",
270
- "gitignoreCreated": ".gitignore file created!"
270
+ "gitignoreCreated": ".gitignore file created!",
271
+ "copilotTitle": "GitHub Copilot CLI",
272
+ "copilotDetected": "GitHub Copilot CLI is installed and ready!",
273
+ "copilotNotInstalled": "GitHub Copilot CLI is not installed.",
274
+ "copilotBenefits": "Copilot CLI enables AI-powered features:\n• Generate intelligent commit messages\n• Answer your Git questions\n• Get contextual suggestions",
275
+ "copilotInstallQuestion": "Would you like to install GitHub Copilot CLI now?",
276
+ "copilotSkipped": "Continuing without Copilot CLI. You can install it later.",
277
+ "copilotInstalling": "Installing GitHub Copilot CLI...",
278
+ "copilotInstallSuccess": "GitHub Copilot CLI installed successfully!",
279
+ "copilotInstallNote": "You may need to authenticate with 'copilot auth' on first use.",
280
+ "copilotInstallFailed": "Failed to install GitHub Copilot CLI",
281
+ "copilotInstallFailedDetail": "The automatic installation failed. This may be due to permissions or network issues.",
282
+ "copilotManualInstall": "To install manually, run:\nnpm install -g @githubnext/github-copilot-cli"
271
283
  },
272
284
  "config": {
273
285
  "title": "Settings",
@@ -287,7 +299,7 @@
287
299
  "errorsPrevented": "Errors Prevented",
288
300
  "aiCommits": "AI-Generated Commits",
289
301
  "timeSaved": "Estimated Time Saved",
290
- "noData": "No statistics yet. Start using GitSense!",
302
+ "noData": "No statistics yet. Start using GitCoach!",
291
303
  "aiPercentage": "AI-assisted commits: {{percentage}}%",
292
304
  "mistakesAvoided": "You've avoided {{count}} potential mistake(s)!"
293
305
  },
@@ -310,7 +322,7 @@
310
322
  "selectAction": "What would you like to do?",
311
323
  "askQuestion": "Ask a Git question (AI)",
312
324
  "quickHelp": "Quick reference",
313
- "about": "About GitSense",
325
+ "about": "About GitCoach",
314
326
  "askHint": "Ask any Git question in natural language. Leave empty to cancel.",
315
327
  "askExamples": "Examples: \"How do I undo my last commit?\" or \"What is a rebase?\"",
316
328
  "enterQuestion": "Your question:",
@@ -328,10 +340,10 @@
328
340
  "mainCommands": "Main Commands:",
329
341
  "additionalCommands": "Additional Commands:",
330
342
  "tips": "Tips:",
331
- "tip1": "GitSense warns you before dangerous operations",
343
+ "tip1": "GitCoach warns you before dangerous operations",
332
344
  "tip2": "AI can generate commit messages from your changes",
333
345
  "tip3": "Change experience level in settings for more/less guidance",
334
- "aboutDesc": "GitSense is an interactive CLI tool that helps developers master Git",
346
+ "aboutDesc": "GitCoach is an interactive CLI tool that helps developers master Git",
335
347
  "aboutDesc2": "through guided menus, intelligent suggestions, and real-time error prevention.",
336
348
  "features": "Features:",
337
349
  "feature1": "Interactive menus for all Git operations",
@@ -1,9 +1,9 @@
1
1
  {
2
2
  "app": {
3
- "name": "GitSense",
3
+ "name": "GitCoach",
4
4
  "tagline": "Tu Coach de Git Impulsado por IA",
5
5
  "version": "v{{version}}",
6
- "welcome": "Bienvenido a GitSense!",
6
+ "welcome": "Bienvenido a GitCoach!",
7
7
  "goodbye": "Adios! Feliz programacion!"
8
8
  },
9
9
  "menu": {
@@ -27,13 +27,13 @@
27
27
  "stash": "Stash",
28
28
  "stashDesc": "Guardar trabajo temporalmente",
29
29
  "config": "Configuracion",
30
- "configDesc": "Configurar GitSense",
30
+ "configDesc": "Configurar GitCoach",
31
31
  "stats": "Estadisticas",
32
32
  "statsDesc": "Ver tu progreso",
33
33
  "help": "Ayuda",
34
34
  "helpDesc": "Obtener asistencia",
35
35
  "quit": "Salir",
36
- "quitDesc": "Cerrar GitSense",
36
+ "quitDesc": "Cerrar GitCoach",
37
37
  "back": "Volver",
38
38
  "backDesc": "Regresar al menu anterior"
39
39
  },
@@ -234,11 +234,11 @@
234
234
  "configUpdated": "Configuracion actualizada."
235
235
  },
236
236
  "setup": {
237
- "welcome": "Bienvenido a la configuracion de GitSense!",
237
+ "welcome": "Bienvenido a la configuracion de GitCoach!",
238
238
  "selectLanguage": "Selecciona tu idioma preferido:",
239
239
  "selectTheme": "Selecciona tu tema preferido:",
240
240
  "selectLevel": "Cual es tu nivel de experiencia con Git?",
241
- "complete": "Configuracion completa! Estas listo para usar GitSense.",
241
+ "complete": "Configuracion completa! Estas listo para usar GitCoach.",
242
242
  "tip": "Consejo: Puedes cambiar estos ajustes en cualquier momento en el menu de configuracion.",
243
243
  "notGitRepo": "Este directorio no es un repositorio Git.",
244
244
  "menuTitle": "Que te gustaria hacer?",
@@ -246,7 +246,7 @@
246
246
  "initDesc": "Inicializar un nuevo repositorio Git",
247
247
  "clone": "Clonar",
248
248
  "cloneDesc": "Clonar un repositorio existente",
249
- "quitDesc": "Salir de GitSense",
249
+ "quitDesc": "Salir de GitCoach",
250
250
  "initInProgress": "Inicializando repositorio Git...",
251
251
  "initSuccess": "Repositorio Git inicializado exitosamente!",
252
252
  "addRemoteQuestion": "Te gustaria agregar un origen remoto?",
@@ -260,14 +260,26 @@
260
260
  "cloneDirPrompt": "Ingresa el nombre del directorio (deja vacio para usar el predeterminado):",
261
261
  "cloneInProgress": "Clonando repositorio...",
262
262
  "cloneSuccess": "Repositorio clonado exitosamente en '{{dir}}'!",
263
- "cloneNextStep": "Ejecuta 'cd {{dir}}' y luego 'gitsense' para comenzar.",
263
+ "cloneNextStep": "Ejecuta 'cd {{dir}}' y luego 'gitcoach' para comenzar.",
264
264
  "gitignoreQuestion": "Te gustaria crear un archivo .gitignore?",
265
265
  "gitignoreType": "Selecciona el tipo de proyecto:",
266
266
  "gitignoreNode": "Node.js",
267
267
  "gitignorePython": "Python",
268
268
  "gitignoreJava": "Java",
269
269
  "gitignoreGeneric": "Generico",
270
- "gitignoreCreated": "Archivo .gitignore creado!"
270
+ "gitignoreCreated": "Archivo .gitignore creado!",
271
+ "copilotTitle": "GitHub Copilot CLI",
272
+ "copilotDetected": "GitHub Copilot CLI esta instalado y listo!",
273
+ "copilotNotInstalled": "GitHub Copilot CLI no esta instalado.",
274
+ "copilotBenefits": "Copilot CLI habilita funciones de IA:\n• Generar mensajes de commit inteligentes\n• Responder tus preguntas de Git\n• Obtener sugerencias contextuales",
275
+ "copilotInstallQuestion": "Te gustaria instalar GitHub Copilot CLI ahora?",
276
+ "copilotSkipped": "Continuando sin Copilot CLI. Puedes instalarlo mas tarde.",
277
+ "copilotInstalling": "Instalando GitHub Copilot CLI...",
278
+ "copilotInstallSuccess": "GitHub Copilot CLI instalado exitosamente!",
279
+ "copilotInstallNote": "Es posible que necesites autenticarte con 'copilot auth' en el primer uso.",
280
+ "copilotInstallFailed": "Fallo al instalar GitHub Copilot CLI",
281
+ "copilotInstallFailedDetail": "La instalacion automatica fallo. Esto puede deberse a problemas de permisos o de red.",
282
+ "copilotManualInstall": "Para instalar manualmente, ejecuta:\nnpm install -g @githubnext/github-copilot-cli"
271
283
  },
272
284
  "config": {
273
285
  "title": "Configuracion",
@@ -287,7 +299,7 @@
287
299
  "errorsPrevented": "Errores Prevenidos",
288
300
  "aiCommits": "Commits Generados por IA",
289
301
  "timeSaved": "Tiempo Estimado Ahorrado",
290
- "noData": "Aun no hay estadisticas. Comienza a usar GitSense!",
302
+ "noData": "Aun no hay estadisticas. Comienza a usar GitCoach!",
291
303
  "aiPercentage": "Commits asistidos por IA: {{percentage}}%",
292
304
  "mistakesAvoided": "Has evitado {{count}} error(es) potencial(es)!"
293
305
  },
@@ -310,7 +322,7 @@
310
322
  "selectAction": "Que te gustaria hacer?",
311
323
  "askQuestion": "Hacer una pregunta sobre Git (IA)",
312
324
  "quickHelp": "Referencia rapida",
313
- "about": "Acerca de GitSense",
325
+ "about": "Acerca de GitCoach",
314
326
  "askHint": "Haz cualquier pregunta sobre Git en lenguaje natural. Deja vacio para cancelar.",
315
327
  "askExamples": "Ejemplos: \"Como deshago mi ultimo commit?\" o \"Que es un rebase?\"",
316
328
  "enterQuestion": "Tu pregunta:",
@@ -328,10 +340,10 @@
328
340
  "mainCommands": "Comandos Principales:",
329
341
  "additionalCommands": "Comandos Adicionales:",
330
342
  "tips": "Consejos:",
331
- "tip1": "GitSense te advierte antes de operaciones peligrosas",
343
+ "tip1": "GitCoach te advierte antes de operaciones peligrosas",
332
344
  "tip2": "La IA puede generar mensajes de commit a partir de tus cambios",
333
345
  "tip3": "Cambia el nivel de experiencia en configuracion para mas/menos guia",
334
- "aboutDesc": "GitSense es una herramienta CLI interactiva que ayuda a los desarrolladores a dominar Git",
346
+ "aboutDesc": "GitCoach es una herramienta CLI interactiva que ayuda a los desarrolladores a dominar Git",
335
347
  "aboutDesc2": "a traves de menus guiados, sugerencias inteligentes y prevencion de errores en tiempo real.",
336
348
  "features": "Caracteristicas:",
337
349
  "feature1": "Menus interactivos para todas las operaciones Git",
@@ -1,9 +1,9 @@
1
1
  {
2
2
  "app": {
3
- "name": "GitSense",
3
+ "name": "GitCoach",
4
4
  "tagline": "Votre Coach Git Propulse par l'IA",
5
5
  "version": "v{{version}}",
6
- "welcome": "Bienvenue sur GitSense !",
6
+ "welcome": "Bienvenue sur GitCoach !",
7
7
  "goodbye": "Au revoir ! Bon code !"
8
8
  },
9
9
  "menu": {
@@ -27,13 +27,13 @@
27
27
  "stash": "Stash",
28
28
  "stashDesc": "Mettre de cote temporairement",
29
29
  "config": "Parametres",
30
- "configDesc": "Configurer GitSense",
30
+ "configDesc": "Configurer GitCoach",
31
31
  "stats": "Statistiques",
32
32
  "statsDesc": "Voir votre progression",
33
33
  "help": "Aide",
34
34
  "helpDesc": "Obtenir de l'assistance",
35
35
  "quit": "Quitter",
36
- "quitDesc": "Fermer GitSense",
36
+ "quitDesc": "Fermer GitCoach",
37
37
  "back": "Retour",
38
38
  "backDesc": "Revenir au menu precedent"
39
39
  },
@@ -234,11 +234,11 @@
234
234
  "configUpdated": "Configuration mise a jour."
235
235
  },
236
236
  "setup": {
237
- "welcome": "Bienvenue dans la configuration de GitSense !",
237
+ "welcome": "Bienvenue dans la configuration de GitCoach !",
238
238
  "selectLanguage": "Selectionnez votre langue preferee :",
239
239
  "selectTheme": "Selectionnez votre theme prefere :",
240
240
  "selectLevel": "Quel est votre niveau d'experience avec Git ?",
241
- "complete": "Configuration terminee ! Vous etes pret a utiliser GitSense.",
241
+ "complete": "Configuration terminee ! Vous etes pret a utiliser GitCoach.",
242
242
  "tip": "Astuce : Vous pouvez modifier ces parametres a tout moment dans le menu de configuration.",
243
243
  "notGitRepo": "Ce repertoire n'est pas un depot Git.",
244
244
  "menuTitle": "Que souhaitez-vous faire ?",
@@ -246,7 +246,7 @@
246
246
  "initDesc": "Initialiser un nouveau depot Git",
247
247
  "clone": "Clone",
248
248
  "cloneDesc": "Cloner un depot existant",
249
- "quitDesc": "Quitter GitSense",
249
+ "quitDesc": "Quitter GitCoach",
250
250
  "initInProgress": "Initialisation du depot Git...",
251
251
  "initSuccess": "Depot Git initialise avec succes !",
252
252
  "addRemoteQuestion": "Voulez-vous ajouter un remote origin ?",
@@ -260,14 +260,26 @@
260
260
  "cloneDirPrompt": "Nom du dossier (laissez vide pour le defaut) :",
261
261
  "cloneInProgress": "Clonage du depot...",
262
262
  "cloneSuccess": "Depot clone avec succes dans '{{dir}}' !",
263
- "cloneNextStep": "Executez 'cd {{dir}}' puis 'gitsense' pour commencer.",
263
+ "cloneNextStep": "Executez 'cd {{dir}}' puis 'gitcoach' pour commencer.",
264
264
  "gitignoreQuestion": "Voulez-vous creer un fichier .gitignore ?",
265
265
  "gitignoreType": "Type de projet :",
266
266
  "gitignoreNode": "Node.js",
267
267
  "gitignorePython": "Python",
268
268
  "gitignoreJava": "Java",
269
269
  "gitignoreGeneric": "Generique",
270
- "gitignoreCreated": "Fichier .gitignore cree !"
270
+ "gitignoreCreated": "Fichier .gitignore cree !",
271
+ "copilotTitle": "GitHub Copilot CLI",
272
+ "copilotDetected": "GitHub Copilot CLI est installe et pret !",
273
+ "copilotNotInstalled": "GitHub Copilot CLI n'est pas installe.",
274
+ "copilotBenefits": "Copilot CLI active les fonctionnalites IA :\n• Generer des messages de commit intelligents\n• Repondre a vos questions Git\n• Obtenir des suggestions contextuelles",
275
+ "copilotInstallQuestion": "Voulez-vous installer GitHub Copilot CLI maintenant ?",
276
+ "copilotSkipped": "Continuer sans Copilot CLI. Vous pourrez l'installer plus tard.",
277
+ "copilotInstalling": "Installation de GitHub Copilot CLI...",
278
+ "copilotInstallSuccess": "GitHub Copilot CLI installe avec succes !",
279
+ "copilotInstallNote": "Vous devrez peut-etre vous authentifier avec 'copilot auth' lors de la premiere utilisation.",
280
+ "copilotInstallFailed": "Echec de l'installation de GitHub Copilot CLI",
281
+ "copilotInstallFailedDetail": "L'installation automatique a echoue. Cela peut etre du a des problemes de permissions ou de reseau.",
282
+ "copilotManualInstall": "Pour installer manuellement, executez :\nnpm install -g @githubnext/github-copilot-cli"
271
283
  },
272
284
  "config": {
273
285
  "title": "Parametres",
@@ -287,7 +299,7 @@
287
299
  "errorsPrevented": "Erreurs Evitees",
288
300
  "aiCommits": "Commits Generes par l'IA",
289
301
  "timeSaved": "Temps Estime Economise",
290
- "noData": "Pas encore de statistiques. Commencez a utiliser GitSense !",
302
+ "noData": "Pas encore de statistiques. Commencez a utiliser GitCoach !",
291
303
  "aiPercentage": "Commits assistes par l'IA : {{percentage}}%",
292
304
  "mistakesAvoided": "Vous avez evite {{count}} erreur(s) potentielle(s) !"
293
305
  },
@@ -310,7 +322,7 @@
310
322
  "selectAction": "Que souhaitez-vous faire ?",
311
323
  "askQuestion": "Poser une question sur Git (IA)",
312
324
  "quickHelp": "Reference rapide",
313
- "about": "A propos de GitSense",
325
+ "about": "A propos de GitCoach",
314
326
  "askHint": "Posez une question sur Git en langage naturel. Laissez vide pour annuler.",
315
327
  "askExamples": "Exemples : \"Comment annuler mon dernier commit ?\" ou \"C'est quoi un rebase ?\"",
316
328
  "enterQuestion": "Votre question :",
@@ -328,10 +340,10 @@
328
340
  "mainCommands": "Commandes Principales :",
329
341
  "additionalCommands": "Commandes Supplementaires :",
330
342
  "tips": "Astuces :",
331
- "tip1": "GitSense vous avertit avant les operations dangereuses",
343
+ "tip1": "GitCoach vous avertit avant les operations dangereuses",
332
344
  "tip2": "L'IA peut generer des messages de commit a partir de vos modifications",
333
345
  "tip3": "Changez le niveau d'experience dans les parametres pour plus/moins de guidage",
334
- "aboutDesc": "GitSense est un outil CLI interactif qui aide les developpeurs a maitriser Git",
346
+ "aboutDesc": "GitCoach est un outil CLI interactif qui aide les developpeurs a maitriser Git",
335
347
  "aboutDesc2": "grace a des menus guides, des suggestions intelligentes et la prevention d'erreurs en temps reel.",
336
348
  "features": "Fonctionnalites :",
337
349
  "feature1": "Menus interactifs pour toutes les operations Git",
package/dist/index.js CHANGED
@@ -1,4 +1,4 @@
1
- // GitSense - AI-Powered Git Coach CLI
1
+ // GitCoach - AI-Powered Git Coach CLI
2
2
  // Main entry point for programmatic usage
3
3
  export * from './config/defaults.js';
4
4
  export { userConfig } from './config/user-config.js';
@@ -7,6 +7,14 @@ declare class CopilotService {
7
7
  private available;
8
8
  isAvailable(): Promise<boolean>;
9
9
  resetAvailability(): void;
10
+ /**
11
+ * Install GitHub Copilot CLI
12
+ * Returns true if installation succeeded, false otherwise
13
+ */
14
+ installCopilotCli(): Promise<{
15
+ success: boolean;
16
+ message: string;
17
+ }>;
10
18
  generateCommitMessage(diff: string): Promise<CopilotSuggestion>;
11
19
  private summarizeDiff;
12
20
  private escapeForShell;
@@ -1 +1 @@
1
- {"version":3,"file":"copilot-service.d.ts","sourceRoot":"","sources":["../../src/services/copilot-service.ts"],"names":[],"mappings":"AAGA,MAAM,WAAW,iBAAiB;IAChC,OAAO,EAAE,OAAO,CAAC;IACjB,OAAO,EAAE,MAAM,CAAC;IAChB,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB;AAED,cAAM,cAAc;IAClB,OAAO,CAAC,SAAS,CAAwB;IAEnC,WAAW,IAAI,OAAO,CAAC,OAAO,CAAC;IAwBrC,iBAAiB,IAAI,IAAI;IAInB,qBAAqB,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,iBAAiB,CAAC;IAuDrE,OAAO,CAAC,aAAa;IAuCrB,OAAO,CAAC,cAAc;IAUhB,cAAc,CAClB,MAAM,EAAE,MAAM,EACd,WAAW,EAAE,MAAM,EAAE,EACrB,aAAa,EAAE,MAAM,EAAE,GACtB,OAAO,CAAC,iBAAiB,CAAC;IA+BvB,eAAe,CACnB,MAAM,EAAE,MAAM,EACd,aAAa,EAAE,MAAM,EACrB,cAAc,EAAE,OAAO,GACtB,OAAO,CAAC,iBAAiB,CAAC;IA+BvB,cAAc,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,iBAAiB,CAAC;IA8BjE;;OAEG;IACG,cAAc,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,iBAAiB,CAAC;IA0ClE;;OAEG;IACG,eAAe,CAAC,YAAY,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,iBAAiB,CAAC;IA8CzF,OAAO,CAAC,WAAW;IAuCnB,OAAO,CAAC,kBAAkB;IAuE1B,OAAO,CAAC,eAAe;CAiCxB;AAED,eAAO,MAAM,cAAc,gBAAuB,CAAC;AACnD,eAAe,cAAc,CAAC"}
1
+ {"version":3,"file":"copilot-service.d.ts","sourceRoot":"","sources":["../../src/services/copilot-service.ts"],"names":[],"mappings":"AAGA,MAAM,WAAW,iBAAiB;IAChC,OAAO,EAAE,OAAO,CAAC;IACjB,OAAO,EAAE,MAAM,CAAC;IAChB,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB;AAED,cAAM,cAAc;IAClB,OAAO,CAAC,SAAS,CAAwB;IAEnC,WAAW,IAAI,OAAO,CAAC,OAAO,CAAC;IAwBrC,iBAAiB,IAAI,IAAI;IAIzB;;;OAGG;IACG,iBAAiB,IAAI,OAAO,CAAC;QAAE,OAAO,EAAE,OAAO,CAAC;QAAC,OAAO,EAAE,MAAM,CAAA;KAAE,CAAC;IAoCnE,qBAAqB,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,iBAAiB,CAAC;IAuDrE,OAAO,CAAC,aAAa;IAuCrB,OAAO,CAAC,cAAc;IAUhB,cAAc,CAClB,MAAM,EAAE,MAAM,EACd,WAAW,EAAE,MAAM,EAAE,EACrB,aAAa,EAAE,MAAM,EAAE,GACtB,OAAO,CAAC,iBAAiB,CAAC;IA+BvB,eAAe,CACnB,MAAM,EAAE,MAAM,EACd,aAAa,EAAE,MAAM,EACrB,cAAc,EAAE,OAAO,GACtB,OAAO,CAAC,iBAAiB,CAAC;IA+BvB,cAAc,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,iBAAiB,CAAC;IA8BjE;;OAEG;IACG,cAAc,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,iBAAiB,CAAC;IA0ClE;;OAEG;IACG,eAAe,CAAC,YAAY,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,iBAAiB,CAAC;IA8CzF,OAAO,CAAC,WAAW;IAuCnB,OAAO,CAAC,kBAAkB;IAuE1B,OAAO,CAAC,eAAe;CAiCxB;AAED,eAAO,MAAM,cAAc,gBAAuB,CAAC;AACnD,eAAe,cAAc,CAAC"}
@@ -22,10 +22,45 @@ class CopilotService {
22
22
  return false;
23
23
  }
24
24
  }
25
- // Reset cached availability (useful for testing)
25
+ // Reset cached availability (useful for testing or after installation)
26
26
  resetAvailability() {
27
27
  this.available = null;
28
28
  }
29
+ /**
30
+ * Install GitHub Copilot CLI
31
+ * Returns true if installation succeeded, false otherwise
32
+ */
33
+ async installCopilotCli() {
34
+ try {
35
+ // Install the GitHub Copilot CLI package globally
36
+ const { stdout, stderr } = await executeCommand('npm install -g @githubnext/github-copilot-cli', 120000 // 2 minute timeout for installation
37
+ );
38
+ logger.debug('Copilot CLI installation output:', { stdout, stderr });
39
+ // Reset cached availability to force re-check
40
+ this.resetAvailability();
41
+ // Verify installation worked
42
+ const isNowAvailable = await this.isAvailable();
43
+ if (isNowAvailable) {
44
+ return {
45
+ success: true,
46
+ message: 'GitHub Copilot CLI installed successfully'
47
+ };
48
+ }
49
+ else {
50
+ return {
51
+ success: false,
52
+ message: 'Installation completed but Copilot CLI verification failed'
53
+ };
54
+ }
55
+ }
56
+ catch (error) {
57
+ logger.debug('Copilot CLI installation failed:', error);
58
+ return {
59
+ success: false,
60
+ message: error instanceof Error ? error.message : 'Installation failed'
61
+ };
62
+ }
63
+ }
29
64
  async generateCommitMessage(diff) {
30
65
  if (!(await this.isAvailable())) {
31
66
  return {
@@ -1 +1 @@
1
- {"version":3,"file":"copilot-service.js","sourceRoot":"","sources":["../../src/services/copilot-service.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"copilot-service.js","sourceRoot":"","sources":["../../src/services/copilot-service.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAC;AACrD,OAAO,EAAE,MAAM,EAAE,MAAM,oBAAoB,CAAC;AAQ5C,MAAM,cAAc;IACV,SAAS,GAAmB,IAAI,CAAC;IAEzC,KAAK,CAAC,WAAW;QACf,IAAI,IAAI,CAAC,SAAS,KAAK,IAAI,EAAE,CAAC;YAC5B,OAAO,IAAI,CAAC,SAAS,CAAC;QACxB,CAAC;QAED,IAAI,CAAC;YACH,4DAA4D;YAC5D,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,GAAG,MAAM,cAAc,CAAC,mBAAmB,CAAC,CAAC;YAErE,uDAAuD;YACvD,MAAM,UAAU,GAAG,UAAU,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;YAC3C,MAAM,QAAQ,GAAG,MAAM,CAAC,QAAQ,CAAC,WAAW,CAAC,IAAI,MAAM,CAAC,QAAQ,CAAC,gBAAgB,CAAC,CAAC;YAEnF,IAAI,CAAC,SAAS,GAAG,UAAU,IAAI,CAAC,QAAQ,CAAC;YACzC,MAAM,CAAC,KAAK,CAAC,iCAAiC,EAAE,EAAE,MAAM,EAAE,MAAM,EAAE,SAAS,EAAE,IAAI,CAAC,SAAS,EAAE,CAAC,CAAC;YAC/F,OAAO,IAAI,CAAC,SAAS,CAAC;QACxB,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,MAAM,CAAC,KAAK,CAAC,wCAAwC,EAAE,KAAK,CAAC,CAAC;YAC9D,IAAI,CAAC,SAAS,GAAG,KAAK,CAAC;YACvB,OAAO,KAAK,CAAC;QACf,CAAC;IACH,CAAC;IAED,uEAAuE;IACvE,iBAAiB;QACf,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC;IACxB,CAAC;IAED;;;OAGG;IACH,KAAK,CAAC,iBAAiB;QACrB,IAAI,CAAC;YACH,kDAAkD;YAClD,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,GAAG,MAAM,cAAc,CAC7C,+CAA+C,EAC/C,MAAM,CAAC,oCAAoC;aAC5C,CAAC;YAEF,MAAM,CAAC,KAAK,CAAC,kCAAkC,EAAE,EAAE,MAAM,EAAE,MAAM,EAAE,CAAC,CAAC;YAErE,8CAA8C;YAC9C,IAAI,CAAC,iBAAiB,EAAE,CAAC;YAEzB,6BAA6B;YAC7B,MAAM,cAAc,GAAG,MAAM,IAAI,CAAC,WAAW,EAAE,CAAC;YAEhD,IAAI,cAAc,EAAE,CAAC;gBACnB,OAAO;oBACL,OAAO,EAAE,IAAI;oBACb,OAAO,EAAE,2CAA2C;iBACrD,CAAC;YACJ,CAAC;iBAAM,CAAC;gBACN,OAAO;oBACL,OAAO,EAAE,KAAK;oBACd,OAAO,EAAE,4DAA4D;iBACtE,CAAC;YACJ,CAAC;QACH,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,MAAM,CAAC,KAAK,CAAC,kCAAkC,EAAE,KAAK,CAAC,CAAC;YACxD,OAAO;gBACL,OAAO,EAAE,KAAK;gBACd,OAAO,EAAE,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,qBAAqB;aACxE,CAAC;QACJ,CAAC;IACH,CAAC;IAED,KAAK,CAAC,qBAAqB,CAAC,IAAY;QACtC,IAAI,CAAC,CAAC,MAAM,IAAI,CAAC,WAAW,EAAE,CAAC,EAAE,CAAC;YAChC,OAAO;gBACL,OAAO,EAAE,KAAK;gBACd,OAAO,EAAE,qCAAqC;aAC/C,CAAC;QACJ,CAAC;QAED,IAAI,CAAC,IAAI,IAAI,IAAI,CAAC,IAAI,EAAE,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YACtC,OAAO;gBACL,OAAO,EAAE,KAAK;gBACd,OAAO,EAAE,uBAAuB;aACjC,CAAC;QACJ,CAAC;QAED,IAAI,CAAC;YACH,yEAAyE;YACzE,MAAM,WAAW,GAAG,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,CAAC;YAE7C,qEAAqE;YACrE,MAAM,MAAM,GAAG,kEAAkE,WAAW,wHAAwH,CAAC;YAErN,MAAM,CAAC,KAAK,CAAC,iBAAiB,EAAE,MAAM,CAAC,CAAC;YAExC,6DAA6D;YAC7D,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,GAAG,MAAM,cAAc,CAC7C,eAAe,IAAI,CAAC,cAAc,CAAC,MAAM,CAAC,MAAM,EAChD,KAAK,CAAC,oCAAoC;aAC3C,CAAC;YAEF,MAAM,CAAC,KAAK,CAAC,uBAAuB,EAAE,EAAE,MAAM,EAAE,MAAM,CAAC,SAAS,CAAC,CAAC,EAAE,GAAG,CAAC,EAAE,MAAM,EAAE,CAAC,CAAC;YAEpF,6DAA6D;YAC7D,MAAM,OAAO,GAAG,IAAI,CAAC,kBAAkB,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;YAExD,IAAI,OAAO,EAAE,CAAC;gBACZ,OAAO;oBACL,OAAO,EAAE,IAAI;oBACb,OAAO;iBACR,CAAC;YACJ,CAAC;YAED,OAAO;gBACL,OAAO,EAAE,KAAK;gBACd,OAAO,EAAE,qCAAqC;aAC/C,CAAC;QACJ,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,MAAM,CAAC,KAAK,CAAC,gCAAgC,EAAE,KAAK,CAAC,CAAC;YACtD,OAAO;gBACL,OAAO,EAAE,KAAK;gBACd,OAAO,EAAE,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,eAAe;aAClE,CAAC;QACJ,CAAC;IACH,CAAC;IAEO,aAAa,CAAC,IAAY;QAChC,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;QAC/B,MAAM,KAAK,GAAa,EAAE,CAAC;QAC3B,IAAI,SAAS,GAAG,CAAC,CAAC;QAClB,IAAI,SAAS,GAAG,CAAC,CAAC;QAElB,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;YACzB,qBAAqB;YACrB,IAAI,IAAI,CAAC,UAAU,CAAC,YAAY,CAAC,EAAE,CAAC;gBAClC,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC;gBACrC,IAAI,KAAK,EAAE,CAAC;oBACV,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;gBACvB,CAAC;YACH,CAAC;YACD,oEAAoE;iBAC/D,IAAI,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC,EAAE,CAAC;gBACzD,SAAS,EAAE,CAAC;YACd,CAAC;iBACI,IAAI,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC,EAAE,CAAC;gBACzD,SAAS,EAAE,CAAC;YACd,CAAC;QACH,CAAC;QAED,oEAAoE;QACpE,MAAM,KAAK,GAAa,EAAE,CAAC;QAE3B,IAAI,KAAK,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YACrB,0CAA0C;YAC1C,MAAM,UAAU,GAAG,KAAK,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,mBAAmB,EAAE,EAAE,CAAC,CAAC,CAAC;YAClF,KAAK,CAAC,IAAI,CAAC,UAAU,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QAChD,CAAC;QAED,IAAI,SAAS,GAAG,CAAC,IAAI,SAAS,GAAG,CAAC,EAAE,CAAC;YACnC,KAAK,CAAC,IAAI,CAAC,GAAG,SAAS,eAAe,SAAS,YAAY,CAAC,CAAC;QAC/D,CAAC;QAED,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAC1B,CAAC;IAEO,cAAc,CAAC,GAAW;QAChC,OAAO,GAAG;aACP,OAAO,CAAC,KAAK,EAAE,MAAM,CAAC;aACtB,OAAO,CAAC,IAAI,EAAE,KAAK,CAAC;aACpB,OAAO,CAAC,IAAI,EAAE,KAAK,CAAC;aACpB,OAAO,CAAC,KAAK,EAAE,KAAK,CAAC;aACrB,OAAO,CAAC,KAAK,EAAE,KAAK,CAAC;aACrB,OAAO,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC;IACxB,CAAC;IAED,KAAK,CAAC,cAAc,CAClB,MAAc,EACd,WAAqB,EACrB,aAAuB;QAEvB,IAAI,CAAC,CAAC,MAAM,IAAI,CAAC,WAAW,EAAE,CAAC,EAAE,CAAC;YAChC,OAAO;gBACL,OAAO,EAAE,KAAK;gBACd,OAAO,EAAE,qCAAqC;aAC/C,CAAC;QACJ,CAAC;QAED,IAAI,CAAC;YACH,MAAM,OAAO,GAAG,WAAW,MAAM,mBAAmB,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,MAAM,qBAAqB,aAAa,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,MAAM,GAAG,CAAC;YAC/I,MAAM,MAAM,GAAG,yBAAyB,OAAO,sFAAsF,CAAC;YAEtI,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,GAAG,MAAM,cAAc,CAC7C,eAAe,IAAI,CAAC,cAAc,CAAC,MAAM,CAAC,MAAM,EAChD,KAAK,CACN,CAAC;YAEF,MAAM,UAAU,GAAG,IAAI,CAAC,eAAe,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;YAExD,OAAO;gBACL,OAAO,EAAE,CAAC,CAAC,UAAU;gBACrB,OAAO,EAAE,UAAU,IAAI,yBAAyB;aACjD,CAAC;QACJ,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,OAAO;gBACL,OAAO,EAAE,KAAK;gBACd,OAAO,EAAE,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,eAAe;aAClE,CAAC;QACJ,CAAC;IACH,CAAC;IAED,KAAK,CAAC,eAAe,CACnB,MAAc,EACd,aAAqB,EACrB,cAAuB;QAEvB,IAAI,CAAC,CAAC,MAAM,IAAI,CAAC,WAAW,EAAE,CAAC,EAAE,CAAC;YAChC,OAAO;gBACL,OAAO,EAAE,KAAK;gBACd,OAAO,EAAE,qCAAqC;aAC/C,CAAC;QACJ,CAAC;QAED,IAAI,CAAC;YACH,MAAM,OAAO,GAAG,WAAW,MAAM,aAAa,aAAa,0BAA0B,cAAc,GAAG,CAAC;YACvG,MAAM,MAAM,GAAG,wCAAwC,OAAO,iCAAiC,CAAC;YAEhG,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,GAAG,MAAM,cAAc,CAC7C,eAAe,IAAI,CAAC,cAAc,CAAC,MAAM,CAAC,MAAM,EAChD,KAAK,CACN,CAAC;YAEF,MAAM,UAAU,GAAG,IAAI,CAAC,eAAe,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;YAExD,OAAO;gBACL,OAAO,EAAE,IAAI;gBACb,OAAO,EAAE,UAAU,IAAI,qBAAqB;aAC7C,CAAC;QACJ,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,OAAO;gBACL,OAAO,EAAE,KAAK;gBACd,OAAO,EAAE,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,eAAe;aAClE,CAAC;QACJ,CAAC;IACH,CAAC;IAED,KAAK,CAAC,cAAc,CAAC,OAAe;QAClC,IAAI,CAAC,CAAC,MAAM,IAAI,CAAC,WAAW,EAAE,CAAC,EAAE,CAAC;YAChC,OAAO;gBACL,OAAO,EAAE,KAAK;gBACd,OAAO,EAAE,qCAAqC;aAC/C,CAAC;QACJ,CAAC;QAED,IAAI,CAAC;YACH,MAAM,MAAM,GAAG,qEAAqE,OAAO,EAAE,CAAC;YAE9F,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,GAAG,MAAM,cAAc,CAC7C,eAAe,IAAI,CAAC,cAAc,CAAC,MAAM,CAAC,MAAM,EAChD,KAAK,CACN,CAAC;YAEF,MAAM,WAAW,GAAG,IAAI,CAAC,eAAe,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;YAEzD,OAAO;gBACL,OAAO,EAAE,CAAC,CAAC,WAAW;gBACtB,OAAO,EAAE,WAAW,IAAI,0BAA0B;aACnD,CAAC;QACJ,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,OAAO;gBACL,OAAO,EAAE,KAAK;gBACd,OAAO,EAAE,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,eAAe;aAClE,CAAC;QACJ,CAAC;IACH,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,cAAc,CAAC,QAAgB;QACnC,IAAI,CAAC,CAAC,MAAM,IAAI,CAAC,WAAW,EAAE,CAAC,EAAE,CAAC;YAChC,OAAO;gBACL,OAAO,EAAE,KAAK;gBACd,OAAO,EAAE,qCAAqC;aAC/C,CAAC;QACJ,CAAC;QAED,IAAI,CAAC,QAAQ,IAAI,QAAQ,CAAC,IAAI,EAAE,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YAC9C,OAAO;gBACL,OAAO,EAAE,KAAK;gBACd,OAAO,EAAE,2BAA2B;aACrC,CAAC;QACJ,CAAC;QAED,IAAI,CAAC;YACH,MAAM,MAAM,GAAG;;YAET,QAAQ;;iFAE6D,CAAC;YAE5E,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,GAAG,MAAM,cAAc,CAC7C,eAAe,IAAI,CAAC,cAAc,CAAC,MAAM,CAAC,MAAM,EAChD,KAAK,CACN,CAAC;YAEF,MAAM,MAAM,GAAG,IAAI,CAAC,WAAW,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;YAEhD,OAAO;gBACL,OAAO,EAAE,CAAC,CAAC,MAAM;gBACjB,OAAO,EAAE,MAAM,IAAI,yBAAyB;aAC7C,CAAC;QACJ,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,MAAM,CAAC,KAAK,CAAC,wBAAwB,EAAE,KAAK,CAAC,CAAC;YAC9C,OAAO;gBACL,OAAO,EAAE,KAAK;gBACd,OAAO,EAAE,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,eAAe;aAClE,CAAC;QACJ,CAAC;IACH,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,eAAe,CAAC,YAAoB,EAAE,OAAgB;QAC1D,IAAI,CAAC,CAAC,MAAM,IAAI,CAAC,WAAW,EAAE,CAAC,EAAE,CAAC;YAChC,OAAO;gBACL,OAAO,EAAE,KAAK;gBACd,OAAO,EAAE,qCAAqC;aAC/C,CAAC;QACJ,CAAC;QAED,IAAI,CAAC,YAAY,IAAI,YAAY,CAAC,IAAI,EAAE,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YACtD,OAAO;gBACL,OAAO,EAAE,KAAK;gBACd,OAAO,EAAE,2BAA2B;aACrC,CAAC;QACJ,CAAC;QAED,IAAI,CAAC;YACH,MAAM,cAAc,GAAG,OAAO,CAAC,CAAC,CAAC,qBAAqB,OAAO,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC;YACvE,MAAM,MAAM,GAAG;;EAEnB,cAAc,kBAAkB,YAAY;;;;;0BAKpB,CAAC;YAErB,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,GAAG,MAAM,cAAc,CAC7C,eAAe,IAAI,CAAC,cAAc,CAAC,MAAM,CAAC,MAAM,EAChD,KAAK,CACN,CAAC;YAEF,MAAM,WAAW,GAAG,IAAI,CAAC,WAAW,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;YAErD,OAAO;gBACL,OAAO,EAAE,CAAC,CAAC,WAAW;gBACtB,OAAO,EAAE,WAAW,IAAI,6BAA6B;aACtD,CAAC;QACJ,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,MAAM,CAAC,KAAK,CAAC,yBAAyB,EAAE,KAAK,CAAC,CAAC;YAC/C,OAAO;gBACL,OAAO,EAAE,KAAK;gBACd,OAAO,EAAE,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,eAAe;aAClE,CAAC;QACJ,CAAC;IACH,CAAC;IAEO,WAAW,CAAC,MAAc,EAAE,MAAe;QACjD,MAAM,QAAQ,GAAG,GAAG,MAAM,KAAK,MAAM,IAAI,EAAE,EAAE,CAAC,IAAI,EAAE,CAAC;QACrD,MAAM,KAAK,GAAG,QAAQ,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;QAEnC,qCAAqC;QACrC,MAAM,cAAc,GAAG;YACrB,OAAO;YACP,UAAU;YACV,QAAQ;YACR,UAAU;YACV,0BAA0B;YAC1B,SAAS;YACT,SAAS;YACT,UAAU;YACV,WAAW;SACZ,CAAC;QAEF,+BAA+B;QAC/B,MAAM,eAAe,GAAa,EAAE,CAAC;QAErC,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;YACzB,MAAM,OAAO,GAAG,IAAI,CAAC,IAAI,EAAE,CAAC;YAE5B,IAAI,cAAc,CAAC,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,EAAE,CAAC;gBAC1D,SAAS;YACX,CAAC;YAED,IAAI,OAAO,CAAC,MAAM,IAAI,CAAC,EAAE,CAAC;gBACxB,eAAe,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;YAChC,CAAC;QACH,CAAC;QAED,IAAI,eAAe,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YAC/B,OAAO,eAAe,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACpC,CAAC;QAED,OAAO,IAAI,CAAC;IACd,CAAC;IAEO,kBAAkB,CAAC,MAAc,EAAE,MAAe;QACxD,4BAA4B;QAC5B,MAAM,QAAQ,GAAG,GAAG,MAAM,KAAK,MAAM,IAAI,EAAE,EAAE,CAAC,IAAI,EAAE,CAAC;QACrD,MAAM,KAAK,GAAG,QAAQ,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;QAEnC,kDAAkD;QAClD,MAAM,cAAc,GAAG;YACrB,OAAO;YACP,IAAI;YACJ,KAAK;YACL,IAAI;YACJ,UAAU;YACV,QAAQ;YACR,UAAU;YACV,0BAA0B;YAC1B,SAAS;YACT,SAAS;YACT,UAAU;YACV,WAAW;SACZ,CAAC;QAEF,mDAAmD;QACnD,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;YACzB,MAAM,OAAO,GAAG,IAAI,CAAC,IAAI,EAAE,CAAC;YAE5B,yBAAyB;YACzB,IAAI,cAAc,CAAC,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,EAAE,CAAC;gBAC1D,SAAS;YACX,CAAC;YAED,mCAAmC;YACnC,IAAI,mFAAmF,CAAC,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC;gBACtG,kDAAkD;gBAClD,OAAO,OAAO,CAAC,OAAO,CAAC,gBAAgB,EAAE,EAAE,CAAC,CAAC,SAAS,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC;YACjE,CAAC;QACH,CAAC;QAED,2DAA2D;QAC3D,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;YACzB,MAAM,OAAO,GAAG,IAAI,CAAC,IAAI,EAAE,CAAC;YAE5B,yBAAyB;YACzB,IAAI,cAAc,CAAC,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,EAAE,CAAC;gBAC1D,SAAS;YACX,CAAC;YAED,mFAAmF;YACnF,IAAI,OAAO,CAAC,MAAM,IAAI,EAAE,IAAI,OAAO,CAAC,MAAM,IAAI,GAAG,EAAE,CAAC;gBAClD,+CAA+C;gBAC/C,IAAI,uFAAuF,CAAC,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC;oBAC1G,OAAO,OAAO,CAAC,OAAO,CAAC,gBAAgB,EAAE,EAAE,CAAC,CAAC;gBAC/C,CAAC;YACH,CAAC;QACH,CAAC;QAED,kDAAkD;QAClD,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;YACzB,MAAM,OAAO,GAAG,IAAI,CAAC,IAAI,EAAE,CAAC;YAE5B,IAAI,cAAc,CAAC,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,EAAE,CAAC;gBAC1D,SAAS;YACX,CAAC;YAED,IAAI,OAAO,CAAC,MAAM,IAAI,CAAC,IAAI,OAAO,CAAC,MAAM,IAAI,GAAG,EAAE,CAAC;gBACjD,OAAO,OAAO,CAAC,OAAO,CAAC,gBAAgB,EAAE,EAAE,CAAC,CAAC;YAC/C,CAAC;QACH,CAAC;QAED,OAAO,IAAI,CAAC;IACd,CAAC;IAEO,eAAe,CAAC,MAAc,EAAE,MAAe;QACrD,MAAM,QAAQ,GAAG,GAAG,MAAM,KAAK,MAAM,IAAI,EAAE,EAAE,CAAC,IAAI,EAAE,CAAC;QACrD,MAAM,KAAK,GAAG,QAAQ,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;QAEnC,yBAAyB;QACzB,MAAM,cAAc,GAAG;YACrB,OAAO;YACP,IAAI;YACJ,KAAK;YACL,IAAI;YACJ,UAAU;YACV,QAAQ;YACR,UAAU;YACV,0BAA0B;YAC1B,SAAS;YACT,SAAS;SACV,CAAC;QAEF,qDAAqD;QACrD,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;YACzB,MAAM,OAAO,GAAG,IAAI,CAAC,IAAI,EAAE,CAAC;YAE5B,IAAI,cAAc,CAAC,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,EAAE,CAAC;gBAC1D,SAAS;YACX,CAAC;YAED,IAAI,OAAO,CAAC,MAAM,IAAI,EAAE,IAAI,OAAO,CAAC,MAAM,IAAI,GAAG,EAAE,CAAC;gBAClD,OAAO,OAAO,CAAC;YACjB,CAAC;QACH,CAAC;QAED,OAAO,IAAI,CAAC;IACd,CAAC;CACF;AAED,MAAM,CAAC,MAAM,cAAc,GAAG,IAAI,cAAc,EAAE,CAAC;AACnD,eAAe,cAAc,CAAC"}
@@ -3,12 +3,12 @@ import chalk from 'chalk';
3
3
  import { getTheme } from '../themes/index.js';
4
4
  import { userConfig } from '../../config/user-config.js';
5
5
  const ASCII_BANNER = `
6
- ██████╗ ██╗████████╗███████╗███████╗███╗ ██╗███████╗███████╗
7
- ██╔════╝ ██║╚══██╔══╝██╔════╝██╔════╝████╗ ██║██╔════╝██╔════╝
8
- ██║ ███╗██║ ██║ ███████╗█████╗ ██╔██╗ ██║███████╗█████╗
9
- ██║ ██║██║ ██║ ╚════██║██╔══╝ ██║╚██╗██║╚════██║██╔══╝
10
- ╚██████╔╝██║ ██║ ███████║███████╗██║ ╚████║███████║███████╗
11
- ╚═════╝ ╚═╝ ╚═╝ ╚══════╝╚══════╝╚═╝ ╚═══╝╚══════╝╚══════╝
6
+ ██████╗ ██╗████████╗ ██████╗ ██████╗ █████╗ ██████╗██╗ ██╗
7
+ ██╔════╝ ██║╚══██╔══╝██╔════╝██╔═══██╗██╔══██╗██╔════╝██║ ██║
8
+ ██║ ███╗██║ ██║ ██║ ██║ ██║███████║██║ ███████║
9
+ ██║ ██║██║ ██║ ██║ ██║ ██║██╔══██║██║ ██╔══██║
10
+ ╚██████╔╝██║ ██║ ╚██████╗╚██████╔╝██║ ██║╚██████╗██║ ██║
11
+ ╚═════╝ ╚═╝ ╚═╝ ╚═════╝ ╚═════╝ ╚═╝ ╚═╝ ╚═════╝╚═╝ ╚═╝
12
12
  `;
13
13
  export function createBox(content, options = {}) {
14
14
  const isMonochrome = userConfig.getTheme() === 'monochrome';
@@ -20,7 +20,7 @@ export async function showHelpMenu() {
20
20
  value: 'quickHelp'
21
21
  },
22
22
  {
23
- name: theme.menuItem('I', t('help.about') || 'About GitSense'),
23
+ name: theme.menuItem('I', t('help.about') || 'About GitCoach'),
24
24
  value: 'about'
25
25
  },
26
26
  {
@@ -106,18 +106,18 @@ function showQuickReference() {
106
106
  logger.raw(' [W] Stash - ' + (t('menu.stashDesc') || 'Save work temporarily'));
107
107
  logger.raw('');
108
108
  logger.raw(theme.textBold(t('help.tips') || 'Tips:'));
109
- logger.raw(' - ' + (t('help.tip1') || 'GitSense warns you before dangerous operations'));
109
+ logger.raw(' - ' + (t('help.tip1') || 'GitCoach warns you before dangerous operations'));
110
110
  logger.raw(' - ' + (t('help.tip2') || 'AI can generate commit messages from your changes'));
111
111
  logger.raw(' - ' + (t('help.tip3') || 'Change experience level in settings for more/less guidance'));
112
112
  logger.raw('');
113
113
  }
114
114
  function showAbout() {
115
115
  const theme = getTheme();
116
- logger.raw('\n' + theme.title('About GitSense') + '\n');
117
- logger.raw(theme.textBold('GitSense v1.0.0'));
116
+ logger.raw('\n' + theme.title('About GitCoach') + '\n');
117
+ logger.raw(theme.textBold('GitCoach v1.0.0'));
118
118
  logger.raw(t('app.tagline') || 'Your AI-Powered Git Coach');
119
119
  logger.raw('');
120
- logger.raw(t('help.aboutDesc') || 'GitSense is an interactive CLI tool that helps developers master Git');
120
+ logger.raw(t('help.aboutDesc') || 'GitCoach is an interactive CLI tool that helps developers master Git');
121
121
  logger.raw(t('help.aboutDesc2') || 'through guided menus, intelligent suggestions, and real-time error prevention.');
122
122
  logger.raw('');
123
123
  logger.raw(theme.textBold(t('help.features') || 'Features:'));
package/package.json CHANGED
@@ -1,11 +1,11 @@
1
1
  {
2
2
  "name": "gitcoach-cli",
3
- "version": "1.0.0",
3
+ "version": "1.0.1",
4
4
  "description": "AI-powered Git coach CLI that prevents mistakes before they happen",
5
5
  "type": "module",
6
6
  "main": "dist/index.js",
7
7
  "bin": {
8
- "gitsense": "./bin/run.js"
8
+ "gitcoach": "./bin/run.js"
9
9
  },
10
10
  "scripts": {
11
11
  "dev": "tsc -w",
@@ -33,8 +33,8 @@
33
33
  "author": "",
34
34
  "license": "MIT",
35
35
  "oclif": {
36
- "bin": "gitsense",
37
- "dirname": "gitsense",
36
+ "bin": "gitcoach",
37
+ "dirname": "gitcoach",
38
38
  "commands": "./dist/commands",
39
39
  "topicSeparator": " "
40
40
  },
@@ -51,7 +51,7 @@
51
51
  "conf": "^13.1.0",
52
52
  "i18next": "^24.2.2",
53
53
  "ora": "^8.1.1",
54
- "simple-git": "^3.27.0"
54
+ "simple-git": "^3.30.0"
55
55
  },
56
56
  "devDependencies": {
57
57
  "@types/jest": "^29.5.14",