#git-commit #git-repository #commit-message #automatic #gpt-3 #generate #openai

app autocommit

使用 GPT-3.5 自动生成提交摘要,自动将更改提交到 Git 仓库的简单工具。

6 个版本

0.1.5 2023年7月8日
0.1.4 2023年7月8日
0.1.3 2023年5月29日

#7 in #gpt-3

MIT 许可证

22KB
288

自动提交

Release

安装

版本页面下载版本或使用安装脚本。

curl --proto '=https' --tlsv1.2 -LsSf https://github.com/raghavanand98/autocommit/releases/download/v0.1.3/autocommit-installer.sh | sh

在 MacOS 上,您可以使用 Homebrew 安装 autocommit

brew tap raghavanand98/autocommit
brew install autocommit

用法

Autocommit 是一个工具,可以每 X 分钟自动创建仓库的提交。如果您有 OpenAI 密钥(环境变量为 OPENAI_API_KEY),则将提交差异(最多 1500 个字符)传递给 gpt-3.5-turbo 来总结提交以创建有意义的提交消息。否则,将使用当前日期和时间作为提交消息。

Autocommit 有 4 个命令

Usage: autocommit <COMMAND>

Commands:
  run --path {PATH_TO_GIT_REPO}
  create --frequency {FREQUENCY_IN_MINUTES} --path {PATH_TO_GIT_REPO}
  list    # List currently configured autocommits
  delete --path {PATH_TO_GIT_REPO}

一般的用法模式将是使用 create 在特定的 Git 仓库上设置 autocommit,使用 list 查看当前设置,使用 delete 停止自动提交。可以使用 run 以一次性方式测试 autocommit 的行为,它也是 cronjob 配置调用的。当以配置的频率运行时,autocommit 将将日志记录到 ${REPO_PATH}/.autocommit_log。在设置仓库之前,请确保将 .autocommit_log 添加到 .gitignore 中,否则您将遇到无限循环,其中对 autocommit 的更改将触发更多提交。

尽管代码的总体结构是可行的(本仓库中的所有提交都是通过 autocommit 生成的),但仍有一些边缘情况需要修复。

  • 使二进制路径感知(目前硬编码在我的笔记本电脑上)✅
  • 改进 API 密钥管道故事✅
  • 提高对不同 git 仓库配置的鲁棒性。使用了 libgit 的包装库,但可能最好简单地通过子进程命令自动选择正确的 SSH 密钥、添加未跟踪的文件等。✅
  • 改进日志记录故事,这样人们就不必记得将 .autocommit_log 添加到他们的 .gitignore 中✅
  • 允许添加其他 cron 作业

依赖关系

~23–43MB
~741K SLoC