Intelligent analysis of GitHub contributions that goes beyond simple line counts.
A Google Sheets-based tool that provides fair, nuanced evaluation of developer contributions by intelligently categorizing work into 8 types and applying customizable weights to reflect the true value of different kinds of contributions.
GitHub's built-in analytics are misleading:
- Treats all lines equally (1 line of config = 1 line of critical algorithm)
- Easy to game with many tiny commits
- Counts starter code and auto-generated files
- Doesn't distinguish features from bug fixes from documentation
- Encourages quantity over quality
This tool solves these problems by understanding what kind of work was done, not just how much.
Automatically categorizes commits into 8 types:
| Work Type | Default Weight | What It Measures |
|---|---|---|
| β¨ Feature Creation | 3.0x | New functionality and components |
| π Bug Fixing | 2.0x | Fixes to existing code |
| π§ High Refactoring | 0.7x | Major code improvements |
| π¨ Medium Refactoring | 0.3x | Moderate improvements |
| π Low Refactoring | 0.1x | Minor cleanup |
| π§ͺ Testing | 0.4x | Test scripts and validation |
| π Documentation | 0.3x | READMEs, comments, guides |
| π© Support Code | 0.5x | Build scripts, configs, utilities |
Adjust weights to match your project priorities:
- Building MVP? β Increase Feature weight
- Mature product? β Boost Refactoring and Testing
- Compliance-heavy? β Increase Documentation weight
Multiple safeguards prevent inflating scores:
- Minimum line thresholds (tiny commits don't count)
- Merge commit exclusion (no credit for merges)
- External code filtering (starter code excluded)
- Net change tracking (repeated edits don't inflate)
6-color stacked column chart shows:
- Work type composition per contributor
- Team balance (builders vs maintainers)
- Specializations vs generalists
Every point is explainable:
- Work type breakdown with exact lines and percentages
- Most active files showing focus areas
- Full commit history with co-authors
- PR, review, and issue tracking
TeamMemberA Total Score: 2,189.7
Summary:
β’ 43 commits
β’ 0 PRs created, 0 merged
β’ 0 PRs reviewed, 0 review comments
β’ 0 issues created, 0 issue comments
Work Type Breakdown:
ββββββββββββββββββββββ¬ββββββββ¬βββββββββ¬ββββββββββ¬ββββββββββββ
β Type β Lines β Weight β Points β % of Scoreβ
ββββββββββββββββββββββΌββββββββΌβββββββββΌββββββββββΌββββββββββββ€
β β¨ Feature Creation β 511 β 3.0x β 1,533.0 β 70.00% β
β π Bug Fixing β 274 β 2.0x β 548.0 β 25.00% β
β π Documentation β 177 β 0.3x β 53.1 β 2.40% β
β π¨ Medium Refactor β 149 β 0.3x β 44.7 β 2.00% β
β π§ͺ Testing β 26 β 0.4x β 10.4 β 0.50% β
β π© Support Code β 1 β 0.5x β 0.5 β 0.00% β
ββββββββββββββββββββββ΄ββββββββ΄βββββββββ΄ββββββββββ΄ββββββββββββ
TOTAL 959 2,189.7 100.00%
Most Active Files:
1. querier/querier.c
2. crawler/crawler.c
3. common/index.c
4. indexer/indexer.c
5. common/pagedir.c
The stacked column chart shows at a glance who does what type of work:
β βββββ Features (green)
β ββββ β
β ββββ ββββ βββββ Bug Fixes (yellow)
β ββββ ββββ ββ β
β ββββ ββββ ββ βββββ Other types (various colors)
βββββββββββββββββββββ
A B C
Contributors
Go to Google Sheets and create a new spreadsheet.
Click Extensions β Apps Script
Copy the entire contents of Code.gs and paste it into the script editor.
- Save the script (Ctrl/Cmd + S)
- Close the script editor
- Refresh your spreadsheet page
From the menu bar: GitHub Tracker β 1. Setup Sheets
- Authorize the script when prompted
- Go to GitHub Settings β Developer Settings β Personal Access Tokens
- Generate a token with
reposcope - Paste it in cell B2 of the Config sheet
- Run GitHub Tracker β 3. Auto-Fill My Username
- Run GitHub Tracker β 4. List Available Repos
- Click on the repo you want to analyze
- Run GitHub Tracker β 5. Set Selected Repo
Run GitHub Tracker β Fetch Contributions
Done! Check the Summary sheet for results.
| Document | Description |
|---|---|
| Setup Guide | Detailed installation instructions |
| User Guide | How to use all features |
| Fairness & Equity | Why this tool is fair |
| Configuration | Customizing weights and settings |
| FAQ | Common questions |
| Feature | GitHub Insights | This Tool |
|---|---|---|
| Work type breakdown | β No | β 8 categories |
| Customizable weights | β No | β Full control |
| Filter external code | β No | β Auto-detect |
| Gaming prevention | β None | β Multiple safeguards |
| Visual breakdown by type | β No | β Stacked chart |
| Recalculate scores | β N/A | β Instant |
| Minimum thresholds | β No | β Configurable |
| Co-author credit | β No | β Full tracking |
| Export/share | β Screenshots | β Google Sheets |
GitHub shows: TeamMemberB: 1,913 additions (MOST LINES)
This tool reveals:
TeamMemberA: 2,189.7 pts (MOST VALUE)
βββ 70% high-impact features
βββ 25% bug fixes
TeamMemberB: 1,810.4 pts
βββ 40% features
βββ 32% bug fixes
βββ 10% testing (quality-focused)
TeamMemberC: 438.8 pts
βββ 46% support code (infrastructure)
βββ 29% refactoring (code quality)
GitHub's raw line count makes TeamMemberB look like top contributor, but this tool shows TeamMemberA delivered the most value, and reveals TeamMemberC's specialized infrastructure role.
- CS Courses - Fair grading for team projects
- Small Dev Teams - Understand team dynamics
- Open Source Projects - Recognize diverse contributors
- Performance Reviews - Data-driven evaluation
- Bootcamps - Track student progress
Feature Creation: 3.0x (default)
Bug Fixing: 2.0x
High Refactoring: 0.7x
Medium Refactoring: 0.3x
Low Refactoring: 0.1x
Testing: 0.4x
Documentation: 0.3x
Support Code: 0.5x
Set a start date to exclude:
- Instructor-provided starter code
- Initial repository setup
- Work before the project officially began
Changed weights? Run GitHub Tracker β Recalculate Scores to update all points without re-fetching from GitHub.
- Your token stays in your sheet - Never sent anywhere except GitHub's API
- No external servers - Everything runs in Google Apps Script
- No data collection - We don't track anything
- Open source - Inspect the code yourself
Contributions are welcome! Please see CONTRIBUTING.md for guidelines.
- Support for additional languages/file types
- New work type categories
- GitLab/Bitbucket support
- Improved commit message parsing
- Additional visualizations
- Multi-repo aggregation
This project is licensed under the MIT License - see LICENSE for details.
Built to promote fair evaluation of diverse contribution styles in software development.
Special thanks to:
- CS educators who need better tools for team project grading
- Open source maintainers who recognize that not all contributions are code
- Everyone who believes quality matters more than quantity
- Issues: GitHub Issues
- Discussions: GitHub Discussions
Made with β€οΈ for fair contribution tracking