Skip to main content

AI-powered Git commit message generator.

Project description

Gultron: AI-powered Git Commit Message Generator

Gultron is an AI-powered tool that automatically generates Git commit messages based on your code changes. It uses Google's Gemini AI to analyze your Git diffs and suggest meaningful, descriptive commit messages. Gultron helps save time and ensures your commit history is consistent and descriptive.

Features

  • AI-powered commit message generation: Suggest commit messages based on the code changes using Google's Gemini AI.
  • Staged changes support: Generate commit messages based on the current staged changes.
  • Clipboard integration: Optionally copy the generated commit message to your clipboard for easy pasting.

Installation

Manual Installation

To install Gultron manually, follow these steps:

  1. Clone the repository:

    git clone https://github.com/Mahmoud-Emad/gultron.git
    cd gultron
    
  2. Install the dependencies:

    poetry install
    
  3. Build the executable:

    ./build
    
  4. Run the executable:

    # Inside a repo you can do
    gultron --generate
    # or run it from everywhere and pass the repo path as an argument
    gultron --repo "/path/to/your/repo" --generate
    

Using pip

You can install Gultron using pip:

    pip install gultron

Run the executable:

# Inside a repo you can do
gultron --generate
# or run it from everywhere and pass the repo path as an argument
gultron --repo "/path/to/your/repo" --generate

Now you're ready to use Gultron!

Usage

After installation, you can use the command-line interface (CLI) to generate commit messages.

Basic Usage

To generate a commit message based on the latest changes in your repository:

gultron --repo "/path/to/your/repo" --generate

Use Staged Changes

If you want to generate a commit message based on the staged changes:

gultron --repo "/path/to/your/repo" --cached

Set an API Key

You can provide your API key directly via the --api-key option:

gultron --repo "/path/to/your/repo" --api-key "your_api_key"

Alternatively, you can set the API key as an environment variable:

export API_KEY="your_api_key"
gultron --repo "/path/to/your/repo"

If no API key is provided, a default API key will be used.

Copy the Commit Message to Clipboard

To copy the generated commit message to your clipboard, use the --copy flag:

gultron --repo "/path/to/your/repo" --copy

This requires the installation of xclip (on Linux systems). If it's not installed, Gultron will attempt to install it automatically.

Regenerate a Commit Message

To regenerate the commit message, you can use the --regenerate flag, which will generate a new commit message based on the latest changes.

gultron --repo "/path/to/your/repo" --regenerate

Configuration

Gultron uses a .env file to configure certain settings. You can modify the following settings:

  • API_KEY: Your Gemini AI API key.
  • MODEL_NAME: The AI model to use for commit message generation (e.g., gemini-1.5-flash).

Contributing

We welcome contributions to Gultron! If you find a bug or want to suggest a new feature, please open an issue or submit a pull request.

  1. Fork the repository.
  2. Create a new branch for your feature (git checkout -b feature-name).
  3. Commit your changes (git commit -am 'Add new feature').
  4. Push to the branch (git push origin feature-name).
  5. Create a new pull request.

License

Gultron is open-source software licensed under the MIT License. See the LICENSE file for more details.

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

gultron-1.1.2.tar.gz (6.3 kB view details)

Uploaded Source

Built Distribution

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

gultron-1.1.2-py3-none-any.whl (8.3 kB view details)

Uploaded Python 3

File details

Details for the file gultron-1.1.2.tar.gz.

File metadata

  • Download URL: gultron-1.1.2.tar.gz
  • Upload date:
  • Size: 6.3 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: poetry/1.8.4 CPython/3.12.3 Linux/6.8.0-51-generic

File hashes

Hashes for gultron-1.1.2.tar.gz
Algorithm Hash digest
SHA256 6fe4a372e7a9bafe4a92d223262ed036e2476b47490d03e5d3e7eae58008b952
MD5 9b6c342ecb26b6917a2d3bde162d0047
BLAKE2b-256 e33353f2f0866e4269ee0a935bd0f664791b6022a09ad6a72fd3285edd8b5dad

See more details on using hashes here.

File details

Details for the file gultron-1.1.2-py3-none-any.whl.

File metadata

  • Download URL: gultron-1.1.2-py3-none-any.whl
  • Upload date:
  • Size: 8.3 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: poetry/1.8.4 CPython/3.12.3 Linux/6.8.0-51-generic

File hashes

Hashes for gultron-1.1.2-py3-none-any.whl
Algorithm Hash digest
SHA256 9846971947467c92891cfac8adae942a8c9594f1906ebb91fe83a54e565fcc7e
MD5 fa474d9b9718d0f62a7afcc139d35d59
BLAKE2b-256 c2341c92fa83071d05831a13ecf9bf00fc793e57522f6a3229f1fb4ae89a6179

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