A CLI tool to automatically generate git commit messages using OpenAI GPT-4
Project description
AI-powered Git Helper (AIGIT)
AIGIT is a command-line interface (CLI) tool that uses OpenAI to generate commit messages for your Git repositories. It checks the status of your Git repository, generates a commit message based on the changes, and commits those changes.
Installation
To install AIGIT, you need Python 3.6+ installed on your system. You have several options:
Global Installation (Recommended)
Using uv (fastest):
uv tool install aigit
Using pipx (alternative):
pipx install aigit
These methods install AIGIT globally and isolate its dependencies, making it available as the aig command anywhere on your system.
Regular Installation
If you prefer a regular installation:
pip install aigit
Or using uv:
uv pip install aigit
Configuration
Before using AIGIT, you need to configure your OpenAI API key. Run the following command and enter your API key when prompted:
aig --config
Usage
$ aig -h
usage: aig [-h] [--config] [-y]
AI-powered Git Helper
options:
-h, --help show this help message and exit
--config Configure API Key
-y, --yes Auto commit without asking for confirmation
To use AIGIT, navigate to your Git repository and run the following command:
aig
AIGIT will check the status of your Git repository, generate a commit message, and ask for your confirmation before committing the changes. If you want to auto commit without confirmation, use the -y or --yes option:
aig -y
Development
Setup Development Environment
- Clone the repository
- Install uv if you haven't already:
pip install uv - Install dependencies:
uv pip install .
Making Changes
The project uses pyproject.toml for dependency management and build configuration. To add new dependencies:
uv add <package-name>
To remove dependencies:
uv remove <package-name>
Version Updates
When releasing a new version, update the version number in both:
pyproject.toml: Update theversion = "x.x.x"field under[project]aigit/__init__.py: Update the__version__ = "x.x.x"variable
Building and Publishing
- Update the version as described above
- Run the deployment script:
./scripts/deploy.sh
The script will:
- Clean any existing build artifacts
- Build the package with uv
- Upload to PyPI
- Clean up build artifacts if successful
- Keep build artifacts for inspection if upload fails
For manual deployment, you can run these commands individually:
# Clean artifacts
rm -rf dist/ build/ *.egg-info/
# Build
uv build
# Upload to PyPI
uvx twine upload dist/*
Contributing
Contributions are welcome! Please feel free to submit a pull request.
License
AIGIT is open-source software licensed under the MIT license.
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file aigit-0.1.9.tar.gz.
File metadata
- Download URL: aigit-0.1.9.tar.gz
- Upload date:
- Size: 6.6 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.0.1 CPython/3.12.6
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
69bd0a4b13ea328d9b58feefc8cd01d1ae34b17ebeba75841a98b11fe06202d3
|
|
| MD5 |
85cb6b926feae17625985c1a65e3f865
|
|
| BLAKE2b-256 |
d413cd4328815687ce184e343b42348b6eed890eeaf704f4b405dfa829624228
|
File details
Details for the file aigit-0.1.9-py3-none-any.whl.
File metadata
- Download URL: aigit-0.1.9-py3-none-any.whl
- Upload date:
- Size: 7.5 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.0.1 CPython/3.12.6
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
72e69b9d89e97693ece04797996141f0452ce7e57c0e4dbf4fd36b0312986359
|
|
| MD5 |
34d65cc4f65efa501b05dc914b2cad53
|
|
| BLAKE2b-256 |
4144c5af03227343cddc816f6ac2b8e53ed111eae2a70e36812ed1e917140174
|