Welcome to the repo for GitPT, the command line utility that uses an LLM to generate git commit messages for you. Save your brain cycles for something other than writing meaningful commit messages. Choose from LLMs installed on your machine or use API access. Select the message style that matches your codebase and personality: professional, funny, or intrinsic.
Remember: LLMs are used to generate the messages. LLMs make mistakes. Verify all responses created by GitPT
If you’d like to get the repo working on your machine, follow these steps.
- You already have Git installed and working.
- You are familiar with Python and creating virtual environments.
- You are able to access a LLM (either locally or with an API key).
If you prefer a local LLM Be sure your machine can handle the system requirements. Specifics in the Ollama documentation.
- Download Ollama and install it.
- Follow the Ollama instructions for pulling gemma2.
- For Mac, run
ollama pull gemma2
in the Terminal and wait for the model to be downloaded into~/.ollama/models/blobs
- For Mac, run
If you prefer API Access
Use the developer documentation to review the API pricing and obtain your API key. For example, at the time of writing, Gemini allows 1,500 requests per day free.
-
Use Git to Clone this Repo
-
Set Up Python Virtual Environment and Install Poetry
- Follow the venv directions for creating a virtual environment. For example:
python -m venv venv
- Activate the virtual environment:
source venv/bin/activate
- If Poetry is not installed, install it. For example:
pip install poetry
- Follow the venv directions for creating a virtual environment. For example:
-
Install Project Dependencies
- CD into the project folder.
- Use Poetry to install the project in editable mode:
poetry install
- This will install the dependencies specified in
pyproject.toml
and set up the project for CLI use.
-
Configure Environment Variables
- Create a
.env
file in the root directory of the project. See Available Environment Variables.
- Create a
-
Run GitPT
- To interact with the CLI, type
gitpt
- Use
gitpt --help
to see available options and commands. - See additional Usage Instructions
- To interact with the CLI, type
The gitpt commit
command helps you generate meaningful commit messages for your Git changes. Here's how to use it:
- Basic Usage
gitpt commit
# Generate commit message with custom style
gitpt --style professional commit
# Specify maximum length for commit message
gitpt --length 50 commit
- Examples
# Basic commit gitpt commit # Conversational style with 50 char limit gitpt --style professional --length 50 commit
Environment Variable | Description | Default Value |
---|---|---|
GITPT__LLM | LLM provider selection (ollama, openai, claude, google) | ollama |
GITPT__MODEL | Model name to use | gemma2 |
GITPT__OPENAI_API_KEY | OpenAI API key for using OpenAI models | None |
GITPT__CLAUDE_API_KEY | Claude API key for using Anthropic models | None |
GITPT__GOOGLE_API_KEY | Google API key for using Google models | None |
GITPT__STYLE | Style of generated commit messages | professional |
GITPT__LENGTH | Maximum length of commit messages | 72 |