Skip to content

zaidfadhil/kemit

Folders and files

NameName
Last commit message
Last commit date

Latest commit

9f51f17 · Nov 8, 2024

History

61 Commits
Jun 14, 2024
Nov 8, 2024
Nov 8, 2024
Nov 8, 2024
Oct 10, 2024
May 26, 2024
Oct 7, 2024
Jun 14, 2024
May 29, 2024
Jun 14, 2024
May 23, 2024
Jun 14, 2024
Oct 10, 2024
Nov 8, 2024
May 26, 2024
Oct 10, 2024

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.