My GitHub Wrapped 2025
First I used git-wrapped.com again to pull my 2025 stats but then I built gh-wrapped to give a better overview. Here’s what it gave me for this far through 2025.
Note
See last year’s data at My GitHub Wrapped 2024 or (for fun) I generated My GitHub Wrapped 2019 with my new
gh-wrappedscript.
Contribution Summary
| Metric | Count |
|---|---|
| Total contributions | 7057 |
| ↳ Public | 4673 (66.2%) |
| ↳ Private | 2384 (33.7%) |
| Commits | 4513 |
| Pull requests | 8 |
| PR reviews | 6 |
| Issues opened | 139 |
| New repositories | 7 |
Activity Patterns
- Busiest day of week: Tuesday (1228 contributions)
- Longest streak: 236 days (2025-04-28 to 2025-12-19)
- Active days: 329 / 365 (90.1%)
- Peak day: 2025-06-10 with 68 contributions
Activity by Day of Week
Sunday 763 ████████████████████████
Monday 1160 █████████████████████████████████████
Tuesday 1228 ████████████████████████████████████████
Wednesday 1191 ██████████████████████████████████████
Thursday 998 ████████████████████████████████
Friday 1046 ██████████████████████████████████
Saturday 671 █████████████████████
Monthly Breakdown
Jan 263 ██████████
Feb 400 ███████████████
Mar 438 ████████████████
Apr 246 █████████
May 500 ███████████████████
Jun 637 ████████████████████████
Jul 451 █████████████████
Aug 1032 ████████████████████████████████████████
Sep 815 ███████████████████████████████
Oct 766 █████████████████████████████
Nov 929 ████████████████████████████████████
Dec 580 ██████████████████████
Top Languages (by commits to public repos)
| Language | Commits |
|---|---|
| CSS | 4442 |
| Ruby | 35 |
| HTML | 15 |
| Shell | 12 |
| JavaScript | 9 |
Top Repositories (by commits to public repos)
Repositories Created in 2025
| Repository | Language | Description |
|---|---|---|
| joshbeckman/gh-nvim-username-keywords | Shell | GitHub CLI extension for populating your Neovim ke |
| joshbeckman/gh-wrapped | Shell | GitHub CLI extension for showing an annual review |
| joshbeckman/mcp_cli | Ruby | CLI for calling/interacting with MCP (Model Contex |
| joshbeckman/gh-pr-staleness | Shell | GitHub CLI extension for showing the number of com |
| joshbeckman/strava-ruby-client | Ruby | A complete Ruby client for the Strava API v3. |
| joshbeckman/paperboy | Ruby | Generate a newspaper from my Readwise Reader inbox |
| joshbeckman/gh-view-md | Ruby | GitHub CLI extension for rendering issues and pull |
Gists Created in 2025
| Gist | Visibility | Files |
|---|---|---|
| Private gist | 🔒 | md |
| Private gist | 🔒 | md |
| Private gist | 🔒 | md |
| Private gist | 🔒 | md |
| Private gist | 🔒 | md |
| Private gist | 🔒 | md |
| Private gist | 🔒 | md |
| Private gist | 🔒 | js |
| Private gist | 🔒 | sh |
| Private gist | 🔒 | sh |
| Private gist | 🔒 | rb |
Total: 11 gists (0 public, 11 private)
GitHub Sponsors
| Metric | Count |
|---|---|
| Sponsoring | 3 |
| Sponsors | 0 |
Supporting: @tpope, @wez, @jaredhanson
Profile Stats
| Metric | Count |
|---|---|
| Total stars (all repos) | 685 |
| Public repositories | 132 |
| Followers | 154 |
| Following | 77 |
2024 vs 2025 Comparison
| Metric | 2024 | 2025 | Change |
|---|---|---|---|
| Total contributions | 2,954 | 6,994 | +4,040 (+137%) |
| Commits | 922 | 4,482 | +3,560 (+386%) |
| Public pull requests | 4 | 8 | +4 (+100%) |
| Public PR reviews | 7 | 6 | -1 (-14%) |
| Public issues opened | 112 | 137 | +25 (+22%) |
| New public repositories | 2 | 5 | +3 (+150%) |
| Private contributions | +1,907 | +2,356 | +449 (+24%) |
Activity Patterns
| Metric | 2024 | 2025 |
|---|---|---|
| Busiest day of week | Wednesday (617) | Tuesday (1,229) |
| Longest streak | 25 days | 234 days |
| Active days | 279/366 (76.2%) | 327/365 (89.5%) |
| Peak single day | 52 contributions | 68 contributions |
Monthly Highlights
- 2024 peak month: December (448)
- 2025 peak month: August (1,032)
Notes
2025 has way way more commits than 2024 for a couple reasons:
- Claude Code was released and completely changed my workflow
- I set up more frequent syndication and automations on my personal site that committed changes under my signature
Here’s how I was working with Claude Code for the latter 2/3 of 2025:
- Have an idea for something to build or fix or explore in a code repository
- Open a new git-worktree in the repository, in a tab in my WezTerm terminal
- Split the tab/window into two panes:
- The left pane is for me to view files, edit in Neovim, run shell commands, etc.
- The right pane is for me to run a Claude Code session/chat
- Write a pretty lengthy prompt explaining what I want to do (or use one of my dozens of commands for e.g. fixing a bug, writing a test, etc.) and send Claude Code on its merry way
- While it’s running, review changes, edit my own, etc. in parallel
- Rely on Directed Notifications for Claude Code Async Programming to tell me when I need to give permission or intervene
This allowed me to be running a half-dozen parallel ideas/tasks on a project at once, with Claude Code committing as went went along.
I really leaned into GitHub’s CLI extension system in 2025 (examples), which helped me package my ideas and share them with the wider organization at Shopify. I think 2026 should shift my focus to Claude Code extensions; I’ve been building and privately distributing a bunch of them all year, but I think I should shift to open-sourcing them and building a proper library out of them. I’ve hesitated in 2025 because I think the systems were too fresh and in flux, but I expect things to calm down and consolidate in 2026.
I didn’t gain any sponsors in 2025 but it’s because I’m only working on small (though many!) tools and projects. I think people only want to sponsor big ideas.
Reference
- Blog / Practicing
- github, data, open-source
-
Permalink to
2025.BLG.203 - Insight
- Edit
| ← Previous | Next → |
| WalletWallet via alen.ro |