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.0.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.0-py3-none-any.whl (7.3 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: icommit-0.2.0.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.0.tar.gz
Algorithm Hash digest
SHA256 310aca3a87370990014f01b28d2fbe1753e9eca1c5a310d93613552143b3e7dd
MD5 509c27252846f4e9d560e09eb02c10ce
BLAKE2b-256 8c975aab2a2c80ba6f78e30121b70caccb6fa863bcadc7704e34f9f2be134846

See more details on using hashes here.

File details

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

File metadata

  • Download URL: icommit-0.2.0-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.0-py3-none-any.whl
Algorithm Hash digest
SHA256 7c1f44848253434294dc7c357c9f92abb473f832ea269df0d8ba5dbd0458a47e
MD5 afd912564961d56025b15d5e4c2fe186
BLAKE2b-256 fbc80e5b410c7ae2c32496d379490a5812aec07f1138c2d6b6f0fbc87e2ef0f7

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