@@ -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