Instant AI Git Commit message, Git changes summary from the CLI (no API key required)
Find a file
Alexander Zaitsev 3be914568a
feat: enable LTO
2024-10-31 15:14:00 +03:00
src chore: Unused 2024-10-31 02:31:39 +05:30
.gitignore feat: Initial setup using openai and keyring 2024-10-29 01:00:27 +05:30
Cargo.lock chore: Bump ver 2024-10-31 02:12:35 +05:30
Cargo.toml feat: enable LTO 2024-10-31 15:14:00 +03:00
LICENSE Create LICENSE 2024-10-30 04:39:38 +05:30
README.md Update README.md 2024-10-31 03:00:19 +05:30

lumen

lumen is a free CLI tool that uses AI to summarise git commits without requiring an API key.

demo

Supported providers

Provider API Key Required Models
Groq groq Yes (free) llama2-70b-4096, mixtral-8x7b-32768 (default: mixtral-8x7b-32768)
OpenAI openai Yes gpt-4o, gpt-4o-mini, gpt-4, gpt-3.5-turbo (default: gpt-4o-mini)
Phind phind (Default) No Phind-70B

Installation

Using Homebrew (MacOS and Linux)

brew tap jnsahaj/lumen
brew install lumen --formula

Using Cargo

cargo install lumen

Prerequisites

  1. git
  2. fzf (optional): Required for lumen list command
  3. mdcat (optional): Required for pretty output formatting

Usage

$ lumen --help

# summarise a commit by giving its SHA-1
# eg: lumen explain HEAD
# eg: lumen explain cc50651f
$ lumen explain <commit-sha>

# fuzzy-search (using fzf) commits, and then `explain`
$ lumen list

AI Provider can be configured by using CLI arguments or Environment variables.

-p, --provider <PROVIDER>  [env: LUMEN_AI_PROVIDER] [default: phind] [possible values: openai, phind, groq]
-k, --api-key <API_KEY>    [env: LUMEN_API_KEY]
-m, --model <MODEL>        [env: LUMEN_AI_MODEL]

# eg: lumen --p="openai" --k="<your-api-key>" -m="gpt-4o" explain HEAD
# eg: lumen --p="openai" --k="<your-api-key>" -m="gpt-4o" list