8000 GitHub - heroheman/whathaveidone: A terminal tool to summarize your Git commit history for daily standups, using AI
[go: up one dir, main page]
More Web Proxy on the site http://driver.im/
Skip to content

heroheman/whathaveidone

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

97 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

whathaveidone

A terminal tool to summarize your Git commit history for daily standups, using AI (Gemini API).


Features

  • Summarizes Git commit history for one or more projects
  • Groups changes by day and topic
  • Supports multiple repositories
  • Customizable summary prompt
  • Copy summary to clipboard with one keypress
  • Mark commits with m, view all marked with s

Installation

Prerequisites

Build & Install

cargo install whathaveidone

Set up your Gemini API key

You must set your Gemini API key before running the app:

export GEMINI_API_KEY=your-key-here

Add this line to your shell profile (e.g. ~/.zshrc) to make it persistent across terminal sessions.


Usage

Run the app in your terminal:

whathaveidone
# or
whid

Gemini model selection

You can select the Gemini model version with the --gemini <model> parameter. The default is gemini-2.0-flash.

Example:

whathaveidone --gemini gemini-1.5-pro
#or 
whathaveidone --gemini gemini-2.5-flash-preview-05-20

The selected model will be shown in the summary popup while waiting for the AI response.

Language selection

To use a specific language for the AI summary, add the --lang <language> parameter:

whathaveidone --lang german      # German
whid --lang english              # English (default)

Note: The translation is performed by Gemini itself.

Time interval selection

Use TAB or SHIFT-TAB for interval selection.

Alternativly: You can specify the start interval for commit history as parameter:

  • 24 or today (default)
  • 48
  • 72 or yesterday
  • week
  • month

Example for 1 week in German:

whathaveidone yesterday
# or
whathaveidone 48
# or
whathaveidone week --lang german

Custom prompt

You can provide a custom prompt template file using the --prompt <filename.txt> option. Placeholders in your template will be replaced automatically:

  • {from}: Start date (YYYY-MM-DD)
  • {to}: End date (YYYY-MM-DD)
  • {project} or {projectname}: Project name
  • {interval}: Interval label (e.g. "week")
  • {lang}: Language (e.g. "german", "english")
  • {commits}: Commit data to be summarized

Example:

whathaveidone --prompt myprompt.txt

If the file cannot be loaded, the default prompt will be used.

Detailed commit view ("git log" style)

You can toggle a detailed, multi-line commit log view (similar to git log --format output) by pressing the d key in the commit list. This view shows the full commit message body and author for each commit, formatted in a pretty-printed, multi-line style.

Note: The detailed view is only recommended for smaller datasets (shorter timeframes or a single project). For large repositories or long timeframes, the output may be too large for the AI model to summarize effectively.


Keyboard Shortcuts

  • Arrow keys / h j k l: Move between projects/commits
  • Tab / Shift+Tab: Change time interval
  • d: Toggle detailed commit view (multi-line, git log style)
  • a or A: Show AI summary popup
  • c: Copy summary to clipboard
  • m: Mark/unmark commit
  • s: Show popup with all marked commits
  • Q: Quit

Links

About

A terminal tool to summarize your Git commit history for daily standups, using AI

Topics

Resources

Stars

Watchers

Forks

Packages

No packages published

Languages

0