Skip to content

zaidfadhil/kemit

Repository files navigation

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.