streaked-widget
v0.1.0
Published
Your git commit streaks as a smooth desktop widget: activity rings, streaks, a heatmap and insights.
Maintainers
Readme
streakd
Your git commit streaks as a small, smooth desktop widget. Activity rings, a weekly streak, a month calendar, an all-time heatmap and code insights, all worked out from the repos already on your computer.

npm install -g streaked-widget
streakdOr try it without installing: npx streaked-widget.
The first time it opens, pick the folders that hold your repos. Your git email is filled in for you. That's it.
What it shows
| View | What you see | | --- | --- | | Day | Three rings for today, this week and this month against a goal, plus today's commits by hour | | Week | Your current streak, a check for every day you committed, and a weekly goal bar | | Month | A calendar of busy days, with arrows to look at earlier months | | All | A heatmap from your first commit until today, and your 30-day trend | | Insights | Lines written and removed, your power day and busiest hour, top repos, languages, badges and your most used commit words |

Screenshots use made-up demo data.
Commands
streakd open the widget
streakd --startup open it every time you sign in to Windows
streakd --no-startup stop opening it at sign-in
streakd --reset forget your emails, folders and widget position
streakd --help show helpInside the widget:
- Move: press anywhere on the card and drag
- Resize:
Ctrl+ scroll, or drag the bottom-right corner - Menu: right-click for view, size, refresh, settings and quit
How it counts
- Reads the history in each repo's
.gitfolder withgit log. Nothing is sent anywhere. - Counts commits by your email(s) on every branch. A commit in two clones of the same repo is counted once.
- Skips merge commits.
- Skips lock files and build output (
package-lock.json,yarn.lock,dist/…) when counting lines. - Recounts every 5 minutes and runs
git fetchevery 30 minutes to pick up commits pushed from elsewhere.
Optional: limit counting to repos whose remote contains some text, such as github.com/my-company.
Requirements
- Windows 10 or 11
- Node.js 18 or newer
- Git on your
PATH
Settings are stored in %USERPROFILE%\.streakd\config.json.
License
MIT
