Skip to content
/ lumen Public
forked from jnsahaj/lumen

Instant AI Git Commit Summaries from CLI (no API key required)

License

Notifications You must be signed in to change notification settings

zepzeper/lumen

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

76 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

lumen

Crates.io Total Downloads GitHub License Crates.io Size

lumen is a free CLI tool that uses AI to generate Git Commit Summary without requiring an API key.

demo

Supported providers

Provider API Key Required Models
Phind phind (Default) No Phind-70B
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)
Claude claude Yes see list (default: claude-3-5-sonnet-20241022)

Installation

Using Homebrew (MacOS and Linux)

brew tap jnsahaj/lumen
brew install lumen --formula

Using Cargo

Important

cargo is a package manager for rust, and is installed automatically when you install rust. see installation guide

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

About

Instant AI Git Commit Summaries from CLI (no API key required)

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • Rust 100.0%