whathaveidone - a git-based TUI for forgetful software developers

This is the English version. Read the original: Deutsche Version

As a software developer, I keep running into the same problem: the next day, I often have no idea what I actually did just that morning. Maybe it’s just me – but I doubt I’m the only one who, when standup or timesheet time rolls around, suddenly has to play detective. Tickets, commits, calendars – everything gets combed through just to answer that one question: What did I actually do? All I want is to write code, not write reports.

WhatHaveIDone - TUI Screenshot

The funny thing is: I’m already tracking my time – with GIT! So I built myself a little tool: whathaveidone. It shows you all your Git commits for any time period right in your terminal, whether for a single project or all at once. Written in Rust and powered by Ratatui for a slick TUI – fully keyboard-controlled and packed with options.

Note: This is from a previous version and the UI/UX might differ from the current version.

AI summary? Totally optional!
With a single keystroke, you get an AI summary of your commits (Google Gemini). But you don’t have to – if you prefer reading yourself, that’s cool too.

Some Examples & Use Cases

  • Quick Standup:

    whathaveidone today --lang english
    

    Shows all today’s commits and a snappy summary (choose English or German).

  • Weekly review for multiple projects:
    You don't want to write whathaveidone all the time? You can just write whid.

    whid week --model gemini-2.0-pro
    

    Switch the AI model for even better summaries.

  • Custom prompt for personalized reports:

    whathaveidone --prompt myprompt.txt --from 2024-07-01 --to 2024-07-07
    

    Use your own prompt templates and pick any date range.

  • Detailed view:
    Hit d in the commit view for a full "git log"-style overview.

For more examples, check the whathaveidone github repository

What’s next?

  • Stats & analytics about your own commits
  • Integration with Olama
  • Even more default prompts

Feedback? Suggestions? Ideas?
Hit me up on Mastodon, Bluesky, GitHub If you like the project, I’d also be super happy about a star on GitHub ⭐️

More info & installation: