Record in aggregate · metrics 1.13.0

The state of NuGet.

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

Inspected repositories
566 of 566 indexed
Monthly downloads under inspection
6M registry-reported
Median health index
56 Moderate
Good or better
13% index 70 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.

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

Repositories
51%28%
Download volume
22%77%
BandRepositoriesDownloads / moVolume share
Excellent000%
Good731.3M22%
Moderate2874.6M77%
At risk15960.3K1.0%
Critical4700%

Score shapes

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

Vitality73
1100
Community & Adoption51
1100
Sustainability & Governance59
1100
Engineering Quality50
1100
Security50
1100
AI Readiness39
1100

Category profile

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

Vitality
73
Community & Adoption
51
Sustainability & Governance
59
Engineering Quality
50
Security
50
AI Readinessunweighted
39

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
96% of 566
License detected
95% of 566
CI workflows
75% of 566
Automated tests
41% of 566
Documentation directory
37% of 566
Contributing guide
34% of 566
Code of conduct
25% of 566
Security policy
16% of 566
Linter configuration
4.8% of 566

Agent-era signals

AI agent instructions
28% of 566
One-command bootstrap
5.0% of 566
llms.txt
3.9% of 566

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 337
55 · 44–63
100 – 999 146
54 · 43–65
1,000 – 9,999 77
67 · 49–74
10,000 and more 6
78 · 65–80

By monthly downloads

Under 10K / month 17
61 · 52–68
10K – 1M 5
66 · 50–79
1M – 100M 1
62 · 62–62
100M and more 0

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.1
Signed-Releases
0.1
Pinned-Dependencies
1.0
Branch-Protection
1.3
Token-Permissions
1.4
Code-Review
1.9
SAST
1.9
Security-Policy
2.2
Dependency-Update-Tool
4.5
Contributors
5.8
CI-Tests
6.3
Maintained
6.4
Vulnerabilities
9.2
Binary-Artifacts
9.3
License
9.4
Dangerous-Workflow
9.8
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.

High-risk jurisdiction exposure
234.1% of the record · 4.5% of 512 assessed
Abandonment
223.9% of the record · 3.9% of 566 assessed
Malicious dependencies
00% of the record · 0% of 165 assessed
Inorganic growth
00% of the record · 0% of 45 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 0 days of inspection.

Push recency
80%
Last pushRepositoriesShare
Pushed within 30 days45180%
31 – 90 days244.2%
91 – 365 days305.3%
Over a year6111%

Stewardship & resilience

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

292Organization-stewarded median 60
274Personal accounts median 52

Maintainer bus factor

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

1 maintainer
434
2 maintainers
86
3–5 maintainers
39
6+ maintainers
6

The dependency iceberg

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

The median repository declares 9 direct dependencies — and resolves to 15 packages in total.

Resolved packages per repository

0
10
1 – 5
66
6 – 20
240
21 – 50
99
51 – 200
55
201 – 500
14
501 – 1,000
9
Over 1,000
16

License landscape

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

MIT
345
Apache-2.0
71
Custom license
62
BSD-3-Clause
31
No license detected
28
MS-PL
7
Unlicense
5
AGPL-3.0
4
GPL-3.0
4
MPL-2.0
3

Most relied upon

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

PyPI · NuGet
62Moderatehealth index
pythonnet/clr-loader
Loader for different .NET runtimes
Python★ 43↓ 3.6M/moJul 21, 2026
MITJul 21, 2026 · metrics 1.13.0
npm · Maven · NuGet
66Moderatehealth index
renovatebot/pgp
Renovate PGP library
TypeScript · Java · JavaScript★ 0↓ 907.2K/moJul 18, 2026
Apache-2.0Jul 18, 2026 · metrics 1.13.0
npm · Maven · NuGet +1
76Goodhealth index
cdxgen/cdxgen
Creates CycloneDX Bill of Materials (BOM) for your projects from source and container images. Supports many languages and package managers. Integrate in your CI/CD pipeline with automatic submission to Dependency Track server
JavaScript★ 1,012↓ 719.2K/moJul 17, 2026
Apache-2.0Jul 17, 2026 · metrics 1.13.0
crates.io · NuGet · Packagist
82Goodhealth index
DataDog/dd-trace-php
Datadog PHP Clients
PHP★ 556↓ 607K/moJul 13, 2026
Custom licenseJul 13, 2026 · metrics 1.13.0
npm · NuGet
58Moderatehealth index
microsoft/node-api-dotnet
Advanced interoperability between .NET and JavaScript in the same process.
C#★ 778↓ 55.6K/moJul 21, 2026
MITJul 21, 2026 · metrics 1.13.0
npm · Maven · NuGet
43At riskhealth index
stimulsoft/DataAdapters.JS
No repository description published.
PHP · Python · C#★ 11↓ 55K/moJul 22, 2026
No licenseJul 22, 2026 · metrics 1.13.0

Reading these figures

  • Every figure is computed from the latest published inspection of each repository, under the versioned methodology (currently metrics 1.13.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-07-23 05:46 UTC; the aggregate is recomputed hourly. The underlying data is available as JSON.