#ratatui #gemini-api #git #key-press #topic #repository #project

app whathaveidone

CLI tool for daily standups with Git and Ratatui

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

Download history 319/week @ 2025-04-16 364/week @ 2025-04-23

683 downloads per month

MIT license

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

Build & Install

  • cargo install whathaveidone

Usage

  1. Set your Gemini API key:

    export GEMINI_API_KEY=your-key-here
    
  2. Run the app in your commandline with whathaveidone or just whid. 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 or today (default)
      • 48
      • 72 or yesterday
      • 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.

  3. Use the keyboard to navigate:

    • Arrow keys: Move between projects/commits
    • a: Show AI summary popup
    • c: Copy summary to clipboard
    • m: Mark/unmark commit
    • s: Show popup with all marked commits
    • A: Show AI summary popup
    • Q: Quit

Dependencies

~18–35MB
~551K SLoC