zurawiki/gptcommit

A git prepare-commit-msg hook for authoring commit messages with LLMs.

解决的问题

它自动化了 git 提交信息的创建,省去了手动撰写代码变更描述的麻烦。它确保提交历史保持清晰且全面,同时不会拖慢开发者的工作流程。

运作方式

此工具安装为 prepare-commit-msg git hook。当用户执行 git commit 时,工具会分析暂存区的变更 (diffs) 并将其发送至 OpenAI 语言模型,以生成简短的祈使句标题与事实条列点。用户可以覆盖默认模型、设定自定义提示词,并使用 Git 风格的模式来设定要忽略的文件。

适用对象

希望维持高质量提交信息,但偏好使用 AI 自动化技术变更摘要的开发者。

特色亮点

  • Git Hook 集成: 作为 prepare-commit-msg hook 无缝运作,自动填入提交信息字段。
  • 弹性配置: 通过 TOML 配置文件支持用户层级、仓库层级以及环境变量设定。
  • 可自定义 AI: 允许用户更改 OpenAI 模型、API 基础 URL 以及输出语言 (支持英文、简体中文、繁体中文与日文)。
  • 智能过滤: 包含 file_ignore 系统,防止不必要的文件 (如 lock files) 被发送至 AI。
  • 多语言支持: 可生成多种语言的提交信息。

相关

  • 项目
  • 项目
  • 项目
  • 项目