MyNixOS website logo
Description

Automated Git Commit Messages using the 'OpenAI' 'GPT' Model.

Automates the process of adding, committing, and pushing changes to a 'git' repository using commit messages generated by passing the git diff output to the 'OpenAI' 'GPT-3.5 Turbo' model (<https://platform.openai.com/docs/models/gpt-3>).

Installation

devtools::install_github("stevecondylios/gitGPT")

Quick Start Guide

  1. Get an OpenAI API key from here.

  2. Set the key as an environment variable inside your R session:

Sys.setenv(OPENAI_API_KEY=sk-xxxxxxxxxxxxxxxxxxxxxxxxx)

# Windows users must also set these two environment variables:
Sys.setenv(GIT_AUTHOR_NAME = "Your Name")
Sys.setenv(GIT_AUTHOR_EMAIL = "Your Email")
  1. From inside RStudio, run this single command commit() to add, commit and push with a GPT-generated commit message.
library(gitGPT)

# Ensure getwd() is in your git repo
# Make some changes to files
# Add all changes, commit and push to GitHub with a single command
commit()

If you prefer to see some sample output of what your commit message may look like, you can try:

suggest_commit_message()

You can also see what GPT provides based on your own input:

suggest_commit_message("Tidied headings in plots, optimised matrix multiplication in hpc.R")
# Updated headings and improved matrix multiplication performance.

Note: ChatGPT is non-deterministic, so the same inputs can produce different outputs each time the function is run.

Metadata

Version

0.1.3

License

Unknown

Platforms (75)

    Darwin
    FreeBSD
    Genode
    GHCJS
    Linux
    MMIXware
    NetBSD
    none
    OpenBSD
    Redox
    Solaris
    WASI
    Windows
Show all
  • aarch64-darwin
  • aarch64-genode
  • aarch64-linux
  • aarch64-netbsd
  • aarch64-none
  • aarch64_be-none
  • arm-none
  • armv5tel-linux
  • armv6l-linux
  • armv6l-netbsd
  • armv6l-none
  • armv7a-darwin
  • armv7a-linux
  • armv7a-netbsd
  • armv7l-linux
  • armv7l-netbsd
  • avr-none
  • i686-cygwin
  • i686-darwin
  • i686-freebsd
  • i686-genode
  • i686-linux
  • i686-netbsd
  • i686-none
  • i686-openbsd
  • i686-windows
  • javascript-ghcjs
  • loongarch64-linux
  • m68k-linux
  • m68k-netbsd
  • m68k-none
  • microblaze-linux
  • microblaze-none
  • microblazeel-linux
  • microblazeel-none
  • mips-linux
  • mips-none
  • mips64-linux
  • mips64-none
  • mips64el-linux
  • mipsel-linux
  • mipsel-netbsd
  • mmix-mmixware
  • msp430-none
  • or1k-none
  • powerpc-netbsd
  • powerpc-none
  • powerpc64-linux
  • powerpc64le-linux
  • powerpcle-none
  • riscv32-linux
  • riscv32-netbsd
  • riscv32-none
  • riscv64-linux
  • riscv64-netbsd
  • riscv64-none
  • rx-none
  • s390-linux
  • s390-none
  • s390x-linux
  • s390x-none
  • vc4-none
  • wasm32-wasi
  • wasm64-wasi
  • x86_64-cygwin
  • x86_64-darwin
  • x86_64-freebsd
  • x86_64-genode
  • x86_64-linux
  • x86_64-netbsd
  • x86_64-none
  • x86_64-openbsd
  • x86_64-redox
  • x86_64-solaris
  • x86_64-windows