Commify

Commify is a command-line interface (CLI) tool that generates meaningful, structured commit messages for Git repositories using AI. By analyzing the staged changes (diff) in your repository, it creates commit messages that follow conventional commit guidelines, optionally including emojis for better context and readability. See Commify website to know more. Don't forget to ⭐ the project!

Caution: Ollama provider can be slow without a good GPU or a very large AI model. It's not a Commify optimization problem.

Latest version: PyPI version

Stats: Downloads Monthly Downloads

✨ Features

AI-Powered Commit Messages: Generate concise and structured commit messages using the ollama local AI provider or G4F AI provider.

Emoji Support: Optionally include relevant emojis in commit messages.

Language Support: Generate commit messages in the language of your choice.

Customizable Providers: Specify the AI provider to use (g4f or ollama).

Interactive Review System: Review and approve generated messages or request new ones.

Customizable Models: Specify the AI model to use.

🛠️ Installation

Windows

Make sure you have installed Git, python3.10+ and ollama (ollama is optional)

pip install Commify

Linux

Make sure you have installed Git, python3.10+, pipx and ollama (ollama is optional)

sudo apt install git
sudo apt install pipx
pipx install Commify
pipx ensurepath

🏗️ Usage

commify <path_to_repo> [--lang <language>] [--emoji <True/False>] [--model <AI_model>] [--provider <AI_PROVIDER>]

Examples

Using Ollama Provider:

commify /path/to/repo --lang english --emoji True --model llama3.1 --provider ollama

Using G4F Provider:

commify /path/to/repo --lang english --emoji True --model gpt-4o --provider g4f

Without Specifying The Repository Path:

cd /path/to/repo
commify --lang english --emoji True --model llama3.1 --provider ollama

🧩 Testing Information

Confirmed successful runs on:

OS:

Python:

AI Models:

💻 Developer Information

Commify is developed and maintained by Matuco19

📑 License

Apache License 2.0

👋 Contributions

Contributions are welcome! Feel free to open an issue or submit a pull request on GitHub.

Start making commits with Commify today! 🎉