Your GitHub Graph is Lying About How Much You Work. Here's How I Fixed Mine.

Published: (February 6, 2026 at 04:49 PM EST)
2 min read
Source: Dev.to

Source: Dev.to

Overview

I work 50+ hours a week writing code, but my GitHub profile shows barely any activity.
If you spend most of your time on private repositories (GitHub Enterprise, Bitbucket, GitLab, self‑hosted, etc.), none of that work appears on your contribution graph, leaving recruiters with an empty‑looking profile.

contrib‑mirror is a CLI tool that mirrors your real commit timestamps to a public repository without exposing any source code. It creates empty commits that carry the original dates, so your actual work activity becomes visible on GitHub’s contribution graph.

How It Works

  1. Discovers repositories in your work directory.
  2. Creates bare caches (no source code is touched).
  3. Extracts commit timestamps that match your email.
  4. Optionally pulls PR, review, and issue timestamps via the GitHub API.
  5. Creates empty commits with matching dates in a public mirror repo.
  6. Pushes the mirror to GitHub.

Zero code is ever exposed. The mirror contains only empty commits with timestamps. GitHub counts more than just commits—PRs opened, reviews submitted, and issues created also contribute to your graph. When the gh CLI is authenticated, contrib‑mirror picks those up too.

Add a cron job or launchd agent and it syncs daily at midnight, keeping your graph green automatically. The setup wizard can also schedule the sync for you.

/ 
        private-work-contributions-mirror
      
    
Private Work Contributions Mirror
Mirror commit timestamps from private work repos to your GitHub contribution graph—without exposing any code.
Before                              After
┌────────────────────────┐          ┌────────────────────────┐
│ ░░░░░░░░░░░░░░░░░░░░░░ │          │ ░█░██░█░░█░██░█░░█░██░ │
│ ░░░░░░░░░░░░░░░░░░░░░░ │    →     │ ░█░██░█░░█░██░█░░█░██░ │
│ ░░░░░░░░░░░░░░░░░░░░░░ │          │ ░█░██░█░░█░██░█░░█░██░ │
└────────────────────────┘          └────────────────────────┘
  Private work invisible              Real activity visible

Installation

curl -fsSL https://raw.githubusercontent.com/yuvrajangadsingh/private-work-contributions-mirror/main/install.sh | bash

Homebrew

brew tap yuvrajangadsingh/contrib-mirror
brew install contrib-mirror

Manual

git clone https://github.com/yuvrajangadsingh/private-work-contributions-mirror.git
cd private-work-contributions-mirror
bash setup.sh

The installer runs an interactive setup wizard that auto‑detects your repositories, email addresses, and GitHub organization.

Usage

contrib-mirror            # sync now
contrib-mirror --setup    # run the configuration wizard again
contrib-mirror --help     # show help
contrib-mirror --version  # show version

You can schedule the sync with cron or launchd (the wizard offers to set this up for you).

Prerequisites

RequirementWhyCheck
GitClone repos, create commitsgit --version
BashRun the scriptbash --version
Access to private reposFetch commits (SSH or HTTPS)git remote -v in any work repo
GitHub CLI (optional)Track PRs, reviews, issuesgh --version

Works With…

  • GitHub (including GitHub Enterprise)
  • Bitbucket
  • GitLab
  • Self‑hosted Git servers

Give the project a star on GitHub if you find it useful.

Back to Blog

Related posts

Read more »

221 Cannon is Not For Sale

Article URL: https://fredbenenson.com/blog/2026/02/03/221-cannon-is-not-for-sale/ Comments URL: https://news.ycombinator.com/item?id=46873574 Points: 190 Commen...