#git-commit #ai #git #commit #api-key #git-diff #terminal

app lumen

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

16 releases (5 breaking)

new 0.6.1 Nov 3, 2024
0.6.0 Nov 2, 2024
0.5.1 Nov 1, 2024
0.4.1 Nov 1, 2024
0.1.1 Oct 29, 2024

#71 in Command line utilities

Download history 15/week @ 2024-07-29 9/week @ 2024-09-23 2012/week @ 2024-10-28

2,012 downloads per month

MIT license

33KB
824 lines

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

Dependencies

~8–23MB
~280K SLoC