Skip to main content

An LLM based git commit message creator.

Project description

GitPT

Overview

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

Common Scenarios

If you’d like to get the repo working on your machine, follow these steps.

Setup Your Machine for Development

Assumptions

  1. You already have Git installed and working.
  2. You are familiar with Python and creating virtual environments.
  3. You are able to access a LLM (either locally or with an API key).

Decide about LLM Access

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

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.

Steps

  1. Use Git to Clone this Repo

  2. 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
  3. 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.
  4. Configure Environment Variables

  5. Run GitPT

    • To interact with the CLI, type gitpt
    • Use gitpt --help to see available options and commands.
    • See additional Usage Instructions

Usage Instructions

The gitpt commit command helps you generate meaningful commit messages for your Git changes. Here's how to use it:

  1. Basic Usage
    gitpt commit
    
  # Generate commit message with custom style
  gitpt  --style professional commit

  # Specify maximum length for commit message
  gitpt --length 50 commit 
  1. Examples
    # Basic commit
    gitpt commit
    
    # Conversational style with 50 char limit
    gitpt --style professional --length 50 commit
    

Available Environment Variables

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

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

gitpt-0.2.0.tar.gz (9.2 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

gitpt-0.2.0-py3-none-any.whl (10.3 kB view details)

Uploaded Python 3

File details

Details for the file gitpt-0.2.0.tar.gz.

File metadata

  • Download URL: gitpt-0.2.0.tar.gz
  • Upload date:
  • Size: 9.2 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: poetry/1.8.4 CPython/3.12.4 Darwin/23.0.0

File hashes

Hashes for gitpt-0.2.0.tar.gz
Algorithm Hash digest
SHA256 216bce492b3221bccb9e582e6981a9dceafd22d3a73cd3c3fb728dc28a5b1025
MD5 142b216d09cc98a63cd2b23dd9819c13
BLAKE2b-256 26d62d0f4967e0b1e15f97d9c0a9d31c7f5a947a592e02100ed60fe5d2b63490

See more details on using hashes here.

File details

Details for the file gitpt-0.2.0-py3-none-any.whl.

File metadata

  • Download URL: gitpt-0.2.0-py3-none-any.whl
  • Upload date:
  • Size: 10.3 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: poetry/1.8.4 CPython/3.12.4 Darwin/23.0.0

File hashes

Hashes for gitpt-0.2.0-py3-none-any.whl
Algorithm Hash digest
SHA256 879ad5e45b237e044a0aa87741545d9c86ed361ea665275b4b4f937aed2fadcd
MD5 a7cf0791b985f0f9b392b413c92940e7
BLAKE2b-256 aff7b4b8c223e54809583dad428e85969d6a6e73f29fce6df93ba3c5e2cc8bd7

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page