@reck98/git-smart 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.
package/README.md CHANGED
@@ -3,7 +3,7 @@
3
3
  AI-powered Git workflow assistant that generates production-quality commit messages, summarizes code changes, and streamlines Git operations.
4
4
 
5
5
  ```bash
6
- npx git-smart
6
+ npx @reck98/git-smart
7
7
  ```
8
8
 
9
9
  ---
@@ -28,7 +28,7 @@ npx git-smart
28
28
 
29
29
  ```bash
30
30
  # Install globally
31
- npm install -g git-smart
31
+ npm install -g @reck98/git-smart
32
32
 
33
33
  # Run the config wizard (required before first use)
34
34
  git-smart config
@@ -93,19 +93,19 @@ END
93
93
  ### Global (recommended)
94
94
 
95
95
  ```bash
96
- npm install -g git-smart
96
+ npm install -g @reck98/git-smart
97
97
  ```
98
98
 
99
99
  ### npx (no install)
100
100
 
101
101
  ```bash
102
- npx git-smart
102
+ npx @reck98/git-smart
103
103
  ```
104
104
 
105
105
  ### From source
106
106
 
107
107
  ```bash
108
- git clone <repo>
108
+ git clone <repo-url>
109
109
  cd git-smart
110
110
  npm install
111
111
  npm run build
package/dist/cli.d.ts.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"cli.d.ts","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAUpC,wBAAgB,SAAS,IAAI,OAAO,CAyDnC"}
1
+ {"version":3,"file":"cli.d.ts","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAoCpC,wBAAgB,SAAS,IAAI,OAAO,CA6EnC"}
package/dist/cli.js CHANGED
@@ -6,7 +6,32 @@ import { runWorkflow } from './commands/workflow.js';
6
6
  import { runSummary } from './commands/summary.js';
7
7
  import { runCommit } from './commands/commit.js';
8
8
  import { runPush } from './commands/push.js';
9
- import { isFirstRun, assertConfigured } from './core/config.js';
9
+ import { isFirstRun, assertConfigured, getActiveProvider } from './core/config.js';
10
+ function handleError(error) {
11
+ const err = error;
12
+ const provider = getActiveProvider();
13
+ console.error(chalk.red('\n Error:'));
14
+ if (err.status === 401 || err.code === 401) {
15
+ const msg = err.error?.message || err.message || 'Authentication failed';
16
+ console.error(chalk.yellow(` ${msg}`));
17
+ console.error(chalk.dim(`\n Your ${provider} API key appears to be invalid.\n`));
18
+ console.error(chalk.dim(' Run:'));
19
+ console.error(chalk.bold(' git-smart config'));
20
+ console.error(chalk.dim('\n to update your API key.'));
21
+ console.error(chalk.dim(' Or set it via environment variable:\n'));
22
+ console.error(chalk.bold(` GIT_SMART_${provider.toUpperCase()}_API_KEY=your-key`));
23
+ }
24
+ else if (err.message?.includes('fetch') || err.message?.includes('ENOTFOUND')) {
25
+ console.error(chalk.yellow(' Network error. Check your internet connection.'));
26
+ }
27
+ else if (err.message?.includes('No API key')) {
28
+ console.error(chalk.yellow(` ${err.message}`));
29
+ }
30
+ else {
31
+ console.error(chalk.yellow(` ${err.message || 'An unexpected error occurred.'}`));
32
+ }
33
+ process.exit(1);
34
+ }
10
35
  export function createCLI() {
11
36
  const program = new Command();
12
37
  program
@@ -17,44 +42,69 @@ export function createCLI() {
17
42
  .command('config')
18
43
  .description('Configure AI provider and API keys')
19
44
  .action(async () => {
20
- await runConfigWizard();
45
+ try {
46
+ await runConfigWizard();
47
+ }
48
+ catch (error) {
49
+ handleError(error);
50
+ }
21
51
  });
22
52
  program
23
53
  .option('--dry-run', 'Generate summary and messages without committing or pushing')
24
54
  .action(async (options) => {
25
- if (isFirstRun()) {
26
- console.log(chalk.cyan('\n Welcome to git-smart.\n'));
27
- console.log(' No configuration found.\n');
28
- console.log(' Run:\n');
29
- console.log(chalk.bold(' git-smart config'));
30
- console.log('\n to get started.\n');
31
- process.exit(1);
32
- }
33
- assertConfigured();
34
- await runPreChecks();
35
- await runWorkflow({ dryRun: options.dryRun });
55
+ try {
56
+ if (isFirstRun()) {
57
+ console.log(chalk.cyan('\n Welcome to git-smart.\n'));
58
+ console.log(' No configuration found.\n');
59
+ console.log(' Run:\n');
60
+ console.log(chalk.bold(' git-smart config'));
61
+ console.log('\n to get started.\n');
62
+ process.exit(1);
63
+ }
64
+ assertConfigured();
65
+ await runPreChecks();
66
+ await runWorkflow({ dryRun: options.dryRun });
67
+ }
68
+ catch (error) {
69
+ handleError(error);
70
+ }
36
71
  });
37
72
  program
38
73
  .command('summary')
39
74
  .description('Generate change summary only')
40
75
  .action(async () => {
41
- assertConfigured();
42
- await runPreChecks();
43
- await runSummary();
76
+ try {
77
+ assertConfigured();
78
+ await runPreChecks();
79
+ await runSummary();
80
+ }
81
+ catch (error) {
82
+ handleError(error);
83
+ }
44
84
  });
45
85
  program
46
86
  .command('commit')
47
87
  .description('Generate commit messages and commit')
48
88
  .action(async () => {
49
- assertConfigured();
50
- await runPreChecks();
51
- await runCommit();
89
+ try {
90
+ assertConfigured();
91
+ await runPreChecks();
92
+ await runCommit();
93
+ }
94
+ catch (error) {
95
+ handleError(error);
96
+ }
52
97
  });
53
98
  program
54
99
  .command('push')
55
100
  .description('Push current branch to remote')
56
101
  .action(async () => {
57
- await runPush();
102
+ try {
103
+ await runPush();
104
+ }
105
+ catch (error) {
106
+ handleError(error);
107
+ }
58
108
  });
59
109
  return program;
60
110
  }
package/dist/cli.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"cli.js","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACpC,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAC;AACvD,OAAO,EAAE,YAAY,EAAE,MAAM,yBAAyB,CAAC;AACvD,OAAO,EAAE,WAAW,EAAE,MAAM,wBAAwB,CAAC;AACrD,OAAO,EAAE,UAAU,EAAE,MAAM,uBAAuB,CAAC;AACnD,OAAO,EAAE,SAAS,EAAE,MAAM,sBAAsB,CAAC;AACjD,OAAO,EAAE,OAAO,EAAE,MAAM,oBAAoB,CAAC;AAC7C,OAAO,EAAE,UAAU,EAAE,gBAAgB,EAAE,MAAM,kBAAkB,CAAC;AAEhE,MAAM,UAAU,SAAS;IACvB,MAAM,OAAO,GAAG,IAAI,OAAO,EAAE,CAAC;IAE9B,OAAO;SACJ,IAAI,CAAC,WAAW,CAAC;SACjB,WAAW,CAAC,mCAAmC,CAAC;SAChD,OAAO,CAAC,OAAO,CAAC,CAAC;IAEpB,OAAO;SACJ,OAAO,CAAC,QAAQ,CAAC;SACjB,WAAW,CAAC,oCAAoC,CAAC;SACjD,MAAM,CAAC,KAAK,IAAI,EAAE;QACjB,MAAM,eAAe,EAAE,CAAC;IAC1B,CAAC,CAAC,CAAC;IAEL,OAAO;SACJ,MAAM,CAAC,WAAW,EAAE,6DAA6D,CAAC;SAClF,MAAM,CAAC,KAAK,EAAE,OAA6B,EAAE,EAAE;QAC9C,IAAI,UAAU,EAAE,EAAE,CAAC;YACjB,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,6BAA6B,CAAC,CAAC,CAAC;YACvD,OAAO,CAAC,GAAG,CAAC,6BAA6B,CAAC,CAAC;YAC3C,OAAO,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC;YACxB,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,sBAAsB,CAAC,CAAC,CAAC;YAChD,OAAO,CAAC,GAAG,CAAC,uBAAuB,CAAC,CAAC;YACrC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QAClB,CAAC;QACD,gBAAgB,EAAE,CAAC;QACnB,MAAM,YAAY,EAAE,CAAC;QACrB,MAAM,WAAW,CAAC,EAAE,MAAM,EAAE,OAAO,CAAC,MAAM,EAAE,CAAC,CAAC;IAChD,CAAC,CAAC,CAAC;IAEL,OAAO;SACJ,OAAO,CAAC,SAAS,CAAC;SAClB,WAAW,CAAC,8BAA8B,CAAC;SAC3C,MAAM,CAAC,KAAK,IAAI,EAAE;QACjB,gBAAgB,EAAE,CAAC;QACnB,MAAM,YAAY,EAAE,CAAC;QACrB,MAAM,UAAU,EAAE,CAAC;IACrB,CAAC,CAAC,CAAC;IAEL,OAAO;SACJ,OAAO,CAAC,QAAQ,CAAC;SACjB,WAAW,CAAC,qCAAqC,CAAC;SAClD,MAAM,CAAC,KAAK,IAAI,EAAE;QACjB,gBAAgB,EAAE,CAAC;QACnB,MAAM,YAAY,EAAE,CAAC;QACrB,MAAM,SAAS,EAAE,CAAC;IACpB,CAAC,CAAC,CAAC;IAEL,OAAO;SACJ,OAAO,CAAC,MAAM,CAAC;SACf,WAAW,CAAC,+BAA+B,CAAC;SAC5C,MAAM,CAAC,KAAK,IAAI,EAAE;QACjB,MAAM,OAAO,EAAE,CAAC;IAClB,CAAC,CAAC,CAAC;IAEL,OAAO,OAAO,CAAC;AACjB,CAAC"}
1
+ {"version":3,"file":"cli.js","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@reck98/git-smart",
3
- "version": "1.0.1",
3
+ "version": "1.0.3",
4
4
  "description": "AI-powered Git workflow assistant that generates production-quality commit messages, summarizes code changes, and streamlines Git operations.",
5
5
  "type": "module",
6
6
  "bin": {
@@ -14,8 +14,7 @@
14
14
  "build": "tsc && copyfiles -u 2 \"src/utils/templates/**/*\" dist/utils/",
15
15
  "start": "node dist/index.js",
16
16
  "dev": "tsx src/index.ts",
17
- "prepublishOnly": "npm run build",
18
- "postinstall": "npm run build"
17
+ "prepublishOnly": "npm run build"
19
18
  },
20
19
  "dependencies": {
21
20
  "@anthropic-ai/sdk": "^0.24.0",