Skip to content
forked from jnsahaj/lumen

Instant AI Git Commit message, Git changes summary from the CLI (no API key required)

License

Notifications You must be signed in to change notification settings

nguyenphutrong/lumen

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

92 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

lumen

Crates.io Total Downloads GitHub License Crates.io Size

lumen is a command-line tool that uses AI to generate summary of your git changes

demo

Features

  • Generate summary for changes in a git commit by providing its SHA-1
  • Generate summary for changes in git diff (staged/unstaged)
  • Fuzzy-search for the commit to generate a summary
  • Pretty output formatting enabled by Markdown
  • Free and unlimited - no API key required to work out of the box
  • Supports multiple AI providers

Usage

Try lumen --help

To summarise a commit, pass in its SHA-1

lumen explain HEAD
# OR
lumen explain cc50651f

To use the interactive fuzzy-finder (requires: fzf)

lumen list

To generate a summary for the current git diff

lumen explain --diff
# OR
lumen explain --diff --staged

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

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

About

Instant AI Git Commit message, Git changes summary from the CLI (no API key required)

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • Rust 100.0%