Metadata-Version: 2.4
Name: gitsc
Version: 1.0.0
Summary: AI-powered semantic git commit message generator using Groq's LLaMA models
Home-page: https://github.com/prxdyut/gitsc
Author: Pradyut Das
Author-email: daspradyut516@gmail.com
Classifier: Development Status :: 5 - Production/Stable
Classifier: Environment :: Console
Classifier: Intended Audience :: Developers
Classifier: License :: OSI Approved :: MIT License
Classifier: Operating System :: OS Independent
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3.6
Classifier: Programming Language :: Python :: 3.7
Classifier: Programming Language :: Python :: 3.8
Classifier: Programming Language :: Python :: 3.9
Classifier: Programming Language :: Python :: 3.10
Classifier: Programming Language :: Python :: 3.11
Classifier: Topic :: Software Development :: Version Control :: Git
Requires-Python: >=3.6
Description-Content-Type: text/markdown
License-File: LICENSE
Requires-Dist: groq
Requires-Dist: python-dotenv
Dynamic: author
Dynamic: author-email
Dynamic: classifier
Dynamic: description
Dynamic: description-content-type
Dynamic: home-page
Dynamic: license-file
Dynamic: requires-dist
Dynamic: requires-python
Dynamic: summary

# 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](https://www.conventionalcommits.org/) 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:
```bash
pip install gitsc
```

Or install from source:
```bash
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:

1. Sign up at [Groq Console](https://console.groq.com)
2. Navigate to the API Keys section
3. Create a new API key

You can set up your API key in several ways:
1. Let the tool prompt you on first use
2. Use the command-line flag: `gitsc --api-key "your-api-key"`
3. Create a `.env` file 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](https://console.groq.com/docs/models).

Currently supported models:
- `llama3-70b` (default): LLaMA 3.3 70B Versatile - Most capable, best quality
- `llama3-8b`: LLaMA 3.1 8B Instant - Faster response time
- `gemma-9b`: Gemma 2 9B - Alternative model

Select a model using the `--model` or `-m` flag:
```bash
gitsc -m llama3-8b "your commit message"
```

## Usage

Basic usage:
```bash
gitsc "Your commit description here"
```

With model selection:
```bash
gitsc -m llama3-8b "add new user authentication feature"
```

Update API key:
```bash
gitsc -k "your-new-api-key"
```

Running without arguments will show the help message and setup instructions:
```bash
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 message
- `k` - Reset/update API key
- `q` - 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 
