/kemit

Generate Git commit messages with AI

Primary LanguageGoMIT LicenseMIT

kemit

Go Reference Go Report Card

Automate the process of generating commit messages based on the diff of staged files in a Git repository

Requirements

  • Git
  • Ollama (with llama3.1 or mistral ... or any code model)
  • Supported platforms: macOS, Linux

Installation

Shell script

Install Kemit on macOS or Linux using the following command:

Using Curl

sudo curl -fsSL https://raw.githubusercontent.com/zaidfadhil/kemit/main/scripts/install.sh | sh

Or using Wget

sudo wget -qO- https://raw.githubusercontent.com/zaidfadhil/kemit/main/scripts/install.sh | sh

From Source

  1. Clone the repository:
git clone https://github.com/zaidfadhil/kemit.git
cd kemit
  1. Build and Install:
make install

Setup

Make sure ollama installed and running in serve mode.

To set or update the configuration, use the config command:

kemit config [options]
  • -provider: Set the LLM Provider. (default: ollama).
  • -ollama_host: Set the Ollama Host. Example: http://localhost:11434. (required).
  • -ollama_model: Set the Ollama Model. Example: llama3. (required).
  • -commit_style: Set the Commit Style. Example: normal, conventional-commit (default: conventional-commit)

example:

kemit config -ollama_host http://localhost:11434 -ollama_model llama3.1

Usage

To generate a commit message:

kemit

If there are no staged changes, the application will output "Nothing to commit." Otherwise, it will generate and print a commit message based on the staged diff.

Uninstall

To uninstall Kemit, you can use the uninstall script which removes the installed binary:

sudo curl -fsSL https://raw.githubusercontent.com/zaidfadhil/kemit/main/scripts/uninstall.sh | sh
// or
sudo wget -qO- https://raw.githubusercontent.com/zaidfadhil/kemit/main/scripts/uninstall.sh | sh

License

kemit is licensed under the MIT License.