Giter VIP home page Giter VIP logo

gptcommit's Introduction

gptcommit

Github Contributors Github Stars CI

crates.io status crates.io downloads Rust dependency status

A git prepare-commit-msg hook for authoring commit messages with GPT-3. With this tool, you can easily generate clear, comprehensive and descriptive commit messages letting you focus on writing code.

See announcement blog post.

Demo

asciicast

Installation

  1. Install this tool locally with cargo (recommended).
cargo install --locked gptcommit

or on macOS, use homebrew

brew install zurawiki/brews/gptcommit
  1. In your git repository, run the following command to install gptcommit as a git prepare-commit-msg hook. You will need to provide an OpenAI API key to complete the installation.
gptcommit install

Usage

To use gptcommit, simply run git commit as you normally would. The hook will automatically generate a commit message for you using GPT-3. If you're not satisfied with the generated message, you can always edit it before committing.

Note: By default, gptcommit uses the GPT-3 model. Please ensure you have sufficient credits in your OpenAI account to use it.

Features

gptcommit supports a number of configuration options that are read from $HOME/.config/gptcommit/config.toml. Configs are applied in the following order:

  • User settings as read from $HOME/.config/gptcommit/config.toml.
  • Environment variables starting with GPTCOMMIT__*.

Set your OpenAI API key

Persist your OpenAI key

gptcommit config set openai.api_key sk-...

You can also config this setting via the GPTCOMMIT__OPENAI__API_KEY.

To maintain compatibility with other OpenAI clients, we support the OPENAI_API_KEY environment variables. This will take the highest precedence.

Try out a different OpenAI model

gptcommit uses text-davinci-003 by default. The model can be configured to use other models as below

gptcommit config set openai.model text-davinci-002

You can also config this setting via the GPTCOMMIT__OPENAI__MODEL.

For a list of public OpenAI models, checkout the OpenAI docs. You can also bring in your own fine-tuned model.

Encountered any bugs?

If you encounter any bugs or have any suggestions for improvements, please open an issue on the repository.

License

This project is licensed under the MIT License.

gptcommit's People

Contributors

zurawiki avatar dependabot[bot] avatar grayfallstown avatar

Watchers

James Cloos avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.