Record in aggregate · metrics 2.10.0

The state of Packagist.

Aggregate statistics across every inspected repository publishing to Packagist — how health distributes, where the download volume sits, and which practices are common or rare, measured against the whole record.

Inspected repositories
9,305 of 9,305 indexed
Monthly downloads under inspection
5.8B registry-reported
Median health index
56 Moderate
Good or better
31% index 65 and above

Health-index distribution

Latest health index of every inspected repository, in five-point intervals over the 1–100 scale.

Where the download volume sits

Combined monthly downloads by band, against repository counts.

35% of the monthly download volume under inspection flows through repositories below the good band — and the top 1% most-downloaded repositories carry 44% of the entire volume.

Repositories
19%35%21%
Download volume
35%21%17%
BandRepositoriesDownloads / moVolume share
Exceptional149545M9.3%
Excellent9752B35%
Good1,7771.2B21%
Moderate3,262986M17%
Weak1,993584M10.0%
At Risk957413M7.1%
Critical19245.2M0.8%

Score shapes

The distribution behind each category median, in ten-point bins — where the record clusters, and where a category separates repositories or saturates.

Vitality62
1100
Community & Adoption45
1100
Sustainability & Governance61
1100
Engineering Quality62
1100
Security42
1100
AI Readiness37
1100

Category profile

Median category score across the scope. Ticks mark the whole-record median. Categories are documented in the methodology wiki.

Vitality
62
Community & Adoption
45
Sustainability & Governance
61
Engineering Quality
62
Security
42
AI Readinessunweighted
37

The state of practice

Share of inspected repositories where the practice is publicly evident. Reports that predate a signal are excluded from its basis, never counted as missing.

Engineering & community practice

README
94% of 9,305
License detected
90% of 9,305
Automated tests
81% of 9,305
CI workflows
77% of 9,305
Linter configuration
47% of 9,305
Contributing guide
47% of 9,305
Documentation directory
25% of 9,305
Code of conduct
21% of 9,305
Security policy
17% of 9,305

Agent-era signals

llms.txt
23% of 9,305
One-command bootstrap
11% of 9,305
AI agent instructions
10% of 9,305

Signals read by the unweighted AI Readiness category.

Does popularity mean health?

Median health index (dot) and the middle half of repositories (band) per popularity bracket, on the shared 1–100 scale.

By GitHub stars

Under 100 stars 6,928
53 · 42–63
100 – 999 1,614
65 · 53–78
1,000 – 9,999 684
77 · 60–88
10,000 and more 79
90 · 83–94

By monthly downloads

Under 10K / month 3,989
53 · 42–63
10K – 1M 4,396
57 · 47–71
1M – 100M 702
71 · 51–84
100M and more 3
86 · 83–88

Security under the microscope

Average OpenSSF Scorecard result per check across the scope, weakest first, on Scorecard's 0–10 scale. Check results are mostly all-or-nothing, so the average tracks how much of the record passes. Checks Scorecard reports inconclusive are excluded from scoring, never counted as zero; each row's tooltip carries its basis.

CII-Best-Practices
0.0
Fuzzing
0.0
SAST
0.5
Signed-Releases
0.9
Pinned-Dependencies
1.0
Branch-Protection
1.3
Token-Permissions
1.5
Code-Review
1.8
Security-Policy
2.5
Dependency-Update-Tool
3.0
Maintained
4.3
CI-Tests
5.2
Contributors
7.4
License
8.9
Vulnerabilities
9.2
Dangerous-Workflow
9.8
Binary-Artifacts
10.0
Packaging
10.0

Red flags

Findings that adjust a rating downward rather than scoring into it. Each is reported as a count, as a share of the whole record, and as a rate among the repositories where it could be determined at all.

Abandonment
5515.9% of the record · 5.9% of 9,305 assessed
High-risk jurisdiction exposure
2893.1% of the record · 3.2% of 9,005 assessed
Malicious dependencies
100.1% of the record · 0.4% of 2,447 assessed
Inorganic growth
00% of the record · 0% of 160 assessed

A red flag needs its own evidence, so its basis is smaller than the record. Growth authenticity is assessed only where day-by-day history was collected; dependency findings only where a dependency graph resolved. Repositories the evidence cannot answer for are left out of the basis rather than counted as passing.

The pulse

How recently each inspected repository last saw a push, at inspection time.

Half of the inspected repositories saw a push within 8 days of inspection.

Push recency
68%21%
Last pushRepositoriesShare
Pushed within 30 days6,28168%
31 – 90 days1,97421%
91 – 365 days7167.7%
Over a year3343.6%

Stewardship & resilience

Who stands behind the inspected repositories, and how many people the code depends on. Both are read by the governance category.

7,152Organization-stewarded median 56
2,153Personal accounts median 54

Maintainer bus factor

66% of inspected repositories depend on a single maintainer for the majority of their commits — including 434 with over a million monthly downloads.

1 maintainer
6,153
2 maintainers
1,965
3–5 maintainers
1,030
6+ maintainers
130

The dependency iceberg

Declared direct dependencies against the full resolved graph (direct plus transitive), across the 7,741 reports with a collected dependency graph.

The median repository declares 2 direct dependencies — and resolves to 11 packages in total.

Resolved packages per repository

0
145
1 – 5
1,720
6 – 20
3,533
21 – 50
880
51 – 200
875
201 – 500
230
501 – 1,000
182
Over 1,000
176

License landscape

The most common detected licenses across the scope (SPDX identifiers).

MIT
4,786
Custom license
1,640
No license detected
906
BSD-3-Clause
594
Apache-2.0
374
GPL-2.0
374
GPL-3.0
213
LGPL-3.0
81
OSL-3.0
69
AGPL-3.0
67

Most relied upon

The most-downloaded repositories under inspection publishing to Packagist — the records the figures above weigh heaviest. The rest is covered by the full catalogue · tag index.

npm · RubyGems · Packagist
86Excellenthealth index
handlebars-lang/handlebars.js
Minimal templating on steroids.
JavaScript★ 18.7K↓ 150M/moSep 16, 2026
MITSep 16, 2026 · metrics 2.10.0
npm · Packagist
88Excellenthealth index
moment/moment
Parse, validate, manipulate, and display dates in javascript.
JavaScript★ 47.9K↓ 136M/moSep 16, 2026
MITSep 16, 2026 · metrics 2.10.0
npm · Packagist
83Excellenthealth index
PrismJS/prism
Lightweight, robust, elegant syntax highlighting.
JavaScript★ 13K↓ 110M/moSep 17, 2026
MITSep 17, 2026 · metrics 2.10.0
npm · Packagist
83Excellenthealth index
moment/moment-timezone
Timezone support for moment.js
JavaScript★ 3,878↓ 68.9M/moSep 16, 2026
MITSep 16, 2026 · metrics 2.10.0
npm · Packagist
99Exceptionalhealth index
swagger-api/swagger-ui
Swagger UI is a collection of HTML, JavaScript, and CSS assets that dynamically generate beautiful documentation from a Swagger-compliant API.
JavaScript★ 29K↓ 49.8M/moSep 16, 2026
Apache-2.0Sep 16, 2026 · metrics 2.10.0
npm · Packagist
90Excellenthealth index
chartjs/Chart.js
Simple HTML5 Charts using the <canvas> tag
JavaScript · TypeScript★ 67.7K↓ 48.1M/moSep 16, 2026
MITSep 16, 2026 · metrics 2.10.0

Reading these figures

  • Every figure is computed from the latest published inspection of each repository, under the versioned methodology (currently metrics 2.10.0). See the methodology · band scale.
  • Statistics describe the inspected record — software admitted for inspection, not a random sample of all open source. Admission follows the public-interest criteria.
  • Download figures come from package registries; registries that publish no monthly number (Maven Central, Go, NuGet, RubyGems) contribute no volume rather than zero. Coverage per ecosystem is documented in supported ecosystems.
  • Where a signal is unavailable in a report — an uncollected dependency graph, an inconclusive Scorecard check, a report predating a signal — the repository is excluded from that figure's basis, never counted against it.
  • Health indices are signals of publicly visible practice, not audits or warranties — how to read them is covered by the health index.
  • Figures computed 2026-10-21 09:48 UTC; the aggregate is recomputed hourly. The underlying data is available as JSON.