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:
- Sort the contributor's commits by date (descending)
- If the most recent commit is today or yesterday, start counting
- Count consecutive days with at least one commit
- 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 daysToday: 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:
- Sort all commits by date (ascending)
- Group into chunks of consecutive days
- The longest chunk is the longest streak
Active Today
A boolean flag: did this contributor commit today?
Metrics
| Metric | Type | Description |
|---|---|---|
current_streak_days | integer | Active streak including today/yesterday |
longest_streak_days | integer | All-time record streak |
last_commit_date | date | Most recent commit date |
active_today | boolean | Whether 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.
