llms.txt — plain-text project summary for LLMs and agents

whathaveidone

A terminal tool that scans your Git repositories, groups recent commits by day & topic, and turns them into a ready-to-read standup summary — powered by AI.

Run it as whathaveidone — or whid.

How it works

01 / SCAN

Find repos

Scans every Git repo below the current folder and lists their recent commits side by side.

02 / GROUP

Group commits

Sorts commits by day and topic over your chosen timeframe — today, week, month, or a date range.

03 / SUMMARIZE

Ask the AI

Sends the selection to Gemini (or any OpenAI-compatible model) and gets back a readable standup.

04 / SHIP

Copy & paste

One keypress copies the summary to your clipboard. Paste it straight into your standup.

What it does

AI summaries

Turns raw commits into a coherent standup, grouped by day and topic.

Multi-repo

Reads many repositories at once, no per-project setup.

Saved overviews

Summaries persist to disk — browse, copy, regenerate or delete past ones.

Mark & summarize

Mark commits with m or a whole repo, then summarize only the selection.

Custom prompts

Bring your own template with placeholders for project, interval & language.

Any language

Get the summary in English, German, or anything else via --lang.

Stats dashboard

Per day, weekday & hour, busiest day, per-repo / author — plus commit-type & ticket breakdowns.

Consistent keymap

Home-row navigation, focus ring, and a built-in ? help overlay.

Direct output

--list and --generate print to stdout — pipe into files, the clipboard, or cron jobs.

Setup wizard

First-run wizard picks provider, model, key & language. Re-run anytime with --setup.

Screenshots

Three views — commits, saved overviews, and a stats dashboard. Click any shot to enlarge.

Commits view: repository sidebar and commit list
Commits — repos & commit list
Commit detail pane with full message and author
Detail — full message & author
Overviews view: saved AI summaries
Overviews — saved AI summaries
Stats dashboard: commits per day, weekday, hour
Stats — the dashboard view

Up & running in a minute

bash — install & first run
# 1 · Install from crates.io (needs Rust)
#     installs the `whathaveidone` binary + a short `whid` alias
cargo install whathaveidone

# 2 · Run it — a first-run wizard sets up your
#     provider, model, API key & language
whathaveidone

# prefer env vars? skip the wizard:
export GEMINI_API_KEY=your-key-here

# reconfigure anytime
whathaveidone --setup

# last week, summarized in German
whathaveidone week --lang german

Go deeper

Direct mode, time intervals, providers & models, custom prompts, the full keymap, and every config option — it's all in the documentation.