@workingmodel/who-changed-this
v1.0.0
Published
Git blame but useful — tells you why a line changed, not just who changed it.
Maintainers
Readme
@workingmodel/who-changed-this
Git blame but useful — tells you why a line changed, not just who changed it. Developed by Working Model.
who-changed-this src/auth.ts 42
Line 42 of src/auth.ts last changed in:
Commit: a3f8c12 3 weeks ago
Author: Jane Smith <[email protected]>
Date: 2026-05-18
Message: fix: skip token refresh when session is already expired
Previously we'd attempt a refresh even on fully expired sessions,
causing a retry loop. Now we bail early and redirect to login.
Branch: fix/auth-token-refresh
Merged: Merge pull request #312 from fix/auth-token-refresh (b9e1d44)
Tickets:
ENG-847 → https://linear.app/...
#312 → https://github.com/org/repo/issues/312
PR: #312 Fix auth token refresh loop on expired sessions
https://github.com/org/repo/pull/312
Related commits (3):
a3f8c12 fix: skip token refresh when session is already expired
d4e9b01 refactor: move token validation to separate function
c2a7f55 test: add coverage for expired session edge caseInstall
npx @workingmodel/who-changed-this <file> <line>Or install globally:
npm install -g @workingmodel/who-changed-thisUsage
who-changed-this src/auth.ts 42
who-changed-this src/auth.ts:42Must be run from inside a git repository.
What It Shows
| Info | Source |
|------|--------|
| Commit SHA, author, date, message | git blame + git show |
| Branch the change came from | git branch --contains |
| Related commits in the same branch/PR | git log ancestry path to merge commit |
| Ticket references | Extracted from commit message, body, and branch name — supports Jira (PROJ-123), Linear (ENG-456), and GitHub (#789) |
| PR title, description, URL | gh CLI if installed and authenticated (graceful fallback if not) |
Why This Exists
git blame tells you the commit SHA and the author's name. It doesn't tell you why. You then go to git log, find the commit, read the message, wonder if there's a PR, open GitHub, search for the SHA, find the PR, read the description, notice there's a Jira ticket, open Jira. That's six steps for one question.
This does all six steps in one command.
More tools from Working Model → workingmodel.co · npm @workingmodel
