{"ecosystem":"rubygems","ecosystem_label":"RubyGems","indexed_repositories":2114,"inspected_repositories":2114,"monthly_downloads":459506022,"median_score":56,"share_good_or_better":0.1902,"computed_at":"2026-07-23T09:11:14.782424Z","bands":[{"band":"excellent","repositories":30,"monthly_downloads":28022186},{"band":"good","repositories":372,"monthly_downloads":390101661},{"band":"moderate","repositories":963,"monthly_downloads":34093257},{"band":"at_risk","repositories":575,"monthly_downloads":6656870},{"band":"critical","repositories":174,"monthly_downloads":632048}],"histogram":[{"start":0,"count":0},{"start":5,"count":1},{"start":10,"count":17},{"start":15,"count":38},{"start":20,"count":60},{"start":25,"count":58},{"start":30,"count":87},{"start":35,"count":85},{"start":40,"count":164},{"start":45,"count":239},{"start":50,"count":220},{"start":55,"count":248},{"start":60,"count":268},{"start":65,"count":227},{"start":70,"count":182},{"start":75,"count":111},{"start":80,"count":79},{"start":85,"count":29},{"start":90,"count":1},{"start":95,"count":0}],"categories":[{"key":"vitality","name":"Vitality","median":54,"record_median":73,"repositories":2114},{"key":"community","name":"Community & Adoption","median":62,"record_median":46,"repositories":2114},{"key":"governance","name":"Sustainability & Governance","median":64,"record_median":59,"repositories":2114},{"key":"engineering","name":"Engineering Quality","median":62,"record_median":66,"repositories":2114},{"key":"security","name":"Security","median":45,"record_median":45,"repositories":2114},{"key":"ai_readiness","name":"AI Readiness","median":32,"record_median":46,"repositories":2114}],"practices":[{"key":"readme","label":"README","share":0.9721,"repositories":2114},{"key":"license","label":"License detected","share":0.9532,"repositories":2114},{"key":"ci","label":"CI workflows","share":0.7919,"repositories":2114},{"key":"tests","label":"Automated tests","share":0.9447,"repositories":2114},{"key":"linter","label":"Linter configuration","share":0.5516,"repositories":2114},{"key":"docs_dir","label":"Documentation directory","share":0.2531,"repositories":2114},{"key":"contributing","label":"Contributing guide","share":0.3761,"repositories":2114},{"key":"security_policy","label":"Security policy","share":0.1495,"repositories":2114},{"key":"code_of_conduct","label":"Code of conduct","share":0.3037,"repositories":2114},{"key":"agent_instructions","label":"AI agent instructions","share":0.1523,"repositories":2114},{"key":"bootstrap","label":"One-command bootstrap","share":0.122,"repositories":2114},{"key":"llms_txt","label":"llms.txt","share":0.0038,"repositories":2114}],"stewardship":[{"key":"organization","label":"Organization-stewarded","repositories":1334,"median_score":61},{"key":"user","label":"Personal accounts","repositories":780,"median_score":49}],"bus_factor":[{"bucket":"1","repositories":1320},{"bucket":"2","repositories":504},{"bucket":"3–5","repositories":247},{"bucket":"6+","repositories":42}],"single_maintainer_share":0.6247,"single_maintainer_high_reliance":17,"licenses":[{"license":"MIT","state":"standard","repositories":1283},{"license":null,"state":"custom","repositories":332},{"license":"Apache-2.0","state":"standard","repositories":210},{"license":null,"state":"absent","repositories":99},{"license":"BSD-2-Clause","state":"standard","repositories":53},{"license":"BSD-3-Clause","state":"standard","repositories":29},{"license":"GPL-2.0","state":"standard","repositories":26},{"license":"AGPL-3.0","state":"standard","repositories":20},{"license":"GPL-3.0","state":"standard","repositories":20},{"license":"CC0-1.0","state":"standard","repositories":13}],"ecosystems":[],"top_repositories":[{"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":18656,"forks":2066,"watchers":433,"monthly_downloads":165639348,"latest_score":74,"latest_band":"good","latest_scanned_at":"2026-07-22T22:39:13.337941Z","has_high_risk_jurisdiction_exposure":false,"has_malicious_dependency":false,"growth_authenticity":"unverified","abandonment_state":"maintained","red_flags":[],"badge_url":""},{"id":1378,"full_name":"cucumber/messages","url":"https://github.com/cucumber/messages","description":"A message protocol for representing results and other information from Cucumber","ecosystem":"go","ecosystems":["go","hex","maven","npm","packagist","pypi","rubygems"],"primary_language":"C#","languages":[],"topics":["dotnet","elixir","go","java","javascript","perl","php","polyglot-release","ruby","tidelift"],"license_spdx":"MIT","license_state":"standard","stars":40,"forks":24,"watchers":68,"monthly_downloads":30116305,"latest_score":79,"latest_band":"good","latest_scanned_at":"2026-07-13T21:42:33.390568Z","has_high_risk_jurisdiction_exposure":false,"has_malicious_dependency":false,"growth_authenticity":"unverified","abandonment_state":"unverified","red_flags":[],"badge_url":""},{"id":35904,"full_name":"AppAndFlow/react-native-safe-area-context","url":"https://github.com/AppAndFlow/react-native-safe-area-context","description":"A flexible way to handle safe area insets in JS. Also works on Android and Web! ","ecosystem":"npm","ecosystems":["npm","maven","rubygems"],"primary_language":"TypeScript","languages":["TypeScript","Objective-C","Kotlin"],"topics":["react-native","ios","android","web","react","safeareainsets","react-native-web","expo-web","safe-area","view"],"license_spdx":"MIT","license_state":"standard","stars":2743,"forks":252,"watchers":14,"monthly_downloads":29828262,"latest_score":74,"latest_band":"good","latest_scanned_at":"2026-07-22T20:22:16.568327Z","has_high_risk_jurisdiction_exposure":false,"has_malicious_dependency":false,"growth_authenticity":"unverified","abandonment_state":"maintained","red_flags":[],"badge_url":""},{"id":26029,"full_name":"cucumber/gherkin","url":"https://github.com/cucumber/gherkin","description":"A parser and compiler for the Gherkin language.","ecosystem":"npm","ecosystems":["npm","pypi","packagist","hex","rubygems","go","maven"],"primary_language":"C","languages":["C"],"topics":["gherkin","polyglot-release","dart","dotnet","elixir","go","java","javascript","lexer","objective-c","parser","perl","php","python","ruby","tidelift","cucumber","bdd"],"license_spdx":"MIT","license_state":"standard","stars":372,"forks":98,"watchers":91,"monthly_downloads":27777826,"latest_score":82,"latest_band":"good","latest_scanned_at":"2026-07-19T16:58:40.636359Z","has_high_risk_jurisdiction_exposure":false,"has_malicious_dependency":false,"growth_authenticity":"unverified","abandonment_state":"unverified","red_flags":[],"badge_url":""},{"id":8022,"full_name":"svix/svix-webhooks","url":"https://github.com/svix/svix-webhooks","description":"The open source and enterprise-ready webhooks service 🦀","ecosystem":"npm","ecosystems":["npm","packagist","crates","go","pypi","maven","rubygems"],"primary_language":"Rust","languages":["Rust","C#"],"topics":["webhooks","rust","webhook-server","webhook-service","webhook","webhooks-server","webhook-dispatcher","webhook-ingester","api","background-jobs","background-tasks","kafka","message-queue","pubsub","queue","rabbitmq","redis","stream","event-driven","hacktoberfest","svix","diahook","typescript","network-programming","web-programming","asynchronous","development-tools"],"license_spdx":"MIT","license_state":"standard","stars":3301,"forks":262,"watchers":25,"monthly_downloads":21310306,"latest_score":83,"latest_band":"good","latest_scanned_at":"2026-07-15T16:49:39.743240Z","has_high_risk_jurisdiction_exposure":false,"has_malicious_dependency":false,"growth_authenticity":"unverified","abandonment_state":"unverified","red_flags":[],"badge_url":""},{"id":28003,"full_name":"cucumber/cucumber-expressions","url":"https://github.com/cucumber/cucumber-expressions","description":"Human friendly alternative to Regular Expressions","ecosystem":"npm","ecosystems":["npm","pypi","rubygems","go","maven"],"primary_language":"Java","languages":["Java","Go","C#","Python","TypeScript"],"topics":["dotnet","go","java","javascript","python","ruby","polyglot-release","tidelift","cucumber","steps","regexp","regex","bdd","testing","expressions"],"license_spdx":"MIT","license_state":"standard","stars":199,"forks":65,"watchers":66,"monthly_downloads":16445818,"latest_score":84,"latest_band":"good","latest_scanned_at":"2026-07-20T13:05:07.421004Z","has_high_risk_jurisdiction_exposure":false,"has_malicious_dependency":false,"growth_authenticity":"unverified","abandonment_state":"unverified","red_flags":[],"badge_url":""}],"popularity_stars":[{"label":"Under 100 stars","repositories":1001,"median":54,"p25":44,"p75":62},{"label":"100 – 999","repositories":644,"median":55,"p25":44,"p75":67},{"label":"1,000 – 9,999","repositories":417,"median":64,"p25":52,"p75":74},{"label":"10,000 and more","repositories":52,"median":76,"p25":69,"p75":84}],"popularity_downloads":[{"label":"Under 10K / month","repositories":128,"median":61,"p25":50,"p75":69},{"label":"10K – 1M","repositories":58,"median":70,"p25":58,"p75":76},{"label":"1M – 100M","repositories":36,"median":77,"p25":68,"p75":82},{"label":"100M and more","repositories":1,"median":74,"p25":74,"p75":74}],"freshness":[{"label":"Pushed within 30 days","repositories":1158},{"label":"31 – 90 days","repositories":168},{"label":"91 – 365 days","repositories":297},{"label":"Over a year","repositories":491}],"median_days_since_push":24,"dependencies":{"basis":1934,"median_direct":2,"median_indirect":9,"median_total":13,"buckets":[{"label":"0","repositories":58},{"label":"1 – 5","repositories":372},{"label":"6 – 20","repositories":764},{"label":"21 – 50","repositories":268},{"label":"51 – 200","repositories":268},{"label":"201 – 500","repositories":63},{"label":"501 – 1,000","repositories":42},{"label":"Over 1,000","repositories":99}]},"scorecard_checks":[{"name":"CII-Best-Practices","mean":0.0,"measured":2095,"inconclusive_share":0.001},{"name":"Fuzzing","mean":0.1,"measured":2096,"inconclusive_share":0.0005},{"name":"Signed-Releases","mean":0.5,"measured":215,"inconclusive_share":0.8975},{"name":"Branch-Protection","mean":1.0,"measured":1475,"inconclusive_share":0.2966},{"name":"SAST","mean":1.3,"measured":2096,"inconclusive_share":0.0005},{"name":"Pinned-Dependencies","mean":1.5,"measured":1673,"inconclusive_share":0.2022},{"name":"Token-Permissions","mean":1.9,"measured":1648,"inconclusive_share":0.2141},{"name":"Security-Policy","mean":2.3,"measured":2097,"inconclusive_share":0.0},{"name":"Code-Review","mean":2.8,"measured":2078,"inconclusive_share":0.0091},{"name":"Dependency-Update-Tool","mean":4.3,"measured":2097,"inconclusive_share":0.0},{"name":"Maintained","mean":4.3,"measured":2097,"inconclusive_share":0.0},{"name":"CI-Tests","mean":4.8,"measured":1846,"inconclusive_share":0.1197},{"name":"Vulnerabilities","mean":8.1,"measured":2096,"inconclusive_share":0.0005},{"name":"Contributors","mean":8.4,"measured":2097,"inconclusive_share":0.0},{"name":"License","mean":9.4,"measured":2097,"inconclusive_share":0.0},{"name":"Binary-Artifacts","mean":9.7,"measured":2097,"inconclusive_share":0.0},{"name":"Dangerous-Workflow","mean":9.9,"measured":1648,"inconclusive_share":0.2141},{"name":"Packaging","mean":10.0,"measured":224,"inconclusive_share":0.8932}],"red_flags":[{"key":"abandonment","label":"Abandonment","wiki_slug":"abandonment","findings":178,"repositories":2114,"share":0.0842,"share_of_record":0.0842},{"key":"high_risk_jurisdiction_exposure","label":"High-Risk Jurisdiction Exposure","wiki_slug":"jurisdiction-exposure","findings":100,"repositories":2046,"share":0.0489,"share_of_record":0.0473},{"key":"inorganic_growth","label":"Inorganic growth","wiki_slug":"growth-authenticity","findings":15,"repositories":333,"share":0.045,"share_of_record":0.0071},{"key":"malicious_dependencies","label":"Malicious dependencies","wiki_slug":"malicious-dependencies","findings":1,"repositories":361,"share":0.0028,"share_of_record":0.0005}],"category_histograms":[{"key":"vitality","name":"Vitality","bins":[34,407,213,164,163,174,213,266,221,259]},{"key":"community","name":"Community & Adoption","bins":[0,22,41,161,339,415,428,387,216,105]},{"key":"governance","name":"Sustainability & Governance","bins":[0,0,9,63,136,501,746,476,178,5]},{"key":"engineering","name":"Engineering Quality","bins":[3,10,50,171,285,391,464,410,242,88]},{"key":"security","name":"Security","bins":[2,35,181,564,500,431,255,120,26,0]},{"key":"ai_readiness","name":"AI Readiness","bins":[11,70,724,667,235,173,89,107,35,3]}],"downloads_top1pct_share":0.8986}