Skip to content
This repository was archived by the owner on May 3, 2025. It is now read-only.

Commit 4181252

Browse files
committed
refactor: enhance commit message confirmation loop in src/main.ts
1 parent dbd837d commit 4181252

File tree

1 file changed

+21
-16
lines changed

1 file changed

+21
-16
lines changed

src/main.ts

Lines changed: 21 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -70,7 +70,7 @@ async function main() {
7070
answer = await promptForAdditionalRequirement(requirement.name, requirement.description, requirement.type);
7171
}
7272
systemPrompt += `\n${requirement.name}: ${answer}`;
73-
}
73+
}
7474

7575
await executeCommitWorkflow(systemPrompt, diff);
7676

@@ -96,24 +96,29 @@ async function executeCommitWorkflow(systemPrompt: string, diff: string) {
9696
print('error', 'Commit message generation is empty. Aborting commit.');
9797
process.exit(1);
9898
}
99-
const confirmed: boolean = await confirmCommitMessage(commitMessage);
100-
if (!confirmed) {
101-
const feedback: string = await requestFeedback();
102-
if (feedback === '') {
103-
unstageAllFiles();
104-
print('warning', 'Commit aborted.');
105-
return;
99+
100+
let confirmed = false;
101+
while (!confirmed) {
102+
confirmed = await confirmCommitMessage(commitMessage);
103+
if (!confirmed) {
104+
const feedback = await requestFeedback();
105+
if (feedback === '') {
106+
unstageAllFiles();
107+
print('warning', 'Commit aborted.');
108+
return;
109+
}
110+
const feedbackMessage: string = 'Standards:\n' + systemPrompt + 'Commit message:\n' + commitMessage + '\nFeedback:\n' + feedback;
111+
commitMessage = await createTextGeneration('Please revise the commit message according to the feedback.', feedbackMessage);
112+
if (!commitMessage) {
113+
print('error', 'Commit message generation is empty after feedback. Aborting commit.');
114+
process.exit(1);
115+
}
106116
}
107-
const feedbackMessage = 'Commit message:\n' + commitMessage + '\nFeedback:\n' + feedback;
108-
commitMessage = await createTextGeneration('Please revise the commit message according to the feedback.', feedbackMessage);
109-
}
110-
if (commitMessage) {
111-
commitWithMessage(commitMessage);
112-
} else {
113-
print('error', 'Commit message is null. Aborting commit.');
114-
process.exit(1);
115117
}
118+
119+
commitWithMessage(commitMessage);
116120
print('success', 'Commit successful.');
121+
117122
if (options.push) {
118123
pushChanges();
119124
print('success', 'Push successful.');

0 commit comments

Comments
 (0)