orcommit 1.2.18 → 1.2.19

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/README.md CHANGED
@@ -95,6 +95,37 @@ orc commit
95
95
 
96
96
  That’s it.
97
97
 
98
+ > **Don't use `sudo npm install -g`.** A root-owned global install creates files
99
+ > that break every later (non-sudo) update with `EACCES`. If `npm install -g`
100
+ > asks for elevated permissions, your npm prefix is system-owned — fix it once
101
+ > with a user-owned prefix (no sudo ever again):
102
+ >
103
+ > ```bash
104
+ > mkdir -p ~/.npm-global
105
+ > npm config set prefix ~/.npm-global
106
+ > echo 'export PATH="$HOME/.npm-global/bin:$PATH"' >> ~/.zshrc
107
+ > source ~/.zshrc
108
+ > ```
109
+
110
+ ### Updating
111
+
112
+ ```bash
113
+ npm install -g orcommit@latest
114
+ ```
115
+
116
+ orc also tells you when a newer version is available. It never auto-installs and
117
+ never asks for sudo.
118
+
119
+ ### Troubleshooting
120
+
121
+ If `orc` reports the wrong version, won't update, or you suspect duplicate
122
+ installs, run the built-in diagnostic — it inspects your npm prefix, every `orc`
123
+ on your `PATH`, and the installed-vs-latest version, then prints exact fixes:
124
+
125
+ ```bash
126
+ orc doctor
127
+ ```
128
+
98
129
  ---
99
130
 
100
131
  ## 🛠 Common Commands
@@ -106,6 +137,7 @@ orc commit --context "..." # extra context
106
137
  orc commit --emoji # gitmoji
107
138
  orc commit --breaking # breaking change
108
139
  orc commit --dry-run # preview only
140
+ orc doctor # diagnose install / PATH / update issues
109
141
  ```
110
142
 
111
143
  👉 [Full CLI reference](https://github.com/markolofsen/openrouter-commit/blob/main/docs/cli.md)
package/dist/cli.d.ts CHANGED
@@ -33,6 +33,10 @@ declare class CliApplication {
33
33
  * Handle test command
34
34
  */
35
35
  private handleTestCommand;
36
+ /**
37
+ * Diagnose installation / PATH / update issues and print fixes.
38
+ */
39
+ private handleDoctorCommand;
36
40
  /**
37
41
  * Handle watch mode
38
42
  */
package/dist/cli.d.ts.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"cli.d.ts","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":";AAgBA;;GAEG;AACH,cAAM,cAAc;IAClB,OAAO,CAAC,OAAO,CAAU;;IAQzB;;OAEG;IACH,OAAO,CAAC,aAAa;IA4IrB;;OAEG;YACW,mBAAmB;IAwBjC;;OAEG;YACW,eAAe;IAgB7B;;OAEG;YACW,eAAe;IA0C7B;;OAEG;YACW,iBAAiB;IAgB/B;;OAEG;YACW,kBAAkB;IAkBhC;;OAEG;YACW,iBAAiB;IA+B/B;;OAEG;YACW,eAAe;IAQ7B;;OAEG;YACW,gBAAgB;IAmB9B;;OAEG;YACW,gBAAgB;IAc9B;;OAEG;YACW,kBAAkB;IAchC;;OAEG;YACW,eAAe;IAgB7B;;OAEG;IACH,OAAO,CAAC,kBAAkB;IAa1B;;OAEG;IACH,OAAO,CAAC,gBAAgB;IAOxB;;OAEG;IACH,OAAO,CAAC,eAAe;IAIvB;;OAEG;IACG,GAAG,IAAI,OAAO,CAAC,IAAI,CAAC;CAkB3B;AASD,OAAO,EAAE,cAAc,EAAE,CAAC"}
1
+ {"version":3,"file":"cli.d.ts","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":";AAiBA;;GAEG;AACH,cAAM,cAAc;IAClB,OAAO,CAAC,OAAO,CAAU;;IAQzB;;OAEG;IACH,OAAO,CAAC,aAAa;IAoJrB;;OAEG;YACW,mBAAmB;IAwBjC;;OAEG;YACW,eAAe;IAgB7B;;OAEG;YACW,eAAe;IA0C7B;;OAEG;YACW,iBAAiB;IAgB/B;;OAEG;YACW,kBAAkB;IAkBhC;;OAEG;YACW,iBAAiB;IA+B/B;;OAEG;YACW,mBAAmB;IAYjC;;OAEG;YACW,eAAe;IAQ7B;;OAEG;YACW,gBAAgB;IAmB9B;;OAEG;YACW,gBAAgB;IAc9B;;OAEG;YACW,kBAAkB;IAchC;;OAEG;YACW,eAAe;IAgB7B;;OAEG;IACH,OAAO,CAAC,kBAAkB;IAa1B;;OAEG;IACH,OAAO,CAAC,gBAAgB;IAOxB;;OAEG;IACH,OAAO,CAAC,eAAe;IAIvB;;OAEG;IACG,GAAG,IAAI,OAAO,CAAC,IAAI,CAAC;CAqC3B;AASD,OAAO,EAAE,cAAc,EAAE,CAAC"}
package/dist/cli.js CHANGED
@@ -5,6 +5,7 @@ import { coreOrchestrator } from './modules/core.js';
5
5
  import { configManager } from './modules/config.js';
6
6
  import { logger } from './modules/logger.js';
7
7
  import { AutoUpdater } from './modules/auto-updater.js';
8
+ import { Doctor } from './modules/doctor.js';
8
9
  // Import package.json for version and update checking
9
10
  import { createRequire } from 'module';
10
11
  const require = createRequire(import.meta.url);
@@ -36,7 +37,8 @@ class CliApplication {
36
37
  .option('-t, --type <type>', 'Specify commit type', this.validateCommitType)
37
38
  .option('-b, --breaking', 'Mark as breaking change', false)
38
39
  .option('-d, --dry-run', 'Generate message without creating commit', false)
39
- .option('-v, --verbose', 'Enable verbose logging', false)
40
+ // NOTE: no -v short flag here -v is reserved program-wide for --version.
41
+ .option('--verbose', 'Enable verbose logging', false)
40
42
  .option('-w, --watch', 'Watch for changes and auto-generate commits', false)
41
43
  .option('-p, --provider <provider>', 'Specify AI provider (openrouter|openai)', this.validateProvider)
42
44
  // Extended formatting options
@@ -124,6 +126,12 @@ class CliApplication {
124
126
  .action(async (provider) => {
125
127
  await this.handleTestCommand(provider);
126
128
  });
129
+ this.program
130
+ .command('doctor')
131
+ .description('Diagnose installation, PATH, and update issues')
132
+ .action(async () => {
133
+ await this.handleDoctorCommand();
134
+ });
127
135
  // Global options
128
136
  this.program
129
137
  .option('--no-color', 'Disable colored output')
@@ -294,6 +302,21 @@ class CliApplication {
294
302
  process.exit(1);
295
303
  }
296
304
  }
305
+ /**
306
+ * Diagnose installation / PATH / update issues and print fixes.
307
+ */
308
+ async handleDoctorCommand() {
309
+ try {
310
+ const doctor = new Doctor(packageJson.version);
311
+ const report = await doctor.run();
312
+ Doctor.print(report);
313
+ process.exit(report.hasProblems ? 1 : 0);
314
+ }
315
+ catch (error) {
316
+ logger.error('Doctor failed', error);
317
+ process.exit(1);
318
+ }
319
+ }
297
320
  /**
298
321
  * Handle watch mode
299
322
  */
@@ -359,9 +382,9 @@ class CliApplication {
359
382
  async checkForUpdates() {
360
383
  try {
361
384
  const autoUpdater = new AutoUpdater(packageJson);
362
- // Run silent update in background (non-blocking)
363
- // This will auto-update if possible, or show notification if sudo needed
364
- autoUpdater.silentUpdate().catch(() => {
385
+ // Notification-only (non-blocking). Never auto-installs and never
386
+ // suggests sudo see AutoUpdater.notifyIfUpdateAvailable for rationale.
387
+ autoUpdater.notifyIfUpdateAvailable().catch(() => {
365
388
  // Silent failure - don't interrupt user workflow
366
389
  });
367
390
  }
@@ -406,20 +429,36 @@ class CliApplication {
406
429
  await this.program.parseAsync(process.argv);
407
430
  }
408
431
  catch (error) {
409
- if (error instanceof Error) {
410
- if (error.message.includes('outputHelp')) {
411
- // Help was requested, exit normally
412
- process.exit(0);
432
+ // With program.exitOverride(), commander throws a CommanderError instead
433
+ // of calling process.exit(). Several of its codes are NORMAL outcomes —
434
+ // printing --version or --help, or an empty invocation — and must exit 0,
435
+ // not be reported as a "CLI error". Previously only the help path was
436
+ // handled, so `orc -v` printed the version and then died with exit 1 and
437
+ // a spurious "✗ CLI error" line.
438
+ const commanderError = error;
439
+ const cleanExitCodes = new Set([
440
+ 'commander.version',
441
+ 'commander.helpDisplayed',
442
+ 'commander.help',
443
+ 'commander.missingArgument', // commander already printed a usage message
444
+ ]);
445
+ if (commanderError && typeof commanderError.code === 'string') {
446
+ if (cleanExitCodes.has(commanderError.code)) {
447
+ process.exit(commanderError.exitCode ?? 0);
413
448
  }
414
- else {
415
- logger.error('CLI error', error);
416
- process.exit(1);
449
+ // Other commander.* errors (e.g. unknown option) already printed a
450
+ // helpful message via configureOutput; exit with its code, no stack.
451
+ if (commanderError.code.startsWith('commander.')) {
452
+ process.exit(commanderError.exitCode ?? 1);
417
453
  }
418
454
  }
455
+ if (error instanceof Error) {
456
+ logger.error('CLI error', error);
457
+ }
419
458
  else {
420
459
  logger.error('Unknown CLI error');
421
- process.exit(1);
422
460
  }
461
+ process.exit(1);
423
462
  }
424
463
  }
425
464
  }
package/dist/cli.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"cli.js","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"cli.js","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":"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"}
@@ -16,23 +16,25 @@ export declare class AutoUpdater {
16
16
  */
17
17
  checkForUpdates(): Promise<UpdateCheckResult>;
18
18
  /**
19
- * Silently update in background (downloads to cache)
20
- */
21
- silentUpdate(): Promise<boolean>;
22
- /**
23
- * Check if current process can update globally (has write access to global node_modules)
24
- */
25
- private checkGlobalUpdatePermission;
26
- /**
27
- * Update package globally
28
- */
29
- private updateGlobally;
30
- /**
31
- * Detect package manager (npm or pnpm)
32
- */
33
- private detectPackageManager;
34
- /**
35
- * Show update notification to user
19
+ * Check for updates and, if one exists, print a single non-intrusive
20
+ * notification line. NEVER installs anything automatically.
21
+ *
22
+ * Rationale: the previous implementation silently ran `npm install -g` behind
23
+ * the user's back when it had write access, and recommended `sudo npm i -g`
24
+ * when it didn't. The sudo path is actively harmful — it creates root-owned
25
+ * files under the global prefix that then break every future non-sudo
26
+ * install (exactly the EACCES trap users hit). Updating the user's binary
27
+ * without consent is also surprising. So this is now notification-only, and
28
+ * the suggested command never contains sudo.
29
+ */
30
+ notifyIfUpdateAvailable(): Promise<boolean>;
31
+ /**
32
+ * Show update notification to user.
33
+ *
34
+ * The suggested command intentionally NEVER uses sudo: a sudo global install
35
+ * creates root-owned files that break later non-sudo installs. If the user's
36
+ * setup genuinely needs elevated rights, that's a sign the global prefix is
37
+ * misconfigured — `orc doctor` diagnoses and explains how to fix it properly.
36
38
  */
37
39
  private showUpdateNotification;
38
40
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"auto-updater.d.ts","sourceRoot":"","sources":["../../src/modules/auto-updater.ts"],"names":[],"mappings":"AAIA,OAAuB,EAAE,OAAO,EAAE,MAAM,iBAAiB,CAAC;AAI1D,UAAU,iBAAiB;IACzB,SAAS,EAAE,OAAO,CAAC;IACnB,cAAc,EAAE,MAAM,CAAC;IACvB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,WAAW,EAAE,MAAM,CAAC;CACrB;AAQD,qBAAa,WAAW;IACtB,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAS;IAClC,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAS;IACnC,OAAO,CAAC,QAAQ,CAAC,cAAc,CAAuB;IACtD,OAAO,CAAC,QAAQ,CAAC,WAAW,CAAU;gBAE1B,WAAW,EAAE,OAAO;IAMhC;;OAEG;IACG,eAAe,IAAI,OAAO,CAAC,iBAAiB,CAAC;IAuDnD;;OAEG;IACG,YAAY,IAAI,OAAO,CAAC,OAAO,CAAC;IAkCtC;;OAEG;YACW,2BAA2B;IAmBzC;;OAEG;YACW,cAAc;IAuB5B;;OAEG;YACW,oBAAoB;IASlC;;OAEG;IACH,OAAO,CAAC,sBAAsB;IAe9B;;OAEG;IACH,OAAO,CAAC,cAAc;IAetB;;OAEG;YACW,SAAS;IAUvB;;OAEG;YACW,SAAS;IAUvB;;OAEG;IACG,UAAU,IAAI,OAAO,CAAC,IAAI,CAAC;CAOlC"}
1
+ {"version":3,"file":"auto-updater.d.ts","sourceRoot":"","sources":["../../src/modules/auto-updater.ts"],"names":[],"mappings":"AAGA,OAAuB,EAAE,OAAO,EAAE,MAAM,iBAAiB,CAAC;AAI1D,UAAU,iBAAiB;IACzB,SAAS,EAAE,OAAO,CAAC;IACnB,cAAc,EAAE,MAAM,CAAC;IACvB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,WAAW,EAAE,MAAM,CAAC;CACrB;AAQD,qBAAa,WAAW;IACtB,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAS;IAClC,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAS;IACnC,OAAO,CAAC,QAAQ,CAAC,cAAc,CAAuB;IACtD,OAAO,CAAC,QAAQ,CAAC,WAAW,CAAU;gBAE1B,WAAW,EAAE,OAAO;IAMhC;;OAEG;IACG,eAAe,IAAI,OAAO,CAAC,iBAAiB,CAAC;IAuDnD;;;;;;;;;;;OAWG;IACG,uBAAuB,IAAI,OAAO,CAAC,OAAO,CAAC;IAuBjD;;;;;;;OAOG;IACH,OAAO,CAAC,sBAAsB;IAQ9B;;OAEG;IACH,OAAO,CAAC,cAAc;IAetB;;OAEG;YACW,SAAS;IAUvB;;OAEG;YACW,SAAS;IAUvB;;OAEG;IACG,UAAU,IAAI,OAAO,CAAC,IAAI,CAAC;CAOlC"}
@@ -1,7 +1,6 @@
1
1
  import { promises as fs } from 'fs';
2
2
  import { join } from 'path';
3
3
  import { homedir } from 'os';
4
- import { execSync } from 'child_process';
5
4
  import updateNotifier from 'update-notifier';
6
5
  import chalk from 'chalk';
7
6
  import { logger } from './logger.js';
@@ -67,9 +66,18 @@ export class AutoUpdater {
67
66
  }
68
67
  }
69
68
  /**
70
- * Silently update in background (downloads to cache)
69
+ * Check for updates and, if one exists, print a single non-intrusive
70
+ * notification line. NEVER installs anything automatically.
71
+ *
72
+ * Rationale: the previous implementation silently ran `npm install -g` behind
73
+ * the user's back when it had write access, and recommended `sudo npm i -g`
74
+ * when it didn't. The sudo path is actively harmful — it creates root-owned
75
+ * files under the global prefix that then break every future non-sudo
76
+ * install (exactly the EACCES trap users hit). Updating the user's binary
77
+ * without consent is also surprising. So this is now notification-only, and
78
+ * the suggested command never contains sudo.
71
79
  */
72
- async silentUpdate() {
80
+ async notifyIfUpdateAvailable() {
73
81
  try {
74
82
  const checkResult = await this.checkForUpdates();
75
83
  if (!checkResult.hasUpdate || !checkResult.latestVersion) {
@@ -78,93 +86,30 @@ export class AutoUpdater {
78
86
  }
79
87
  logger.debug('Update available', {
80
88
  current: checkResult.currentVersion,
81
- latest: checkResult.latestVersion
89
+ latest: checkResult.latestVersion,
82
90
  });
83
- // Check if we can update globally (has sudo rights)
84
- const canUpdateGlobally = await this.checkGlobalUpdatePermission();
85
- if (canUpdateGlobally) {
86
- // Update globally
87
- await this.updateGlobally();
88
- return true;
89
- }
90
- else {
91
- // Show update notification with instructions
92
- this.showUpdateNotification(checkResult.latestVersion);
93
- return false;
94
- }
91
+ this.showUpdateNotification(checkResult.latestVersion);
92
+ return true;
95
93
  }
96
94
  catch (error) {
97
95
  // Silent failure - don't interrupt user workflow
98
- logger.debug('Silent update failed', error);
99
- return false;
100
- }
101
- }
102
- /**
103
- * Check if current process can update globally (has write access to global node_modules)
104
- */
105
- async checkGlobalUpdatePermission() {
106
- try {
107
- // Get global npm prefix
108
- const prefix = execSync('npm config get prefix', {
109
- encoding: 'utf-8',
110
- stdio: ['pipe', 'pipe', 'ignore']
111
- }).trim();
112
- const globalModules = join(prefix, 'lib', 'node_modules');
113
- // Try to access with write permission
114
- await fs.access(globalModules, fs.constants.W_OK);
115
- return true;
116
- }
117
- catch {
96
+ logger.debug('Update notification failed', error);
118
97
  return false;
119
98
  }
120
99
  }
121
100
  /**
122
- * Update package globally
123
- */
124
- async updateGlobally() {
125
- try {
126
- logger.info('Updating orcommit to latest version...');
127
- // Determine package manager
128
- const packageManager = await this.detectPackageManager();
129
- const command = packageManager === 'pnpm'
130
- ? 'pnpm add -g orcommit@latest'
131
- : 'npm install -g orcommit@latest';
132
- execSync(command, {
133
- stdio: ['ignore', 'pipe', 'pipe'],
134
- encoding: 'utf-8'
135
- });
136
- logger.info('Successfully updated orcommit!');
137
- }
138
- catch (error) {
139
- throw new Error(`Global update failed: ${error.message}`);
140
- }
141
- }
142
- /**
143
- * Detect package manager (npm or pnpm)
144
- */
145
- async detectPackageManager() {
146
- try {
147
- execSync('pnpm --version', { stdio: 'ignore' });
148
- return 'pnpm';
149
- }
150
- catch {
151
- return 'npm';
152
- }
153
- }
154
- /**
155
- * Show update notification to user
101
+ * Show update notification to user.
102
+ *
103
+ * The suggested command intentionally NEVER uses sudo: a sudo global install
104
+ * creates root-owned files that break later non-sudo installs. If the user's
105
+ * setup genuinely needs elevated rights, that's a sign the global prefix is
106
+ * misconfigured `orc doctor` diagnoses and explains how to fix it properly.
156
107
  */
157
108
  showUpdateNotification(latestVersion) {
158
- const canUseSudo = process.platform !== 'win32';
159
- const packageManager = 'npm'; // Default to npm for instructions
160
109
  console.log('');
161
110
  logger.info(`Update available: ${this.packageJson.version} → ${latestVersion}`);
162
- if (canUseSudo) {
163
- console.log(` Run: ${chalk.cyan(`sudo ${packageManager} install -g orcommit@latest`)}`);
164
- }
165
- else {
166
- console.log(` Run: ${chalk.cyan(`${packageManager} install -g orcommit@latest`)}`);
167
- }
111
+ console.log(` Run: ${chalk.cyan('npm install -g orcommit@latest')}`);
112
+ console.log(` ${chalk.gray('Permission error? Run')} ${chalk.cyan('orc doctor')} ${chalk.gray('for a fix.')}`);
168
113
  console.log('');
169
114
  }
170
115
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"auto-updater.js","sourceRoot":"","sources":["../../src/modules/auto-updater.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"auto-updater.js","sourceRoot":"","sources":["../../src/modules/auto-updater.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,28 @@
1
+ /**
2
+ * Self-diagnostics for the `orc` installation.
3
+ *
4
+ * Most "it won't update" / "wrong version" reports are not bugs in orcommit but
5
+ * environment problems: a root-owned global prefix, multiple `orc` binaries on
6
+ * PATH, or a user prefix that isn't on PATH at all. `orc doctor` inspects all of
7
+ * that and prints concrete, copy-pasteable fixes — turning a confusing failure
8
+ * into a one-command answer. It never modifies the system itself.
9
+ */
10
+ export interface DoctorCheck {
11
+ readonly name: string;
12
+ readonly status: 'ok' | 'warn' | 'error' | 'info';
13
+ readonly detail: string;
14
+ readonly fix?: string;
15
+ }
16
+ export interface DoctorReport {
17
+ readonly checks: DoctorCheck[];
18
+ readonly hasProblems: boolean;
19
+ }
20
+ export declare class Doctor {
21
+ private readonly currentVersion;
22
+ constructor(currentVersion: string);
23
+ run(): Promise<DoctorReport>;
24
+ /** Render a report to the console with colors and fix hints. */
25
+ static print(report: DoctorReport): void;
26
+ private isNewer;
27
+ }
28
+ //# sourceMappingURL=doctor.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"doctor.d.ts","sourceRoot":"","sources":["../../src/modules/doctor.ts"],"names":[],"mappings":"AAMA;;;;;;;;GAQG;AAEH,MAAM,WAAW,WAAW;IAC1B,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,MAAM,EAAE,IAAI,GAAG,MAAM,GAAG,OAAO,GAAG,MAAM,CAAC;IAClD,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,GAAG,CAAC,EAAE,MAAM,CAAC;CACvB;AAED,MAAM,WAAW,YAAY;IAC3B,QAAQ,CAAC,MAAM,EAAE,WAAW,EAAE,CAAC;IAC/B,QAAQ,CAAC,WAAW,EAAE,OAAO,CAAC;CAC/B;AAmCD,qBAAa,MAAM;IACL,OAAO,CAAC,QAAQ,CAAC,cAAc;gBAAd,cAAc,EAAE,MAAM;IAE7C,GAAG,IAAI,OAAO,CAAC,YAAY,CAAC;IA2HlC,gEAAgE;IAChE,MAAM,CAAC,KAAK,CAAC,MAAM,EAAE,YAAY,GAAG,IAAI;IA+BxC,OAAO,CAAC,OAAO;CAWhB"}
@@ -0,0 +1,202 @@
1
+ import { execSync } from 'child_process';
2
+ import { accessSync, constants as fsConstants } from 'fs';
3
+ import { join, delimiter } from 'path';
4
+ import { homedir } from 'os';
5
+ import chalk from 'chalk';
6
+ const BIN_NAME = 'orc';
7
+ /** Run a command, returning trimmed stdout or null on any failure. */
8
+ function safeExec(command) {
9
+ try {
10
+ return execSync(command, {
11
+ encoding: 'utf-8',
12
+ stdio: ['pipe', 'pipe', 'ignore'],
13
+ timeout: 15000,
14
+ }).trim();
15
+ }
16
+ catch {
17
+ return null;
18
+ }
19
+ }
20
+ /** All directories on PATH that contain an `orc` executable, in PATH order. */
21
+ function findBinariesOnPath() {
22
+ const pathEnv = process.env.PATH || '';
23
+ const dirs = pathEnv.split(delimiter).filter(Boolean);
24
+ const found = [];
25
+ for (const dir of dirs) {
26
+ const candidate = join(dir, BIN_NAME);
27
+ try {
28
+ accessSync(candidate, fsConstants.X_OK);
29
+ found.push(candidate);
30
+ }
31
+ catch {
32
+ // not here
33
+ }
34
+ }
35
+ return found;
36
+ }
37
+ export class Doctor {
38
+ currentVersion;
39
+ constructor(currentVersion) {
40
+ this.currentVersion = currentVersion;
41
+ }
42
+ async run() {
43
+ const checks = [];
44
+ const prefix = safeExec('npm config get prefix');
45
+ const inHomePrefix = prefix ? prefix.startsWith(homedir()) : false;
46
+ const binaries = findBinariesOnPath();
47
+ // 1. npm global prefix
48
+ if (!prefix) {
49
+ checks.push({
50
+ name: 'npm prefix',
51
+ status: 'warn',
52
+ detail: 'Could not read `npm config get prefix` (is npm installed?).',
53
+ });
54
+ }
55
+ else if (inHomePrefix) {
56
+ checks.push({
57
+ name: 'npm prefix',
58
+ status: 'ok',
59
+ detail: `${prefix} (user-owned — global installs need no sudo)`,
60
+ });
61
+ }
62
+ else {
63
+ checks.push({
64
+ name: 'npm prefix',
65
+ status: 'warn',
66
+ detail: `${prefix} (system-owned — global installs may require sudo, which causes permission problems)`,
67
+ fix: [
68
+ 'Switch to a user-owned prefix so installs never need sudo:',
69
+ ` mkdir -p ${join(homedir(), '.npm-global')}`,
70
+ ` npm config set prefix ${join(homedir(), '.npm-global')}`,
71
+ ` echo 'export PATH="$HOME/.npm-global/bin:$PATH"' >> ~/.zshrc`,
72
+ ' source ~/.zshrc',
73
+ ].join('\n'),
74
+ });
75
+ }
76
+ // 2. orc binaries on PATH
77
+ if (binaries.length === 0) {
78
+ checks.push({
79
+ name: `${BIN_NAME} on PATH`,
80
+ status: 'error',
81
+ detail: `No \`${BIN_NAME}\` executable found on PATH.`,
82
+ fix: prefix && inHomePrefix
83
+ ? `Ensure ${join(prefix, 'bin')} is on your PATH, then: npm install -g orcommit`
84
+ : 'npm install -g orcommit',
85
+ });
86
+ }
87
+ else if (binaries.length === 1) {
88
+ checks.push({
89
+ name: `${BIN_NAME} on PATH`,
90
+ status: 'ok',
91
+ detail: `${binaries[0]} (single installation)`,
92
+ });
93
+ }
94
+ else {
95
+ // Multiple installations — the first on PATH wins, the rest shadow it.
96
+ const active = binaries[0];
97
+ const shadowed = binaries.slice(1);
98
+ // The usual culprit is an old system install (e.g. a previous `sudo npm
99
+ // i -g` under /usr/local) coexisting with a newer user-prefix install.
100
+ // Recommend removing the system-owned ones regardless of which is active,
101
+ // since those are what cause the confusion and the EACCES update failures.
102
+ const systemBinaries = binaries.filter(b => !b.startsWith(homedir()));
103
+ const removalLines = systemBinaries.length > 0
104
+ ? systemBinaries.map(b => ` sudo rm -f ${b}`).join('\n')
105
+ : shadowed.map(b => ` rm -f ${b}`).join('\n');
106
+ checks.push({
107
+ name: `${BIN_NAME} on PATH`,
108
+ status: 'error',
109
+ detail: `Multiple installations found — the first on PATH wins:\n` +
110
+ ` active: ${active}\n` +
111
+ shadowed.map(b => ` shadowed: ${b}`).join('\n'),
112
+ fix: 'Remove the installations you do not want so exactly one remains.\n' +
113
+ 'A common cause is an old system install shadowing a newer user one.\n' +
114
+ (systemBinaries.length > 0 ? 'To remove the system install (needs sudo):\n' : 'To remove the extra install:\n') +
115
+ removalLines,
116
+ });
117
+ }
118
+ // 3. Active binary points where we expect (matches the prefix)
119
+ if (prefix && binaries.length >= 1) {
120
+ const expectedBin = join(prefix, 'bin', BIN_NAME);
121
+ const active = binaries[0];
122
+ if (active !== expectedBin) {
123
+ checks.push({
124
+ name: 'active binary vs npm prefix',
125
+ status: 'warn',
126
+ detail: `The \`${BIN_NAME}\` that runs (${active}) is not the one npm manages ` +
127
+ `(${expectedBin}). Updates via npm may not affect the binary you run.`,
128
+ fix: `Make sure ${join(prefix, 'bin')} comes first on PATH, or remove the other binary.`,
129
+ });
130
+ }
131
+ }
132
+ // 4. Version vs latest on the registry
133
+ const latest = safeExec('npm view orcommit version');
134
+ if (!latest) {
135
+ checks.push({
136
+ name: 'version',
137
+ status: 'info',
138
+ detail: `Installed ${this.currentVersion} (could not reach registry to check latest).`,
139
+ });
140
+ }
141
+ else if (this.isNewer(latest, this.currentVersion)) {
142
+ checks.push({
143
+ name: 'version',
144
+ status: 'warn',
145
+ detail: `Installed ${this.currentVersion}, latest is ${latest}.`,
146
+ fix: 'npm install -g orcommit@latest',
147
+ });
148
+ }
149
+ else {
150
+ checks.push({
151
+ name: 'version',
152
+ status: 'ok',
153
+ detail: `${this.currentVersion} (up to date)`,
154
+ });
155
+ }
156
+ const hasProblems = checks.some(c => c.status === 'error' || c.status === 'warn');
157
+ return { checks, hasProblems };
158
+ }
159
+ /** Render a report to the console with colors and fix hints. */
160
+ static print(report) {
161
+ const icon = {
162
+ ok: chalk.green('✔'),
163
+ warn: chalk.yellow('⚠'),
164
+ error: chalk.red('✗'),
165
+ info: chalk.gray('ℹ'),
166
+ };
167
+ console.log(chalk.bold('\norc doctor\n'));
168
+ for (const check of report.checks) {
169
+ console.log(`${icon[check.status]} ${chalk.bold(check.name)}`);
170
+ for (const line of check.detail.split('\n')) {
171
+ console.log(` ${chalk.gray(line)}`);
172
+ }
173
+ if (check.fix) {
174
+ console.log(chalk.cyan(' fix:'));
175
+ for (const line of check.fix.split('\n')) {
176
+ console.log(chalk.cyan(` ${line}`));
177
+ }
178
+ }
179
+ console.log('');
180
+ }
181
+ if (report.hasProblems) {
182
+ console.log(chalk.yellow('Some issues were found — see the fix hints above.\n'));
183
+ }
184
+ else {
185
+ console.log(chalk.green('Everything looks good. 🎉\n'));
186
+ }
187
+ }
188
+ isNewer(latest, current) {
189
+ const a = latest.replace(/^v/, '').split('.').map(Number);
190
+ const b = current.replace(/^v/, '').split('.').map(Number);
191
+ for (let i = 0; i < 3; i++) {
192
+ const l = a[i] || 0;
193
+ const c = b[i] || 0;
194
+ if (l > c)
195
+ return true;
196
+ if (l < c)
197
+ return false;
198
+ }
199
+ return false;
200
+ }
201
+ }
202
+ //# sourceMappingURL=doctor.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"doctor.js","sourceRoot":"","sources":["../../src/modules/doctor.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "orcommit",
3
- "version": "1.2.18",
3
+ "version": "1.2.19",
4
4
  "description": "AI-powered commit message generator - Automated git commits using OpenAI, Claude, and OpenRouter APIs with intelligent diff processing, custom prompts, and interactive regeneration",
5
5
  "keywords": [
6
6
  "git",