Skip to content

Commit Streaks

Streaks track consecutive calendar days where a contributor has at least one commit. They provide a simple, visible measure of shipping cadence.

How Streaks Work

A streak is a count of consecutive calendar days with ≥ 1 commit from a contributor.

Current Streak

The current streak counts backward from today:

  1. Sort the contributor's commits by date (descending)
  2. If the most recent commit is today or yesterday, start counting
  3. Count consecutive days with at least one commit
  4. If the most recent commit is more than 1 day ago, the current streak is 0
Today: Wednesday
Mon: 2 commits ✓
Tue: 1 commit  ✓
Wed: 3 commits ✓  ← today

Current streak: 3 days
Today: Wednesday
Sun: 2 commits ✓
Mon: 1 commit  ✓
Tue: 0 commits ✗  ← gap
Wed: 1 commit  ✓

Current streak: 1 day (only today counts — the gap broke it)

Longest Streak

The all-time maximum consecutive days with commits:

  1. Sort all commits by date (ascending)
  2. Group into chunks of consecutive days
  3. The longest chunk is the longest streak

Active Today

A boolean flag: did this contributor commit today?

Metrics

MetricTypeDescription
current_streak_daysintegerActive streak including today/yesterday
longest_streak_daysintegerAll-time record streak
last_commit_datedateMost recent commit date
active_todaybooleanWhether there's a commit today

What Streaks Tell You

Long Streaks

Consistent daily shipping often indicates:

  • Healthy work habits with regular cadence
  • Good task decomposition (work broken into daily-shippable pieces)
  • Active engagement with the codebase

Broken Streaks

Streaks naturally break for legitimate reasons:

  • Weekends and holidays
  • Meetings-heavy days
  • Planning/design work (no code output)
  • Vacation

Streaks are not a KPI

Streaks are informational. Using them as a performance metric would incentivize trivial daily commits and penalize necessary non-coding work. They're useful for understanding rhythm, not evaluating performance.

Team Streaks

In weekly digests, a team streak represents consecutive days where at least one team member shipped code. This measures team-level shipping cadence without pressuring individuals.

Built with intelligence, not surveillance.