npm package discovery and stats viewer.

Discover Tips

  • General search

    [free text search, go nuts!]

  • Package details

    pkg:[package-name]

  • User packages

    @[username]

Sponsor

Optimize Toolset

I’ve always been into building performant and accessible sites, but lately I’ve been taking it extremely seriously. So much so that I’ve been building a tool to help me optimize and monitor the sites that I build to make sure that I’m making an attempt to offer the best experience to those who visit them. If you’re into performant, accessible and SEO friendly sites, you might like it too! You can check it out at Optimize Toolset.

About

Hi, 👋, I’m Ryan Hefner  and I built this site for me, and you! The goal of this site was to provide an easy way for me to check the stats on my npm packages, both for prioritizing issues and updates, and to give me a little kick in the pants to keep up on stuff.

As I was building it, I realized that I was actually using the tool to build the tool, and figured I might as well put this out there and hopefully others will find it to be a fast and useful way to search and browse npm packages as I have.

If you’re interested in other things I’m working on, follow me on Twitter or check out the open source projects I’ve been publishing on GitHub.

I am also working on a Twitter bot for this site to tweet the most popular, newest, random packages from npm. Please follow that account now and it will start sending out packages soon–ish.

Open Software & Tools

This site wouldn’t be possible without the immense generosity and tireless efforts from the people who make contributions to the world and share their work via open source initiatives. Thank you 🙏

© 2026 – Pkg Stats / Ryan Hefner

github-profile-score

v0.1.0

Published

Score a GitHub profile on bio, profile README, recent activity, consistency, and language diversity — no auth required.

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-score
import { 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