Skip to content

A CLI tool that automatically writes commit messages for you.

License

Notifications You must be signed in to change notification settings

m1guelpf/auto-commit

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

19 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

banner

Automagically-generated commit messages

A CLI tool that generates commit messages from your staged changes, built in Rust and using OpenAI's GPT-3.5.

Installation

You can install auto-commit by running the following command in your terminal.

curl -fsSL https://raw.githubusercontent.com/m1guelpf/auto-commit/main/install.sh | sh -

Or, if you're an arch user, you can download it from the AUR using

yay -S auto-commit

You may need to close and reopen your terminal after installation. Alternatively, you can download the binary corresponding to your OS from the latest release.

Usage

auto-commit uses GPT-3.5. To use it, grab an API key from your dashboard, and save it to OPENAI_API_KEY as follows (you can also save it in your bash/zsh profile for persistance between sessions).

export OPENAI_API_KEY='sk-XXXXXXXX'

Once you have configured your environment, stage some changes by running, for example, git add ., and then run auto-commit.

Of course, auto-commit also includes some options, for editing the message before commiting, or just printing the message to the terminal.

$ auto-commit --help
Automagically generate commit messages.

Usage: auto-commit [OPTIONS]

Options:
  -v, --verbose...  More output per occurrence
  -q, --quiet...    Less output per occurrence
      --dry-run     Output the generated message, but don't create a commit.
  -r, --review      Edit the generated commit message before committing.
  -h, --help        Print help information
  -V, --version     Print version information

Develop

Make sure you have the latest version of rust installed (use rustup). Then, you can build the project by running cargo build, and run it with cargo run.

License

This project is open-sourced under the MIT license. See the License file for more information.