Skip to main content

A CLI tool for generating editable commit messages with local AI models

Project description

2

AutoCommitt is a lightweight CLI tool that automatically generates meaningful commit messages using small, efficient AI models locally. It leverages Ollama's Llama model (3B parameters) to create concise, context-aware commit messages while keeping resource usage minimal.

License Python

✨ Features

  • Local AI-Powered: Generates commit messages using a small 3B parameter model
  • Resource Efficient: Minimal RAM and CPU usage with optimized model size
  • Privacy-First: All operations performed locally, ensuring data privacy
  • Flexible Editing: Review and edit generated messages before committing
  • Git Integration: Seamlessly works with your existing Git workflow

🚀 Coming Soon

  • Git hooks integration: Compatible with all pre-commit hooks
  • Cross-Platform: Support for Windows, macOS, and Linux

🛠️ Installation

Prerequisites

  • Python 3.8 or higher
  • Git installed and configured
  • Ollama installed locally
  • Minimum 8GB RAM

Steps

  1. Clone the Repository

    git clone https://github.com/yourusername/AutoCommit.git
    cd AutoCommit
    
  2. Install Dependencies

    pip install -r requirements.txt
    
  3. Verify Installation

    python -m autocommitt --version
    

📖 Usage

python main.py

🤝 Contributing

We welcome contributions! Here's how you can help:

  1. Fork the repository
  2. Create a feature branch (git checkout -b feature/amazing-feature)
  3. Commit your changes (git commit -m 'Add amazing feature')
  4. Push to the branch (git push origin feature/amazing-feature)
  5. Open a Pull Request

Please read our Contributing Guidelines for more details.

📊 Project Status

Current Version: 0.1.0 (Alpha)

  • Basic commit message generation
  • Local AI model integration (3B parameters)
  • Python package release
  • Cross-platform testing
  • Interactive mode
  • Custom template support

📄 License

Licensed under the Apache License 2.0 - 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

autocommitt-0.1.4.tar.gz (8.4 kB view details)

Uploaded Source

Built Distribution

autocommitt-0.1.4-py3-none-any.whl (9.0 kB view details)

Uploaded Python 3

File details

Details for the file autocommitt-0.1.4.tar.gz.

File metadata

  • Download URL: autocommitt-0.1.4.tar.gz
  • Upload date:
  • Size: 8.4 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/5.1.1 CPython/3.12.7

File hashes

Hashes for autocommitt-0.1.4.tar.gz
Algorithm Hash digest
SHA256 a555369d6b3db3d0136de23b89e2a07e3e3fb3879c4dba65c01d49b908cdfb15
MD5 7c197594243eefdb2c2831a7d21fd107
BLAKE2b-256 d326d4168430c57e4dcf5eb6bf70551ff03e74b132f9bb9c25d7e0b2cc0a05bc

See more details on using hashes here.

Provenance

The following attestation bundles were made for autocommitt-0.1.4.tar.gz:

Publisher: release.yaml on Spartan-71/AutoCommitt

Attestations:

File details

Details for the file autocommitt-0.1.4-py3-none-any.whl.

File metadata

  • Download URL: autocommitt-0.1.4-py3-none-any.whl
  • Upload date:
  • Size: 9.0 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/5.1.1 CPython/3.12.7

File hashes

Hashes for autocommitt-0.1.4-py3-none-any.whl
Algorithm Hash digest
SHA256 d8ab6a45a54b311998de45e9bc1fc41f9fe3b6255b84deba6c5f5aa923ad2a65
MD5 7cfa2cd4ba1e869473ed5b2e851a852f
BLAKE2b-256 ce2497c93d1e13ff29e6383d848e93e64d5ac5a07685dfefc0cd09fed0229a5b

See more details on using hashes here.

Provenance

The following attestation bundles were made for autocommitt-0.1.4-py3-none-any.whl:

Publisher: release.yaml on Spartan-71/AutoCommitt

Attestations:

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page