``refactor(prompt): 优化并规范化生成提交信息的提示词- 将 conventional 类型的提示词从 JSON 格式更改为更简洁的列表格式。- 将通用规则格式化为项目列表,并增加“使用动词开头”的祈使句要求,以提高生成消息的一致性和质量。``
Some checks failed
Test / Test (ubuntu-latest) (push) Has been cancelled
Test / Test (windows-latest) (push) Has been cancelled

This commit is contained in:
史悦
2025-10-21 10:02:56 +08:00
parent 65da1dc301
commit 35372013a1

View File

@@ -18,24 +18,14 @@ const commitTypes: Record<CommitType, string> = {
* Conventional Changelog:
* https://github.com/conventional-changelog/conventional-changelog/blob/d0e5d5926c8addba74bc962553dd8bcfba90e228/packages/conventional-changelog-conventionalcommits/writer-opts.js#L182-L193
*/
conventional: `从下面的类型到描述的JSON中选择最能描述git差异的类型\n${JSON.stringify(
{
docs: '仅文档更改',
style:
'不影响代码含义的更改(空格、格式、缺少分号等)',
refactor: '既不修复错误也不添加功能的代码更改',
perf: '提高性能的代码更改',
test: '添加缺失的测试或更正现有测试',
build: '影响构建系统或外部依赖的更改',
ci: '对我们的CI配置文件和脚本的更改',
chore: '不修改src或测试文件的其他更改',
revert: '恢复之前的提交',
feat: '新功能',
fix: '错误修复',
},
null,
2
)}`,
conventional: `从下面的类型到描述的JSON中选择最能描述git差异的类型(中文即可,注意后面加冒号)\n
\n- feat: 新功能
\n- fix: 修复 bug
\n- docs: 更新文档
\n- style: 格式调整(不影响代码执行)
\n- refactor: 重构(非功能更新)
\n- test: 测试相关内容
\n- chore: 构建或工具变更`,
};
export const generatePrompt = (
@@ -45,12 +35,13 @@ export const generatePrompt = (
) =>
[
'为以下代码差异生成一个简洁的、使用现在时态的中文git提交消息并遵循以下规范',
`提交消息使用中文编写。`,
`提交消息最多${maxLength}个字符。`,
'提交消息包含具体的类名、方法名或其他关键信息,不能过于笼统。',
'对于功能添加,应该指明具体的类或模块,如"在UserController中添加了用户权限验证功能"。',
'对于代码重构,应该指明重构的具体类或方法,如"重构了PaymentProcessor类的金额计算逻辑"。',
'排除任何不必要的内容如翻译。您的整个响应将直接传递到git提交中。',
`- 提交消息使用中文编写。`,
`- 提交消息最多${maxLength}个字符。`,
`- 使用动词作开头(祈使句形式)`,
'- 提交消息包含具体的类名、方法名或其他关键信息,不能过于笼统。',
'- 对于功能添加,应该指明具体类或模块,如"在UserController中添加了用户权限验证功能"。',
'- 对于代码重构,应该指明重构的具体类或方法,如"重构了PaymentProcessor类的金额计算逻辑"。',
'- 排除任何不必要的内容如翻译。您的整个响应将直接传递到git提交中。',
commitTypes[type],
specifyCommitFormat(type),
]