@m3hti/commit-genie 1.0.0 → 1.1.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.
Files changed (40) hide show
  1. package/README.md +164 -2
  2. package/dist/commands/generate.d.ts +2 -0
  3. package/dist/commands/generate.d.ts.map +1 -1
  4. package/dist/commands/generate.js +248 -11
  5. package/dist/commands/generate.js.map +1 -1
  6. package/dist/data/wordlist.d.ts +11 -0
  7. package/dist/data/wordlist.d.ts.map +1 -0
  8. package/dist/data/wordlist.js +170 -0
  9. package/dist/data/wordlist.js.map +1 -0
  10. package/dist/index.js +4 -0
  11. package/dist/index.js.map +1 -1
  12. package/dist/services/aiService.d.ts +4 -0
  13. package/dist/services/aiService.d.ts.map +1 -1
  14. package/dist/services/aiService.js +37 -0
  15. package/dist/services/aiService.js.map +1 -1
  16. package/dist/services/analyzerService.d.ts.map +1 -1
  17. package/dist/services/analyzerService.js +44 -42
  18. package/dist/services/analyzerService.js.map +1 -1
  19. package/dist/services/configService.d.ts.map +1 -1
  20. package/dist/services/configService.js +21 -0
  21. package/dist/services/configService.js.map +1 -1
  22. package/dist/services/gitService.d.ts +20 -0
  23. package/dist/services/gitService.d.ts.map +1 -1
  24. package/dist/services/gitService.js +86 -0
  25. package/dist/services/gitService.js.map +1 -1
  26. package/dist/services/lintService.d.ts +32 -0
  27. package/dist/services/lintService.d.ts.map +1 -0
  28. package/dist/services/lintService.js +191 -0
  29. package/dist/services/lintService.js.map +1 -0
  30. package/dist/services/spellService.d.ts +42 -0
  31. package/dist/services/spellService.d.ts.map +1 -0
  32. package/dist/services/spellService.js +175 -0
  33. package/dist/services/spellService.js.map +1 -0
  34. package/dist/services/splitService.d.ts +32 -0
  35. package/dist/services/splitService.d.ts.map +1 -0
  36. package/dist/services/splitService.js +184 -0
  37. package/dist/services/splitService.js.map +1 -0
  38. package/dist/types/index.d.ts +66 -1
  39. package/dist/types/index.d.ts.map +1 -1
  40. package/package.json +1 -1
package/README.md CHANGED
@@ -23,6 +23,10 @@ A CLI tool that generates intelligent Git commit messages by analyzing your stag
23
23
  - **Commit history learning** - Learns your project's commit style from past commits
24
24
  - **Breaking change detection** - Automatically detects and flags breaking changes with `!` and footer
25
25
  - **Dry run mode** - Preview commits without executing with `-d` or `--dry-run`
26
+ - **Amend mode** - Modify the last commit message with `-a` or `--amend`
27
+ - **Commit message linting** - Validates messages against configurable rules (subject length, type, scope format, imperative mood)
28
+ - **Commit splitting suggestions** - Warns when staged changes span multiple concerns
29
+ - **Spell check** - Checks commit descriptions for typos with suggestions
26
30
  - **Custom templates** - Define your own commit message format via config
27
31
  - **Commit statistics** - Analyze your repository's commit patterns with `commit-genie stats`
28
32
  - **AI-powered descriptions** - Optional LLM integration for smarter commit messages with `--ai`
@@ -116,7 +120,9 @@ To commit with this message, run:
116
120
  - `commit-genie gen` - Shorthand for generate
117
121
  - `commit-genie -c` or `--commit` - Auto-commit with the generated message
118
122
  - `commit-genie -d` or `--dry-run` - Preview commit without executing (dry run mode)
123
+ - `commit-genie -a` or `--amend` - Amend the last commit message
119
124
  - `commit-genie --ai` - Use AI to generate enhanced commit descriptions
125
+ - `commit-genie --no-lint` - Skip commit message linting
120
126
  - `commit-genie -s` or `--single` - Show only one suggestion (skip multiple options)
121
127
  - `commit-genie -m` or `--message-only` - Output only the commit message (for scripts/hooks)
122
128
  - `commit-genie --no-interactive` - Disable interactive prompts
@@ -180,6 +186,155 @@ Example output:
180
186
  ════════════════════════════════════════════════════════════
181
187
  ```
182
188
 
189
+ ### Amend Mode
190
+
191
+ Modify the last commit message with a newly generated suggestion:
192
+
193
+ ```bash
194
+ commit-genie --amend
195
+ # or
196
+ commit-genie -a
197
+ ```
198
+
199
+ This mode:
200
+ - Shows the current commit message
201
+ - Displays files from the last commit
202
+ - Generates a new suggested message based on the changes
203
+ - Allows you to amend, edit, keep original, or cancel
204
+
205
+ Example output:
206
+ ```
207
+ ══════════════════════════════════════════════════
208
+ AMEND MODE
209
+ ══════════════════════════════════════════════════
210
+
211
+ Current commit message:
212
+ ────────────────────────────────────────
213
+ feat: add user auth
214
+ ────────────────────────────────────────
215
+
216
+ Files in last commit:
217
+ + src/auth/login.ts
218
+ ~ src/index.ts
219
+
220
+ Suggested new message:
221
+ ────────────────────────────────────────
222
+ ✨ feat(auth): add user authentication
223
+ ────────────────────────────────────────
224
+
225
+ What would you like to do?
226
+ [a] Amend with this message
227
+ [e] Edit the message
228
+ [k] Keep original message
229
+ [n] Cancel
230
+ ```
231
+
232
+ ### Commit Message Linting
233
+
234
+ CommitGenie validates your commit messages against configurable rules before committing:
235
+
236
+ **Default rules (all enabled):**
237
+ - **Subject max length** - Ensures subject line is ≤72 characters
238
+ - **Type required** - Validates conventional commit type prefix
239
+ - **Scope format** - Checks scope is lowercase alphanumeric
240
+ - **Imperative mood** - Warns against past tense (e.g., "added" → use "add")
241
+
242
+ Example lint output:
243
+ ```
244
+ ⚠ Lint Issues
245
+ ──────────────────────────────────────────────────
246
+ ✗ [subject-max-length] Subject line is 85 characters, max allowed is 72
247
+ → Shorten to 72 characters or less
248
+ ⚠ [imperative-mood] Description should use imperative mood, not "added"
249
+ → Use "add" instead
250
+ ──────────────────────────────────────────────────
251
+
252
+ Commit blocked due to lint errors.
253
+ Use --no-lint to skip linting.
254
+ ```
255
+
256
+ **Skip linting:**
257
+ ```bash
258
+ commit-genie -c --no-lint
259
+ ```
260
+
261
+ **Configuration:**
262
+ ```json
263
+ {
264
+ "linting": {
265
+ "enabled": true,
266
+ "blockOnError": true,
267
+ "rules": {
268
+ "subjectMaxLength": { "enabled": true, "maxLength": 72 },
269
+ "typeRequired": { "enabled": true },
270
+ "scopeFormat": { "enabled": true, "pattern": "^[a-z][a-z0-9-]*$" },
271
+ "imperativeMood": { "enabled": true }
272
+ }
273
+ }
274
+ }
275
+ ```
276
+
277
+ ### Commit Splitting Suggestions
278
+
279
+ When your staged changes span multiple concerns (different commit types or scopes), CommitGenie warns you and suggests splitting into separate commits:
280
+
281
+ Example output:
282
+ ```
283
+ ⚠ Split Suggestion
284
+ ──────────────────────────────────────────────────
285
+ Reason: Mixed commit types detected: feat, fix
286
+
287
+ Suggested commits:
288
+
289
+ 1. feat(api): add users.ts
290
+ Files: src/api/users.ts
291
+
292
+ 2. fix(utils): add parser.ts
293
+ Files: src/utils/parser.ts
294
+
295
+ ──────────────────────────────────────────────────
296
+ You can proceed with a combined commit or split manually.
297
+ ```
298
+
299
+ **Configuration:**
300
+ ```json
301
+ {
302
+ "splitting": {
303
+ "enabled": true,
304
+ "minFilesForSuggestion": 2,
305
+ "groupByScope": true,
306
+ "groupByType": true
307
+ }
308
+ }
309
+ ```
310
+
311
+ ### Spell Check
312
+
313
+ CommitGenie checks your commit message description for spelling errors using a bundled wordlist of common English and programming terms:
314
+
315
+ Example output:
316
+ ```
317
+ ⚠ Spelling Issues
318
+ ────────────────────────────────────────
319
+ - "impelment" (suggestions: implement)
320
+ - "authetication" (suggestions: authentication)
321
+ ────────────────────────────────────────
322
+ ```
323
+
324
+ **Configuration:**
325
+ ```json
326
+ {
327
+ "spellCheck": {
328
+ "enabled": true,
329
+ "customDictionary": ["myterm", "customword"],
330
+ "ignorePatterns": ["^[A-Z]+$"]
331
+ }
332
+ }
333
+ ```
334
+
335
+ - `customDictionary` - Add custom words that should be accepted
336
+ - `ignorePatterns` - Regex patterns for words to ignore
337
+
183
338
  ### Interactive Mode
184
339
 
185
340
  By default, CommitGenie runs in interactive mode. After analyzing your changes, you'll be prompted to:
@@ -268,13 +423,20 @@ CommitGenie/
268
423
  │ ├── commands/
269
424
  │ │ ├── generate.ts # Generate command implementation
270
425
  │ │ ├── hook.ts # Git hook management commands
271
- │ │ └── config.ts # Configuration commands
426
+ │ │ ├── config.ts # Configuration commands
427
+ │ │ └── stats.ts # Statistics command
272
428
  │ ├── services/
273
429
  │ │ ├── gitService.ts # Git operations
274
430
  │ │ ├── analyzerService.ts # Change analysis logic
275
431
  │ │ ├── historyService.ts # Ticket detection & history learning
276
432
  │ │ ├── hookService.ts # Git hook installation
277
- │ │ └── configService.ts # Configuration loading
433
+ │ │ ├── configService.ts # Configuration loading
434
+ │ │ ├── lintService.ts # Commit message linting
435
+ │ │ ├── spellService.ts # Spell checking
436
+ │ │ ├── splitService.ts # Commit splitting detection
437
+ │ │ └── statsService.ts # Repository statistics
438
+ │ ├── data/
439
+ │ │ └── wordlist.ts # Bundled spell check dictionary
278
440
  │ ├── utils/
279
441
  │ │ ├── filePatterns.ts # File type detection
280
442
  │ │ └── prompt.ts # Interactive prompts
@@ -1,8 +1,10 @@
1
1
  export interface GenerateOptions {
2
2
  commit?: boolean;
3
3
  dryRun?: boolean;
4
+ amend?: boolean;
4
5
  ai?: boolean;
5
6
  interactive?: boolean;
7
+ lint?: boolean;
6
8
  messageOnly?: boolean;
7
9
  single?: boolean;
8
10
  }
@@ -1 +1 @@
1
- {"version":3,"file":"generate.d.ts","sourceRoot":"","sources":["../../src/commands/generate.ts"],"names":[],"mappings":"AAKA,MAAM,WAAW,eAAe;IAC9B,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,EAAE,CAAC,EAAE,OAAO,CAAC;IACb,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,MAAM,CAAC,EAAE,OAAO,CAAC;CAClB;AAED,wBAAsB,eAAe,CAAC,OAAO,GAAE,eAAoB,iBAoIlE"}
1
+ {"version":3,"file":"generate.d.ts","sourceRoot":"","sources":["../../src/commands/generate.ts"],"names":[],"mappings":"AASA,MAAM,WAAW,eAAe;IAC9B,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,EAAE,CAAC,EAAE,OAAO,CAAC;IACb,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,IAAI,CAAC,EAAE,OAAO,CAAC;IACf,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,MAAM,CAAC,EAAE,OAAO,CAAC;CAClB;AAED,wBAAsB,eAAe,CAAC,OAAO,GAAE,eAAoB,iBAsJlE"}
@@ -3,6 +3,9 @@ Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.generateCommand = generateCommand;
4
4
  const gitService_1 = require("../services/gitService");
5
5
  const analyzerService_1 = require("../services/analyzerService");
6
+ const lintService_1 = require("../services/lintService");
7
+ const spellService_1 = require("../services/spellService");
8
+ const splitService_1 = require("../services/splitService");
6
9
  const prompt_1 = require("../utils/prompt");
7
10
  async function generateCommand(options = {}) {
8
11
  try {
@@ -12,6 +15,10 @@ async function generateCommand(options = {}) {
12
15
  console.log('Please run this command inside a git repository.');
13
16
  process.exit(1);
14
17
  }
18
+ // Handle amend mode
19
+ if (options.amend) {
20
+ return await handleAmendMode(options);
21
+ }
15
22
  // Get git status
16
23
  const status = gitService_1.GitService.getStatus();
17
24
  // Check if there are staged changes
@@ -23,6 +30,12 @@ async function generateCommand(options = {}) {
23
30
  console.log(' git add .');
24
31
  process.exit(1);
25
32
  }
33
+ // Check for split opportunity (warning only)
34
+ const diff = gitService_1.GitService.getDiff();
35
+ const splitSuggestion = splitService_1.SplitService.analyzeSplitOpportunity(status.staged, diff);
36
+ if (splitSuggestion?.shouldSplit && !options.messageOnly) {
37
+ displaySplitWarning(splitSuggestion);
38
+ }
26
39
  // Generate suggestions (with optional AI enhancement)
27
40
  let suggestions;
28
41
  if (options.ai) {
@@ -33,6 +46,11 @@ async function generateCommand(options = {}) {
33
46
  suggestions = analyzerService_1.AnalyzerService.generateMultipleSuggestions();
34
47
  }
35
48
  const defaultMessage = suggestions[0].message;
49
+ // Check spelling in the description
50
+ const spellResult = spellService_1.SpellService.check(defaultMessage.description);
51
+ if (!spellResult.valid && !options.messageOnly) {
52
+ displaySpellWarning(spellResult);
53
+ }
36
54
  // Message-only mode for scripts and hooks (silent, just output the message)
37
55
  if (options.messageOnly) {
38
56
  console.log(defaultMessage.full);
@@ -66,7 +84,7 @@ async function generateCommand(options = {}) {
66
84
  // Handle commit based on options
67
85
  if (options.commit) {
68
86
  // Auto-commit with first suggestion
69
- await commitWithMessage(defaultMessage.full);
87
+ await commitWithMessage(defaultMessage.full, options);
70
88
  }
71
89
  else if (options.interactive !== false) {
72
90
  // Interactive mode with selection
@@ -75,7 +93,7 @@ async function generateCommand(options = {}) {
75
93
  console.log(' [e] Edit and write your own');
76
94
  console.log(' [n] Cancel\n');
77
95
  const choice = await (0, prompt_1.prompt)('Your choice: ');
78
- await handleMultipleChoice(choice, suggestions);
96
+ await handleMultipleChoice(choice, suggestions, options);
79
97
  }
80
98
  else {
81
99
  // Non-interactive mode
@@ -100,7 +118,7 @@ async function generateCommand(options = {}) {
100
118
  }
101
119
  // Handle commit based on options
102
120
  if (options.commit) {
103
- await commitWithMessage(defaultMessage.full);
121
+ await commitWithMessage(defaultMessage.full, options);
104
122
  }
105
123
  else if (options.interactive !== false) {
106
124
  // Interactive mode (default)
@@ -109,7 +127,7 @@ async function generateCommand(options = {}) {
109
127
  console.log(' [e] Edit the message');
110
128
  console.log(' [n] Cancel\n');
111
129
  const choice = await (0, prompt_1.prompt)('Your choice (c/e/n): ');
112
- await handleSingleChoice(choice, defaultMessage.full);
130
+ await handleSingleChoice(choice, defaultMessage.full, options);
113
131
  }
114
132
  else {
115
133
  // Non-interactive mode (just show the message)
@@ -162,8 +180,21 @@ function escapeForShell(message) {
162
180
  }
163
181
  return message.replace(/"/g, '\\"');
164
182
  }
165
- async function commitWithMessage(message) {
183
+ async function commitWithMessage(message, options = {}) {
166
184
  try {
185
+ // Run lint check unless disabled
186
+ if (options.lint !== false) {
187
+ const parsedMessage = parseMessageForLint(message);
188
+ const lintResult = lintService_1.LintService.lint(parsedMessage);
189
+ if (!lintResult.valid) {
190
+ displayLintViolations(lintResult);
191
+ if (lintService_1.LintService.shouldBlockCommit(lintResult)) {
192
+ console.error('\nCommit blocked due to lint errors.');
193
+ console.log('Use --no-lint to skip linting.\n');
194
+ process.exit(1);
195
+ }
196
+ }
197
+ }
167
198
  gitService_1.GitService.commit(message);
168
199
  console.log('\n✓ Changes committed successfully!');
169
200
  }
@@ -172,17 +203,64 @@ async function commitWithMessage(message) {
172
203
  process.exit(1);
173
204
  }
174
205
  }
175
- async function handleSingleChoice(choice, message) {
206
+ async function amendWithMessage(message, options = {}) {
207
+ try {
208
+ // Run lint check unless disabled
209
+ if (options.lint !== false) {
210
+ const parsedMessage = parseMessageForLint(message);
211
+ const lintResult = lintService_1.LintService.lint(parsedMessage);
212
+ if (!lintResult.valid) {
213
+ displayLintViolations(lintResult);
214
+ if (lintService_1.LintService.shouldBlockCommit(lintResult)) {
215
+ console.error('\nAmend blocked due to lint errors.');
216
+ console.log('Use --no-lint to skip linting.\n');
217
+ process.exit(1);
218
+ }
219
+ }
220
+ }
221
+ gitService_1.GitService.amendCommit(message);
222
+ console.log('\n✓ Commit amended successfully!');
223
+ }
224
+ catch (err) {
225
+ console.error(`\nFailed to amend: ${err instanceof Error ? err.message : err}`);
226
+ process.exit(1);
227
+ }
228
+ }
229
+ function parseMessageForLint(message) {
230
+ const lines = message.split('\n');
231
+ const subject = lines[0];
232
+ const body = lines.slice(2).join('\n').trim() || undefined;
233
+ // Parse the subject line: "type(scope): description" or "emoji type(scope): description"
234
+ const match = subject.match(/^(?:[\p{Emoji}\s]*)?(\w+)(?:\(([^)]+)\))?!?:\s*(.+)$/u);
235
+ if (match) {
236
+ return {
237
+ type: match[1],
238
+ scope: match[2] || undefined,
239
+ description: match[3],
240
+ body,
241
+ full: message,
242
+ isBreaking: subject.includes('!:'),
243
+ };
244
+ }
245
+ // Fallback for non-conventional messages
246
+ return {
247
+ type: 'chore',
248
+ description: subject,
249
+ body,
250
+ full: message,
251
+ };
252
+ }
253
+ async function handleSingleChoice(choice, message, options) {
176
254
  switch (choice.toLowerCase()) {
177
255
  case 'c':
178
256
  case 'commit':
179
- await commitWithMessage(message);
257
+ await commitWithMessage(message, options);
180
258
  break;
181
259
  case 'e':
182
260
  case 'edit':
183
261
  const editedMessage = await (0, prompt_1.prompt)('\nEnter your commit message: ');
184
262
  if (editedMessage) {
185
- await commitWithMessage(editedMessage);
263
+ await commitWithMessage(editedMessage, options);
186
264
  }
187
265
  else {
188
266
  console.log('\nCommit cancelled - empty message provided.');
@@ -198,14 +276,14 @@ async function handleSingleChoice(choice, message) {
198
276
  console.log(` git commit -m "${escapeForShell(message)}"`);
199
277
  }
200
278
  }
201
- async function handleMultipleChoice(choice, suggestions) {
279
+ async function handleMultipleChoice(choice, suggestions, options) {
202
280
  const choiceLower = choice.toLowerCase();
203
281
  // Check if it's a number selection
204
282
  const num = parseInt(choice, 10);
205
283
  if (!isNaN(num) && num >= 1 && num <= suggestions.length) {
206
284
  const selected = suggestions[num - 1];
207
285
  console.log(`\nSelected: ${selected.label}`);
208
- await commitWithMessage(selected.message.full);
286
+ await commitWithMessage(selected.message.full, options);
209
287
  return;
210
288
  }
211
289
  // Handle other choices
@@ -214,7 +292,7 @@ async function handleMultipleChoice(choice, suggestions) {
214
292
  case 'edit':
215
293
  const editedMessage = await (0, prompt_1.prompt)('\nEnter your commit message: ');
216
294
  if (editedMessage) {
217
- await commitWithMessage(editedMessage);
295
+ await commitWithMessage(editedMessage, options);
218
296
  }
219
297
  else {
220
298
  console.log('\nCommit cancelled - empty message provided.');
@@ -310,4 +388,163 @@ function getStatusLabel(status) {
310
388
  return 'unknown';
311
389
  }
312
390
  }
391
+ function displaySplitWarning(suggestion) {
392
+ console.log('\n⚠ Split Suggestion');
393
+ console.log('─'.repeat(50));
394
+ console.log(`Reason: ${suggestion.reason}`);
395
+ console.log('\nSuggested commits:');
396
+ for (let i = 0; i < suggestion.groups.length; i++) {
397
+ const group = suggestion.groups[i];
398
+ const fileList = group.files.slice(0, 3).map(f => f.path).join(', ');
399
+ const moreFiles = group.files.length > 3 ? ` +${group.files.length - 3} more` : '';
400
+ console.log(`\n ${i + 1}. ${group.suggestedMessage}`);
401
+ console.log(` Files: ${fileList}${moreFiles}`);
402
+ }
403
+ console.log('\n' + '─'.repeat(50));
404
+ console.log('You can proceed with a combined commit or split manually.\n');
405
+ }
406
+ function displaySpellWarning(result) {
407
+ console.log('\n⚠ Spelling Issues');
408
+ console.log('─'.repeat(40));
409
+ for (const error of result.errors) {
410
+ const suggestionText = error.suggestions.length > 0
411
+ ? ` (suggestions: ${error.suggestions.join(', ')})`
412
+ : '';
413
+ console.log(` - "${error.word}"${suggestionText}`);
414
+ }
415
+ console.log('─'.repeat(40) + '\n');
416
+ }
417
+ function displayLintViolations(result) {
418
+ console.log('\n⚠ Lint Issues');
419
+ console.log('─'.repeat(50));
420
+ for (const violation of result.violations) {
421
+ const icon = violation.severity === 'error' ? '✗' : '⚠';
422
+ console.log(` ${icon} [${violation.ruleId}] ${violation.message}`);
423
+ if (violation.suggestion) {
424
+ console.log(` → ${violation.suggestion}`);
425
+ }
426
+ }
427
+ console.log('─'.repeat(50));
428
+ }
429
+ async function handleAmendMode(options) {
430
+ // Check if there are commits to amend
431
+ if (!gitService_1.GitService.hasCommits()) {
432
+ console.error('Error: No commits to amend');
433
+ process.exit(1);
434
+ }
435
+ const lastMessage = gitService_1.GitService.getLastCommitMessage();
436
+ if (!lastMessage) {
437
+ console.error('Error: Could not retrieve last commit message');
438
+ process.exit(1);
439
+ }
440
+ // Get last commit's files for analysis
441
+ const lastCommitFiles = gitService_1.GitService.getLastCommitFiles();
442
+ // Also check for currently staged changes
443
+ const status = gitService_1.GitService.getStatus();
444
+ const hasNewStagedChanges = status.hasStagedChanges;
445
+ console.log('\n═'.repeat(50));
446
+ console.log(' AMEND MODE');
447
+ console.log('═'.repeat(50));
448
+ // Show current message
449
+ console.log('\nCurrent commit message:');
450
+ console.log('─'.repeat(40));
451
+ const currentLines = lastMessage.split('\n');
452
+ for (const line of currentLines) {
453
+ console.log(` ${line}`);
454
+ }
455
+ console.log('─'.repeat(40));
456
+ // Show files from last commit
457
+ console.log('\nFiles in last commit:');
458
+ for (const file of lastCommitFiles) {
459
+ const statusSymbol = getStatusSymbol(file.status);
460
+ console.log(` ${statusSymbol} ${file.path}`);
461
+ }
462
+ // Show newly staged changes if any
463
+ if (hasNewStagedChanges) {
464
+ console.log('\nNewly staged changes (will be included):');
465
+ for (const file of status.staged) {
466
+ const statusSymbol = getStatusSymbol(file.status);
467
+ console.log(` ${statusSymbol} ${file.path}`);
468
+ }
469
+ }
470
+ // Generate new suggestions based on the changes
471
+ // Use last commit's diff for analysis
472
+ let suggestions;
473
+ if (options.ai) {
474
+ console.log('\nUsing AI to enhance amended commit message...');
475
+ suggestions = await analyzerService_1.AnalyzerService.generateSuggestionsWithAI(true);
476
+ }
477
+ else {
478
+ suggestions = analyzerService_1.AnalyzerService.generateMultipleSuggestions();
479
+ }
480
+ const defaultMessage = suggestions[0].message;
481
+ // Check spelling
482
+ const spellResult = spellService_1.SpellService.check(defaultMessage.description);
483
+ if (!spellResult.valid) {
484
+ displaySpellWarning(spellResult);
485
+ }
486
+ // Dry run mode
487
+ if (options.dryRun) {
488
+ console.log('\n📝 Suggested new message:');
489
+ console.log('─'.repeat(40));
490
+ displayMessage(defaultMessage, ' ');
491
+ console.log('─'.repeat(40));
492
+ console.log('\n═'.repeat(50));
493
+ console.log(' DRY RUN - No changes made');
494
+ console.log(' To amend, run: commit-genie --amend');
495
+ console.log('═'.repeat(50) + '\n');
496
+ return;
497
+ }
498
+ // Show suggestions
499
+ console.log('\nSuggested new message:');
500
+ console.log('─'.repeat(40));
501
+ displayMessage(defaultMessage, ' ');
502
+ console.log('─'.repeat(40));
503
+ // Handle based on options
504
+ if (options.commit) {
505
+ await amendWithMessage(defaultMessage.full, options);
506
+ }
507
+ else if (options.interactive !== false) {
508
+ console.log('\nWhat would you like to do?');
509
+ console.log(' [a] Amend with this message');
510
+ console.log(' [e] Edit the message');
511
+ console.log(' [k] Keep original message');
512
+ console.log(' [n] Cancel\n');
513
+ const choice = await (0, prompt_1.prompt)('Your choice (a/e/k/n): ');
514
+ await handleAmendChoice(choice, defaultMessage.full, lastMessage, options);
515
+ }
516
+ else {
517
+ console.log('\nTo amend with this message, run:');
518
+ console.log(' git commit --amend -m "' + escapeForShell(defaultMessage.full) + '"');
519
+ }
520
+ }
521
+ async function handleAmendChoice(choice, newMessage, originalMessage, options) {
522
+ switch (choice.toLowerCase()) {
523
+ case 'a':
524
+ case 'amend':
525
+ await amendWithMessage(newMessage, options);
526
+ break;
527
+ case 'e':
528
+ case 'edit':
529
+ const editedMessage = await (0, prompt_1.prompt)('\nEnter your commit message: ');
530
+ if (editedMessage) {
531
+ await amendWithMessage(editedMessage, options);
532
+ }
533
+ else {
534
+ console.log('\nAmend cancelled - empty message provided.');
535
+ }
536
+ break;
537
+ case 'k':
538
+ case 'keep':
539
+ console.log('\nKept original message. No changes made.');
540
+ break;
541
+ case 'n':
542
+ case 'no':
543
+ case 'cancel':
544
+ console.log('\nAmend cancelled.');
545
+ break;
546
+ default:
547
+ console.log('\nNo action taken.');
548
+ }
549
+ }
313
550
  //# sourceMappingURL=generate.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"generate.js","sourceRoot":"","sources":["../../src/commands/generate.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"generate.js","sourceRoot":"","sources":["../../src/commands/generate.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,11 @@
1
+ /**
2
+ * Bundled wordlist for spell checking commit messages
3
+ * Contains common English words and programming terminology
4
+ */
5
+ export declare const COMMON_WORDS: Set<string>;
6
+ export declare const PROGRAMMING_TERMS: Set<string>;
7
+ /**
8
+ * Combined wordlist for efficient lookup
9
+ */
10
+ export declare const WORDLIST: Set<string>;
11
+ //# sourceMappingURL=wordlist.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"wordlist.d.ts","sourceRoot":"","sources":["../../src/data/wordlist.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,eAAO,MAAM,YAAY,aAmGvB,CAAC;AAEH,eAAO,MAAM,iBAAiB,aAoE5B,CAAC;AAEH;;GAEG;AACH,eAAO,MAAM,QAAQ,aAAmD,CAAC"}