#commit-message #git-commit #git-hook #chatgpt #git-diff #ai #openai

bin+lib git-ai

Git AI: Automates commit messages using ChatGPT. Stage your files, and Git AI generates the messages.

35 releases

new 0.2.44 Nov 16, 2024
0.2.6 Jul 1, 2024
0.1.29 Mar 19, 2024
0.1.18 Dec 24, 2023

#139 in Machine learning

Download history 23/week @ 2024-08-02 8/week @ 2024-09-13 23/week @ 2024-09-20 2/week @ 2024-09-27 509/week @ 2024-11-15

509 downloads per month

MIT license

105KB
884 lines

Git AI Rust Crates.io License

Git AI seamlessly integrates ChatGPT with git hooks to automate commit message generation based on your staged files. Stage your changes and commit without a message; Git AI does the rest, crafting detailed commit messages that reflect the essence of your changes.

Key Features

  • Smart Integration: Leverages OpenAI's powerful Assistant API, expertly tailored to transform git diffs into insightful commit messages.
  • Contextual Learning: This feature maintains a dedicated thread for each project, allowing the assistant to build context over time and thereby improving performance and message relevance with every commit.
  • Local Optimization: Hosts an exclusive assistant instance on your machine, learning from all your projects to elevate the quality of commit messages throughout your development environment.

Quick Start

# Install Git AI
cargo install git-ai

# Set your OpenAI API key
git-ai config set openai-api-key <your key>

# Install the Git AI hook in your repo
git-ai hook install

# Make your changes, stage them, and commit without a message
git commit --all --no-edit

Getting Started

Prerequisites

  • Rust and Cargo installed on your machine.

Installation Options

Via Crates.io

cargo install git-ai
git-ai config set openai-api-key <api-key>
git-ai hook install

From Source

git clone https://github.com/oleander/git-ai
cd git-ai
cargo install --path .

Usage Guide

Setting Up

  • Follow the installation instructions to get Git AI ready.
  • Initialize Git AI in your repository with git-ai hook install.
  • Set your OpenAI API key using git-ai config set openai-api-key <api-key>.

Advanced Configuration

Customize Git AI's behavior with these commands:

  • git-ai config set max-commit-length <length> (default: 72): Set the maximum length of commit messages.
  • git-ai config set max-tokens <tokens> (default: 512): Set the maximum number of tokens for the assistant.
  • git-ai config set model <model> (default: "gpt-3.5-turbo"): Set the OpenAI model to use.
  • git-ai config set openai-api-key <api-key>: Set your OpenAI API key.

Contributing

Your feedback and contributions are welcome! Join our community to help improve Git AIby submitting issues, offering suggestions, or contributing code. See our contributing guidelines for more details.

Testing

Run cargo test to execute the test suite and ensure everything functions as expected.

License

Git AI is proudly open-sourced under the MIT License. See LICENSE for more details.

Dependencies

~35–49MB
~690K SLoC