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
509 downloads per month
105KB
884 lines
Git AI
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