~/projects/whatdidido on main

whatdididov1.6.0

A pretty wrapper for your shell history.
Answers the questions you actually ask yourself at the terminal.

$ whatdidido recent
$ whatdidido top
$ whatdidido for git
$ whatdidido summary
$ whatdidido after "docker run"

Your history,
finally readable.

Raw shell history is a wall of noise. CTRL+R gets you one command at a time. history | grep is fine, but you have to already know what you're looking for.

whatdidido surfaces the right view for each question — ranked, filtered, highlighted, and ready to act on.

  • Works with zsh, bash, fish, and PowerShell
  • Auto-detects shell and OS — zero setup
  • Color output with optional plain-text mode
  • Custom history file path support
  • Config persists at ~/.whatdidido/config.plist
  • MIT licensed, zero telemetry
zsh — whatdidido
~/dev $ whatdidido top 1 ▪▪▪▪▪▪▪▪▪▪▪▪▪▪▪▪▪▪▪▪ git (312x) 2 ▪▪▪▪▪▪▪▪▪▪▪▪▪▪ docker (218x) 3 ▪▪▪▪▪▪▪▪▪▪ npm (153x) 4 ▪▪▪▪▪▪▪▪ swift (122x) 5 ▪▪▪▪▪ cd (78x) ~/dev $ whatdidido for git -l 5 288 git status 291 git add -p 295 git commit -m "fix: null check" 298 git push origin main 301 git log --oneline -10 ~/dev $ whatdidido summary swift build -c release cp .build/release/whatdidido /usr/local/bin git commit -m "feat: fish shell support" git push origin main ~/dev $

Everything you need,
nothing you don't.

whatdidido recent
"What did I just do?"
whatdidido recent -c 30
Shows the last N commands from your history, numbered and formatted. This is the default — bare whatdidido runs this.
whatdidido top
"What do I type most?"
whatdidido top -c 20
Ranks your most-used base commands by frequency with a visual bar chart. Good for discovering habits.
whatdidido for
"How do I use X again?"
whatdidido for kubectl -l 30
Pulls every command you've run for a specific tool. Great for recalling flags and patterns.
whatdidido search
"Did I already do this?"
whatdidido search "docker run"
Searches your full history for a keyword or phrase, with highlighted matches and line numbers.
whatdidido summary
"What was I working on?"
whatdidido summary --last 100
A de-duplicated digest of recent activity. Perfect for standup notes or end-of-day recaps.
whatdidido dirs
"Where have I been?"
whatdidido dirs -l 5
Shows your most recently visited directories from cd history, deduplicated and clean.
whatdidido after
"What did I do next?"
whatdidido after "git clone" -w 8
Shows commands that followed a match — useful for reconstructing multi-step workflows you half-remember.
whatdidido check
"Have I run this before?"
whatdidido check "make build" --exact
Returns a clear yes/no on whether a command exists in your history. Supports exact or prefix matching.
whatdidido config
"How do I customize this?"
whatdidido config set --color false
Subcommands: set, show, reset. Set a custom history path or toggle color output.

Up in
one command.

Install via Homebrew on macOS or Linux — no cloning, no building, no PATH wrangling. Requires Swift 6.2 or later if building from source.

Shell and OS are auto-detected from your environment — you rarely need to pass --shell or --os manually.

Shell macOS Linux Windows
zsh
bash
fish
PowerShell
Install x
brew tap link-coder100788/whatdidido
brew install whatdidido

# Or in one command:
brew install link-coder100788/whatdidido/whatdidido
Update & uninstall x
# Update
brew update && brew upgrade whatdidido

# Uninstall
brew uninstall whatdidido
brew untap link-coder100788/whatdidido
Make x
git clone https://github.com/link-coder100788/WhatDidIDo
cd WhatDidIDo
make install

# Custom install prefix
make install PREFIX=~/.local

# Uninstall
make uninstall
Make targets x
make / make build      Debug build
make release          Optimised release build
make install          Release + install to /usr/local/bin
make uninstall        Remove the installed binary
make clean            Clean build artefacts
make test             Run the test suite
Swift Package Manager x
swift build -c release
cp .build/release/whatdidido /usr/local/bin/
Package.swift dependency x
// swift-tools-version: 6.2
dependencies: [
  .package(
	url: "https://github.com/apple/swift-argument-parser",
	from: "1.3.0"
  )
]
Verify it works x
whatdidido version
whatdidido 1.3.5

whatdidido debug
shell:   zsh
os:      MacOS
history: /Users/you/.zsh_history
color:   true

Tweak it to fit
your setup.

Config lives at ~/.whatdidido/config.plist and is created automatically on first use. All settings are optional — sensible defaults apply out of the box.

config set --path

Point to a custom history file. Useful for non-standard shell setups or multiple profiles.

whatdidido config set \
--path ~/.config/my_history

config set --color

Enable or disable ANSI color output. Disable when piping output to files or scripts.

whatdidido config set --color false
whatdidido summary > standup.txt

config show / reset

Inspect your current config or restore factory defaults in one command.

whatdidido config show
whatdidido config reset
Global flags — available on every command
-s, --shell
Override shell detection.
zsh · bash · fish · powershell
-o, --os
Override OS detection.
macos · linux · windows
Tips

A few tricks
worth knowing.

Filter within results
whatdidido for git | grep "push"
Save a standup summary
whatdidido config set --color false
whatdidido summary > standup.txt
whatdidido config set --color true
Reconstruct a forgotten workflow
whatdidido after "brew install" -w 10