Scoring Formulas
The analyzer uses explicit formulas so repository scores are explainable instead of opaque.
Activity Score
Activity measures how active a repository is across five signals.
| Metric | Normalization | Cap | Reasoning |
|---|---|---|---|
| Commits in last 30 days | Linear | 500 | About 16 commits per day already represents extreme velocity |
| Stars | Logarithmic | 200000 | Covers the vast majority of public repositories |
| Forks | Logarithmic | 50000 | Fork distribution is heavily skewed |
| Contributors | Logarithmic | 1000 | 1000+ contributors is exceptional |
| Open issues | Logarithmic | 10000 | Extremely high but still bounded |
Normalization Functions
Why Logarithmic Scaling Is Necessary
GitHub popularity metrics follow a power-law distribution. Without log scaling, small and medium repositories collapse toward zero compared with projects like React or Linux.
That second value is why logarithmic scaling produces a more useful comparison space.
Complexity Score
Complexity estimates the cost of understanding and maintaining the codebase.
| Component | Max points | Method | Implementation detail |
|---|---|---|---|
| File count | 30 | Log scale, cap 50000 | Uses the Git Tree API with recursive=1 |
| Language diversity | 30 | Linear, cap 15 | Count of distinct languages from the Languages API |
| Has dependency file | 20 | Binary | Detects common manifest files across ecosystems |
| Dependency count | 20 | Linear, cap 200 | Exact for Node.js, estimated for non-JS repositories |
Learning Difficulty
The final difficulty score is the midpoint of activity and complexity.
| Combined score | Level | Description |
|---|---|---|
| < 35 | Beginner | Good for newcomers |
| 35-65 | Intermediate | Some experience needed |
| > 65 | Advanced | Significant experience required |
Practical Interpretation
- High activity and low complexity usually indicates a welcoming, actively maintained project.
- Low activity and high complexity can indicate a difficult repository with a slower learning path.
- High activity and high complexity often marks important but demanding repositories.