A CLI tool for generating editable commit messages with local AI models
Project description
A lightweight CLI tool that automatically generates meaningful commit messages using small, efficient AI models locally. AutoCommitt leverages Ollama's Llama 3.2:3B model to create concise, context-aware commit messages while keeping resource usage minimal.
✨ Features
- Local AI-Powered: Generates commit messages using a small 3B parameter Llama 3.2 model
- Flexible Editing: Review and edit generated messages before committing
- Privacy-First: All operations performed locally, ensuring data privacy
- Git Integration: Seamlessly works with your existing Git workflow
- Resource-Efficient: Minimal computational overhead with lightweight AI model
🚀 Quick Start
Prerequisites
- Python 3.8 or higher
- Git installed and configured
- Minimum 8GB RAM recommended
Installation
pip install autocommitt
Get the latest updated llama 3.2 (3 billion) model
ollama pull llama3.2:3b
Usage
-
Start the Ollama server:
autocommitt start
-
Generate and edit commit message:
autocommitt gen
This will generate a commit message based on your changes using the Llama 3.2:3B model. Edit it if needed.
-
Press Enter to commit your changes.
Note: When you're done generating commit messages, be sure to stop the Ollama server by running:
autocommitt stop
That's it! 🎉
🔜 Roadmap
- Git Hooks Integration: Compatible with pre-commit hooks
- Cross-Platform Support: Enhanced compatibility for Windows, macOS, and Linux
- Custom Templates: Support for user-defined commit message templates
- Interactive Mode: Enhanced CLI interface for improved user experience
- Multiple Language Model Support: Option to choose different local AI models
🐛 Support
- Found a bug? Open an issue
- Have questions? Start a discussion
- Want to contribute? Check out our Contributing Guidelines
📊 Project Status
- Basic commit message generation
- Local AI model integration (Llama 3.2:3B)
- Python package release
- Cross-platform testing
- Interactive mode
- Custom template support
- Multi-model support
📄 License
Licensed under the Apache License 2.0 - see the LICENSE file for details.
👩💻 For Developers
Interested in contributing to AutoCommitt? We'd love your help! Check out our Contributing Guidelines for:
- Setting up the development environment
- Building from source
- Pull request process
- Development roadmap
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
Built Distribution
File details
Details for the file autocommitt-0.1.7.tar.gz
.
File metadata
- Download URL: autocommitt-0.1.7.tar.gz
- Upload date:
- Size: 10.1 kB
- Tags: Source
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/5.1.1 CPython/3.12.7
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | a0a39087449240decb9fce12dc5b237def198ad91cfe96e786cb840c296abfc6 |
|
MD5 | f11bde844c2ad6085064e03dc21b2cab |
|
BLAKE2b-256 | 4fa72f5ba356bc39ce64373616014ddc97fc35cc1749d85662af1cabcf95e197 |
Provenance
The following attestation bundles were made for autocommitt-0.1.7.tar.gz
:
Publisher:
release.yaml
on Spartan-71/AutoCommitt
-
Statement type:
https://in-toto.io/Statement/v1
- Predicate type:
https://docs.pypi.org/attestations/publish/v1
- Subject name:
autocommitt-0.1.7.tar.gz
- Subject digest:
a0a39087449240decb9fce12dc5b237def198ad91cfe96e786cb840c296abfc6
- Sigstore transparency entry: 150467334
- Sigstore integration time:
- Predicate type:
File details
Details for the file autocommitt-0.1.7-py3-none-any.whl
.
File metadata
- Download URL: autocommitt-0.1.7-py3-none-any.whl
- Upload date:
- Size: 11.0 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/5.1.1 CPython/3.12.7
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 95e281f5fdf10f4ccd1d02e87cf1584ef70c74c91339dbfee3d699048f4e4f05 |
|
MD5 | 35f1cddc14469c98f574b21805d2d945 |
|
BLAKE2b-256 | 05e39352c359169f2ce8e97ecb38ec140857278003334f2e224f728ebb524138 |
Provenance
The following attestation bundles were made for autocommitt-0.1.7-py3-none-any.whl
:
Publisher:
release.yaml
on Spartan-71/AutoCommitt
-
Statement type:
https://in-toto.io/Statement/v1
- Predicate type:
https://docs.pypi.org/attestations/publish/v1
- Subject name:
autocommitt-0.1.7-py3-none-any.whl
- Subject digest:
95e281f5fdf10f4ccd1d02e87cf1584ef70c74c91339dbfee3d699048f4e4f05
- Sigstore transparency entry: 150467335
- Sigstore integration time:
- Predicate type: