@mehmetsagir/git-ai 0.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/README.md +365 -0
- package/bin/git-ai +4 -0
- package/dist/add.d.ts +5 -0
- package/dist/add.d.ts.map +1 -0
- package/dist/add.js +98 -0
- package/dist/add.js.map +1 -0
- package/dist/commit-processor.d.ts +6 -0
- package/dist/commit-processor.d.ts.map +1 -0
- package/dist/commit-processor.js +138 -0
- package/dist/commit-processor.js.map +1 -0
- package/dist/commit.d.ts +5 -0
- package/dist/commit.d.ts.map +1 -0
- package/dist/commit.js +245 -0
- package/dist/commit.js.map +1 -0
- package/dist/config.d.ts +44 -0
- package/dist/config.d.ts.map +1 -0
- package/dist/config.js +185 -0
- package/dist/config.js.map +1 -0
- package/dist/git.d.ts +54 -0
- package/dist/git.d.ts.map +1 -0
- package/dist/git.js +256 -0
- package/dist/git.js.map +1 -0
- package/dist/index.d.ts +3 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +138 -0
- package/dist/index.js.map +1 -0
- package/dist/openai.d.ts +22 -0
- package/dist/openai.d.ts.map +1 -0
- package/dist/openai.js +137 -0
- package/dist/openai.js.map +1 -0
- package/dist/prompts.d.ts +17 -0
- package/dist/prompts.d.ts.map +1 -0
- package/dist/prompts.js +117 -0
- package/dist/prompts.js.map +1 -0
- package/dist/reset.d.ts +5 -0
- package/dist/reset.d.ts.map +1 -0
- package/dist/reset.js +77 -0
- package/dist/reset.js.map +1 -0
- package/dist/setup.d.ts +5 -0
- package/dist/setup.d.ts.map +1 -0
- package/dist/setup.js +234 -0
- package/dist/setup.js.map +1 -0
- package/dist/types.d.ts +41 -0
- package/dist/types.d.ts.map +1 -0
- package/dist/types.js +3 -0
- package/dist/types.js.map +1 -0
- package/dist/user-management.d.ts +10 -0
- package/dist/user-management.d.ts.map +1 -0
- package/dist/user-management.js +225 -0
- package/dist/user-management.js.map +1 -0
- package/dist/users.d.ts +9 -0
- package/dist/users.d.ts.map +1 -0
- package/dist/users.js +129 -0
- package/dist/users.js.map +1 -0
- package/package.json +46 -0
package/dist/prompts.js
ADDED
|
@@ -0,0 +1,117 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.getDiffAnalysisSystemPrompt = getDiffAnalysisSystemPrompt;
|
|
4
|
+
exports.getDiffAnalysisUserPrompt = getDiffAnalysisUserPrompt;
|
|
5
|
+
exports.getSingleCommitSystemPrompt = getSingleCommitSystemPrompt;
|
|
6
|
+
exports.getSingleCommitUserPrompt = getSingleCommitUserPrompt;
|
|
7
|
+
/**
|
|
8
|
+
* Get system prompt for diff analysis and grouping
|
|
9
|
+
*/
|
|
10
|
+
function getDiffAnalysisSystemPrompt() {
|
|
11
|
+
return `You are a git commit expert. You analyze git diffs, group them logically, and create Conventional Commits standard commit messages for each group.
|
|
12
|
+
|
|
13
|
+
IMPORTANT PRINCIPLES:
|
|
14
|
+
1. **Atomic Commits**: Each commit should represent ONE logical change
|
|
15
|
+
2. **Related Files Together**: Functionally related files should be in the same commit
|
|
16
|
+
3. **Meaningful Messages**: Each commit message should clearly explain what and why
|
|
17
|
+
4. **Stable State**: Each commit should leave the codebase in a working state
|
|
18
|
+
5. **Easy Review**: Smaller, focused commits are easier to review and revert
|
|
19
|
+
|
|
20
|
+
Conventional Commits format:
|
|
21
|
+
<type>(<scope>): <subject>
|
|
22
|
+
|
|
23
|
+
<body>
|
|
24
|
+
|
|
25
|
+
<footer>
|
|
26
|
+
|
|
27
|
+
Types:
|
|
28
|
+
- feat: New feature
|
|
29
|
+
- fix: Bug fix
|
|
30
|
+
- refactor: Code refactoring
|
|
31
|
+
- style: Formatting, styling changes
|
|
32
|
+
- docs: Documentation
|
|
33
|
+
- test: Tests
|
|
34
|
+
- chore: Maintenance tasks
|
|
35
|
+
|
|
36
|
+
Create groups based on these criteria:
|
|
37
|
+
- **Feature area** (e.g., authentication, UI components, API endpoints)
|
|
38
|
+
- **Type of change** (new feature, bug fix, refactor, style, documentation)
|
|
39
|
+
- **Related functionality** (files that work together)
|
|
40
|
+
- **Dependencies** (changes that depend on each other should be in the same commit)
|
|
41
|
+
|
|
42
|
+
Each commit group must contain:
|
|
43
|
+
1. Group number
|
|
44
|
+
2. Group description (what type of changes)
|
|
45
|
+
3. File list (full file paths)
|
|
46
|
+
4. Commit message in Conventional Commits format
|
|
47
|
+
5. Commit message body (detailed description of changes)
|
|
48
|
+
|
|
49
|
+
IMPORTANT: Each group will be created as a SEPARATE COMMIT. Do not commit all groups at once, each one will be committed separately.
|
|
50
|
+
|
|
51
|
+
Respond in JSON format:
|
|
52
|
+
{
|
|
53
|
+
"groups": [
|
|
54
|
+
{
|
|
55
|
+
"number": 1,
|
|
56
|
+
"description": "Group description (e.g., Authentication bug fix)",
|
|
57
|
+
"files": ["src/auth.ts", "src/auth.test.ts"],
|
|
58
|
+
"commitMessage": "feat(auth): add OAuth2 authentication support",
|
|
59
|
+
"commitBody": "Added OAuth2 authentication support. Implemented token refresh mechanism. Applied security best practices."
|
|
60
|
+
}
|
|
61
|
+
],
|
|
62
|
+
"summary": "Total X groups, Y file changes"
|
|
63
|
+
}`;
|
|
64
|
+
}
|
|
65
|
+
/**
|
|
66
|
+
* Get user prompt for diff analysis
|
|
67
|
+
*/
|
|
68
|
+
function getDiffAnalysisUserPrompt(diff) {
|
|
69
|
+
return `Analyze the following git diff and group it into logical commit groups. Create Conventional Commits format commit messages for each group.
|
|
70
|
+
|
|
71
|
+
\`\`\`
|
|
72
|
+
${diff}
|
|
73
|
+
\`\`\`
|
|
74
|
+
|
|
75
|
+
Please respond in JSON format.`;
|
|
76
|
+
}
|
|
77
|
+
/**
|
|
78
|
+
* Get system prompt for single commit message generation
|
|
79
|
+
*/
|
|
80
|
+
function getSingleCommitSystemPrompt() {
|
|
81
|
+
return `You are a git commit expert. You analyze git diffs and create Conventional Commits standard commit messages.
|
|
82
|
+
|
|
83
|
+
Conventional Commits format:
|
|
84
|
+
<type>(<scope>): <subject>
|
|
85
|
+
|
|
86
|
+
<body>
|
|
87
|
+
|
|
88
|
+
<footer>
|
|
89
|
+
|
|
90
|
+
Types:
|
|
91
|
+
- feat: New feature
|
|
92
|
+
- fix: Bug fix
|
|
93
|
+
- refactor: Code refactoring
|
|
94
|
+
- style: Formatting, styling changes
|
|
95
|
+
- docs: Documentation
|
|
96
|
+
- test: Tests
|
|
97
|
+
- chore: Maintenance tasks
|
|
98
|
+
|
|
99
|
+
Commit message should be short and descriptive. Body should contain details of the changes.`;
|
|
100
|
+
}
|
|
101
|
+
/**
|
|
102
|
+
* Get user prompt for single commit message
|
|
103
|
+
*/
|
|
104
|
+
function getSingleCommitUserPrompt(diff) {
|
|
105
|
+
return `Analyze the following git diff and create a commit message in Conventional Commits format.
|
|
106
|
+
|
|
107
|
+
\`\`\`
|
|
108
|
+
${diff}
|
|
109
|
+
\`\`\`
|
|
110
|
+
|
|
111
|
+
Respond in JSON format:
|
|
112
|
+
{
|
|
113
|
+
"commitMessage": "feat(auth): add OAuth2 authentication support",
|
|
114
|
+
"commitBody": "Detailed description here..."
|
|
115
|
+
}`;
|
|
116
|
+
}
|
|
117
|
+
//# sourceMappingURL=prompts.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"prompts.js","sourceRoot":"","sources":["../src/prompts.ts"],"names":[],"mappings":";;AAGA,kEAsDC;AAKD,8DAQC;AAKD,kEAoBC;AAKD,8DAYC;AAhHD;;GAEG;AACH,SAAgB,2BAA2B;IACzC,OAAO;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAoDP,CAAC;AACH,CAAC;AAED;;GAEG;AACH,SAAgB,yBAAyB,CAAC,IAAY;IACpD,OAAO;;;EAGP,IAAI;;;+BAGyB,CAAC;AAChC,CAAC;AAED;;GAEG;AACH,SAAgB,2BAA2B;IACzC,OAAO;;;;;;;;;;;;;;;;;;4FAkBmF,CAAC;AAC7F,CAAC;AAED;;GAEG;AACH,SAAgB,yBAAyB,CAAC,IAAY;IACpD,OAAO;;;EAGP,IAAI;;;;;;;EAOJ,CAAC;AACH,CAAC"}
|
package/dist/reset.d.ts
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"reset.d.ts","sourceRoot":"","sources":["../src/reset.ts"],"names":[],"mappings":"AAIA;;GAEG;AACH,wBAAsB,WAAW,IAAI,OAAO,CAAC,IAAI,CAAC,CAiCjD"}
|
package/dist/reset.js
ADDED
|
@@ -0,0 +1,77 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
|
+
if (k2 === undefined) k2 = k;
|
|
4
|
+
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
5
|
+
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
6
|
+
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
7
|
+
}
|
|
8
|
+
Object.defineProperty(o, k2, desc);
|
|
9
|
+
}) : (function(o, m, k, k2) {
|
|
10
|
+
if (k2 === undefined) k2 = k;
|
|
11
|
+
o[k2] = m[k];
|
|
12
|
+
}));
|
|
13
|
+
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
|
|
14
|
+
Object.defineProperty(o, "default", { enumerable: true, value: v });
|
|
15
|
+
}) : function(o, v) {
|
|
16
|
+
o["default"] = v;
|
|
17
|
+
});
|
|
18
|
+
var __importStar = (this && this.__importStar) || (function () {
|
|
19
|
+
var ownKeys = function(o) {
|
|
20
|
+
ownKeys = Object.getOwnPropertyNames || function (o) {
|
|
21
|
+
var ar = [];
|
|
22
|
+
for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
|
|
23
|
+
return ar;
|
|
24
|
+
};
|
|
25
|
+
return ownKeys(o);
|
|
26
|
+
};
|
|
27
|
+
return function (mod) {
|
|
28
|
+
if (mod && mod.__esModule) return mod;
|
|
29
|
+
var result = {};
|
|
30
|
+
if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
|
|
31
|
+
__setModuleDefault(result, mod);
|
|
32
|
+
return result;
|
|
33
|
+
};
|
|
34
|
+
})();
|
|
35
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
36
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
37
|
+
};
|
|
38
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
39
|
+
exports.resetConfig = resetConfig;
|
|
40
|
+
const chalk_1 = __importDefault(require("chalk"));
|
|
41
|
+
const inquirer_1 = __importDefault(require("inquirer"));
|
|
42
|
+
const config = __importStar(require("./config"));
|
|
43
|
+
/**
|
|
44
|
+
* Reset configuration
|
|
45
|
+
*/
|
|
46
|
+
async function resetConfig() {
|
|
47
|
+
if (!config.configExists()) {
|
|
48
|
+
console.log(chalk_1.default.yellow('ā No configuration found.\n'));
|
|
49
|
+
return;
|
|
50
|
+
}
|
|
51
|
+
console.log(chalk_1.default.red.bold('\nā ļø Reset Configuration\n'));
|
|
52
|
+
console.log(chalk_1.default.yellow('This will delete all configuration including:'));
|
|
53
|
+
console.log(chalk_1.default.yellow(' - OpenAI API key'));
|
|
54
|
+
console.log(chalk_1.default.yellow(' - All git user profiles'));
|
|
55
|
+
console.log(chalk_1.default.yellow(' - Default user settings\n'));
|
|
56
|
+
const { confirm } = await inquirer_1.default.prompt([
|
|
57
|
+
{
|
|
58
|
+
type: 'confirm',
|
|
59
|
+
name: 'confirm',
|
|
60
|
+
message: 'Are you sure you want to reset all configuration?',
|
|
61
|
+
default: false
|
|
62
|
+
}
|
|
63
|
+
]);
|
|
64
|
+
if (!confirm) {
|
|
65
|
+
console.log(chalk_1.default.yellow('ā Reset cancelled.\n'));
|
|
66
|
+
return;
|
|
67
|
+
}
|
|
68
|
+
const success = config.resetConfig();
|
|
69
|
+
if (success) {
|
|
70
|
+
console.log(chalk_1.default.green('ā Configuration reset successfully.\n'));
|
|
71
|
+
console.log(chalk_1.default.blue('Run "git-ai setup" to configure again.\n'));
|
|
72
|
+
}
|
|
73
|
+
else {
|
|
74
|
+
console.log(chalk_1.default.red('ā Failed to reset configuration.\n'));
|
|
75
|
+
}
|
|
76
|
+
}
|
|
77
|
+
//# sourceMappingURL=reset.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"reset.js","sourceRoot":"","sources":["../src/reset.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAOA,kCAiCC;AAxCD,kDAA0B;AAC1B,wDAAgC;AAChC,iDAAmC;AAEnC;;GAEG;AACI,KAAK,UAAU,WAAW;IAC/B,IAAI,CAAC,MAAM,CAAC,YAAY,EAAE,EAAE,CAAC;QAC3B,OAAO,CAAC,GAAG,CAAC,eAAK,CAAC,MAAM,CAAC,6BAA6B,CAAC,CAAC,CAAC;QACzD,OAAO;IACT,CAAC;IAED,OAAO,CAAC,GAAG,CAAC,eAAK,CAAC,GAAG,CAAC,IAAI,CAAC,6BAA6B,CAAC,CAAC,CAAC;IAC3D,OAAO,CAAC,GAAG,CAAC,eAAK,CAAC,MAAM,CAAC,+CAA+C,CAAC,CAAC,CAAC;IAC3E,OAAO,CAAC,GAAG,CAAC,eAAK,CAAC,MAAM,CAAC,oBAAoB,CAAC,CAAC,CAAC;IAChD,OAAO,CAAC,GAAG,CAAC,eAAK,CAAC,MAAM,CAAC,2BAA2B,CAAC,CAAC,CAAC;IACvD,OAAO,CAAC,GAAG,CAAC,eAAK,CAAC,MAAM,CAAC,6BAA6B,CAAC,CAAC,CAAC;IAEzD,MAAM,EAAE,OAAO,EAAE,GAAG,MAAM,kBAAQ,CAAC,MAAM,CAAuB;QAC9D;YACE,IAAI,EAAE,SAAS;YACf,IAAI,EAAE,SAAS;YACf,OAAO,EAAE,mDAAmD;YAC5D,OAAO,EAAE,KAAK;SACf;KACF,CAAC,CAAC;IAEH,IAAI,CAAC,OAAO,EAAE,CAAC;QACb,OAAO,CAAC,GAAG,CAAC,eAAK,CAAC,MAAM,CAAC,sBAAsB,CAAC,CAAC,CAAC;QAClD,OAAO;IACT,CAAC;IAED,MAAM,OAAO,GAAG,MAAM,CAAC,WAAW,EAAE,CAAC;IACrC,IAAI,OAAO,EAAE,CAAC;QACZ,OAAO,CAAC,GAAG,CAAC,eAAK,CAAC,KAAK,CAAC,uCAAuC,CAAC,CAAC,CAAC;QAClE,OAAO,CAAC,GAAG,CAAC,eAAK,CAAC,IAAI,CAAC,0CAA0C,CAAC,CAAC,CAAC;IACtE,CAAC;SAAM,CAAC;QACN,OAAO,CAAC,GAAG,CAAC,eAAK,CAAC,GAAG,CAAC,oCAAoC,CAAC,CAAC,CAAC;IAC/D,CAAC;AACH,CAAC"}
|
package/dist/setup.d.ts
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"setup.d.ts","sourceRoot":"","sources":["../src/setup.ts"],"names":[],"mappings":"AAOA;;GAEG;AACH,wBAAsB,QAAQ,IAAI,OAAO,CAAC,IAAI,CAAC,CAuM9C"}
|
package/dist/setup.js
ADDED
|
@@ -0,0 +1,234 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
|
+
if (k2 === undefined) k2 = k;
|
|
4
|
+
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
5
|
+
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
6
|
+
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
7
|
+
}
|
|
8
|
+
Object.defineProperty(o, k2, desc);
|
|
9
|
+
}) : (function(o, m, k, k2) {
|
|
10
|
+
if (k2 === undefined) k2 = k;
|
|
11
|
+
o[k2] = m[k];
|
|
12
|
+
}));
|
|
13
|
+
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
|
|
14
|
+
Object.defineProperty(o, "default", { enumerable: true, value: v });
|
|
15
|
+
}) : function(o, v) {
|
|
16
|
+
o["default"] = v;
|
|
17
|
+
});
|
|
18
|
+
var __importStar = (this && this.__importStar) || (function () {
|
|
19
|
+
var ownKeys = function(o) {
|
|
20
|
+
ownKeys = Object.getOwnPropertyNames || function (o) {
|
|
21
|
+
var ar = [];
|
|
22
|
+
for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
|
|
23
|
+
return ar;
|
|
24
|
+
};
|
|
25
|
+
return ownKeys(o);
|
|
26
|
+
};
|
|
27
|
+
return function (mod) {
|
|
28
|
+
if (mod && mod.__esModule) return mod;
|
|
29
|
+
var result = {};
|
|
30
|
+
if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
|
|
31
|
+
__setModuleDefault(result, mod);
|
|
32
|
+
return result;
|
|
33
|
+
};
|
|
34
|
+
})();
|
|
35
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
36
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
37
|
+
};
|
|
38
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
39
|
+
exports.runSetup = runSetup;
|
|
40
|
+
const inquirer_1 = __importDefault(require("inquirer"));
|
|
41
|
+
const chalk_1 = __importDefault(require("chalk"));
|
|
42
|
+
const config = __importStar(require("./config"));
|
|
43
|
+
const git = __importStar(require("./git"));
|
|
44
|
+
const userManagement = __importStar(require("./user-management"));
|
|
45
|
+
/**
|
|
46
|
+
* Run setup command
|
|
47
|
+
*/
|
|
48
|
+
async function runSetup() {
|
|
49
|
+
console.log(chalk_1.default.blue.bold('\nš§ Git Commit AI Setup\n'));
|
|
50
|
+
const { openaiKey } = await inquirer_1.default.prompt([
|
|
51
|
+
{
|
|
52
|
+
type: 'password',
|
|
53
|
+
name: 'openaiKey',
|
|
54
|
+
message: 'Enter OpenAI API Key:',
|
|
55
|
+
validate: (input) => {
|
|
56
|
+
if (!input || input.trim().length === 0) {
|
|
57
|
+
return 'OpenAI API Key is required!';
|
|
58
|
+
}
|
|
59
|
+
if (!input.startsWith('sk-')) {
|
|
60
|
+
return 'OpenAI API Key must start with "sk-"!';
|
|
61
|
+
}
|
|
62
|
+
return true;
|
|
63
|
+
}
|
|
64
|
+
}
|
|
65
|
+
]);
|
|
66
|
+
config.setOpenAIKey(openaiKey);
|
|
67
|
+
console.log(chalk_1.default.green('ā OpenAI API Key saved\n'));
|
|
68
|
+
console.log(chalk_1.default.blue('Detecting git user profiles...\n'));
|
|
69
|
+
let gitProfiles = [];
|
|
70
|
+
try {
|
|
71
|
+
gitProfiles = await git.getAllGitUserProfiles();
|
|
72
|
+
}
|
|
73
|
+
catch (error) {
|
|
74
|
+
const err = error;
|
|
75
|
+
console.log(chalk_1.default.yellow(`ā Could not get git user profiles: ${err.message}`));
|
|
76
|
+
}
|
|
77
|
+
if (gitProfiles.length === 0) {
|
|
78
|
+
try {
|
|
79
|
+
const currentUser = await git.getGitUserInfo();
|
|
80
|
+
if (currentUser.name && currentUser.email) {
|
|
81
|
+
gitProfiles.push({
|
|
82
|
+
id: `current-${currentUser.email}`,
|
|
83
|
+
name: currentUser.name,
|
|
84
|
+
email: currentUser.email,
|
|
85
|
+
scope: 'current',
|
|
86
|
+
label: `${currentUser.name} <${currentUser.email}> (Current)`
|
|
87
|
+
});
|
|
88
|
+
}
|
|
89
|
+
}
|
|
90
|
+
catch (error) {
|
|
91
|
+
const err = error;
|
|
92
|
+
console.log(chalk_1.default.yellow(`ā Could not get current git user info: ${err.message}`));
|
|
93
|
+
}
|
|
94
|
+
}
|
|
95
|
+
if (gitProfiles.length === 0) {
|
|
96
|
+
const { addManual } = await inquirer_1.default.prompt([
|
|
97
|
+
{
|
|
98
|
+
type: 'confirm',
|
|
99
|
+
name: 'addManual',
|
|
100
|
+
message: 'No git user profile found. Would you like to add one manually?',
|
|
101
|
+
default: true
|
|
102
|
+
}
|
|
103
|
+
]);
|
|
104
|
+
if (addManual) {
|
|
105
|
+
console.log(chalk_1.default.blue('š” Tip: Type "q" and press Enter at any input to cancel.\n'));
|
|
106
|
+
const { name, email } = await inquirer_1.default.prompt([
|
|
107
|
+
{
|
|
108
|
+
type: 'input',
|
|
109
|
+
name: 'name',
|
|
110
|
+
message: 'Git user name (or "q" to cancel):',
|
|
111
|
+
validate: (input) => {
|
|
112
|
+
const trimmed = input.trim();
|
|
113
|
+
if (trimmed.toLowerCase() === 'q') {
|
|
114
|
+
return true;
|
|
115
|
+
}
|
|
116
|
+
return trimmed.length > 0 || 'Name is required!';
|
|
117
|
+
}
|
|
118
|
+
},
|
|
119
|
+
{
|
|
120
|
+
type: 'input',
|
|
121
|
+
name: 'email',
|
|
122
|
+
message: 'Git user email (or "q" to cancel):',
|
|
123
|
+
validate: (input) => {
|
|
124
|
+
const trimmed = input.trim();
|
|
125
|
+
if (trimmed.toLowerCase() === 'q') {
|
|
126
|
+
return true;
|
|
127
|
+
}
|
|
128
|
+
if (!trimmed || trimmed.length === 0) {
|
|
129
|
+
return 'Email is required!';
|
|
130
|
+
}
|
|
131
|
+
if (!trimmed.includes('@')) {
|
|
132
|
+
return 'Please enter a valid email address!';
|
|
133
|
+
}
|
|
134
|
+
return true;
|
|
135
|
+
}
|
|
136
|
+
}
|
|
137
|
+
]);
|
|
138
|
+
if (name.trim().toLowerCase() === 'q' || email.trim().toLowerCase() === 'q') {
|
|
139
|
+
console.log(chalk_1.default.yellow('ā Manual user addition cancelled.\n'));
|
|
140
|
+
}
|
|
141
|
+
else {
|
|
142
|
+
gitProfiles.push({
|
|
143
|
+
id: `manual-${email}`,
|
|
144
|
+
name,
|
|
145
|
+
email,
|
|
146
|
+
scope: 'manual',
|
|
147
|
+
label: `${name} <${email}> (Manual)`
|
|
148
|
+
});
|
|
149
|
+
}
|
|
150
|
+
}
|
|
151
|
+
}
|
|
152
|
+
if (gitProfiles.length > 0) {
|
|
153
|
+
gitProfiles = await userManagement.addShortcutsToProfiles(gitProfiles);
|
|
154
|
+
config.setGitUsers(gitProfiles);
|
|
155
|
+
console.log(chalk_1.default.green(`ā Found ${gitProfiles.length} active git user profiles\n`));
|
|
156
|
+
console.log(chalk_1.default.blue('š Active Git User Profiles:\n'));
|
|
157
|
+
gitProfiles.forEach((profile, index) => {
|
|
158
|
+
const shortcutInfo = profile.shortcut
|
|
159
|
+
? chalk_1.default.yellow(` [shortcut: ${profile.shortcut}]`)
|
|
160
|
+
: '';
|
|
161
|
+
console.log(chalk_1.default.cyan(` ${index + 1}. ${profile.label}${shortcutInfo}`));
|
|
162
|
+
});
|
|
163
|
+
console.log('\n');
|
|
164
|
+
if (gitProfiles.length === 1) {
|
|
165
|
+
config.setDefaultGitUser(gitProfiles[0].id);
|
|
166
|
+
console.log(chalk_1.default.green(`ā Set as default git user: ${gitProfiles[0].label}\n`));
|
|
167
|
+
}
|
|
168
|
+
else {
|
|
169
|
+
const { defaultUser } = await inquirer_1.default.prompt([
|
|
170
|
+
{
|
|
171
|
+
type: 'list',
|
|
172
|
+
name: 'defaultUser',
|
|
173
|
+
message: 'Select default git user:',
|
|
174
|
+
choices: gitProfiles.map(p => ({
|
|
175
|
+
name: p.label,
|
|
176
|
+
value: p.id
|
|
177
|
+
}))
|
|
178
|
+
}
|
|
179
|
+
]);
|
|
180
|
+
config.setDefaultGitUser(defaultUser);
|
|
181
|
+
const selectedProfile = gitProfiles.find(p => p.id === defaultUser);
|
|
182
|
+
if (selectedProfile) {
|
|
183
|
+
console.log(chalk_1.default.green(`ā Set as default git user: ${selectedProfile.label}\n`));
|
|
184
|
+
}
|
|
185
|
+
}
|
|
186
|
+
}
|
|
187
|
+
else {
|
|
188
|
+
console.log(chalk_1.default.yellow('ā No git user profile found.\n'));
|
|
189
|
+
}
|
|
190
|
+
const { addMore } = await inquirer_1.default.prompt([
|
|
191
|
+
{
|
|
192
|
+
type: 'confirm',
|
|
193
|
+
name: 'addMore',
|
|
194
|
+
message: 'Would you like to add more git user profiles?',
|
|
195
|
+
default: false
|
|
196
|
+
}
|
|
197
|
+
]);
|
|
198
|
+
if (addMore) {
|
|
199
|
+
console.log(chalk_1.default.blue('\nš” Tip: Type "q" and press Enter at any input to cancel adding users.\n'));
|
|
200
|
+
await userManagement.addMoreGitUsers(gitProfiles);
|
|
201
|
+
const updatedProfiles = config.getGitUsers();
|
|
202
|
+
if (updatedProfiles.length > 1) {
|
|
203
|
+
const { updateDefault } = await inquirer_1.default.prompt([
|
|
204
|
+
{
|
|
205
|
+
type: 'confirm',
|
|
206
|
+
name: 'updateDefault',
|
|
207
|
+
message: 'Would you like to update the default git user?',
|
|
208
|
+
default: false
|
|
209
|
+
}
|
|
210
|
+
]);
|
|
211
|
+
if (updateDefault) {
|
|
212
|
+
const { defaultUser } = await inquirer_1.default.prompt([
|
|
213
|
+
{
|
|
214
|
+
type: 'list',
|
|
215
|
+
name: 'defaultUser',
|
|
216
|
+
message: 'Select default git user:',
|
|
217
|
+
choices: updatedProfiles.map(p => ({
|
|
218
|
+
name: p.label,
|
|
219
|
+
value: p.id
|
|
220
|
+
}))
|
|
221
|
+
}
|
|
222
|
+
]);
|
|
223
|
+
config.setDefaultGitUser(defaultUser);
|
|
224
|
+
const selectedProfile = updatedProfiles.find(p => p.id === defaultUser);
|
|
225
|
+
if (selectedProfile) {
|
|
226
|
+
console.log(chalk_1.default.green(`ā Default git user updated: ${selectedProfile.label}\n`));
|
|
227
|
+
}
|
|
228
|
+
}
|
|
229
|
+
}
|
|
230
|
+
}
|
|
231
|
+
console.log(chalk_1.default.green.bold('ā Setup completed!\n'));
|
|
232
|
+
console.log(chalk_1.default.blue('Usage: git-ai commit\n'));
|
|
233
|
+
}
|
|
234
|
+
//# sourceMappingURL=setup.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"setup.js","sourceRoot":"","sources":["../src/setup.ts"],"names":[],"mappings":"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"}
|
package/dist/types.d.ts
ADDED
|
@@ -0,0 +1,41 @@
|
|
|
1
|
+
export interface GitUserProfile {
|
|
2
|
+
id: string;
|
|
3
|
+
name: string;
|
|
4
|
+
email: string;
|
|
5
|
+
scope: "global" | "local" | "manual" | "current";
|
|
6
|
+
label: string;
|
|
7
|
+
shortcut?: string | null;
|
|
8
|
+
}
|
|
9
|
+
export interface Config {
|
|
10
|
+
openaiKey?: string;
|
|
11
|
+
gitUsers?: GitUserProfile[];
|
|
12
|
+
defaultGitUser?: string | null;
|
|
13
|
+
}
|
|
14
|
+
export interface DiffData {
|
|
15
|
+
staged: string;
|
|
16
|
+
unstaged: string;
|
|
17
|
+
all: string;
|
|
18
|
+
}
|
|
19
|
+
export interface CommitGroup {
|
|
20
|
+
number: number;
|
|
21
|
+
description: string;
|
|
22
|
+
files: string[];
|
|
23
|
+
commitMessage: string;
|
|
24
|
+
commitBody?: string;
|
|
25
|
+
}
|
|
26
|
+
export interface AnalysisResult {
|
|
27
|
+
groups: CommitGroup[];
|
|
28
|
+
summary?: string;
|
|
29
|
+
}
|
|
30
|
+
export interface CommitResult {
|
|
31
|
+
group: number;
|
|
32
|
+
message: string;
|
|
33
|
+
files: number;
|
|
34
|
+
success: boolean;
|
|
35
|
+
error?: string;
|
|
36
|
+
}
|
|
37
|
+
export interface GitUserInfo {
|
|
38
|
+
name: string | null;
|
|
39
|
+
email: string | null;
|
|
40
|
+
}
|
|
41
|
+
//# sourceMappingURL=types.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,cAAc;IAC7B,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,EAAE,QAAQ,GAAG,OAAO,GAAG,QAAQ,GAAG,SAAS,CAAC;IACjD,KAAK,EAAE,MAAM,CAAC;IACd,QAAQ,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;CAC1B;AAED,MAAM,WAAW,MAAM;IACrB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,QAAQ,CAAC,EAAE,cAAc,EAAE,CAAC;IAC5B,cAAc,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;CAChC;AAED,MAAM,WAAW,QAAQ;IACvB,MAAM,EAAE,MAAM,CAAC;IACf,QAAQ,EAAE,MAAM,CAAC;IACjB,GAAG,EAAE,MAAM,CAAC;CACb;AAED,MAAM,WAAW,WAAW;IAC1B,MAAM,EAAE,MAAM,CAAC;IACf,WAAW,EAAE,MAAM,CAAC;IACpB,KAAK,EAAE,MAAM,EAAE,CAAC;IAChB,aAAa,EAAE,MAAM,CAAC;IACtB,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB;AAED,MAAM,WAAW,cAAc;IAC7B,MAAM,EAAE,WAAW,EAAE,CAAC;IACtB,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB;AAED,MAAM,WAAW,YAAY;IAC3B,KAAK,EAAE,MAAM,CAAC;IACd,OAAO,EAAE,MAAM,CAAC;IAChB,KAAK,EAAE,MAAM,CAAC;IACd,OAAO,EAAE,OAAO,CAAC;IACjB,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAED,MAAM,WAAW,WAAW;IAC1B,IAAI,EAAE,MAAM,GAAG,IAAI,CAAC;IACpB,KAAK,EAAE,MAAM,GAAG,IAAI,CAAC;CACtB"}
|
package/dist/types.js
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.js","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import { GitUserProfile } from './types';
|
|
2
|
+
/**
|
|
3
|
+
* Add shortcuts to each user profile
|
|
4
|
+
*/
|
|
5
|
+
export declare function addShortcutsToProfiles(profiles: GitUserProfile[]): Promise<GitUserProfile[]>;
|
|
6
|
+
/**
|
|
7
|
+
* Add more git user profiles
|
|
8
|
+
*/
|
|
9
|
+
export declare function addMoreGitUsers(existingProfiles: GitUserProfile[]): Promise<GitUserProfile[]>;
|
|
10
|
+
//# sourceMappingURL=user-management.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"user-management.d.ts","sourceRoot":"","sources":["../src/user-management.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,cAAc,EAAE,MAAM,SAAS,CAAC;AAEzC;;GAEG;AACH,wBAAsB,sBAAsB,CAAC,QAAQ,EAAE,cAAc,EAAE,GAAG,OAAO,CAAC,cAAc,EAAE,CAAC,CAsDlG;AAED;;GAEG;AACH,wBAAsB,eAAe,CAAC,gBAAgB,EAAE,cAAc,EAAE,GAAG,OAAO,CAAC,cAAc,EAAE,CAAC,CA0InG"}
|