6 releases
Uses new Rust 2024
0.3.2 | Apr 25, 2025 |
---|---|
0.3.1 | Apr 25, 2025 |
0.2.0 | Apr 21, 2025 |
0.1.1 | Apr 17, 2025 |
#408 in Development tools
683 downloads per month
86KB
1.5K
SLoC
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 (see below for custom prompt usage)
- Copy summary to clipboard with one keypress
- Mark commits with m, view all marked with S
Installation
Prerequisites
- Rust (for building)
- A Gemini API key
Build & Install
cargo install whathaveidone
Usage
-
Set your Gemini API key:
export GEMINI_API_KEY=your-key-here
-
Run the app in your commandline with
whathaveidone
or justwhid
. It will look relative from the folder you started the app.-
To use German for the AI summary, add the
--lang de
parameter:whathaveidone --lang de # or whid --lang de
-
You can also specify the interval for commit history by providing one of these arguments:
24
ortoday
(default)48
72
oryesterday
week
month
Example for 1 week in German:
whathaveidone week --lang de
-
Custom prompt: You can provide a custom prompt template file using the
--prompt <filename.txt>
option (relative or absolute path). If this option is used, the file content will be sent as the prompt to the AI (no default wrapping or formatting). You can use placeholders like{project}
,{interval}
, and{commits}
in your template, which will be replaced accordingly.Example:
whathaveidone --prompt myprompt.txt
If the file cannot be loaded, the default prompt will be used.
-
-
Use the keyboard to navigate:
- Arrow keys: Move between projects/commits
a
: Show AI summary popupc
: Copy summary to clipboardm
: Mark/unmark commits
: Show popup with all marked commitsA
: Show AI summary popupQ
: Quit
Links
- Whathaveidone on Crates
- Whathaveidone on Github
Dependencies
~18–35MB
~551K SLoC