@mehmetsagir/git-ai 0.0.6 → 0.0.9

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.
@@ -1 +1 @@
1
- {"version":3,"file":"commit-processor.d.ts","sourceRoot":"","sources":["../src/commit-processor.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,WAAW,EAAE,YAAY,EAAE,WAAW,EAAE,MAAM,SAAS,CAAC;AA+HjE;;GAEG;AACH,wBAAsB,sBAAsB,CAC1C,MAAM,EAAE,WAAW,EAAE,EACrB,YAAY,EAAE,WAAW,GAAG,IAAI,GAC/B,OAAO,CAAC,YAAY,EAAE,CAAC,CAyCzB"}
1
+ {"version":3,"file":"commit-processor.d.ts","sourceRoot":"","sources":["../src/commit-processor.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,WAAW,EAAE,YAAY,EAAE,WAAW,EAAE,MAAM,SAAS,CAAC;AA4KjE;;GAEG;AACH,wBAAsB,sBAAsB,CAC1C,MAAM,EAAE,WAAW,EAAE,EACrB,YAAY,EAAE,WAAW,GAAG,IAAI,GAC/B,OAAO,CAAC,YAAY,EAAE,CAAC,CAqGzB"}
@@ -44,65 +44,87 @@ const errors_1 = require("./utils/errors");
44
44
  /**
45
45
  * Process and commit a single group
46
46
  */
47
- async function processCommitGroup(group, selectedUser, remainingFiles, processedFiles) {
48
- if (remainingFiles.length === 0) {
49
- console.log(chalk_1.default.yellow(`⚠ Group ${group.number}: No files left to process, skipping.\n`));
47
+ async function processCommitGroup(group, selectedUser, filesToUse, processedFiles) {
48
+ if (filesToUse.length === 0) {
49
+ console.log(chalk_1.default.yellow(`⚠ Group ${group.number}: No files to process, skipping.\n`));
50
50
  return { success: false, filesProcessed: [] };
51
51
  }
52
- const groupFiles = group.files
53
- .map((file) => {
54
- const normalizedFile = file.replace(/^\.\//, "").replace(/^\//, "");
55
- return remainingFiles.find((changed) => {
56
- const normalizedChanged = changed
57
- .replace(/^\.\//, "")
58
- .replace(/^\//, "");
59
- return (normalizedChanged === normalizedFile ||
60
- normalizedChanged.endsWith(normalizedFile) ||
61
- normalizedFile.endsWith(normalizedChanged));
62
- });
63
- })
64
- .filter((file) => Boolean(file));
65
- const filesToStage = groupFiles.length > 0 ? groupFiles : [remainingFiles[0]];
66
- if (filesToStage.length === 0) {
67
- console.log(chalk_1.default.yellow(`⚠ Group ${group.number}: No files to stage, skipping.\n`));
68
- return { success: false, filesProcessed: [] };
69
- }
70
- filesToStage.forEach((file) => processedFiles.add(file));
71
- const stageSpinner = (0, ora_1.default)(`Group ${group.number}: Staging files...`).start();
72
- try {
73
- await git.stageFiles(filesToStage);
74
- stageSpinner.succeed(`Group ${group.number}: Files staged`);
52
+ // Mark files as processed
53
+ filesToUse.forEach((file) => processedFiles.add(file));
54
+ // Check if files are already staged
55
+ const currentlyStaged = await git.getStagedFiles();
56
+ const filesAlreadyStaged = filesToUse.filter((file) => currentlyStaged.includes(file));
57
+ const filesToStage = filesAlreadyStaged.length === filesToUse.length
58
+ ? [] // All files already staged
59
+ : filesToUse.filter((file) => !currentlyStaged.includes(file));
60
+ // Stage files if needed
61
+ if (filesToStage.length > 0) {
62
+ const stageSpinner = (0, ora_1.default)(`Group ${group.number}: Staging ${filesToStage.length} file(s)...`).start();
63
+ try {
64
+ await git.stageFiles(filesToStage);
65
+ stageSpinner.succeed(`Group ${group.number}: Files staged`);
66
+ }
67
+ catch (error) {
68
+ stageSpinner.fail(`Group ${group.number}: Error staging files: ${(0, errors_1.getErrorMessage)(error)}`);
69
+ return { success: false, filesProcessed: filesToUse };
70
+ }
75
71
  }
76
- catch (error) {
77
- stageSpinner.fail(`Group ${group.number}: Error staging files: ${(0, errors_1.getErrorMessage)(error)}`);
78
- return { success: false, filesProcessed: filesToStage };
72
+ else if (filesAlreadyStaged.length > 0) {
79
73
  }
80
74
  // Set git user before committing (local scope to not affect global config)
81
75
  if (selectedUser?.name && selectedUser?.email) {
82
76
  try {
83
- await git.setGitUser(selectedUser.name, selectedUser.email, "local");
77
+ const currentUser = await git.getGitUserInfo();
78
+ const needsChange = currentUser.name !== selectedUser.name ||
79
+ currentUser.email !== selectedUser.email;
80
+ if (needsChange) {
81
+ await git.setGitUser(selectedUser.name, selectedUser.email, "local");
82
+ console.log(chalk_1.default.green(`✓ Group ${group.number}: Git user changed to ${selectedUser.name} <${selectedUser.email}>\n`));
83
+ }
84
84
  }
85
85
  catch (error) {
86
- console.log(chalk_1.default.yellow(`⚠ Group ${group.number}: Warning - Could not set git user: ${(0, errors_1.getErrorMessage)(error)}\n`));
86
+ console.log(chalk_1.default.yellow(`⚠ Group ${group.number}: Failed to set git user: ${(0, errors_1.getErrorMessage)(error)}\n`));
87
87
  }
88
88
  }
89
89
  const fullMessage = group.commitBody
90
90
  ? `${group.commitMessage}\n\n${group.commitBody}`
91
91
  : group.commitMessage;
92
+ // Verify only the intended files are staged before committing
93
+ const stagedBeforeCommit = await git.getStagedFiles();
94
+ const unexpectedStaged = stagedBeforeCommit.filter((file) => !filesToUse.includes(file));
95
+ if (unexpectedStaged.length > 0) {
96
+ console.log(chalk_1.default.yellow(`⚠ Group ${group.number}: Fixing staging (unexpected files detected)\n`));
97
+ try {
98
+ await git.unstageAll();
99
+ if (filesToUse.length > 0) {
100
+ await git.stageFiles(filesToUse);
101
+ }
102
+ }
103
+ catch (error) {
104
+ console.log(chalk_1.default.yellow(`⚠ Group ${group.number}: Staging fix failed: ${(0, errors_1.getErrorMessage)(error)}\n`));
105
+ }
106
+ }
107
+ // Final check - ensure we have files to commit
108
+ const finalStaged = await git.getStagedFiles();
109
+ if (finalStaged.length === 0) {
110
+ console.log(chalk_1.default.yellow(`⚠ Group ${group.number}: No files staged, skipping commit.\n`));
111
+ return { success: false, filesProcessed: filesToUse };
112
+ }
92
113
  const commitSpinner = (0, ora_1.default)(`Group ${group.number}: Creating commit "${group.commitMessage}"...`).start();
93
114
  try {
94
115
  await git.createCommit(fullMessage, selectedUser?.name || null, selectedUser?.email || null);
95
116
  // Verify the commit was made with the correct user
96
- const currentUser = await git.getGitUserInfo();
97
- if (selectedUser &&
98
- (currentUser.name !== selectedUser.name ||
99
- currentUser.email !== selectedUser.email)) {
100
- console.log(chalk_1.default.yellow(`⚠ Group ${group.number}: Warning - Commit may have used different user. Expected: ${selectedUser.name} <${selectedUser.email}>, Current: ${currentUser.name} <${currentUser.email}>\n`));
117
+ if (selectedUser) {
118
+ const currentUser = await git.getGitUserInfo();
119
+ if (currentUser.name !== selectedUser.name ||
120
+ currentUser.email !== selectedUser.email) {
121
+ console.log(chalk_1.default.yellow(`⚠ Group ${group.number}: User mismatch (expected: ${selectedUser.name}, got: ${currentUser.name})\n`));
122
+ }
101
123
  }
102
124
  commitSpinner.succeed(`Group ${group.number}: Committed - ${group.commitMessage}`);
103
125
  return {
104
126
  success: true,
105
- filesProcessed: filesToStage,
127
+ filesProcessed: filesToUse,
106
128
  message: group.commitMessage,
107
129
  };
108
130
  }
@@ -111,7 +133,7 @@ async function processCommitGroup(group, selectedUser, remainingFiles, processed
111
133
  commitSpinner.fail(`Group ${group.number}: Commit error - ${errorMessage}`);
112
134
  return {
113
135
  success: false,
114
- filesProcessed: filesToStage,
136
+ filesProcessed: filesToUse,
115
137
  message: group.commitMessage,
116
138
  error: errorMessage,
117
139
  };
@@ -122,19 +144,67 @@ async function processCommitGroup(group, selectedUser, remainingFiles, processed
122
144
  */
123
145
  async function processAllCommitGroups(groups, selectedUser) {
124
146
  const prepareSpinner = (0, ora_1.default)("Preparing files...").start();
125
- try {
126
- await git.unstageAll();
127
- prepareSpinner.succeed("Files prepared");
147
+ // Check if there are already staged files
148
+ const initialStaged = await git.getStagedFiles();
149
+ const hasStagedFiles = initialStaged.length > 0;
150
+ if (!hasStagedFiles) {
151
+ try {
152
+ await git.unstageAll();
153
+ prepareSpinner.succeed("Ready");
154
+ }
155
+ catch (error) {
156
+ prepareSpinner.fail(`Error: ${(0, errors_1.getErrorMessage)(error)}`);
157
+ }
128
158
  }
129
- catch (error) {
130
- prepareSpinner.fail(`Unstage error: ${(0, errors_1.getErrorMessage)(error)}`);
159
+ else {
160
+ prepareSpinner.succeed(`${initialStaged.length} staged file(s) ready`);
131
161
  }
132
162
  const commitResults = [];
133
- let remainingFiles = await git.getAllChangedFiles();
134
163
  const processedFiles = new Set();
135
164
  console.log(chalk_1.default.blue(`\n📦 Creating ${groups.length} commits...\n`));
136
165
  for (const group of groups) {
137
- const result = await processCommitGroup(group, selectedUser, remainingFiles, processedFiles);
166
+ // Get current git status - this will exclude already committed files
167
+ const currentStaged = await git.getStagedFiles();
168
+ const currentChanged = await git.getAllChangedFiles();
169
+ // If there are staged files, use them for this commit
170
+ // Otherwise, use unstaged files from the group
171
+ let filesToUse = [];
172
+ if (currentStaged.length > 0 && processedFiles.size === 0) {
173
+ // First group and we have staged files - use them
174
+ filesToUse = currentStaged;
175
+ }
176
+ else {
177
+ // Get remaining files (exclude already processed ones)
178
+ const remainingFiles = currentChanged.filter((file) => !processedFiles.has(file));
179
+ // Match group files with remaining files
180
+ const groupFiles = group.files
181
+ .map((file) => {
182
+ const normalizedFile = file.replace(/^\.\//, "").replace(/^\//, "");
183
+ return remainingFiles.find((changed) => {
184
+ const normalizedChanged = changed
185
+ .replace(/^\.\//, "")
186
+ .replace(/^\//, "");
187
+ return (normalizedChanged === normalizedFile ||
188
+ normalizedChanged.endsWith(normalizedFile) ||
189
+ normalizedFile.endsWith(normalizedChanged));
190
+ });
191
+ })
192
+ .filter((file) => Boolean(file));
193
+ filesToUse =
194
+ groupFiles.length > 0 ? groupFiles : remainingFiles.slice(0, 1);
195
+ }
196
+ if (filesToUse.length === 0) {
197
+ console.log(chalk_1.default.yellow(`⚠ Group ${group.number}: No files available, skipping.\n`));
198
+ commitResults.push({
199
+ group: group.number,
200
+ message: group.commitMessage,
201
+ files: 0,
202
+ success: false,
203
+ error: "No files available",
204
+ });
205
+ continue;
206
+ }
207
+ const result = await processCommitGroup(group, selectedUser, filesToUse, processedFiles);
138
208
  commitResults.push({
139
209
  group: group.number,
140
210
  message: result.message || group.commitMessage,
@@ -142,7 +212,8 @@ async function processAllCommitGroups(groups, selectedUser) {
142
212
  success: result.success,
143
213
  error: result.error,
144
214
  });
145
- remainingFiles = remainingFiles.filter((file) => !processedFiles.has(file));
215
+ // After each commit, unstage any remaining staged files
216
+ // This ensures the next group only stages its own files
146
217
  try {
147
218
  await git.unstageAll();
148
219
  }
@@ -1 +1 @@
1
- {"version":3,"file":"commit-processor.js","sourceRoot":"","sources":["../src/commit-processor.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"commit-processor.js","sourceRoot":"","sources":["../src/commit-processor.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"commit.d.ts","sourceRoot":"","sources":["../src/commit.ts"],"names":[],"mappings":"AAUA;;GAEG;AACH,wBAAsB,SAAS,CAAC,QAAQ,GAAE,MAAM,GAAG,IAAW,GAAG,OAAO,CAAC,IAAI,CAAC,CA6R7E"}
1
+ {"version":3,"file":"commit.d.ts","sourceRoot":"","sources":["../src/commit.ts"],"names":[],"mappings":"AAUA;;GAEG;AACH,wBAAsB,SAAS,CAAC,QAAQ,GAAE,MAAM,GAAG,IAAW,GAAG,OAAO,CAAC,IAAI,CAAC,CA4U7E"}
package/dist/commit.js CHANGED
@@ -82,7 +82,7 @@ async function runCommit(userFlag = null) {
82
82
  name: currentUser.name,
83
83
  email: currentUser.email,
84
84
  };
85
- console.log(chalk_1.default.blue(`Using current git user: ${currentUser.name} <${currentUser.email}>\n`));
85
+ console.log(chalk_1.default.blue(`Git user: ${currentUser.name} <${currentUser.email}>\n`));
86
86
  }
87
87
  else {
88
88
  console.log(chalk_1.default.red("❌ Could not get git user info!\n"));
@@ -123,7 +123,7 @@ async function runCommit(userFlag = null) {
123
123
  const shortcutInfo = foundUser.shortcut
124
124
  ? chalk_1.default.yellow(` (shortcut: ${foundUser.shortcut})`)
125
125
  : "";
126
- console.log(chalk_1.default.blue(`Git user (selected via flag): ${foundUser.name} <${foundUser.email}>${shortcutInfo}\n`));
126
+ console.log(chalk_1.default.blue(`Git user: ${foundUser.name} <${foundUser.email}>${shortcutInfo}\n`));
127
127
  }
128
128
  else {
129
129
  const defaultUserId = config.getDefaultGitUser();
@@ -163,7 +163,7 @@ async function runCommit(userFlag = null) {
163
163
  };
164
164
  }
165
165
  if (selectedUser) {
166
- console.log(chalk_1.default.blue(`Git user (default): ${selectedUser.name} <${selectedUser.email}>\n`));
166
+ console.log(chalk_1.default.blue(`Git user: ${selectedUser.name} <${selectedUser.email}>\n`));
167
167
  }
168
168
  }
169
169
  }
@@ -173,26 +173,60 @@ async function runCommit(userFlag = null) {
173
173
  const currentGitUser = await git.getGitUserInfo();
174
174
  if (currentGitUser.name !== selectedUser.name ||
175
175
  currentGitUser.email !== selectedUser.email) {
176
- console.log(chalk_1.default.yellow(`⚠ Warning: Current git config (${currentGitUser.name} <${currentGitUser.email}>) differs from selected user.\n`));
177
- console.log(chalk_1.default.blue(` Git AI will set the user to ${selectedUser.name} <${selectedUser.email}> before committing.\n`));
176
+ console.log(chalk_1.default.yellow(`⚠ Git user will be changed to: ${selectedUser.name} <${selectedUser.email}>\n`));
178
177
  }
179
178
  }
180
179
  catch (error) {
181
180
  // Continue even if we can't verify
182
181
  }
183
182
  }
183
+ // Check git status and inform user
184
+ const stagedFiles = await git.getStagedFiles();
185
+ const allChangedFiles = await git.getAllChangedFiles();
186
+ const unstagedFiles = allChangedFiles.filter((file) => !stagedFiles.includes(file));
187
+ if (stagedFiles.length > 0) {
188
+ console.log(chalk_1.default.blue(`📦 Found ${stagedFiles.length} staged file(s). These will be analyzed and committed.\n`));
189
+ if (unstagedFiles.length > 0) {
190
+ console.log(chalk_1.default.blue(`📝 Also found ${unstagedFiles.length} unstaged file(s). These will be analyzed together.\n`));
191
+ }
192
+ }
193
+ else if (unstagedFiles.length > 0) {
194
+ console.log(chalk_1.default.blue(`📝 No staged files. Found ${unstagedFiles.length} unstaged file(s). These will be analyzed and committed.\n`));
195
+ }
196
+ else {
197
+ console.log(chalk_1.default.yellow("⚠ No changes found to commit.\n"));
198
+ return;
199
+ }
184
200
  const diffSpinner = (0, ora_1.default)("Analyzing changes...").start();
185
201
  let diffData;
186
202
  try {
187
203
  diffData = await git.getAllDiff();
204
+ // Check if we have actual diff content
205
+ const hasStaged = diffData.staged && diffData.staged.trim().length > 0;
206
+ const hasUnstaged = diffData.unstaged && diffData.unstaged.trim().length > 0;
207
+ if (!hasStaged && !hasUnstaged) {
208
+ diffSpinner.fail("No diff content found");
209
+ console.log(chalk_1.default.yellow(`ℹ Found ${allChangedFiles.length} file(s) but no diff content (may be renames/permissions only).\n`));
210
+ return;
211
+ }
212
+ // Combine staged and unstaged diffs
213
+ if (!hasStaged && hasUnstaged) {
214
+ diffData.all = diffData.unstaged;
215
+ }
216
+ else if (hasStaged && !hasUnstaged) {
217
+ diffData.all = diffData.staged;
218
+ }
219
+ else {
220
+ diffData.all = `${diffData.staged}\n${diffData.unstaged}`.trim();
221
+ }
188
222
  diffSpinner.succeed("Changes analyzed");
189
223
  }
190
224
  catch (error) {
191
- diffSpinner.fail(`Error getting diff: ${(0, errors_1.getErrorMessage)(error)}`);
225
+ diffSpinner.fail(`Error: ${(0, errors_1.getErrorMessage)(error)}`);
192
226
  return;
193
227
  }
194
228
  if (!diffData.all || diffData.all.trim().length === 0) {
195
- diffSpinner.fail("No diff found to analyze");
229
+ diffSpinner.fail("No diff content found to analyze");
196
230
  return;
197
231
  }
198
232
  const aiSpinner = (0, ora_1.default)("🤖 Analyzing diff with OpenAI and creating commit groups...").start();
@@ -1 +1 @@
1
- {"version":3,"file":"commit.js","sourceRoot":"","sources":["../src/commit.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAaA,8BA6RC;AA1SD,wDAAgC;AAChC,kDAA0B;AAC1B,8CAAsB;AACtB,iDAAmC;AACnC,2CAA6B;AAC7B,iDAAmC;AACnC,oEAAsD;AAEtD,2CAAiD;AAEjD;;GAEG;AACI,KAAK,UAAU,SAAS,CAAC,WAA0B,IAAI;IAC5D,OAAO,CAAC,GAAG,CAAC,eAAK,CAAC,IAAI,CAAC,IAAI,CAAC,sBAAsB,CAAC,CAAC,CAAC;IAErD,IAAI,CAAC,MAAM,CAAC,YAAY,EAAE,EAAE,CAAC;QAC3B,OAAO,CAAC,GAAG,CACT,eAAK,CAAC,MAAM,CAAC,sDAAsD,CAAC,CACrE,CAAC;QACF,OAAO,CAAC,GAAG,CAAC,eAAK,CAAC,IAAI,CAAC,qBAAqB,CAAC,CAAC,CAAC;QAC/C,OAAO;IACT,CAAC;IAED,MAAM,SAAS,GAAG,MAAM,CAAC,YAAY,EAAE,CAAC;IACxC,IAAI,CAAC,SAAS,EAAE,CAAC;QACf,OAAO,CAAC,GAAG,CACT,eAAK,CAAC,MAAM,CAAC,uDAAuD,CAAC,CACtE,CAAC;QACF,OAAO,CAAC,GAAG,CAAC,eAAK,CAAC,IAAI,CAAC,qBAAqB,CAAC,CAAC,CAAC;QAC/C,OAAO;IACT,CAAC;IAED,MAAM,MAAM,GAAG,MAAM,GAAG,CAAC,eAAe,EAAE,CAAC;IAC3C,IAAI,CAAC,MAAM,EAAE,CAAC;QACZ,OAAO,CAAC,GAAG,CAAC,eAAK,CAAC,GAAG,CAAC,6CAA6C,CAAC,CAAC,CAAC;QACtE,OAAO;IACT,CAAC;IAED,MAAM,UAAU,GAAG,MAAM,GAAG,CAAC,UAAU,EAAE,CAAC;IAC1C,IAAI,CAAC,UAAU,EAAE,CAAC;QAChB,OAAO,CAAC,GAAG,CAAC,eAAK,CAAC,MAAM,CAAC,iCAAiC,CAAC,CAAC,CAAC;QAC7D,OAAO;IACT,CAAC;IAED,MAAM,QAAQ,GAAG,MAAM,CAAC,WAAW,EAAE,CAAC;IACtC,IAAI,YAAY,GAAuB,IAAI,CAAC;IAE5C,IAAI,QAAQ,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QAC1B,OAAO,CAAC,GAAG,CACT,eAAK,CAAC,MAAM,CAAC,sDAAsD,CAAC,CACrE,CAAC;QACF,IAAI,CAAC;YACH,MAAM,WAAW,GAAG,MAAM,GAAG,CAAC,cAAc,EAAE,CAAC;YAC/C,IAAI,WAAW,CAAC,IAAI,IAAI,WAAW,CAAC,KAAK,EAAE,CAAC;gBAC1C,YAAY,GAAG;oBACb,IAAI,EAAE,WAAW,CAAC,IAAI;oBACtB,KAAK,EAAE,WAAW,CAAC,KAAK;iBACzB,CAAC;gBACF,OAAO,CAAC,GAAG,CACT,eAAK,CAAC,IAAI,CACR,2BAA2B,WAAW,CAAC,IAAI,KAAK,WAAW,CAAC,KAAK,KAAK,CACvE,CACF,CAAC;YACJ,CAAC;iBAAM,CAAC;gBACN,OAAO,CAAC,GAAG,CAAC,eAAK,CAAC,GAAG,CAAC,kCAAkC,CAAC,CAAC,CAAC;gBAC3D,OAAO;YACT,CAAC;QACH,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,OAAO,CAAC,GAAG,CACT,eAAK,CAAC,GAAG,CAAC,kCAAkC,IAAA,wBAAe,EAAC,KAAK,CAAC,IAAI,CAAC,CACxE,CAAC;YACF,OAAO;QACT,CAAC;IACH,CAAC;SAAM,CAAC;QACN,IAAI,QAAQ,EAAE,CAAC;YACb,MAAM,aAAa,GAAG,QAAQ,CAAC,WAAW,EAAE,CAAC,IAAI,EAAE,CAAC;YAEpD,IAAI,SAAS,GAA+B,QAAQ,CAAC,IAAI,CACvD,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,QAAQ,KAAK,aAAa,CACpC,CAAC;YAEF,IAAI,CAAC,SAAS,EAAE,CAAC;gBACf,SAAS,GAAG,QAAQ,CAAC,IAAI,CACvB,CAAC,CAAC,EAAE,EAAE,CACJ,CAAC,CAAC,EAAE,KAAK,QAAQ;oBACjB,CAAC,CAAC,EAAE,KAAK,aAAa;oBACtB,CAAC,CAAC,KAAK,KAAK,QAAQ;oBACpB,CAAC,CAAC,KAAK,CAAC,WAAW,EAAE,KAAK,aAAa,CAC1C,CAAC;YACJ,CAAC;YAED,IAAI,CAAC,SAAS,EAAE,CAAC;gBACf,OAAO,CAAC,GAAG,CAAC,eAAK,CAAC,GAAG,CAAC,yBAAyB,QAAQ,IAAI,CAAC,CAAC,CAAC;gBAC9D,OAAO,CAAC,GAAG,CAAC,eAAK,CAAC,IAAI,CAAC,4BAA4B,CAAC,CAAC,CAAC;gBACtD,QAAQ,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,EAAE;oBACrB,MAAM,YAAY,GAAG,CAAC,CAAC,QAAQ;wBAC7B,CAAC,CAAC,eAAK,CAAC,MAAM,CAAC,eAAe,CAAC,CAAC,QAAQ,GAAG,CAAC;wBAC5C,CAAC,CAAC,EAAE,CAAC;oBACP,OAAO,CAAC,GAAG,CAAC,eAAK,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,KAAK,GAAG,YAAY,EAAE,CAAC,CAAC,CAAC;gBAC3D,CAAC,CAAC,CAAC;gBACH,OAAO,CAAC,GAAG,CACT,eAAK,CAAC,IAAI,CAAC,qDAAqD,CAAC,CAClE,CAAC;gBACF,OAAO;YACT,CAAC;YAED,YAAY,GAAG;gBACb,IAAI,EAAE,SAAS,CAAC,IAAI;gBACpB,KAAK,EAAE,SAAS,CAAC,KAAK;aACvB,CAAC;YAEF,MAAM,YAAY,GAAG,SAAS,CAAC,QAAQ;gBACrC,CAAC,CAAC,eAAK,CAAC,MAAM,CAAC,eAAe,SAAS,CAAC,QAAQ,GAAG,CAAC;gBACpD,CAAC,CAAC,EAAE,CAAC;YACP,OAAO,CAAC,GAAG,CACT,eAAK,CAAC,IAAI,CACR,iCAAiC,SAAS,CAAC,IAAI,KAAK,SAAS,CAAC,KAAK,IAAI,YAAY,IAAI,CACxF,CACF,CAAC;QACJ,CAAC;aAAM,CAAC;YACN,MAAM,aAAa,GAAG,MAAM,CAAC,iBAAiB,EAAE,CAAC;YACjD,IAAI,aAAa,EAAE,CAAC;gBAClB,MAAM,WAAW,GAAG,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,KAAK,aAAa,CAAC,CAAC;gBACjE,IAAI,WAAW,EAAE,CAAC;oBAChB,YAAY,GAAG;wBACb,IAAI,EAAE,WAAW,CAAC,IAAI;wBACtB,KAAK,EAAE,WAAW,CAAC,KAAK;qBACzB,CAAC;gBACJ,CAAC;YACH,CAAC;YAED,IAAI,QAAQ,CAAC,MAAM,GAAG,CAAC,IAAI,CAAC,YAAY,EAAE,CAAC;gBACzC,MAAM,EAAE,MAAM,EAAE,GAAG,MAAM,kBAAQ,CAAC,MAAM,CAAqB;oBAC3D;wBACE,IAAI,EAAE,MAAM;wBACZ,IAAI,EAAE,QAAQ;wBACd,OAAO,EAAE,kBAAkB;wBAC3B,OAAO,EAAE,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;4BAC5B,IAAI,EAAE,CAAC,CAAC,KAAK;4BACb,KAAK,EAAE,CAAC,CAAC,EAAE;yBACZ,CAAC,CAAC;qBACJ;iBACF,CAAC,CAAC;gBACH,MAAM,UAAU,GAAG,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,KAAK,MAAM,CAAC,CAAC;gBACzD,IAAI,UAAU,EAAE,CAAC;oBACf,YAAY,GAAG;wBACb,IAAI,EAAE,UAAU,CAAC,IAAI;wBACrB,KAAK,EAAE,UAAU,CAAC,KAAK;qBACxB,CAAC;gBACJ,CAAC;YACH,CAAC;iBAAM,IAAI,CAAC,YAAY,IAAI,QAAQ,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBAChD,YAAY,GAAG;oBACb,IAAI,EAAE,QAAQ,CAAC,CAAC,CAAC,CAAC,IAAI;oBACtB,KAAK,EAAE,QAAQ,CAAC,CAAC,CAAC,CAAC,KAAK;iBACzB,CAAC;YACJ,CAAC;YAED,IAAI,YAAY,EAAE,CAAC;gBACjB,OAAO,CAAC,GAAG,CACT,eAAK,CAAC,IAAI,CACR,uBAAuB,YAAY,CAAC,IAAI,KAAK,YAAY,CAAC,KAAK,KAAK,CACrE,CACF,CAAC;YACJ,CAAC;QACH,CAAC;IACH,CAAC;IAED,kDAAkD;IAClD,IAAI,YAAY,EAAE,CAAC;QACjB,IAAI,CAAC;YACH,MAAM,cAAc,GAAG,MAAM,GAAG,CAAC,cAAc,EAAE,CAAC;YAClD,IACE,cAAc,CAAC,IAAI,KAAK,YAAY,CAAC,IAAI;gBACzC,cAAc,CAAC,KAAK,KAAK,YAAY,CAAC,KAAK,EAC3C,CAAC;gBACD,OAAO,CAAC,GAAG,CACT,eAAK,CAAC,MAAM,CACV,kCAAkC,cAAc,CAAC,IAAI,KAAK,cAAc,CAAC,KAAK,kCAAkC,CACjH,CACF,CAAC;gBACF,OAAO,CAAC,GAAG,CACT,eAAK,CAAC,IAAI,CACR,kCAAkC,YAAY,CAAC,IAAI,KAAK,YAAY,CAAC,KAAK,wBAAwB,CACnG,CACF,CAAC;YACJ,CAAC;QACH,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,mCAAmC;QACrC,CAAC;IACH,CAAC;IAED,MAAM,WAAW,GAAG,IAAA,aAAG,EAAC,sBAAsB,CAAC,CAAC,KAAK,EAAE,CAAC;IACxD,IAAI,QAAQ,CAAC;IACb,IAAI,CAAC;QACH,QAAQ,GAAG,MAAM,GAAG,CAAC,UAAU,EAAE,CAAC;QAClC,WAAW,CAAC,OAAO,CAAC,kBAAkB,CAAC,CAAC;IAC1C,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,WAAW,CAAC,IAAI,CAAC,uBAAuB,IAAA,wBAAe,EAAC,KAAK,CAAC,EAAE,CAAC,CAAC;QAClE,OAAO;IACT,CAAC;IAED,IAAI,CAAC,QAAQ,CAAC,GAAG,IAAI,QAAQ,CAAC,GAAG,CAAC,IAAI,EAAE,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACtD,WAAW,CAAC,IAAI,CAAC,0BAA0B,CAAC,CAAC;QAC7C,OAAO;IACT,CAAC;IAED,MAAM,SAAS,GAAG,IAAA,aAAG,EACnB,6DAA6D,CAC9D,CAAC,KAAK,EAAE,CAAC;IACV,IAAI,cAAc,CAAC;IACnB,IAAI,CAAC;QACH,cAAc,GAAG,MAAM,MAAM,CAAC,mBAAmB,CAAC,QAAQ,CAAC,GAAG,EAAE,SAAS,CAAC,CAAC;QAC3E,SAAS,CAAC,OAAO,CACf,sBAAsB,cAAc,CAAC,MAAM,EAAE,MAAM,IAAI,CAAC,iBAAiB,CAC1E,CAAC;IACJ,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,SAAS,CAAC,IAAI,CAAC,0BAA0B,IAAA,wBAAe,EAAC,KAAK,CAAC,EAAE,CAAC,CAAC;QACnE,OAAO;IACT,CAAC;IAED,IAAI,CAAC,cAAc,CAAC,MAAM,IAAI,cAAc,CAAC,MAAM,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACjE,OAAO,CAAC,GAAG,CAAC,eAAK,CAAC,MAAM,CAAC,8BAA8B,CAAC,CAAC,CAAC;QAC1D,OAAO;IACT,CAAC;IAED,OAAO,CAAC,GAAG,CACT,eAAK,CAAC,KAAK,CAAC,IAAI,CAAC,OAAO,cAAc,CAAC,MAAM,CAAC,MAAM,mBAAmB,CAAC,CACzE,CAAC;IACF,OAAO,CAAC,GAAG,CAAC,eAAK,CAAC,IAAI,CAAC,mBAAmB,CAAC,CAAC,CAAC;IAE7C,cAAc,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,KAAK,EAAE,EAAE;QACtC,OAAO,CAAC,GAAG,CAAC,eAAK,CAAC,IAAI,CAAC,WAAW,KAAK,CAAC,MAAM,KAAK,KAAK,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC;QACzE,OAAO,CAAC,GAAG,CAAC,eAAK,CAAC,IAAI,CAAC,UAAU,KAAK,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC;QAC5D,OAAO,CAAC,GAAG,CAAC,eAAK,CAAC,MAAM,CAAC,WAAW,KAAK,CAAC,aAAa,EAAE,CAAC,CAAC,CAAC;QAC5D,IAAI,KAAK,CAAC,UAAU,EAAE,CAAC;YACrB,MAAM,SAAS,GAAG,KAAK,CAAC,UAAU,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;YAC/C,SAAS,CAAC,OAAO,CAAC,CAAC,IAAI,EAAE,EAAE;gBACzB,OAAO,CAAC,GAAG,CAAC,eAAK,CAAC,IAAI,CAAC,KAAK,IAAI,EAAE,CAAC,CAAC,CAAC;YACvC,CAAC,CAAC,CAAC;QACL,CAAC;IACH,CAAC,CAAC,CAAC;IAEH,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;IAElB,MAAM,EAAE,OAAO,EAAE,GAAG,MAAM,kBAAQ,CAAC,MAAM,CAAuB;QAC9D;YACE,IAAI,EAAE,SAAS;YACf,IAAI,EAAE,SAAS;YACf,OAAO,EAAE,kCAAkC;YAC3C,OAAO,EAAE,IAAI;SACd;KACF,CAAC,CAAC;IAEH,IAAI,CAAC,OAAO,EAAE,CAAC;QACb,OAAO,CAAC,GAAG,CAAC,eAAK,CAAC,MAAM,CAAC,4BAA4B,CAAC,CAAC,CAAC;QACxD,OAAO;IACT,CAAC;IAED,MAAM,aAAa,GAAG,MAAM,eAAe,CAAC,sBAAsB,CAChE,cAAc,CAAC,MAAM,EACrB,YAAY,CACb,CAAC;IAEF,OAAO,CAAC,GAAG,CAAC,eAAK,CAAC,IAAI,CAAC,IAAI,CAAC,uBAAuB,CAAC,CAAC,CAAC;IACtD,OAAO,CAAC,GAAG,CACT,eAAK,CAAC,IAAI,CACR,kBAAkB,aAAa,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,MAAM,EAAE,CAClE,CACF,CAAC;IACF,OAAO,CAAC,GAAG,CACT,eAAK,CAAC,IAAI,CAAC,eAAe,aAAa,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,MAAM,EAAE,CAAC,CAC3E,CAAC;IACF,OAAO,CAAC,GAAG,CACT,eAAK,CAAC,IAAI,CAAC,WAAW,aAAa,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,MAAM,IAAI,CAAC,CAC1E,CAAC;IAEF,IAAI,aAAa,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QAC7B,OAAO,CAAC,GAAG,CAAC,eAAK,CAAC,IAAI,CAAC,mBAAmB,CAAC,CAAC,CAAC;QAC7C,aAAa,CAAC,OAAO,CAAC,CAAC,MAAM,EAAE,EAAE;YAC/B,IAAI,MAAM,CAAC,OAAO,EAAE,CAAC;gBACnB,OAAO,CAAC,GAAG,CACT,eAAK,CAAC,KAAK,CAAC,OAAO,MAAM,CAAC,OAAO,MAAM,MAAM,CAAC,KAAK,QAAQ,CAAC,CAC7D,CAAC;YACJ,CAAC;iBAAM,CAAC;gBACN,OAAO,CAAC,GAAG,CACT,eAAK,CAAC,GAAG,CAAC,OAAO,MAAM,CAAC,OAAO,aAAa,MAAM,CAAC,KAAK,EAAE,CAAC,CAC5D,CAAC;YACJ,CAAC;QACH,CAAC,CAAC,CAAC;IACL,CAAC;IAED,OAAO,CAAC,GAAG,CACT,eAAK,CAAC,MAAM,CAAC,6DAA6D,CAAC,CAC5E,CAAC;IACF,OAAO,CAAC,GAAG,CACT,eAAK,CAAC,IAAI,CAAC,6DAA6D,CAAC,CAC1E,CAAC;AACJ,CAAC"}
1
+ {"version":3,"file":"commit.js","sourceRoot":"","sources":["../src/commit.ts"],"names":[],"mappings":"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"}
package/dist/git.d.ts CHANGED
@@ -4,11 +4,11 @@ import { DiffData, GitUserInfo, GitUserProfile } from "./types";
4
4
  */
5
5
  export declare function getStagedDiff(): Promise<string>;
6
6
  /**
7
- * Get unstaged changes
7
+ * Get unstaged changes (including new files)
8
8
  */
9
9
  export declare function getUnstagedDiff(): Promise<string>;
10
10
  /**
11
- * Get all changes (staged + unstaged)
11
+ * Get all changes (staged + unstaged, including new files)
12
12
  */
13
13
  export declare function getAllDiff(): Promise<DiffData>;
14
14
  /**
package/dist/git.d.ts.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"git.d.ts","sourceRoot":"","sources":["../src/git.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,QAAQ,EAAE,WAAW,EAAE,cAAc,EAAE,MAAM,SAAS,CAAC;AAUhE;;GAEG;AACH,wBAAsB,aAAa,IAAI,OAAO,CAAC,MAAM,CAAC,CAQrD;AAED;;GAEG;AACH,wBAAsB,eAAe,IAAI,OAAO,CAAC,MAAM,CAAC,CAQvD;AAED;;GAEG;AACH,wBAAsB,UAAU,IAAI,OAAO,CAAC,QAAQ,CAAC,CAYpD;AAED;;GAEG;AACH,wBAAsB,UAAU,IAAI,OAAO,CAAC,OAAO,CAAC,CAQnD;AAED;;GAEG;AACH,wBAAsB,cAAc,IAAI,OAAO,CAAC,WAAW,CAAC,CAkB3D;AAED;;GAEG;AACH,wBAAsB,qBAAqB,IAAI,OAAO,CAAC,cAAc,EAAE,CAAC,CA8DvE;AAED;;GAEG;AACH,wBAAsB,UAAU,CAC9B,IAAI,EAAE,MAAM,EACZ,KAAK,EAAE,MAAM,EACb,KAAK,GAAE,QAAQ,GAAG,OAAiB,GAClC,OAAO,CAAC,OAAO,CAAC,CASlB;AAED;;GAEG;AACH,wBAAsB,UAAU,CAAC,KAAK,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,OAAO,CAAC,CAQlE;AAED;;GAEG;AACH,wBAAsB,UAAU,IAAI,OAAO,CAAC,OAAO,CAAC,CAQnD;AAED;;GAEG;AACH,wBAAsB,YAAY,CAChC,OAAO,EAAE,MAAM,EACf,UAAU,GAAE,MAAM,GAAG,IAAW,EAChC,WAAW,GAAE,MAAM,GAAG,IAAW,GAChC,OAAO,CAAC,OAAO,CAAC,CAYlB;AAED;;GAEG;AACH,wBAAsB,cAAc,IAAI,OAAO,CAAC,MAAM,EAAE,CAAC,CAQxD;AAED;;GAEG;AACH,wBAAsB,kBAAkB,IAAI,OAAO,CAAC,MAAM,EAAE,CAAC,CAQ5D;AAED;;GAEG;AACH,wBAAsB,eAAe,IAAI,OAAO,CAAC,OAAO,CAAC,CAQxD"}
1
+ {"version":3,"file":"git.d.ts","sourceRoot":"","sources":["../src/git.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,QAAQ,EAAE,WAAW,EAAE,cAAc,EAAE,MAAM,SAAS,CAAC;AAUhE;;GAEG;AACH,wBAAsB,aAAa,IAAI,OAAO,CAAC,MAAM,CAAC,CAQrD;AAoBD;;GAEG;AACH,wBAAsB,eAAe,IAAI,OAAO,CAAC,MAAM,CAAC,CAsBvD;AAED;;GAEG;AACH,wBAAsB,UAAU,IAAI,OAAO,CAAC,QAAQ,CAAC,CA2CpD;AAED;;GAEG;AACH,wBAAsB,UAAU,IAAI,OAAO,CAAC,OAAO,CAAC,CAQnD;AAED;;GAEG;AACH,wBAAsB,cAAc,IAAI,OAAO,CAAC,WAAW,CAAC,CAkB3D;AAED;;GAEG;AACH,wBAAsB,qBAAqB,IAAI,OAAO,CAAC,cAAc,EAAE,CAAC,CA8DvE;AAED;;GAEG;AACH,wBAAsB,UAAU,CAC9B,IAAI,EAAE,MAAM,EACZ,KAAK,EAAE,MAAM,EACb,KAAK,GAAE,QAAQ,GAAG,OAAiB,GAClC,OAAO,CAAC,OAAO,CAAC,CASlB;AAED;;GAEG;AACH,wBAAsB,UAAU,CAAC,KAAK,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,OAAO,CAAC,CAQlE;AAED;;GAEG;AACH,wBAAsB,UAAU,IAAI,OAAO,CAAC,OAAO,CAAC,CAQnD;AAED;;GAEG;AACH,wBAAsB,YAAY,CAChC,OAAO,EAAE,MAAM,EACf,UAAU,GAAE,MAAM,GAAG,IAAW,EAChC,WAAW,GAAE,MAAM,GAAG,IAAW,GAChC,OAAO,CAAC,OAAO,CAAC,CAYlB;AAED;;GAEG;AACH,wBAAsB,cAAc,IAAI,OAAO,CAAC,MAAM,EAAE,CAAC,CAQxD;AAED;;GAEG;AACH,wBAAsB,kBAAkB,IAAI,OAAO,CAAC,MAAM,EAAE,CAAC,CAQ5D;AAED;;GAEG;AACH,wBAAsB,eAAe,IAAI,OAAO,CAAC,OAAO,CAAC,CAQxD"}
package/dist/git.js CHANGED
@@ -1,4 +1,37 @@
1
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
+ })();
2
35
  var __importDefault = (this && this.__importDefault) || function (mod) {
3
36
  return (mod && mod.__esModule) ? mod : { "default": mod };
4
37
  };
@@ -17,6 +50,8 @@ exports.getStagedFiles = getStagedFiles;
17
50
  exports.getAllChangedFiles = getAllChangedFiles;
18
51
  exports.isGitRepository = isGitRepository;
19
52
  const simple_git_1 = __importDefault(require("simple-git"));
53
+ const fs = __importStar(require("fs"));
54
+ const path = __importStar(require("path"));
20
55
  const errors_1 = require("./utils/errors");
21
56
  /**
22
57
  * Create git repository instance
@@ -38,29 +73,83 @@ async function getStagedDiff() {
38
73
  }
39
74
  }
40
75
  /**
41
- * Get unstaged changes
76
+ * Get diff for a new (untracked) file
77
+ */
78
+ function getNewFileDiff(filePath) {
79
+ try {
80
+ const fullPath = path.resolve(process.cwd(), filePath);
81
+ if (!fs.existsSync(fullPath)) {
82
+ return "";
83
+ }
84
+ const content = fs.readFileSync(fullPath, "utf8");
85
+ const lines = content.split("\n");
86
+ const diffLines = lines.map((line) => `+${line}`);
87
+ return `diff --git a/${filePath} b/${filePath}\nnew file mode 100644\nindex 0000000..1111111\n--- /dev/null\n+++ b/${filePath}\n${diffLines.join("\n")}`;
88
+ }
89
+ catch (error) {
90
+ return "";
91
+ }
92
+ }
93
+ /**
94
+ * Get unstaged changes (including new files)
42
95
  */
43
96
  async function getUnstagedDiff() {
44
97
  try {
45
98
  const git = getGitInstance();
46
- const diff = await git.diff();
47
- return diff;
99
+ const status = await git.status();
100
+ // Get diff for tracked modified files
101
+ const trackedDiff = await git.diff();
102
+ // Get diff for new (untracked) files
103
+ const newFiles = status.not_added || [];
104
+ const newFilesDiff = newFiles
105
+ .map((file) => getNewFileDiff(file))
106
+ .filter((diff) => diff.length > 0)
107
+ .join("\n\n");
108
+ if (trackedDiff && newFilesDiff) {
109
+ return `${trackedDiff}\n\n${newFilesDiff}`;
110
+ }
111
+ return trackedDiff || newFilesDiff;
48
112
  }
49
113
  catch (error) {
50
114
  throw new Error(`Error getting unstaged diff: ${(0, errors_1.getErrorMessage)(error)}`);
51
115
  }
52
116
  }
53
117
  /**
54
- * Get all changes (staged + unstaged)
118
+ * Get all changes (staged + unstaged, including new files)
55
119
  */
56
120
  async function getAllDiff() {
57
121
  try {
122
+ const git = getGitInstance();
123
+ const status = await git.status();
124
+ // Get staged diff
58
125
  const staged = await getStagedDiff();
126
+ // Get unstaged diff (includes new files)
59
127
  const unstaged = await getUnstagedDiff();
128
+ // Also check for new files in staged area
129
+ // New files are those in not_added that might have been staged
130
+ const stagedNewFiles = [];
131
+ const allNewFiles = status.not_added || [];
132
+ const stagedFiles = status.staged || [];
133
+ // Check if any new files are also in staged (shouldn't happen, but check anyway)
134
+ for (const file of stagedFiles) {
135
+ if (allNewFiles.includes(file)) {
136
+ stagedNewFiles.push(file);
137
+ }
138
+ }
139
+ let stagedWithNew = staged;
140
+ if (stagedNewFiles.length > 0) {
141
+ const stagedNewFilesDiff = stagedNewFiles
142
+ .map((file) => getNewFileDiff(file))
143
+ .filter((diff) => diff.length > 0)
144
+ .join("\n\n");
145
+ if (stagedNewFilesDiff) {
146
+ stagedWithNew = staged ? `${staged}\n\n${stagedNewFilesDiff}` : stagedNewFilesDiff;
147
+ }
148
+ }
60
149
  return {
61
- staged,
150
+ staged: stagedWithNew,
62
151
  unstaged,
63
- all: `${staged}\n${unstaged}`.trim(),
152
+ all: `${stagedWithNew}\n${unstaged}`.trim(),
64
153
  };
65
154
  }
66
155
  catch (error) {
package/dist/git.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"git.js","sourceRoot":"","sources":["../src/git.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"git.js","sourceRoot":"","sources":["../src/git.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"prompts.d.ts","sourceRoot":"","sources":["../src/prompts.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,wBAAgB,2BAA2B,IAAI,MAAM,CAsDpD;AAED;;GAEG;AACH,wBAAgB,yBAAyB,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAQ9D;AAED;;GAEG;AACH,wBAAgB,2BAA2B,IAAI,MAAM,CAoBpD;AAED;;GAEG;AACH,wBAAgB,yBAAyB,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAY9D"}
1
+ {"version":3,"file":"prompts.d.ts","sourceRoot":"","sources":["../src/prompts.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,wBAAgB,2BAA2B,IAAI,MAAM,CA6FpD;AAED;;GAEG;AACH,wBAAgB,yBAAyB,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAuB9D;AAED;;GAEG;AACH,wBAAgB,2BAA2B,IAAI,MAAM,CAoBpD;AAED;;GAEG;AACH,wBAAgB,yBAAyB,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAY9D"}
package/dist/prompts.js CHANGED
@@ -10,12 +10,53 @@ exports.getSingleCommitUserPrompt = getSingleCommitUserPrompt;
10
10
  function getDiffAnalysisSystemPrompt() {
11
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
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
13
+ CRITICAL GROUPING PRINCIPLES (MUST FOLLOW):
14
+
15
+ 1. **Group Related Files Together**:
16
+ - Files that implement the same feature MUST be in the same commit
17
+ - Files that import/use each other MUST be in the same commit
18
+ - Test files MUST be with their corresponding source files
19
+ - Configuration files related to a feature MUST be with that feature
20
+ - Example: If you add a UserService, put UserService.ts, UserService.test.ts, and user.types.ts together
21
+
22
+ 2. **Respect Dependencies**:
23
+ - Base/utility files that other files depend on should be committed FIRST
24
+ - Files that depend on others should be committed AFTER their dependencies
25
+ - Example: If types.ts is used by service.ts, commit types.ts first, then service.ts
26
+
27
+ 3. **Feature-Based Grouping**:
28
+ - Group by feature/module (authentication, payment, user management, etc.)
29
+ - Group by component area (UI components, API endpoints, database models)
30
+ - Group by layer (models, services, controllers, views)
31
+
32
+ 4. **Type-Based Grouping** (when features are unrelated):
33
+ - All documentation changes together
34
+ - All test files together (if not related to specific features)
35
+ - All style/formatting changes together
36
+ - All configuration changes together
37
+
38
+ 5. **Atomic Commits**:
39
+ - Each commit should represent ONE complete, logical change
40
+ - Each commit should leave the codebase in a working state
41
+ - Avoid mixing unrelated changes in one commit
42
+
43
+ 6. **Optimal Grouping Strategy**:
44
+ - MAXIMIZE grouping: Put as many related files together as possible
45
+ - MINIMIZE commits: Create fewer, well-grouped commits rather than many tiny commits
46
+ - Only create separate commits when files are truly unrelated
47
+ - If 10 files are all part of one feature, they should be ONE commit, not 10
48
+
49
+ GROUPING EXAMPLES:
50
+
51
+ ✅ GOOD GROUPING:
52
+ - Group 1: Authentication feature (auth.ts, auth.test.ts, auth.types.ts, auth.config.ts) - 4 files, 1 commit
53
+ - Group 2: User profile feature (profile.ts, profile.test.ts, profile.types.ts) - 3 files, 1 commit
54
+
55
+ ❌ BAD GROUPING:
56
+ - Group 1: auth.ts - 1 file
57
+ - Group 2: auth.test.ts - 1 file
58
+ - Group 3: auth.types.ts - 1 file
59
+ (This is wrong! These are related and should be ONE commit)
19
60
 
20
61
  Conventional Commits format:
21
62
  <type>(<scope>): <subject>
@@ -33,30 +74,28 @@ Types:
33
74
  - test: Tests
34
75
  - chore: Maintenance tasks
35
76
 
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
77
  Each commit group must contain:
43
- 1. Group number
44
- 2. Group description (what type of changes)
45
- 3. File list (full file paths)
78
+ 1. Group number (sequential: 1, 2, 3...)
79
+ 2. Group description (what feature/change this represents)
80
+ 3. File list (full file paths - ALL related files together)
46
81
  4. Commit message in Conventional Commits format
47
82
  5. Commit message body (detailed description of changes)
48
83
 
49
- IMPORTANT: Each group will be created as a SEPARATE COMMIT. Do not commit all groups at once, each one will be committed separately.
84
+ IMPORTANT:
85
+ - Each group will be created as a SEPARATE COMMIT
86
+ - Group files MAXIMALLY - put all related files together
87
+ - Only separate into different commits if files are truly unrelated
88
+ - Order groups by dependencies (base files first, dependent files later)
50
89
 
51
90
  Respond in JSON format:
52
91
  {
53
92
  "groups": [
54
93
  {
55
94
  "number": 1,
56
- "description": "Group description (e.g., Authentication bug fix)",
57
- "files": ["src/auth.ts", "src/auth.test.ts"],
95
+ "description": "Authentication feature implementation",
96
+ "files": ["src/auth.ts", "src/auth.test.ts", "src/auth.types.ts", "src/auth.config.ts"],
58
97
  "commitMessage": "feat(auth): add OAuth2 authentication support",
59
- "commitBody": "Added OAuth2 authentication support. Implemented token refresh mechanism. Applied security best practices."
98
+ "commitBody": "Implemented complete OAuth2 authentication flow. Added authentication service, types, configuration, and comprehensive tests."
60
99
  }
61
100
  ],
62
101
  "summary": "Total X groups, Y file changes"
@@ -66,12 +105,27 @@ Respond in JSON format:
66
105
  * Get user prompt for diff analysis
67
106
  */
68
107
  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.
108
+ return `Analyze the following git diff and group it into logical commit groups.
109
+
110
+ CRITICAL INSTRUCTIONS:
111
+ 1. **MAXIMIZE GROUPING**: Put ALL related files together in the same commit
112
+ 2. **Identify relationships**: Look for imports, shared functionality, feature boundaries
113
+ 3. **Group by feature first**: If files are part of the same feature, they MUST be in one commit
114
+ 4. **Minimize commit count**: Only create separate commits when files are truly unrelated
115
+ 5. **Order by dependencies**: Commit base/utility files before files that use them
116
+
117
+ Analyze file relationships:
118
+ - Do files import each other? → Same commit
119
+ - Do files implement the same feature? → Same commit
120
+ - Are there test files? → Same commit as the code they test
121
+ - Are there type definitions? → Same commit as the code that uses them
70
122
 
71
123
  \`\`\`
72
124
  ${diff}
73
125
  \`\`\`
74
126
 
127
+ Create the MINIMUM number of well-grouped commits. Group related files together aggressively.
128
+
75
129
  Please respond in JSON format.`;
76
130
  }
77
131
  /**
@@ -1 +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"}
1
+ {"version":3,"file":"prompts.js","sourceRoot":"","sources":["../src/prompts.ts"],"names":[],"mappings":";;AAGA,kEA6FC;AAKD,8DAuBC;AAKD,kEAoBC;AAKD,8DAYC;AAtKD;;GAEG;AACH,SAAgB,2BAA2B;IACzC,OAAO;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EA2FP,CAAC;AACH,CAAC;AAED;;GAEG;AACH,SAAgB,yBAAyB,CAAC,IAAY;IACpD,OAAO;;;;;;;;;;;;;;;;EAgBP,IAAI;;;;;+BAKyB,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/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@mehmetsagir/git-ai",
3
- "version": "0.0.6",
3
+ "version": "0.0.9",
4
4
  "description": "AI-powered git commit tool that analyzes diffs and creates conventional commit messages",
5
5
  "main": "dist/index.js",
6
6
  "bin": {
@@ -43,5 +43,10 @@
43
43
  },
44
44
  "engines": {
45
45
  "node": ">=14.0.0"
46
- }
46
+ },
47
+ "repository": {
48
+ "type": "git",
49
+ "url": "https://github.com/mehmetsagir/git-ai.git"
50
+ },
51
+ "readme": "README.md"
47
52
  }