{"ecosystem":"rubygems","ecosystem_label":"RubyGems","indexed_repositories":3151,"inspected_repositories":3151,"monthly_downloads":1394398997,"median_score":62,"share_good_or_better":0.4646,"computed_at":"2026-09-06T17:43:59.090997Z","bands":[{"band":"exceptional","repositories":182,"monthly_downloads":526293130},{"band":"excellent","repositories":615,"monthly_downloads":569657486},{"band":"good","repositories":667,"monthly_downloads":18377244},{"band":"moderate","repositories":742,"monthly_downloads":17035404},{"band":"weak","repositories":506,"monthly_downloads":56604},{"band":"at_risk","repositories":323,"monthly_downloads":224512993},{"band":"critical","repositories":116,"monthly_downloads":38466136}],"histogram":[{"start":0,"count":0},{"start":5,"count":7},{"start":10,"count":36},{"start":15,"count":73},{"start":20,"count":61},{"start":25,"count":127},{"start":30,"count":135},{"start":35,"count":141},{"start":40,"count":162},{"start":45,"count":203},{"start":50,"count":264},{"start":55,"count":243},{"start":60,"count":235},{"start":65,"count":257},{"start":70,"count":158},{"start":75,"count":252},{"start":80,"count":324},{"start":85,"count":185},{"start":90,"count":185},{"start":95,"count":103}],"categories":[{"key":"vitality","name":"Vitality","median":62,"record_median":71,"repositories":3151},{"key":"community","name":"Community & Adoption","median":58,"record_median":46,"repositories":3151},{"key":"governance","name":"Sustainability & Governance","median":65,"record_median":59,"repositories":3151},{"key":"engineering","name":"Engineering Quality","median":64,"record_median":65,"repositories":3151},{"key":"security","name":"Security","median":48,"record_median":47,"repositories":3151},{"key":"ai_readiness","name":"AI Readiness","median":38,"record_median":53,"repositories":3151}],"practices":[{"key":"readme","label":"README","share":0.96,"repositories":3151},{"key":"license","label":"License detected","share":0.9445,"repositories":3151},{"key":"ci","label":"CI workflows","share":0.8086,"repositories":3151},{"key":"tests","label":"Automated tests","share":0.947,"repositories":3151},{"key":"linter","label":"Linter configuration","share":0.5659,"repositories":3151},{"key":"docs_dir","label":"Documentation directory","share":0.2752,"repositories":3151},{"key":"contributing","label":"Contributing guide","share":0.3554,"repositories":3151},{"key":"security_policy","label":"Security policy","share":0.1466,"repositories":3151},{"key":"code_of_conduct","label":"Code of conduct","share":0.2936,"repositories":3151},{"key":"agent_instructions","label":"AI agent instructions","share":0.1676,"repositories":3151},{"key":"bootstrap","label":"One-command bootstrap","share":0.1349,"repositories":3151},{"key":"llms_txt","label":"llms.txt","share":0.0301,"repositories":3151}],"stewardship":[{"key":"organization","label":"Organization-stewarded","repositories":1995,"median_score":69},{"key":"user","label":"Personal accounts","repositories":1156,"median_score":53}],"bus_factor":[{"bucket":"1","repositories":2067},{"bucket":"2","repositories":683},{"bucket":"3–5","repositories":340},{"bucket":"6+","repositories":58}],"single_maintainer_share":0.6566,"single_maintainer_high_reliance":23,"licenses":[{"license":"MIT","state":"standard","repositories":1885},{"license":null,"state":"custom","repositories":451},{"license":"Apache-2.0","state":"standard","repositories":356},{"license":null,"state":"absent","repositories":175},{"license":"BSD-2-Clause","state":"standard","repositories":72},{"license":"GPL-3.0","state":"standard","repositories":42},{"license":"BSD-3-Clause","state":"standard","repositories":40},{"license":"GPL-2.0","state":"standard","repositories":35},{"license":"AGPL-3.0","state":"standard","repositories":28},{"license":"CC0-1.0","state":"standard","repositories":14}],"ecosystems":[],"top_repositories":[{"id":57775,"full_name":"petkaantonov/bluebird","url":"https://github.com/petkaantonov/bluebird","description":":bird: :zap: Bluebird is a full featured promise library with unmatched performance.","ecosystem":"npm","ecosystems":["npm","rubygems"],"primary_language":"JavaScript","languages":["JavaScript"],"topics":["promise","performance","promises","promises-a","promises-aplus","async","await","deferred","deferreds","future","flow-control","dsl","fluent-interface"],"license_spdx":"MIT","license_state":"standard","stars":20502,"forks":2313,"watchers":329,"monthly_downloads":217177578,"latest_score":32,"latest_band":"at_risk","latest_scanned_at":"2026-08-12T20:19:00.059354Z","has_high_risk_jurisdiction_exposure":false,"has_malicious_dependency":false,"growth_authenticity":"unverified","abandonment_state":"likely_abandoned","red_flags":["abandonment"],"icon_url":"/icon/v1/petkaantonov/bluebird?v=d7f6cca9-1","icon_source_type":"readme","badge_url":""},{"id":58014,"full_name":"dsherret/ts-morph","url":"https://github.com/dsherret/ts-morph","description":"TypeScript Compiler API wrapper for static analysis and programmatic code changes.","ecosystem":"npm","ecosystems":["npm","rubygems"],"primary_language":"TypeScript","languages":["TypeScript"],"topics":["typescript","ast","code-generation","javascript","static-analysis","code-refactor","compiler","bootstrap"],"license_spdx":"MIT","license_state":"standard","stars":6153,"forks":236,"watchers":19,"monthly_downloads":186971148,"latest_score":80,"latest_band":"excellent","latest_scanned_at":"2026-08-12T22:37:26.842721Z","has_high_risk_jurisdiction_exposure":false,"has_malicious_dependency":false,"growth_authenticity":"unverified","abandonment_state":"maintained","red_flags":[],"icon_url":"/icon/v1/dsherret/ts-morph?v=e99428e4-1","icon_source_type":"avatar","badge_url":""},{"id":372,"full_name":"react/react-native","url":"https://github.com/react/react-native","description":"A framework for building native applications using React","ecosystem":"npm","ecosystems":["npm","maven","rubygems"],"primary_language":"C++","languages":["C++","Kotlin","JavaScript"],"topics":["android","app-framework","ios","mobile","mobile-development","react-native","cross-platform","react","polyfill","polyfills","js","js-polyfills","jest","preset","metro","config","gradle","plugin","tools"],"license_spdx":"MIT","license_state":"standard","stars":126283,"forks":25198,"watchers":3523,"monthly_downloads":178307065,"latest_score":96,"latest_band":"exceptional","latest_scanned_at":"2026-08-04T22:06:08.597087Z","has_high_risk_jurisdiction_exposure":false,"has_malicious_dependency":false,"growth_authenticity":"unverified","abandonment_state":"maintained","red_flags":[],"icon_url":"/icon/v1/react/react-native?v=74e41fe8-1","icon_source_type":"homepage","badge_url":""},{"id":36259,"full_name":"handlebars-lang/handlebars.js","url":"https://github.com/handlebars-lang/handlebars.js","description":"Minimal templating on steroids.","ecosystem":"npm","ecosystems":["npm","rubygems","packagist"],"primary_language":"JavaScript","languages":["JavaScript"],"topics":["handlebars","mustache","templates","template","html"],"license_spdx":"MIT","license_state":"standard","stars":18664,"forks":2068,"watchers":434,"monthly_downloads":168313339,"latest_score":87,"latest_band":"excellent","latest_scanned_at":"2026-08-04T20:21:27.673745Z","has_high_risk_jurisdiction_exposure":false,"has_malicious_dependency":false,"growth_authenticity":"unverified","abandonment_state":"maintained","red_flags":[],"icon_url":"/icon/v1/handlebars-lang/handlebars.js?v=1a4cd4f8-1","icon_source_type":"avatar","badge_url":""},{"id":49073,"full_name":"facebook/flow","url":"https://github.com/facebook/flow","description":"Adds static typing to JavaScript to improve developer productivity and code quality.","ecosystem":"npm","ecosystems":["npm","crates","rubygems"],"primary_language":"Rust","languages":["Rust","JavaScript"],"topics":["flow","flowtype","compiler","transpiler","transform","es6"],"license_spdx":"MIT","license_state":"standard","stars":22272,"forks":1892,"watchers":379,"monthly_downloads":69835892,"latest_score":96,"latest_band":"exceptional","latest_scanned_at":"2026-08-04T21:22:35.762190Z","has_high_risk_jurisdiction_exposure":false,"has_malicious_dependency":false,"growth_authenticity":"unverified","abandonment_state":"maintained","red_flags":[],"icon_url":"/icon/v1/facebook/flow?v=bbb79831-1","icon_source_type":"avatar","badge_url":""},{"id":44133,"full_name":"GREsau/schemars","url":"https://github.com/GREsau/schemars","description":"Generate JSON Schema documents from Rust code","ecosystem":"crates","ecosystems":["crates","rubygems"],"primary_language":"Rust","languages":["Rust"],"topics":["json-schema","rust","serde","encoding","no-std"],"license_spdx":"MIT","license_state":"standard","stars":1396,"forks":303,"watchers":10,"monthly_downloads":61761901,"latest_score":80,"latest_band":"excellent","latest_scanned_at":"2026-08-04T21:38:55.396370Z","has_high_risk_jurisdiction_exposure":false,"has_malicious_dependency":false,"growth_authenticity":"unverified","abandonment_state":"maintained","red_flags":[],"icon_url":"/icon/v1/GREsau/schemars?v=63802d31-1","icon_source_type":"avatar","badge_url":""}],"popularity_stars":[{"label":"Under 100 stars","repositories":1685,"median":59,"p25":44,"p75":73},{"label":"100 – 999","repositories":879,"median":62,"p25":47,"p75":81},{"label":"1,000 – 9,999","repositories":519,"median":75,"p25":56,"p75":88},{"label":"10,000 and more","repositories":68,"median":92,"p25":83,"p75":96}],"popularity_downloads":[{"label":"Under 10K / month","repositories":129,"median":65,"p25":51,"p75":81},{"label":"10K – 1M","repositories":111,"median":83,"p25":67,"p75":90},{"label":"1M – 100M","repositories":46,"median":92,"p25":80,"p75":95},{"label":"100M and more","repositories":4,"median":84,"p25":44,"p75":94}],"freshness":[{"label":"Pushed within 30 days","repositories":1990},{"label":"31 – 90 days","repositories":245},{"label":"91 – 365 days","repositories":331},{"label":"Over a year","repositories":585}],"median_days_since_push":6,"dependencies":{"basis":2892,"median_direct":2,"median_indirect":11,"median_total":15,"buckets":[{"label":"0","repositories":70},{"label":"1 – 5","repositories":463},{"label":"6 – 20","repositories":1133},{"label":"21 – 50","repositories":392},{"label":"51 – 200","repositories":485},{"label":"201 – 500","repositories":123},{"label":"501 – 1,000","repositories":70},{"label":"Over 1,000","repositories":156}]},"scorecard_checks":[{"name":"CII-Best-Practices","mean":0.0,"measured":3127,"inconclusive_share":0.0016},{"name":"Fuzzing","mean":0.1,"measured":3130,"inconclusive_share":0.0006},{"name":"Signed-Releases","mean":0.6,"measured":372,"inconclusive_share":0.8812},{"name":"Branch-Protection","mean":1.0,"measured":2209,"inconclusive_share":0.2947},{"name":"SAST","mean":1.3,"measured":3130,"inconclusive_share":0.0006},{"name":"Pinned-Dependencies","mean":1.6,"measured":2565,"inconclusive_share":0.181},{"name":"Token-Permissions","mean":2.0,"measured":2516,"inconclusive_share":0.1967},{"name":"Security-Policy","mean":2.3,"measured":3132,"inconclusive_share":0.0},{"name":"Code-Review","mean":2.7,"measured":3105,"inconclusive_share":0.0086},{"name":"Dependency-Update-Tool","mean":4.4,"measured":3132,"inconclusive_share":0.0},{"name":"Maintained","mean":5.0,"measured":3132,"inconclusive_share":0.0},{"name":"CI-Tests","mean":5.3,"measured":2714,"inconclusive_share":0.1335},{"name":"Vulnerabilities","mean":7.9,"measured":3131,"inconclusive_share":0.0003},{"name":"Contributors","mean":8.0,"measured":3131,"inconclusive_share":0.0003},{"name":"License","mean":9.3,"measured":3132,"inconclusive_share":0.0},{"name":"Binary-Artifacts","mean":9.7,"measured":3132,"inconclusive_share":0.0},{"name":"Dangerous-Workflow","mean":9.9,"measured":2516,"inconclusive_share":0.1967},{"name":"Packaging","mean":10.0,"measured":402,"inconclusive_share":0.8716}],"red_flags":[{"key":"abandonment","label":"Abandonment","wiki_slug":"abandonment","findings":295,"repositories":3151,"share":0.0936,"share_of_record":0.0936},{"key":"high_risk_jurisdiction_exposure","label":"High-Risk Jurisdiction Exposure","wiki_slug":"jurisdiction-exposure","findings":32,"repositories":3026,"share":0.0106,"share_of_record":0.0102},{"key":"inorganic_growth","label":"Inorganic growth","wiki_slug":"growth-authenticity","findings":15,"repositories":329,"share":0.0456,"share_of_record":0.0048},{"key":"malicious_dependencies","label":"Malicious dependencies","wiki_slug":"malicious-dependencies","findings":3,"repositories":1038,"share":0.0029,"share_of_record":0.001}],"category_histograms":[{"key":"vitality","name":"Vitality","bins":[37,479,250,218,219,264,398,503,398,385]},{"key":"community","name":"Community & Adoption","bins":[6,58,100,353,550,610,590,486,273,125]},{"key":"governance","name":"Sustainability & Governance","bins":[0,1,18,115,189,635,1050,705,384,54]},{"key":"engineering","name":"Engineering Quality","bins":[5,14,70,214,355,558,738,659,399,139]},{"key":"security","name":"Security","bins":[4,29,193,735,734,701,472,217,63,3]},{"key":"ai_readiness","name":"AI Readiness","bins":[13,78,762,814,554,375,279,161,91,24]}],"downloads_top1pct_share":0.95}