Skip to content

Commit 6b1bcfe

Browse files
committed
refactor(common): use helper functions for system and user message generation
1 parent de372c2 commit 6b1bcfe

3 files changed

Lines changed: 17 additions & 8 deletions

File tree

internal/provider/common.go

Lines changed: 2 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -20,13 +20,11 @@ func (c *commonProvider) generateCommitMessages(ctx context.Context, diff string
2020
return nil, fmt.Errorf("no diff provided")
2121
}
2222

23-
prompt := fmt.Sprintf("Based on the following git diff, generate 10 conventional commit messages. Each message should be on a new line, without any numbering or bullet points:\n\n%s", diff)
24-
2523
params := openai.ChatCompletionNewParams{
2624
Model: openai.ChatModel(c.model),
2725
Messages: []openai.ChatCompletionMessageParamUnion{
28-
{OfSystem: &openai.ChatCompletionSystemMessageParam{Content: openai.ChatCompletionSystemMessageParamContentUnion{OfString: openai.String("You are a helpful assistant that generates git commit messages.")}}},
29-
{OfUser: &openai.ChatCompletionUserMessageParam{Content: openai.ChatCompletionUserMessageParamContentUnion{OfString: openai.String(prompt)}}},
26+
{OfSystem: &openai.ChatCompletionSystemMessageParam{Content: openai.ChatCompletionSystemMessageParamContentUnion{OfString: openai.String(GetSystemMessage())}}},
27+
{OfUser: &openai.ChatCompletionUserMessageParam{Content: openai.ChatCompletionUserMessageParamContentUnion{OfString: openai.String(GetCommitMessagePrompt(diff))}}},
3028
},
3129
}
3230

internal/provider/copilot.go

Lines changed: 2 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -135,13 +135,11 @@ func (c *CopilotProvider) GenerateCommitMessages(ctx context.Context, diff strin
135135
option.WithHeader("Copilot-Integration-Id", "vscode-chat"),
136136
)
137137

138-
prompt := fmt.Sprintf("Based on the following git diff, generate 10 conventional commit messages. Each message should be on a new line, without any numbering or bullet points:\n\n%s", diff)
139-
140138
params := openai.ChatCompletionNewParams{
141139
Model: openai.ChatModel(c.model),
142140
Messages: []openai.ChatCompletionMessageParamUnion{
143-
{OfSystem: &openai.ChatCompletionSystemMessageParam{Content: openai.ChatCompletionSystemMessageParamContentUnion{OfString: openai.String("You are a helpful assistant that generates git commit messages.")}}},
144-
{OfUser: &openai.ChatCompletionUserMessageParam{Content: openai.ChatCompletionUserMessageParamContentUnion{OfString: openai.String(prompt)}}},
141+
{OfSystem: &openai.ChatCompletionSystemMessageParam{Content: openai.ChatCompletionSystemMessageParamContentUnion{OfString: openai.String(GetSystemMessage())}}},
142+
{OfUser: &openai.ChatCompletionUserMessageParam{Content: openai.ChatCompletionUserMessageParamContentUnion{OfString: openai.String(GetCommitMessagePrompt(diff))}}},
145143
},
146144
}
147145

internal/provider/prompts.go

Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,13 @@
1+
package provider
2+
3+
import "fmt"
4+
5+
// GetCommitMessagePrompt returns the standardized prompt for generating commit messages
6+
func GetCommitMessagePrompt(diff string) string {
7+
return fmt.Sprintf("Based on the following git diff, generate 10 conventional commit messages. Each message should be on a new line, without any numbering or bullet points:\n\n%s", diff)
8+
}
9+
10+
// GetSystemMessage returns the standardized system message for commit message generation
11+
func GetSystemMessage() string {
12+
return "You are a helpful assistant that generates git commit messages."
13+
}

0 commit comments

Comments
 (0)