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.5.tar.gz (8.4 kB view details)

Uploaded Source

Built Distribution

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

Uploaded Python 3

File details

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

File metadata

  • Download URL: autocommitt-0.1.5.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.5.tar.gz
Algorithm Hash digest
SHA256 9ee64cb9f10dbfc58a99419a9fdc0e60920617045a02685e0b5c2523f0c1a09f
MD5 d2e0e251e8e2ae8d24b488c19214a951
BLAKE2b-256 46309df2b20ea0b04b2cf640c5fd3e76f9cec182f824e75b9b0fceb8bf5e88af

See more details on using hashes here.

Provenance

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

Publisher: release.yaml on Spartan-71/AutoCommitt

Attestations:

File details

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

File metadata

  • Download URL: autocommitt-0.1.5-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.5-py3-none-any.whl
Algorithm Hash digest
SHA256 0f9a2ae15b657e17ea93c38566c664099da22f3a6f9a9b26875e34b2620f0039
MD5 984129d9951bb3a97c839ed0d339eacd
BLAKE2b-256 26b4b9ac4aa9b69df1571b66273ddcb055276a6bdac67fbfa80aec9243a93e61

See more details on using hashes here.

Provenance

The following attestation bundles were made for autocommitt-0.1.5-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