Skip to main content

A CLI tool to generate commit messages from your code changes

Project description

Icommit

ICOMMIT - AI-Driven Git Commit Messages

Icommit is a simple command-line tool that generates meaningful commit messages for your Git repositories. By analyzing staged changes, it leverages Groq’s AI-powered Llama models to produce high-quality messages.

Icommit Badge PyPI - Downloads

Table of Contents

Features

  • Generates AI-driven commit messages from staged Git changes
  • Uses Groq’s AI model to analyze code diffs
  • Easy Git integration with minimal setup
  • Secure API key handling (no environment variables)
  • Simple CLI commands for quick use

Installation

To start using ICOMMIT, follow these steps:

1. Install Icommit

You can install ICOMMIT via pip:

pip install icommit

2. Set up the API Key

To use the AI-powered commit message generation, you need to configure your API key:

  1. Visit Groq Console and create an account.
  2. Generate a new API key and copy it.
  3. Run the following command to store your API key:
icommit-key <api-key>

This securely saves your API key in a local configuration file.

Usage

Generating Commit Messages

Once you’ve set up the API key, you can generate commit messages based on your staged changes in any Git repository.

  1. Stage your changes:
git add .
  1. Generate a commit message:
icommit

This command will analyze the staged files and suggest a concise, AI-generated commit message for you.

CLI Commands

icommit

This command generates a commit message based on the changes in the current directory (specifically staged Git files).

icommit
  • The AI model analyzes the diffs and generates a summary of the changes.
  • It automatically uses the Groq AI model for analysis.

icommit-key

This command allows you to set your API key, which is needed for the AI-powered functionality.

icommit-key <your-api-key>
  • The API key is stored locally, ensuring security without relying on environment variables.
  • This command is essential before you can run the icommit command.

Configuration

ICOMMIT stores your API key in a local configuration file for security. You can view or modify the configuration file directly if needed (location depends on your OS, e.g., ~/.icommit_config or similar).

Example Usage

Stage Your Files:

git add src/example_file.py

Generate a Commit Message:

icommit

Output:

feat(api): add user authentication endpoint

- Added POST route for user login
- Implemented JWT token generation for secure sessions
- Updated user model to include password hashing

The API now supports secure user login with JWT authentication.

Troubleshooting

  • If the API key is missing or invalid, you’ll be prompted to set it using the icommit-key command before generating commit messages.
  • Ensure that you have staged changes using git add before running the icommit command.
  • If the tool doesn’t seem to work as expected, check the configuration file for your API key, or reset it by running icommit-key <new-api-key>.

Release Notes

For details on the latest releases, see the Releases Notes here.

License

This project is licensed under the MIT License - see the LICENSE file for 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

icommit-0.2.1.tar.gz (6.6 kB view details)

Uploaded Source

Built Distribution

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

icommit-0.2.1-py3-none-any.whl (7.3 kB view details)

Uploaded Python 3

File details

Details for the file icommit-0.2.1.tar.gz.

File metadata

  • Download URL: icommit-0.2.1.tar.gz
  • Upload date:
  • Size: 6.6 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.12.4

File hashes

Hashes for icommit-0.2.1.tar.gz
Algorithm Hash digest
SHA256 1029cd6798c86919ceb56f31d468f4f7d6190924d6d75e4ae635e9db2d7b80ac
MD5 d1e5f491b335ce19c59315ea9c214035
BLAKE2b-256 106d1c4b5a4850af6640a820279c7f78215f9a77215c0609128366e01cd41988

See more details on using hashes here.

File details

Details for the file icommit-0.2.1-py3-none-any.whl.

File metadata

  • Download URL: icommit-0.2.1-py3-none-any.whl
  • Upload date:
  • Size: 7.3 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.12.4

File hashes

Hashes for icommit-0.2.1-py3-none-any.whl
Algorithm Hash digest
SHA256 3ce9e38e9a93c545ed72ff1efdaf09294f667195fe5c995bcd691d5180e13055
MD5 24021ce03a11ff8b3f3af37f28bd461c
BLAKE2b-256 99b6d01e81f7dbebda9e11085d3a64189576d72a8de696ad4ab7a9795d8cdd07

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