github-profile-score
v0.1.0
Published
Score a GitHub profile on bio, profile README, recent activity, consistency, and language diversity — no auth required.
Maintainers
Readme
github-profile-score
Score a GitHub profile on presentation and activity — bio, profile README, recent activity, consistency, and language diversity. No auth, no OAuth login, just the public GitHub API and a public profile page.
Deliberately does not score followers, stars, or repo count. Grading on popularity would punish exactly the junior/early-career developers this tool is meant to help. Every check here is something a profile can fix today, regardless of how long the account has existed.
This is the same scoring logic behind the free GitHub Profile Grader at DevLinks — the link-in-bio built for developers.
CLI
npx github-profile-score torvalds @torvalds
D 50/100
✗ Profile has a bio
Add a one-line bio on github.com/settings/profile — it's the first thing anyone reads.
✗ Has a torvalds/torvalds profile README
Create a repo named exactly like your username to unlock GitHub's special profile README.
✓ At least one repo has a description
✓ Committed something in the last 30 days
✓ Active in at least 6 of the last 12 months
✗ Public repos show 2+ languages
If you work across more than one stack, make sure it actually shows here.Library
npm install github-profile-scoreimport { scoreGithubProfile } from "github-profile-score";
const result = await scoreGithubProfile("torvalds");
// { score: 50, grade: "D", checks: [...] }For lower-level control — reusing already-fetched data, or scoring on a
schedule without refetching — use fetchGithubProfile and
gradeGithubProfile separately:
import { fetchGithubProfile, gradeGithubProfile } from "github-profile-score";
const data = await fetchGithubProfile("torvalds");
const result = gradeGithubProfile(data);Options
scoreGithubProfile("torvalds", {
// A GitHub personal access token. Optional, but raises the rate limit
// from 60/hr to 5000/hr. Falls back to process.env.GITHUB_TOKEN.
token: "ghp_...",
});GitHub Actions
Grade your own profile on every push:
- run: npx github-profile-score ${{ github.repository_owner }}What it checks
| Check | Weight |
|---|---|
| Has a bio | 15 |
| Has a username/username profile README | 20 |
| At least one repo has a description | 15 |
| Committed something in the last 30 days | 20 |
| Active in at least 6 of the last 12 months | 15 |
| Public repos show 2+ languages | 15 |
Grade bands: A (85+), B (70+), C (55+), D (40+), F (below 40).
License
MIT
