"Is this dependency maintained?" sounds like a yes/no question. It isn't. Maintainer health is a five-signal vector that you can pull from public APIs in under a minute per package. Here are the signals, the free tools that surface them, and how to use them in a review.

The five signals

  1. Cadence: commits per quarter on the default branch over the last 24 months
  2. Headcount: number of distinct contributors in the last 12 months
  3. Issue triage: median time to first response on issues
  4. Release cadence: published versions in the last 12 months
  5. Funding/legal posture: license, governance file, security policy, archived flag

Free dashboards worth knowing

ToolWhat it gives youCost
OpenSSF ScorecardAuto-graded score (0–10) on signed releases, fuzzing, branch protection, dependency-update tools, and moreFree
deps.dev (Google)Aggregated dependency graph + license + Scorecard + advisoriesFree
libraries.ioSourceRank score (0–30) combining stars, forks, contributors, license clarity, READMEFree with quota
Snyk AdvisorPer-package health with maintenance + community + security badgesFree read-only
TideliftLifecycle status (Active, Lite, End-of-life), commercial support availabilityFree read-only catalog

No single tool is enough. Cross-reference at least Scorecard + last-commit + maintainer count. The combination is what passes a compliance review.

The DIY check (no signup)

# Last commit
curl -s "https://api.github.com/repos/<owner>/<repo>" | jq '.pushed_at, .archived, .open_issues_count'

# Last npm publish
npm view <package> time | jq 'to_entries | sort_by(.value) | last'

# OpenSSF Scorecard
curl -s "https://api.scorecard.dev/projects/github.com/<owner>/<repo>" | jq '.score'

# Active contributors (last 90 days, GitHub API)
curl -s "https://api.github.com/repos/<owner>/<repo>/stats/contributors" | jq 'length'

What goes in the review

For each load-bearing dependency in your tree, document:

Pull all of this for every package automatically

DepTriage cross-references your lockfile with Scorecard, last-commit, and maintainer count — one click, one report.

Run a scan →

FAQ

What's a "good" Scorecard score?

≥ 7 is solid. 5–7 is acceptable for a smaller library. < 5 should prompt closer inspection.

Is having one maintainer always a red flag?

Not for small, mature libraries. Many one-line utility packages are stable with a single maintainer and that's fine. Combine with cadence and issue triage.

How often should I re-check?

At every minor release, or quarterly for slow-moving projects. Maintainer health degrades fastest right after the lead maintainer changes job — and that's not in any feed.

Keep reading