AI-powered semantic git commit message generator using Groq's LLaMA models
Project description
gitsc (Git Semantic Commit)
A command-line tool that generates semantic commit messages using AI, following the Conventional Commits format.
Features
- Generates semantic commit messages using Groq's LLaMA and Gemma models
- Multiple model options for different needs (speed vs. quality)
- Follows Conventional Commits format
- Interactive mode with streamlined commit process
- Easy to use command-line interface
- Automatic API key management
- Command-line flags for quick configuration
Installation
You can install gitsc directly from PyPI:
pip install gitsc
Or install from source:
git clone https://github.com/prxdyut/gitsc.git
cd gitsc
pip install -e .
GROQ API Key Setup
You'll need a GROQ API key to use this tool. Here's how to get one:
- Sign up at Groq Console
- Navigate to the API Keys section
- Create a new API key
You can set up your API key in several ways:
- Let the tool prompt you on first use
- Use the command-line flag:
gitsc --api-key "your-api-key" - Create a
.envfile in your project with:GROQ_API_KEY=your_api_key_here
Available Models
The tool supports multiple Groq models that you can choose from based on your needs. View the complete list of supported models at Groq Models Documentation.
Currently supported models:
llama3-70b(default): LLaMA 3.3 70B Versatile - Most capable, best qualityllama3-8b: LLaMA 3.1 8B Instant - Faster response timegemma-9b: Gemma 2 9B - Alternative model
Select a model using the --model or -m flag:
gitsc -m llama3-8b "your commit message"
Usage
Basic usage:
gitsc "Your commit description here"
With model selection:
gitsc -m llama3-8b "add new user authentication feature"
Update API key:
gitsc -k "your-new-api-key"
Running without arguments will show the help message and setup instructions:
gitsc
The tool will generate a semantic commit message and present you with options:
- Press
Enter- Proceed with the commit (default action) r- Rephrase the commit messagek- Reset/update API keyq- Quit without committing
Commit Message Format
The tool generates commit messages following the Conventional Commits format:
type(scope): summary
Where type is one of:
- feat: New features
- fix: Bug fixes
- chore: Maintenance tasks
- docs: Documentation changes
- refactor: Code restructuring
- test: Adding or modifying tests
- style: Code style changes
- perf: Performance improvements
- ci: CI/CD changes
Requirements
- Python 3.6+
- Groq API key
- Git installed and configured
License
MIT License - See LICENSE file for details
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file gitsc-1.0.0.tar.gz.
File metadata
- Download URL: gitsc-1.0.0.tar.gz
- Upload date:
- Size: 5.7 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.13.5
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
2eff81101c9f69c283877f003776c7709569028e6a0d300f256047da19cd0b79
|
|
| MD5 |
5d70fd2a162d6872c216bed0b5e8097d
|
|
| BLAKE2b-256 |
636800c34061261a69a52a0468b94367a9cc2429b327a016a543e9d436938941
|
File details
Details for the file gitsc-1.0.0-py3-none-any.whl.
File metadata
- Download URL: gitsc-1.0.0-py3-none-any.whl
- Upload date:
- Size: 6.3 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.13.5
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
e238b6034b9ed58cc84dd804b94f7667cba15318c1671caa8907fa3dcdac97dc
|
|
| MD5 |
be59c440167c133305c5d44090aa757b
|
|
| BLAKE2b-256 |
9aba6f2dd8c8c75ee48263aa0c7779026f280a4b7ee052b8e2ae9ea76a83d54f
|