@reck98/git-smart 1.0.2 → 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 +5 -5
- package/dist/cli.d.ts.map +1 -1
- package/dist/cli.js +70 -20
- package/dist/cli.js.map +1 -1
- package/package.json +1 -1
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;
|
|
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
|
-
|
|
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
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
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
|
-
|
|
42
|
-
|
|
43
|
-
|
|
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
|
-
|
|
50
|
-
|
|
51
|
-
|
|
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
|
-
|
|
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;
|
|
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.
|
|
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": {
|