Raw JSON report machine-readable
{
"data": {
"repo": {
"topics": [
"qrcode",
"qrcode-generator",
"ruby"
],
"is_fork": false,
"size_kb": 595,
"has_wiki": false,
"homepage": null,
"languages": {
"Ruby": 112497
},
"pushed_at": "2026-06-01T13:09:27Z",
"created_at": "2008-04-03T09:31:15Z",
"owner_type": "User",
"updated_at": "2026-07-13T09:32:24Z",
"description": "A Ruby library that encodes QR Codes",
"is_archived": false,
"is_disabled": false,
"license_spdx": "MIT",
"default_branch": "main",
"license_spdx_raw": "MIT",
"primary_language": "Ruby",
"significant_languages": [
"Ruby"
]
},
"owner": {
"blog": "http://whomwah.com",
"name": "Duncan Robertson",
"type": "User",
"login": "whomwah",
"company": "@kyan",
"location": "London, Uk",
"followers": 176,
"avatar_url": "https://avatars.githubusercontent.com/u/2031?v=4",
"created_at": "2008-03-03T16:50:18Z",
"is_verified": null,
"public_repos": 74,
"account_age_days": 6714
},
"license": {
"state": "standard",
"spdx_id": "MIT",
"raw_spdx": "MIT",
"file_present": true,
"scorecard_found": true,
"profile_has_license": true
},
"activity": {
"releases": [
{
"tag": "v3.2.0",
"kind": "minor",
"published_at": "2026-01-08T19:48:33Z"
},
{
"tag": "v3.1.1",
"kind": "patch",
"published_at": "2025-11-25T15:42:13Z"
},
{
"tag": "v3.1.0",
"kind": "minor",
"published_at": "2025-04-28T11:17:14Z"
},
{
"tag": "v3.0.0",
"kind": "major",
"published_at": "2025-04-25T18:45:31Z"
},
{
"tag": "v2.1.2",
"kind": "patch",
"published_at": "2022-07-26T10:18:34Z"
},
{
"tag": "v2.1.1",
"kind": "patch",
"published_at": "2022-02-11T11:13:41Z"
},
{
"tag": "v2.1.0",
"kind": "minor",
"published_at": "2021-08-26T10:08:37Z"
},
{
"tag": "v2.0.0",
"kind": "major",
"published_at": "2021-05-06T10:26:28Z"
},
{
"tag": "v1.0.0",
"kind": "major",
"published_at": "2019-09-16T14:20:15Z"
},
{
"tag": "v1.0.0.pre",
"kind": "other",
"published_at": "2019-07-11T09:45:16Z"
}
],
"recent_commits": [
{
"oid": "4359b4192d1845691246a0d155d864d2569122b6",
"body": "drop unused xmlns:xlink and xmlns:ev SVG attrs",
"is_bot": false,
"headline": "Merge pull request #169 from SAY-5/feat/drop-unused-svg-xmlns-168",
"author_name": "Duncan Robertson",
"author_login": "whomwah",
"committed_at": "2026-06-01T13:09:27Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "01ad7d194d12cdcbd2c8c0fd7255c442506182bf",
"body": null,
"is_bot": false,
"headline": "drop unused xmlns:xlink and xmlns:ev SVG attrs",
"author_name": "Sai Asish Y",
"author_login": "SAY-5",
"committed_at": "2026-05-21T05:50:22Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "5e391ebf7f788bd87b8e641e8ce4845eb673ef2b",
"body": "chore(deps-dev): bump json from 2.18.0 to 2.19.2",
"is_bot": false,
"headline": "Merge pull request #167 from whomwah/dependabot/bundler/json-2.19.2",
"author_name": "Duncan Robertson",
"author_login": "whomwah",
"committed_at": "2026-03-24T13:21:40Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "4d65dc81882b171de637bb92419611dcd5a682e3",
"body": "Bumps [json](https://github.com/ruby/json) from 2.18.0 to 2.19.2.\n- [Release notes](https://github.com/ruby/json/releases)\n- [Changelog](https://github.com/ruby/json/blob/master/CHANGES.md)\n- [Commits](https://github.com/ruby/json/compare/v2.18.0...v2.19.2)\n\n---\nupdated-dependencies:\n- dependency-name: json\n dependency-version: 2.19.2\n dependency-type: indirect\n...\n\nSigned-off-by: dependabot[bot] <support@github.com>",
"is_bot": true,
"headline": "chore(deps-dev): bump json from 2.18.0 to 2.19.2",
"author_name": "dependabot[bot]",
"author_login": "dependabot[bot]",
"committed_at": "2026-03-24T13:17:44Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "aa771778167b2ff10691b551c88425b7bf078f55",
"body": "docs: update 3.2.0 release date in changelog",
"is_bot": false,
"headline": "Merge pull request #166 from whomwah/release",
"author_name": "Duncan Robertson",
"author_login": "whomwah",
"committed_at": "2026-01-09T12:49:38Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "445c34a56c40dba367d8d99a59b390c2b5f77c6f",
"body": null,
"is_bot": false,
"headline": "Merge branch 'main' into release",
"author_name": "Duncan Robertson",
"author_login": "whomwah",
"committed_at": "2026-01-09T12:48:52Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "96e25723cd5f2402d37dd9bbf4f14e0adac2948c",
"body": null,
"is_bot": false,
"headline": "docs: update 3.2.0 release date in changelog",
"author_name": "Duncan Robertson",
"author_login": "whomwah",
"committed_at": "2026-01-09T12:46:38Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "55da8e2210ea5448b31b1ecf67ba70dbfff98203",
"body": "Release 3.2 mergeback",
"is_bot": false,
"headline": "Merge pull request #165 from whomwah/release",
"author_name": "Duncan Robertson",
"author_login": "whomwah",
"committed_at": "2026-01-08T19:40:16Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "f0d65004f2b5ba595fd47b36104fc1a549c07def",
"body": "Releases/3.2.0",
"is_bot": false,
"headline": "Merge pull request #164 from whomwah/releases/3.2.0",
"author_name": "Duncan Robertson",
"author_login": "whomwah",
"committed_at": "2026-01-08T19:38:36Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "e3f69d6275d11fa330efd1b7ffad899a05de8bd8",
"body": null,
"is_bot": false,
"headline": "chore(release): bump version to 3.2.0 and update changelog",
"author_name": "Duncan Robertson",
"author_login": "whomwah",
"committed_at": "2026-01-08T16:13:18Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "ea5d9cd59972bb649b76fc71df5a7181632532fa",
"body": "Using AI Assistant to identity (and fix) performance bottlenecks",
"is_bot": false,
"headline": "Merge pull request #163 from whomwah/feat/performance1",
"author_name": "Duncan Robertson",
"author_login": "whomwah",
"committed_at": "2026-01-08T16:05:52Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "36917bf812e849f88776df6969904761b454e13b",
"body": "- Refactor path tracing to use integer direction constants and arrays\n- Remove Edge struct, reduce allocations and intermediate arrays\n- Build SVG path string directly for each loop, minimizing string ops\n- Improves rendering speed by 130% and reduces output size\n- Update benchmark README with new performance results\n- Add comprehensive SVG export tests covering options and output",
"is_bot": false,
"headline": "perf(svg): optimize SVG path export for speed and output size",
"author_name": "Duncan Robertson",
"author_login": "whomwah",
"committed_at": "2026-01-08T14:40:55Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "4697d7d2f4b2478f7aeafa45305d4f6da11a535e",
"body": null,
"is_bot": false,
"headline": "docs(benchmark): update benchmark results for 2026-01-08",
"author_name": "Duncan Robertson",
"author_login": "whomwah",
"committed_at": "2026-01-08T13:55:52Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "12a395d13de08680f53561af4403dd9f2535bcfe",
"body": null,
"is_bot": false,
"headline": "chore: update ruby support to >= 3.2 and update dependencies",
"author_name": "Duncan Robertson",
"author_login": "whomwah",
"committed_at": "2026-01-08T08:56:09Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "ed9c3a42c83903f6310fbedace896be4fc556e40",
"body": "Rewrite HTML export to use a single loop and preallocate string\ncapacity, improving speed and memory usage. Remove unnecessary helper\nclasses.",
"is_bot": false,
"headline": "refactor(html): optimize as_html for performance",
"author_name": "Duncan Robertson",
"author_login": "whomwah",
"committed_at": "2026-01-07T21:57:29Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "a0515013f8173c388c8fcc06cbb836140e48b23f",
"body": null,
"is_bot": false,
"headline": "refactor(svg): move color prefix logic to top-level render method",
"author_name": "Duncan Robertson",
"author_login": "whomwah",
"committed_at": "2026-01-07T21:46:29Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "b4ef4532bd6c7a59b3060da02420f6d764aa42d3",
"body": null,
"is_bot": false,
"headline": "docs: add semantic commit message guidelines to AGENTS.md",
"author_name": "Duncan Robertson",
"author_login": "whomwah",
"committed_at": "2026-01-07T21:45:47Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "822071682137186eca433fe0167f32d8f5b061c2",
"body": null,
"is_bot": false,
"headline": "chore(deps): update rqrcode_core to 2.1.0",
"author_name": "Duncan Robertson",
"author_login": "whomwah",
"committed_at": "2026-01-07T21:45:38Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "512b85095acd5e5350531bb873f096b2bdf497c9",
"body": "- Introduce run_ips_e2e for full workflow timing (generation + export)\n- Update all export benchmarks to run both end-to-end and rendering-only\n modes\n- Expand README with detailed explanation of benchmark types and output\n- Clarify benchmark output and add summary messages for each script",
"is_bot": false,
"headline": "chore: Add end-to-end benchmarks to measure QR generation plus export",
"author_name": "Duncan Robertson",
"author_login": "whomwah",
"committed_at": "2025-12-17T22:07:45Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "40bb0f617dca87f9088a70f6521c307aa82a41e7",
"body": null,
"is_bot": false,
"headline": "chore: Update SVG export for clarity and minor performance improvements",
"author_name": "Duncan Robertson",
"author_login": "whomwah",
"committed_at": "2025-12-17T21:11:31Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "94505db5a8dd5d5e1433ea024a66a4205e88c10f",
"body": null,
"is_bot": false,
"headline": "chore: Update gemspec file exclusions and dev dependencies",
"author_name": "Duncan Robertson",
"author_login": "whomwah",
"committed_at": "2025-12-17T21:11:31Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "d38cb21c065e4c95057cea271588d53bf1730c90",
"body": "- Add Rake tasks for running benchmarks\n- Add benchmark scripts for SVG, PNG, HTML, ANSI, and format comparison\n- Add benchmark_helper.rb for shared setup and result saving\n- Add benchmark/README.md with usage and baseline results\n- Update Gemfile.lock with benchmark dependencies\n- Ignore benchmark/results/ in .gitignore\n- Remove Ruby 3.0 from CI test matrix",
"is_bot": false,
"headline": "chore: Add benchmark suite for export formats and memory usage",
"author_name": "Duncan Robertson",
"author_login": "whomwah",
"committed_at": "2025-12-17T21:11:31Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "70a2a002c98f7a4a6df30db8205ead7ff7b7586e",
"body": null,
"is_bot": false,
"headline": "chore: Add AGENTS.md with development guide for AI agents",
"author_name": "Duncan Robertson",
"author_login": "whomwah",
"committed_at": "2025-12-09T21:21:02Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "e789be339b6f833a01bc4c84e3d444e4699c3765",
"body": "Release 3.1.1 mergeback",
"is_bot": false,
"headline": "Merge pull request #162 from whomwah/release",
"author_name": "Duncan Robertson",
"author_login": "whomwah",
"committed_at": "2025-11-25T15:41:37Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "30cfc62415a2e48b3089ab22ae11ab96e64e2a52",
"body": "Releases/v3.1.1",
"is_bot": false,
"headline": "Merge pull request #161 from whomwah/releases/v3.1.1",
"author_name": "Duncan Robertson",
"author_login": "whomwah",
"committed_at": "2025-11-25T15:39:03Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "b6a0d1ae92ff2a2cc98c6caa4572ce2e88004515",
"body": null,
"is_bot": false,
"headline": "release: Bump version to 3.1.1 and update changelog for release",
"author_name": "Duncan Robertson",
"author_login": "whomwah",
"committed_at": "2025-11-25T15:31:32Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "f9fa33704951158a38b3cf04311e295d3a0e947d",
"body": "Update required_ruby_version to allow Ruby 4.0",
"is_bot": false,
"headline": "Merge pull request #160 from k0kubun/ruby-4-0",
"author_name": "Duncan Robertson",
"author_login": "whomwah",
"committed_at": "2025-11-07T22:06:57Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "12a47520383c1d61d627a5107ba72fb80518ae7e",
"body": null,
"is_bot": false,
"headline": "Update required_ruby_version to allow Ruby 4.0",
"author_name": "Takashi Kokubun",
"author_login": "k0kubun",
"committed_at": "2025-11-07T20:40:08Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "f57261619716bb1d0fc9658c45948f8740faed68",
"body": "Release 3.1.0 mergeback",
"is_bot": false,
"headline": "Merge pull request #158 from whomwah/release",
"author_name": "Duncan Robertson",
"author_login": "whomwah",
"committed_at": "2025-04-28T11:16:01Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "b0dbb67657e9af43f6b9a6a37702877dcc7aea3e",
"body": "Releases/v3.1.0",
"is_bot": false,
"headline": "Merge pull request #157 from whomwah/releases/v3.1.0",
"author_name": "Duncan Robertson",
"author_login": "whomwah",
"committed_at": "2025-04-28T11:14:30Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "515cbfa8e80ea959d0c3abe6d6176ad2e642a7d5",
"body": null,
"is_bot": false,
"headline": "chore: Bump version to 3.1.0 and update changelog for new features",
"author_name": "Duncan Robertson",
"author_login": "whomwah",
"committed_at": "2025-04-28T11:05:06Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "953cf5f62f8109fd15891016c12268f4605b552a",
"body": null,
"is_bot": false,
"headline": "fix: Correct changelog link for version 3.0.0",
"author_name": "Duncan Robertson",
"author_login": "whomwah",
"committed_at": "2025-04-27T09:11:48Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "44baeea5884ac49e240bdd77e2643a620c8ffc1f",
"body": null,
"is_bot": false,
"headline": "chore: Update changelog links for version 3.0.0 release",
"author_name": "Duncan Robertson",
"author_login": "whomwah",
"committed_at": "2025-04-27T09:08:24Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "f181cd8dd9f3f415403086ff14cbf9511d6f52f8",
"body": "docs: Update README.md",
"is_bot": false,
"headline": "Merge pull request #155 from whomwah/feat/typos",
"author_name": "Duncan Robertson",
"author_login": "whomwah",
"committed_at": "2025-04-25T13:41:45Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "bd48bcc19fb0b28b6e6eddd4c79c1a91edabaced",
"body": "…G rendering",
"is_bot": false,
"headline": "docs: Update README.md for version 3.0 and add offset_y option for SV…",
"author_name": "Duncan Robertson",
"author_login": "whomwah",
"committed_at": "2025-04-25T13:40:36Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "b488a7e61273b823c8a8c0445ab85a5bb823f279",
"body": "feat: Enhance SVG export with offset_x and offset_y options",
"is_bot": false,
"headline": "Merge pull request #153 from whomwah/feat/offset-150",
"author_name": "Duncan Robertson",
"author_login": "whomwah",
"committed_at": "2025-04-25T13:35:53Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "34bae67b16818686c131086c223c4a581b31222f",
"body": "…r positioning\n\nImplements issue #150",
"is_bot": false,
"headline": "feat: Enhance SVG export with offset_x and offset_y options for bette…",
"author_name": "Duncan Robertson",
"author_login": "whomwah",
"committed_at": "2025-04-25T07:44:25Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "780a26865f663b68646030efb7815e392642b0ac",
"body": "Correct link and version of rqrcode_core in CHANGELOG.md",
"is_bot": false,
"headline": "Merge pull request #154 from prognostikos/patch-1",
"author_name": "Duncan Robertson",
"author_login": "whomwah",
"committed_at": "2025-04-25T07:37:28Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "67d2222a943c24561b2a1cdf7cf258d8beafae1e",
"body": null,
"is_bot": false,
"headline": "Correct link and version of rqrcode_core in CHANGELOG.md",
"author_name": "Matt Rohrer",
"author_login": "prognostikos",
"committed_at": "2025-04-25T05:49:03Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "c40ba0b66f1c5da6fa8f65dd98cda1ae5e50cd3c",
"body": "v3.0.0 Release mergeback",
"is_bot": false,
"headline": "Merge pull request #152 from whomwah/release",
"author_name": "Duncan Robertson",
"author_login": "whomwah",
"committed_at": "2025-04-24T16:07:25Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "c3ca11fd900a1f5b03bac40816d1a7a2e758616f",
"body": "Releases/v3.0.0",
"is_bot": false,
"headline": "Merge pull request #151 from whomwah/releases/v3.0.0",
"author_name": "Duncan Robertson",
"author_login": "whomwah",
"committed_at": "2025-04-24T14:51:24Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "35776e7e42a49fe723b627a26090b5fa166d6943",
"body": null,
"is_bot": false,
"headline": "chore: Bump version to 3.0.0 and update changelog for breaking changes",
"author_name": "Duncan Robertson",
"author_login": "whomwah",
"committed_at": "2025-04-24T14:45:02Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "3371666160aef104f36a6b04b944f6fcfe68bedd",
"body": "chore: Updating dependencies and drop Ruby < 3",
"is_bot": false,
"headline": "Merge pull request #148 from whomwah/feat/upgrades",
"author_name": "Duncan Robertson",
"author_login": "whomwah",
"committed_at": "2025-04-24T14:32:02Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "1b38ec87e416ddc5b29bbb956bc9aef5f7c0c1d4",
"body": null,
"is_bot": false,
"headline": "chore: Update rqrcode_core dependency version to 2.0",
"author_name": "Duncan Robertson",
"author_login": "whomwah",
"committed_at": "2025-04-24T14:30:41Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "6524f30fab9960c35bd5531025e9d04f24b8c711",
"body": "…lity",
"is_bot": false,
"headline": "chore: Update CI configuration and gemspec for Ruby version compatibi…",
"author_name": "Duncan Robertson",
"author_login": "whomwah",
"committed_at": "2025-04-24T14:20:49Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "778dd7a821d4ea6a81748a3f19a1b0898037efc3",
"body": null,
"is_bot": false,
"headline": "chore: Updating dependencies and drop Ruby < 3",
"author_name": "Duncan Robertson",
"author_login": "whomwah",
"committed_at": "2024-10-13T18:21:34Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "e4a5bf2320afdad5906bd33f3af3c73ad7231151",
"body": "Update FUNDING.yml",
"is_bot": false,
"headline": "Merge pull request #147 from whomwah/whomwah-patch-1",
"author_name": "Duncan Robertson",
"author_login": "whomwah",
"committed_at": "2024-09-05T17:01:50Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "38601bac16fb88b03cea0829ea77931c387b49d9",
"body": null,
"is_bot": false,
"headline": "Update FUNDING.yml",
"author_name": "Duncan Robertson",
"author_login": "whomwah",
"committed_at": "2024-09-05T17:00:00Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "5320056d14c60fffe6c771f2918a6dff9f685cb5",
"body": "Various housekeeping updates. Nothing requiring a new release.",
"is_bot": false,
"headline": "Merge pull request #146 from whomwah/feat/updates-sept-24",
"author_name": "Duncan Robertson",
"author_login": "whomwah",
"committed_at": "2024-09-04T11:16:17Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "1bb3a5e40da7641bbadde89108a67e5e1428019a",
"body": null,
"is_bot": false,
"headline": "Newer versions of standard only support Ruby => 3.0.0",
"author_name": "Duncan Robertson",
"author_login": "whomwah",
"committed_at": "2024-09-04T11:08:55Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "e0c93afce5ef7b5fa43e954619554121b32db971",
"body": null,
"is_bot": false,
"headline": "The next release will drop support for Ruby 2.6 (release in 2018)",
"author_name": "Duncan Robertson",
"author_login": "whomwah",
"committed_at": "2024-09-04T10:51:29Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "cd5033e33db3ef7dfc3c0aea6356985a716af88c",
"body": null,
"is_bot": false,
"headline": "Add 3.3 to the test list",
"author_name": "Duncan Robertson",
"author_login": "whomwah",
"committed_at": "2024-09-04T10:35:19Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "7fa27dc2961f2dd80ca708e5caf4028006491b85",
"body": null,
"is_bot": false,
"headline": "We need standard to default to the oldest Ruby we support",
"author_name": "Duncan Robertson",
"author_login": "whomwah",
"committed_at": "2024-09-04T10:35:19Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "e3ce8980d4a02bad20a8cd04bd4911c229d3f1eb",
"body": null,
"is_bot": false,
"headline": "Bring some of the development dependencies up to date",
"author_name": "Duncan Robertson",
"author_login": "whomwah",
"committed_at": "2024-09-04T10:35:18Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "785699943b3581d3aa70b977c998248fcfd399c1",
"body": null,
"is_bot": false,
"headline": "Come on. I created this open source package in 2008",
"author_name": "Duncan Robertson",
"author_login": "whomwah",
"committed_at": "2024-09-04T10:27:29Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "139d279007cda6989fe36f07f5ef173c95fa4173",
"body": null,
"is_bot": false,
"headline": "chore: update README as sample information incorrect",
"author_name": "Duncan Robertson",
"author_login": "whomwah",
"committed_at": "2023-11-03T09:16:44Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "481dac35637f12715c7c4865b20e2862588a2d2a",
"body": "v2.2.0 release",
"is_bot": false,
"headline": "Merge pull request #136 from whomwah/dr-2.2.0",
"author_name": "Duncan Robertson",
"author_login": "whomwah",
"committed_at": "2023-05-17T09:23:36Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "6223c5840d9d0a4ec6bdc8724546264745758a4b",
"body": null,
"is_bot": false,
"headline": "v2.2.0 release",
"author_name": "Duncan Robertson",
"author_login": "whomwah",
"committed_at": "2023-05-17T08:51:25Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "36986d55e69c7ac5ab184fd39fc16298a5f1ce85",
"body": "Improve to_png `color` and `fill` option handling",
"is_bot": false,
"headline": "Merge pull request #135 from whomwah/colour-extension",
"author_name": "Duncan Robertson",
"author_login": "whomwah",
"committed_at": "2023-05-16T16:06:15Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "199719a5eb424471d47800782864412ffe847a57",
"body": null,
"is_bot": false,
"headline": "Improve to_png `color` and `fill` option handling",
"author_name": "Duncan Robertson",
"author_login": "whomwah",
"committed_at": "2023-05-16T16:00:12Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "a8196ce8a647db2af99a899bc5d06ee218534e6d",
"body": "Add Ruby 3.2 to CI.",
"is_bot": false,
"headline": "Merge pull request #133 from petergoldstein/feature/add_ruby_3_2_to_ci",
"author_name": "Duncan Robertson",
"author_login": "whomwah",
"committed_at": "2023-04-16T19:13:55Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "b47e1d2d16185a2877521003b8ca117682f08b91",
"body": null,
"is_bot": false,
"headline": "Add Ruby 3.2 to CI.",
"author_name": "Peter Goldstein",
"author_login": "petergoldstein",
"committed_at": "2023-03-19T18:21:27Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "8af2f6991b04680ed12ad22492cdfd383129c0d9",
"body": "Dependency upgrades",
"is_bot": false,
"headline": "Merge pull request #130 from whomwah/3-2-build-test",
"author_name": "Duncan Robertson",
"author_login": "whomwah",
"committed_at": "2023-01-03T10:17:10Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "9bf444b1d1a205bb27fb40e6dccb7e7264b1f520",
"body": null,
"is_bot": false,
"headline": "Dependency upgrades",
"author_name": "Duncan Robertson",
"author_login": "whomwah",
"committed_at": "2022-12-21T14:55:44Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "843bf79c089638ab16df52b5b84fa89b08591b16",
"body": null,
"is_bot": false,
"headline": "README fix",
"author_name": "Duncan Robertson",
"author_login": "whomwah",
"committed_at": "2022-07-26T11:22:32Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "b3b6b5a71fe126211e8b5cbf99fe7ab52d688c1b",
"body": "v2.1.2 release",
"is_bot": false,
"headline": "Merge pull request #129 from whomwah/dr-2.1.2",
"author_name": "Duncan Robertson",
"author_login": "whomwah",
"committed_at": "2022-07-26T10:17:28Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "58f0c4c44173903d4a4d43d1d84b204995c63f81",
"body": null,
"is_bot": false,
"headline": "v2.1.2 release",
"author_name": "Duncan Robertson",
"author_login": "whomwah",
"committed_at": "2022-07-26T10:13:08Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "e9fb0e06231dfacbed36afbe0fd949bede4cf931",
"body": "Remove setup script as it just calls bundle install",
"is_bot": false,
"headline": "Merge pull request #128 from whomwah/dr-setup",
"author_name": "Duncan Robertson",
"author_login": "whomwah",
"committed_at": "2022-07-26T10:05:55Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "b9f6e568aa1e471e5ac62aeae1d86b5108c2bff4",
"body": null,
"is_bot": false,
"headline": "Remove setup script as it just calls bundle install",
"author_name": "Duncan Robertson",
"author_login": "whomwah",
"committed_at": "2022-07-26T09:59:10Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "469651e4dcf061594627b250de6657617379dedc",
"body": "…ttribute-to-fix-strict-csp\n\nChange inline styles to the fill property to allow for strict CSP style-src directive",
"is_bot": false,
"headline": "Merge pull request #127 from Jonakemon/feature/inline-style-to-fill-a…",
"author_name": "Duncan Robertson",
"author_login": "whomwah",
"committed_at": "2022-07-26T09:54:17Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "e38fc821ccb5d7b8f8c2969950e489181402cc94",
"body": null,
"is_bot": false,
"headline": "Change inline styles to the fill property",
"author_name": "Jonakemon",
"author_login": "Jonakemon",
"committed_at": "2022-07-24T18:58:57Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "489d2c75d8c6a1a0d51a98b4eb95a29d8add6a99",
"body": "v2.1.1 release",
"is_bot": false,
"headline": "Merge pull request #123 from whomwah/dr-bump-release",
"author_name": "Duncan Robertson",
"author_login": "whomwah",
"committed_at": "2022-02-11T10:57:00Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "ccc9e71666d06453132854e0ab9ea0af7161b258",
"body": null,
"is_bot": false,
"headline": "v2.1.1 release",
"author_name": "Duncan Robertson",
"author_login": "whomwah",
"committed_at": "2022-02-11T10:55:10Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "bdaeea78f9ddaadcbd09e1e5f4c54b00e52efb16",
"body": "Add support for named colors in svg export",
"is_bot": false,
"headline": "Merge pull request #122 from phoozle/svg-named-colors",
"author_name": "Duncan Robertson",
"author_login": "whomwah",
"committed_at": "2022-02-11T10:33:28Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "a90a37b58aade657857c1a3b7f1c5bd2e1088aa9",
"body": null,
"is_bot": false,
"headline": "Update CHANGELOG.md",
"author_name": "Matthew Croall",
"author_login": "phoozle",
"committed_at": "2022-02-08T05:26:13Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "421953b8223a6f81df897ef4d855e6bf04c19ebb",
"body": null,
"is_bot": false,
"headline": "Add support for named colors in svg export",
"author_name": "Matthew Croall",
"author_login": null,
"committed_at": "2022-01-18T01:11:27Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "a9e9149b028f056d90484771fbe94673f840fd4e",
"body": "Upgrade StandardRB dependencies and CI support for Ruby 3.1",
"is_bot": false,
"headline": "Merge pull request #121 from whomwah/dr-ci-3-1",
"author_name": "Duncan Robertson",
"author_login": "whomwah",
"committed_at": "2022-01-07T13:08:43Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "ef1d4faf23651669a7e1e1831b76804ef7463173",
"body": null,
"is_bot": false,
"headline": "Test Ruby 3.1",
"author_name": "Duncan Robertson",
"author_login": "whomwah",
"committed_at": "2022-01-07T13:04:58Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "4f9b952cbc2ec45819383fee60b6314bc3525b34",
"body": null,
"is_bot": false,
"headline": "Upgrade standardRB dependencies",
"author_name": "Duncan Robertson",
"author_login": "whomwah",
"committed_at": "2022-01-07T13:04:50Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "e264a827c31d9ad05d39a4ffc1278a70eb45d902",
"body": "Bump release 2.1.0 and sync to rqrcode_core 1.2.0",
"is_bot": false,
"headline": "Merge pull request #120 from whomwah/dr-multimode-2.1.0",
"author_name": "Duncan Robertson",
"author_login": "whomwah",
"committed_at": "2021-08-26T10:04:37Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "9feb17c4150b3b391d91bb22ebaf461931a1c0ca",
"body": null,
"is_bot": false,
"headline": "Bump release and sync to rqrcode_core 1.2.0",
"author_name": "Duncan Robertson",
"author_login": "whomwah",
"committed_at": "2021-08-26T10:02:01Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "75adef9bfbc5db470b5c950d15b4c548013922b5",
"body": "Fix minor typo in README",
"is_bot": false,
"headline": "Merge pull request #119 from ebcagadas/master",
"author_name": "Duncan Robertson",
"author_login": "whomwah",
"committed_at": "2021-08-26T09:44:46Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "fbf0864792c176ea622c122687598e4321f9fa43",
"body": null,
"is_bot": false,
"headline": "Fix minor typo in README",
"author_name": "Emmanuel Cagadas",
"author_login": "ebcagadas",
"committed_at": "2021-08-12T02:53:10Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "146447b446cdd5cdd0c8e340ea3d8cc316873076",
"body": "Add standard and sync core version",
"is_bot": false,
"headline": "Merge pull request #118 from whomwah/dr-standard",
"author_name": "Duncan Robertson",
"author_login": "whomwah",
"committed_at": "2021-07-01T10:17:31Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "b1fe99d6a5a532e20d75bb088599058d970f2f99",
"body": null,
"is_bot": false,
"headline": "Add standard badge",
"author_name": "Duncan Robertson",
"author_login": "whomwah",
"committed_at": "2021-07-01T10:15:38Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "18e99ce2808b86df8f19b75dcefc87cd79d60e42",
"body": null,
"is_bot": false,
"headline": "Sync version in Gemfile.lock",
"author_name": "Duncan Robertson",
"author_login": "whomwah",
"committed_at": "2021-07-01T10:12:33Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "13d771343d0590f3282cfdf5bde4fc5cd07f1570",
"body": "Add metadata for RubyGems to gemspec",
"is_bot": false,
"headline": "Merge pull request #116 from nickhammond/patch-1",
"author_name": "Duncan Robertson",
"author_login": "whomwah",
"committed_at": "2021-05-20T10:22:00Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "c2c4c35dca63fac4ec094bc0342a8f8e3fcce2a9",
"body": "Tried to be smart and used Github `suggested change` which was not as expected.",
"is_bot": false,
"headline": "Fix my previous commit!",
"author_name": "Duncan Robertson",
"author_login": "whomwah",
"committed_at": "2021-05-20T10:18:39Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "d5e5df1ec8adcff6f7167d80ba3aab5db1a27525",
"body": null,
"is_bot": false,
"headline": "Update rqrcode.gemspec to fix linting",
"author_name": "Duncan Robertson",
"author_login": "whomwah",
"committed_at": "2021-05-20T10:14:44Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "66d1a23b6c64a22dc90ce4dd910c5ed6c2f24bf9",
"body": null,
"is_bot": false,
"headline": "Clarify a few things in README after seeing lib in Ruby Weekly",
"author_name": "Duncan Robertson",
"author_login": "whomwah",
"committed_at": "2021-05-14T07:39:05Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "a66a5c1547c648246c562bcfa111c24bcd979ef6",
"body": "…name\n\nChange mentions of `to_svg` to `as_svg` in CHANGELOG.",
"is_bot": false,
"headline": "Merge pull request #117 from the-float-yard/correct-changelog-method-…",
"author_name": "Duncan Robertson",
"author_login": "whomwah",
"committed_at": "2021-05-10T20:10:32Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "aea28a1c38cd7d38e0bd936fc54ad096d61acd45",
"body": "`to_svg` doesn't exist.",
"is_bot": false,
"headline": "Change mentions of `to_svg` to `as_svg`.",
"author_name": "Martin McNickle",
"author_login": null,
"committed_at": "2021-05-10T11:58:34Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "81e42e5a7b8a9286ff9e67428cb443d73fd7e8f6",
"body": "Add a direct link to the Changelog from RubyGems to help with upgrading\r\n\r\nReference: https://guides.rubygems.org/specification-reference/#metadata",
"is_bot": false,
"headline": "Add metadata for RubyGems to gemspec",
"author_name": "Nick Hammond",
"author_login": "nickhammond",
"committed_at": "2021-05-06T22:45:35Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "480794e410c140032f40fe155f5c39423e4d71eb",
"body": null,
"is_bot": false,
"headline": "update possibly confusing README info (svg_attributes is {} by default)",
"author_name": "Duncan Robertson",
"author_login": "whomwah",
"committed_at": "2021-05-06T10:28:59Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "309c11caf3e8b10bf657fbf5458fc78ddfdb84a5",
"body": "Release 2.0.0",
"is_bot": false,
"headline": "Merge pull request #115 from whomwah/dr-release-2.0.0",
"author_name": "Duncan Robertson",
"author_login": "whomwah",
"committed_at": "2021-05-06T10:14:11Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "c65202a6fb8284ed2ab0cdf454ecddab7885d82f",
"body": null,
"is_bot": false,
"headline": "Update README and CHANGE",
"author_name": "Duncan Robertson",
"author_login": "whomwah",
"committed_at": "2021-05-06T10:07:06Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "c2de15c9b353bf37d5f8d92a53df45ed3180500e",
"body": null,
"is_bot": false,
"headline": "Update bundler open-ended dependency",
"author_name": "Duncan Robertson",
"author_login": "whomwah",
"committed_at": "2021-05-06T09:34:37Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "f15f61e1c2aca1fa840c15fe5a7ef619c250124f",
"body": "https://bundler.io/v1.16/guides/faq.html#committing-lockfiles-in-libraries",
"is_bot": false,
"headline": "Add Gemfile.lock to project",
"author_name": "Duncan Robertson",
"author_login": "whomwah",
"committed_at": "2021-05-06T09:34:37Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "e83d5a30c3a47f9835972cfdd879c38dd498a3cc",
"body": null,
"is_bot": false,
"headline": "Update changelog",
"author_name": "Duncan Robertson",
"author_login": "whomwah",
"committed_at": "2021-05-06T09:34:37Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "37c901a0ffb82cba7b001fa3f578edab54e06b14",
"body": null,
"is_bot": false,
"headline": "Add changelog (#114)",
"author_name": "Duncan Robertson",
"author_login": "whomwah",
"committed_at": "2021-05-06T09:34:37Z",
"body_truncated": false,
"is_coding_agent": false
}
],
"releases_count": 10,
"commits_last_year": 28,
"latest_release_at": "2026-01-08T19:48:33Z",
"latest_release_tag": "v3.2.0",
"releases_from_tags": false,
"days_since_last_push": 50,
"active_weeks_last_year": 8,
"days_since_latest_release": 194,
"mean_days_between_releases": 263.7
},
"community": {
"has_readme": true,
"has_license": true,
"has_description": true,
"has_contributing": false,
"health_percentage": 42,
"has_issue_template": false,
"has_code_of_conduct": false,
"has_pull_request_template": false
},
"ecosystem": {
"packages": [
{
"name": "rqrcode",
"exists": true,
"license": "MIT",
"keywords": [],
"ecosystem": "rubygems",
"matches_repo": true,
"registry_url": "https://rubygems.org/gems/rqrcode",
"is_deprecated": false,
"latest_version": "3.2.0",
"repository_url": "https://github.com/whomwah/rqrcode",
"versions_count": 34,
"total_downloads": 124237534,
"dependents_count": null,
"deprecation_note": null,
"maintainers_count": null,
"monthly_downloads": null,
"first_published_at": "2009-07-25T17:56:57Z",
"latest_published_at": "2026-01-08T19:37:15.781000Z",
"latest_version_yanked": null,
"days_since_latest_publish": 194
}
]
},
"popularity": {
"forks": 241,
"stars": 1998,
"watchers": 27,
"fork_history": {
"days": [
{
"date": "2009-03-15",
"count": 1
},
{
"date": "2009-09-11",
"count": 1
},
{
"date": "2010-03-31",
"count": 1
},
{
"date": "2010-11-13",
"count": 1
},
{
"date": "2011-04-20",
"count": 1
},
{
"date": "2011-05-22",
"count": 1
},
{
"date": "2011-06-27",
"count": 1
},
{
"date": "2011-07-11",
"count": 1
},
{
"date": "2011-08-13",
"count": 1
},
{
"date": "2011-09-16",
"count": 1
},
{
"date": "2011-09-20",
"count": 1
},
{
"date": "2011-10-17",
"count": 1
},
{
"date": "2011-11-07",
"count": 1
},
{
"date": "2012-01-31",
"count": 1
},
{
"date": "2012-02-19",
"count": 1
},
{
"date": "2012-03-02",
"count": 1
},
{
"date": "2012-03-24",
"count": 1
},
{
"date": "2012-03-25",
"count": 1
},
{
"date": "2012-04-23",
"count": 1
},
{
"date": "2012-05-14",
"count": 1
},
{
"date": "2012-05-15",
"count": 1
},
{
"date": "2012-11-20",
"count": 1
},
{
"date": "2012-11-29",
"count": 1
},
{
"date": "2013-01-11",
"count": 1
},
{
"date": "2013-02-04",
"count": 1
},
{
"date": "2013-02-24",
"count": 1
},
{
"date": "2013-02-27",
"count": 1
},
{
"date": "2013-04-24",
"count": 1
},
{
"date": "2013-05-18",
"count": 1
},
{
"date": "2013-09-19",
"count": 1
},
{
"date": "2013-10-04",
"count": 1
},
{
"date": "2013-10-10",
"count": 1
},
{
"date": "2013-10-22",
"count": 1
},
{
"date": "2013-11-04",
"count": 1
},
{
"date": "2013-11-08",
"count": 1
},
{
"date": "2013-12-30",
"count": 1
},
{
"date": "2014-03-01",
"count": 1
},
{
"date": "2014-03-03",
"count": 1
},
{
"date": "2014-04-06",
"count": 1
},
{
"date": "2014-05-12",
"count": 1
},
{
"date": "2014-06-20",
"count": 1
},
{
"date": "2014-07-10",
"count": 2
},
{
"date": "2014-11-08",
"count": 1
},
{
"date": "2014-11-23",
"count": 1
},
{
"date": "2014-12-23",
"count": 1
},
{
"date": "2015-05-31",
"count": 1
},
{
"date": "2015-06-04",
"count": 1
},
{
"date": "2015-06-06",
"count": 1
},
{
"date": "2015-07-06",
"count": 1
},
{
"date": "2015-07-17",
"count": 1
},
{
"date": "2015-08-12",
"count": 1
},
{
"date": "2015-08-20",
"count": 1
},
{
"date": "2015-09-25",
"count": 2
},
{
"date": "2015-10-11",
"count": 1
},
{
"date": "2015-11-01",
"count": 1
},
{
"date": "2015-12-08",
"count": 1
},
{
"date": "2015-12-17",
"count": 1
},
{
"date": "2015-12-30",
"count": 1
},
{
"date": "2016-01-02",
"count": 1
},
{
"date": "2016-02-09",
"count": 1
},
{
"date": "2016-02-26",
"count": 2
},
{
"date": "2016-03-11",
"count": 1
},
{
"date": "2016-03-18",
"count": 1
},
{
"date": "2016-04-15",
"count": 1
},
{
"date": "2016-07-18",
"count": 1
},
{
"date": "2016-07-31",
"count": 1
},
{
"date": "2016-08-07",
"count": 1
},
{
"date": "2016-08-12",
"count": 1
},
{
"date": "2016-09-08",
"count": 1
},
{
"date": "2016-11-15",
"count": 1
},
{
"date": "2016-12-04",
"count": 1
},
{
"date": "2016-12-14",
"count": 1
},
{
"date": "2016-12-19",
"count": 1
},
{
"date": "2016-12-20",
"count": 1
},
{
"date": "2017-01-13",
"count": 1
},
{
"date": "2017-01-19",
"count": 1
},
{
"date": "2017-01-25",
"count": 1
},
{
"date": "2017-01-28",
"count": 1
},
{
"date": "2017-02-17",
"count": 1
},
{
"date": "2017-03-05",
"count": 1
},
{
"date": "2017-03-17",
"count": 1
},
{
"date": "2017-04-06",
"count": 1
},
{
"date": "2017-04-09",
"count": 1
},
{
"date": "2017-05-07",
"count": 1
},
{
"date": "2017-05-08",
"count": 1
},
{
"date": "2017-08-02",
"count": 1
},
{
"date": "2017-08-06",
"count": 1
},
{
"date": "2017-09-08",
"count": 1
},
{
"date": "2017-09-19",
"count": 1
},
{
"date": "2017-10-04",
"count": 1
},
{
"date": "2017-11-29",
"count": 1
},
{
"date": "2017-12-08",
"count": 1
},
{
"date": "2018-02-26",
"count": 1
},
{
"date": "2018-03-23",
"count": 1
},
{
"date": "2018-05-18",
"count": 1
},
{
"date": "2018-05-22",
"count": 1
},
{
"date": "2018-06-25",
"count": 1
},
{
"date": "2018-06-30",
"count": 1
},
{
"date": "2018-08-16",
"count": 1
},
{
"date": "2018-08-17",
"count": 1
},
{
"date": "2018-09-28",
"count": 1
},
{
"date": "2018-10-16",
"count": 1
},
{
"date": "2018-11-30",
"count": 1
},
{
"date": "2019-01-11",
"count": 1
},
{
"date": "2019-01-30",
"count": 1
},
{
"date": "2019-02-11",
"count": 1
},
{
"date": "2019-02-19",
"count": 1
},
{
"date": "2019-03-20",
"count": 1
},
{
"date": "2019-04-05",
"count": 1
},
{
"date": "2019-04-13",
"count": 1
},
{
"date": "2019-04-18",
"count": 1
},
{
"date": "2019-04-22",
"count": 1
},
{
"date": "2019-05-24",
"count": 1
},
{
"date": "2019-05-31",
"count": 1
},
{
"date": "2019-06-07",
"count": 1
},
{
"date": "2019-07-12",
"count": 1
},
{
"date": "2019-07-24",
"count": 1
},
{
"date": "2019-08-19",
"count": 1
},
{
"date": "2019-08-20",
"count": 1
},
{
"date": "2019-09-17",
"count": 1
},
{
"date": "2019-09-18",
"count": 1
},
{
"date": "2019-10-03",
"count": 1
},
{
"date": "2019-10-05",
"count": 1
},
{
"date": "2019-10-29",
"count": 1
},
{
"date": "2019-11-11",
"count": 1
},
{
"date": "2019-11-17",
"count": 1
},
{
"date": "2019-12-11",
"count": 1
},
{
"date": "2019-12-17",
"count": 1
},
{
"date": "2020-01-01",
"count": 1
},
{
"date": "2020-01-21",
"count": 1
},
{
"date": "2020-01-22",
"count": 1
},
{
"date": "2020-02-14",
"count": 1
},
{
"date": "2020-02-19",
"count": 1
},
{
"date": "2020-03-04",
"count": 2
},
{
"date": "2020-03-19",
"count": 1
},
{
"date": "2020-04-18",
"count": 1
},
{
"date": "2020-04-26",
"count": 1
},
{
"date": "2020-05-27",
"count": 1
},
{
"date": "2020-06-19",
"count": 1
},
{
"date": "2020-06-25",
"count": 1
},
{
"date": "2020-06-30",
"count": 2
},
{
"date": "2020-07-01",
"count": 1
},
{
"date": "2020-07-18",
"count": 1
},
{
"date": "2020-08-06",
"count": 1
},
{
"date": "2020-08-23",
"count": 1
},
{
"date": "2020-09-11",
"count": 1
},
{
"date": "2020-09-18",
"count": 1
},
{
"date": "2020-09-29",
"count": 2
},
{
"date": "2020-10-22",
"count": 1
},
{
"date": "2020-10-24",
"count": 1
},
{
"date": "2020-10-29",
"count": 1
},
{
"date": "2020-12-11",
"count": 1
},
{
"date": "2020-12-15",
"count": 1
},
{
"date": "2020-12-17",
"count": 1
},
{
"date": "2020-12-25",
"count": 1
},
{
"date": "2021-01-08",
"count": 1
},
{
"date": "2021-01-14",
"count": 1
},
{
"date": "2021-03-12",
"count": 1
},
{
"date": "2021-03-15",
"count": 1
},
{
"date": "2021-03-29",
"count": 1
},
{
"date": "2021-04-20",
"count": 1
},
{
"date": "2021-05-06",
"count": 1
},
{
"date": "2021-05-10",
"count": 1
},
{
"date": "2021-05-23",
"count": 1
},
{
"date": "2021-05-27",
"count": 1
},
{
"date": "2021-05-31",
"count": 1
},
{
"date": "2021-07-08",
"count": 1
},
{
"date": "2021-07-13",
"count": 1
},
{
"date": "2021-07-18",
"count": 1
},
{
"date": "2021-07-22",
"count": 1
},
{
"date": "2021-07-26",
"count": 1
},
{
"date": "2021-08-12",
"count": 1
},
{
"date": "2021-08-18",
"count": 1
},
{
"date": "2021-08-25",
"count": 1
},
{
"date": "2021-09-23",
"count": 1
},
{
"date": "2022-01-18",
"count": 1
},
{
"date": "2022-03-08",
"count": 1
},
{
"date": "2022-03-09",
"count": 1
},
{
"date": "2022-03-18",
"count": 1
},
{
"date": "2022-03-19",
"count": 1
},
{
"date": "2022-03-25",
"count": 1
},
{
"date": "2022-04-03",
"count": 1
},
{
"date": "2022-05-05",
"count": 1
},
{
"date": "2022-05-10",
"count": 1
},
{
"date": "2022-08-09",
"count": 1
},
{
"date": "2022-10-20",
"count": 1
},
{
"date": "2022-11-07",
"count": 1
},
{
"date": "2023-02-08",
"count": 1
},
{
"date": "2023-05-24",
"count": 1
},
{
"date": "2023-07-18",
"count": 1
},
{
"date": "2023-07-24",
"count": 1
},
{
"date": "2023-11-25",
"count": 2
},
{
"date": "2024-04-04",
"count": 1
},
{
"date": "2024-04-09",
"count": 1
},
{
"date": "2024-07-12",
"count": 1
},
{
"date": "2024-09-09",
"count": 1
},
{
"date": "2025-01-12",
"count": 1
},
{
"date": "2025-04-10",
"count": 1
},
{
"date": "2025-04-25",
"count": 1
},
{
"date": "2025-10-24",
"count": 1
},
{
"date": "2025-11-07",
"count": 1
},
{
"date": "2025-11-22",
"count": 1
},
{
"date": "2026-03-03",
"count": 2
},
{
"date": "2026-05-21",
"count": 1
},
{
"date": "2026-06-02",
"count": 1
},
{
"date": "2026-06-12",
"count": 1
},
{
"date": "2026-06-26",
"count": 1
}
],
"complete": true,
"collected": 215,
"total_forks": 241
},
"star_history": {
"days": [
{
"date": "2019-07-10",
"count": 1
},
{
"date": "2019-07-11",
"count": 1
},
{
"date": "2019-07-12",
"count": 1
},
{
"date": "2019-07-15",
"count": 1
},
{
"date": "2019-07-17",
"count": 1
},
{
"date": "2019-07-21",
"count": 1
},
{
"date": "2019-07-22",
"count": 1
},
{
"date": "2019-07-24",
"count": 1
},
{
"date": "2019-07-25",
"count": 1
},
{
"date": "2019-07-30",
"count": 1
},
{
"date": "2019-07-31",
"count": 1
},
{
"date": "2019-08-01",
"count": 2
},
{
"date": "2019-08-08",
"count": 1
},
{
"date": "2019-08-13",
"count": 2
},
{
"date": "2019-08-14",
"count": 1
},
{
"date": "2019-08-22",
"count": 2
},
{
"date": "2019-08-23",
"count": 1
},
{
"date": "2019-08-24",
"count": 1
},
{
"date": "2019-08-25",
"count": 1
},
{
"date": "2019-08-28",
"count": 2
},
{
"date": "2019-08-29",
"count": 1
},
{
"date": "2019-08-31",
"count": 1
},
{
"date": "2019-09-05",
"count": 1
},
{
"date": "2019-09-06",
"count": 1
},
{
"date": "2019-09-09",
"count": 2
},
{
"date": "2019-09-17",
"count": 2
},
{
"date": "2019-09-18",
"count": 1
},
{
"date": "2019-09-19",
"count": 17
},
{
"date": "2019-09-20",
"count": 13
},
{
"date": "2019-09-21",
"count": 9
},
{
"date": "2019-09-22",
"count": 2
},
{
"date": "2019-09-23",
"count": 6
},
{
"date": "2019-09-24",
"count": 3
},
{
"date": "2019-09-25",
"count": 2
},
{
"date": "2019-09-26",
"count": 1
},
{
"date": "2019-09-27",
"count": 3
},
{
"date": "2019-09-29",
"count": 1
},
{
"date": "2019-10-02",
"count": 2
},
{
"date": "2019-10-03",
"count": 1
},
{
"date": "2019-10-04",
"count": 1
},
{
"date": "2019-10-05",
"count": 1
},
{
"date": "2019-10-06",
"count": 2
},
{
"date": "2019-10-08",
"count": 2
},
{
"date": "2019-10-12",
"count": 1
},
{
"date": "2019-10-13",
"count": 1
},
{
"date": "2019-10-14",
"count": 1
},
{
"date": "2019-10-17",
"count": 1
},
{
"date": "2019-10-21",
"count": 2
},
{
"date": "2019-10-22",
"count": 1
},
{
"date": "2019-10-23",
"count": 1
},
{
"date": "2019-10-24",
"count": 1
},
{
"date": "2019-10-31",
"count": 1
},
{
"date": "2019-11-02",
"count": 1
},
{
"date": "2019-11-05",
"count": 1
},
{
"date": "2019-11-06",
"count": 1
},
{
"date": "2019-11-08",
"count": 1
},
{
"date": "2019-11-09",
"count": 1
},
{
"date": "2019-11-15",
"count": 2
},
{
"date": "2019-11-16",
"count": 1
},
{
"date": "2019-11-19",
"count": 3
},
{
"date": "2019-11-22",
"count": 1
},
{
"date": "2019-11-26",
"count": 2
},
{
"date": "2019-11-29",
"count": 2
},
{
"date": "2019-11-30",
"count": 1
},
{
"date": "2019-12-02",
"count": 2
},
{
"date": "2019-12-05",
"count": 1
},
{
"date": "2019-12-06",
"count": 1
},
{
"date": "2019-12-08",
"count": 1
},
{
"date": "2019-12-10",
"count": 1
},
{
"date": "2019-12-14",
"count": 1
},
{
"date": "2019-12-16",
"count": 1
},
{
"date": "2019-12-19",
"count": 1
},
{
"date": "2019-12-22",
"count": 1
},
{
"date": "2019-12-23",
"count": 1
},
{
"date": "2019-12-24",
"count": 1
},
{
"date": "2019-12-28",
"count": 1
},
{
"date": "2019-12-30",
"count": 1
},
{
"date": "2019-12-31",
"count": 1
},
{
"date": "2020-01-05",
"count": 1
},
{
"date": "2020-01-07",
"count": 2
},
{
"date": "2020-01-12",
"count": 1
},
{
"date": "2020-01-13",
"count": 2
},
{
"date": "2020-01-14",
"count": 1
},
{
"date": "2020-01-18",
"count": 1
},
{
"date": "2020-01-20",
"count": 1
},
{
"date": "2020-01-22",
"count": 2
},
{
"date": "2020-01-29",
"count": 1
},
{
"date": "2020-01-31",
"count": 1
},
{
"date": "2020-02-06",
"count": 2
},
{
"date": "2020-02-10",
"count": 1
},
{
"date": "2020-02-19",
"count": 1
},
{
"date": "2020-02-24",
"count": 1
},
{
"date": "2020-02-27",
"count": 2
},
{
"date": "2020-03-02",
"count": 2
},
{
"date": "2020-03-04",
"count": 1
},
{
"date": "2020-03-05",
"count": 1
},
{
"date": "2020-03-10",
"count": 2
},
{
"date": "2020-03-16",
"count": 1
},
{
"date": "2020-03-17",
"count": 2
},
{
"date": "2020-03-18",
"count": 1
},
{
"date": "2020-03-19",
"count": 1
},
{
"date": "2020-03-23",
"count": 1
},
{
"date": "2020-03-24",
"count": 1
},
{
"date": "2020-04-01",
"count": 1
},
{
"date": "2020-04-02",
"count": 2
},
{
"date": "2020-04-06",
"count": 1
},
{
"date": "2020-04-11",
"count": 1
},
{
"date": "2020-04-12",
"count": 1
},
{
"date": "2020-04-14",
"count": 1
},
{
"date": "2020-04-17",
"count": 1
},
{
"date": "2020-04-20",
"count": 1
},
{
"date": "2020-04-21",
"count": 1
},
{
"date": "2020-04-22",
"count": 2
},
{
"date": "2020-04-26",
"count": 2
},
{
"date": "2020-04-27",
"count": 1
},
{
"date": "2020-05-01",
"count": 1
},
{
"date": "2020-05-06",
"count": 1
},
{
"date": "2020-05-08",
"count": 1
},
{
"date": "2020-05-12",
"count": 2
},
{
"date": "2020-05-14",
"count": 2
},
{
"date": "2020-05-15",
"count": 2
},
{
"date": "2020-05-17",
"count": 1
},
{
"date": "2020-05-18",
"count": 1
},
{
"date": "2020-05-20",
"count": 1
},
{
"date": "2020-05-22",
"count": 2
},
{
"date": "2020-05-25",
"count": 1
},
{
"date": "2020-05-28",
"count": 1
},
{
"date": "2020-05-29",
"count": 1
},
{
"date": "2020-06-01",
"count": 1
},
{
"date": "2020-06-03",
"count": 1
},
{
"date": "2020-06-11",
"count": 1
},
{
"date": "2020-06-17",
"count": 1
},
{
"date": "2020-06-22",
"count": 1
},
{
"date": "2020-06-23",
"count": 1
},
{
"date": "2020-06-24",
"count": 2
},
{
"date": "2020-06-25",
"count": 1
},
{
"date": "2020-06-27",
"count": 1
},
{
"date": "2020-06-29",
"count": 2
},
{
"date": "2020-06-30",
"count": 2
},
{
"date": "2020-07-06",
"count": 1
},
{
"date": "2020-07-07",
"count": 1
},
{
"date": "2020-07-08",
"count": 1
},
{
"date": "2020-07-14",
"count": 2
},
{
"date": "2020-07-20",
"count": 1
},
{
"date": "2020-07-22",
"count": 1
},
{
"date": "2020-07-25",
"count": 1
},
{
"date": "2020-07-26",
"count": 1
},
{
"date": "2020-07-27",
"count": 1
},
{
"date": "2020-07-30",
"count": 1
},
{
"date": "2020-08-02",
"count": 1
},
{
"date": "2020-08-05",
"count": 1
},
{
"date": "2020-08-07",
"count": 2
},
{
"date": "2020-08-08",
"count": 1
},
{
"date": "2020-08-10",
"count": 2
},
{
"date": "2020-08-12",
"count": 3
},
{
"date": "2020-08-18",
"count": 2
},
{
"date": "2020-08-20",
"count": 1
},
{
"date": "2020-08-21",
"count": 1
},
{
"date": "2020-08-24",
"count": 1
},
{
"date": "2020-08-25",
"count": 1
},
{
"date": "2020-08-31",
"count": 1
},
{
"date": "2020-09-03",
"count": 2
},
{
"date": "2020-09-04",
"count": 1
},
{
"date": "2020-09-05",
"count": 1
},
{
"date": "2020-09-07",
"count": 2
},
{
"date": "2020-09-09",
"count": 1
},
{
"date": "2020-09-10",
"count": 1
},
{
"date": "2020-09-11",
"count": 3
},
{
"date": "2020-09-14",
"count": 1
},
{
"date": "2020-09-15",
"count": 1
},
{
"date": "2020-09-17",
"count": 1
},
{
"date": "2020-09-18",
"count": 2
},
{
"date": "2020-09-21",
"count": 2
},
{
"date": "2020-09-23",
"count": 1
},
{
"date": "2020-09-29",
"count": 1
},
{
"date": "2020-09-30",
"count": 3
},
{
"date": "2020-10-01",
"count": 2
},
{
"date": "2020-10-02",
"count": 1
},
{
"date": "2020-10-10",
"count": 3
},
{
"date": "2020-10-13",
"count": 1
},
{
"date": "2020-10-21",
"count": 1
},
{
"date": "2020-10-22",
"count": 1
},
{
"date": "2020-10-23",
"count": 1
},
{
"date": "2020-10-24",
"count": 2
},
{
"date": "2020-10-28",
"count": 1
},
{
"date": "2020-11-06",
"count": 1
},
{
"date": "2020-11-07",
"count": 2
},
{
"date": "2020-11-12",
"count": 3
},
{
"date": "2020-11-15",
"count": 1
},
{
"date": "2020-11-16",
"count": 1
},
{
"date": "2020-11-19",
"count": 1
},
{
"date": "2020-11-22",
"count": 1
},
{
"date": "2020-11-25",
"count": 1
},
{
"date": "2020-12-01",
"count": 1
},
{
"date": "2020-12-09",
"count": 1
},
{
"date": "2020-12-12",
"count": 1
},
{
"date": "2020-12-14",
"count": 2
},
{
"date": "2020-12-15",
"count": 1
},
{
"date": "2020-12-21",
"count": 1
},
{
"date": "2020-12-22",
"count": 1
},
{
"date": "2020-12-23",
"count": 2
},
{
"date": "2020-12-27",
"count": 1
},
{
"date": "2020-12-29",
"count": 2
},
{
"date": "2021-01-05",
"count": 2
},
{
"date": "2021-01-11",
"count": 1
},
{
"date": "2021-01-14",
"count": 1
},
{
"date": "2021-01-15",
"count": 1
},
{
"date": "2021-01-16",
"count": 2
},
{
"date": "2021-01-17",
"count": 1
},
{
"date": "2021-01-19",
"count": 1
},
{
"date": "2021-01-20",
"count": 1
},
{
"date": "2021-01-25",
"count": 1
},
{
"date": "2021-01-26",
"count": 2
},
{
"date": "2021-01-30",
"count": 1
},
{
"date": "2021-02-03",
"count": 1
},
{
"date": "2021-02-06",
"count": 1
},
{
"date": "2021-02-08",
"count": 1
},
{
"date": "2021-02-09",
"count": 2
},
{
"date": "2021-02-14",
"count": 1
},
{
"date": "2021-02-15",
"count": 1
},
{
"date": "2021-02-16",
"count": 1
},
{
"date": "2021-02-18",
"count": 1
},
{
"date": "2021-02-22",
"count": 1
},
{
"date": "2021-02-28",
"count": 2
},
{
"date": "2021-03-07",
"count": 1
},
{
"date": "2021-03-10",
"count": 1
},
{
"date": "2021-03-11",
"count": 1
},
{
"date": "2021-03-16",
"count": 1
},
{
"date": "2021-03-19",
"count": 1
},
{
"date": "2021-03-24",
"count": 2
},
{
"date": "2021-03-29",
"count": 1
},
{
"date": "2021-03-30",
"count": 1
},
{
"date": "2021-03-31",
"count": 1
},
{
"date": "2021-04-01",
"count": 1
},
{
"date": "2021-04-02",
"count": 3
},
{
"date": "2021-04-05",
"count": 2
},
{
"date": "2021-04-07",
"count": 1
},
{
"date": "2021-04-14",
"count": 1
},
{
"date": "2021-04-15",
"count": 1
},
{
"date": "2021-04-18",
"count": 1
},
{
"date": "2021-04-19",
"count": 1
},
{
"date": "2021-04-24",
"count": 2
},
{
"date": "2021-04-30",
"count": 1
},
{
"date": "2021-05-04",
"count": 1
},
{
"date": "2021-05-05",
"count": 1
},
{
"date": "2021-05-06",
"count": 1
},
{
"date": "2021-05-09",
"count": 1
},
{
"date": "2021-05-13",
"count": 9
},
{
"date": "2021-05-14",
"count": 5
},
{
"date": "2021-05-15",
"count": 1
},
{
"date": "2021-05-16",
"count": 2
},
{
"date": "2021-05-17",
"count": 1
},
{
"date": "2021-05-18",
"count": 1
},
{
"date": "2021-05-20",
"count": 1
},
{
"date": "2021-05-21",
"count": 3
},
{
"date": "2021-05-22",
"count": 1
},
{
"date": "2021-05-23",
"count": 1
},
{
"date": "2021-05-24",
"count": 1
},
{
"date": "2021-05-26",
"count": 2
},
{
"date": "2021-05-29",
"count": 2
},
{
"date": "2021-05-31",
"count": 1
},
{
"date": "2021-06-07",
"count": 1
},
{
"date": "2021-06-11",
"count": 1
},
{
"date": "2021-06-14",
"count": 1
},
{
"date": "2021-06-23",
"count": 1
},
{
"date": "2021-07-01",
"count": 2
},
{
"date": "2021-07-04",
"count": 1
},
{
"date": "2021-07-07",
"count": 1
},
{
"date": "2021-07-08",
"count": 1
},
{
"date": "2021-07-11",
"count": 1
},
{
"date": "2021-07-15",
"count": 2
},
{
"date": "2021-07-17",
"count": 1
},
{
"date": "2021-07-19",
"count": 3
},
{
"date": "2021-07-22",
"count": 1
},
{
"date": "2021-07-23",
"count": 3
},
{
"date": "2021-07-28",
"count": 1
},
{
"date": "2021-07-29",
"count": 2
},
{
"date": "2021-07-30",
"count": 1
},
{
"date": "2021-08-06",
"count": 1
},
{
"date": "2021-08-09",
"count": 1
},
{
"date": "2021-08-12",
"count": 1
},
{
"date": "2021-08-13",
"count": 2
},
{
"date": "2021-08-16",
"count": 2
},
{
"date": "2021-08-18",
"count": 1
},
{
"date": "2021-08-26",
"count": 2
},
{
"date": "2021-08-28",
"count": 2
},
{
"date": "2021-08-30",
"count": 1
},
{
"date": "2021-09-02",
"count": 8
},
{
"date": "2021-09-03",
"count": 6
},
{
"date": "2021-09-04",
"count": 2
},
{
"date": "2021-09-06",
"count": 1
},
{
"date": "2021-09-07",
"count": 4
},
{
"date": "2021-09-08",
"count": 1
},
{
"date": "2021-09-09",
"count": 3
},
{
"date": "2021-09-10",
"count": 1
},
{
"date": "2021-09-11",
"count": 2
},
{
"date": "2021-09-24",
"count": 2
},
{
"date": "2021-09-26",
"count": 1
},
{
"date": "2021-10-03",
"count": 2
},
{
"date": "2021-10-04",
"count": 1
},
{
"date": "2021-10-06",
"count": 2
},
{
"date": "2021-10-07",
"count": 2
},
{
"date": "2021-10-09",
"count": 2
},
{
"date": "2021-10-11",
"count": 2
},
{
"date": "2021-10-13",
"count": 1
},
{
"date": "2021-10-23",
"count": 1
},
{
"date": "2021-10-28",
"count": 1
},
{
"date": "2021-10-30",
"count": 1
},
{
"date": "2021-10-31",
"count": 1
},
{
"date": "2021-11-02",
"count": 2
},
{
"date": "2021-11-03",
"count": 1
},
{
"date": "2021-11-04",
"count": 1
},
{
"date": "2021-11-06",
"count": 1
},
{
"date": "2021-11-09",
"count": 1
},
{
"date": "2021-11-12",
"count": 1
},
{
"date": "2021-11-16",
"count": 1
},
{
"date": "2021-11-17",
"count": 1
},
{
"date": "2021-11-19",
"count": 1
},
{
"date": "2021-11-23",
"count": 1
},
{
"date": "2021-11-24",
"count": 1
},
{
"date": "2021-12-01",
"count": 1
},
{
"date": "2021-12-02",
"count": 1
},
{
"date": "2021-12-07",
"count": 1
},
{
"date": "2021-12-08",
"count": 1
},
{
"date": "2021-12-17",
"count": 1
},
{
"date": "2021-12-19",
"count": 1
},
{
"date": "2021-12-20",
"count": 1
},
{
"date": "2021-12-28",
"count": 1
},
{
"date": "2022-01-01",
"count": 1
},
{
"date": "2022-01-05",
"count": 1
},
{
"date": "2022-01-09",
"count": 1
},
{
"date": "2022-01-11",
"count": 1
},
{
"date": "2022-01-18",
"count": 1
},
{
"date": "2022-02-04",
"count": 1
},
{
"date": "2022-02-07",
"count": 1
},
{
"date": "2022-02-11",
"count": 1
},
{
"date": "2022-02-20",
"count": 1
},
{
"date": "2022-02-22",
"count": 1
},
{
"date": "2022-02-23",
"count": 1
},
{
"date": "2022-02-24",
"count": 1
},
{
"date": "2022-02-25",
"count": 1
},
{
"date": "2022-02-28",
"count": 1
},
{
"date": "2022-03-02",
"count": 1
},
{
"date": "2022-03-03",
"count": 1
},
{
"date": "2022-03-07",
"count": 1
},
{
"date": "2022-03-08",
"count": 2
},
{
"date": "2022-03-09",
"count": 1
},
{
"date": "2022-03-16",
"count": 1
},
{
"date": "2022-03-17",
"count": 1
},
{
"date": "2022-03-19",
"count": 1
},
{
"date": "2022-03-24",
"count": 2
},
{
"date": "2022-03-30",
"count": 2
},
{
"date": "2022-04-01",
"count": 3
},
{
"date": "2022-04-05",
"count": 1
},
{
"date": "2022-04-08",
"count": 1
},
{
"date": "2022-04-15",
"count": 2
},
{
"date": "2022-04-16",
"count": 1
},
{
"date": "2022-04-17",
"count": 1
},
{
"date": "2022-04-18",
"count": 2
},
{
"date": "2022-04-22",
"count": 1
},
{
"date": "2022-04-27",
"count": 1
},
{
"date": "2022-05-06",
"count": 1
},
{
"date": "2022-05-12",
"count": 2
},
{
"date": "2022-05-13",
"count": 1
},
{
"date": "2022-05-16",
"count": 1
},
{
"date": "2022-05-17",
"count": 1
},
{
"date": "2022-05-18",
"count": 1
},
{
"date": "2022-05-24",
"count": 1
},
{
"date": "2022-06-01",
"count": 1
},
{
"date": "2022-06-02",
"count": 1
},
{
"date": "2022-06-09",
"count": 1
},
{
"date": "2022-06-10",
"count": 1
},
{
"date": "2022-06-13",
"count": 1
},
{
"date": "2022-06-19",
"count": 1
},
{
"date": "2022-06-24",
"count": 1
},
{
"date": "2022-06-30",
"count": 1
},
{
"date": "2022-07-08",
"count": 2
},
{
"date": "2022-07-12",
"count": 1
},
{
"date": "2022-07-20",
"count": 1
},
{
"date": "2022-07-21",
"count": 2
},
{
"date": "2022-07-22",
"count": 2
},
{
"date": "2022-07-23",
"count": 1
},
{
"date": "2022-07-24",
"count": 1
},
{
"date": "2022-07-27",
"count": 1
},
{
"date": "2022-07-28",
"count": 4
},
{
"date": "2022-07-29",
"count": 8
},
{
"date": "2022-07-30",
"count": 1
},
{
"date": "2022-07-31",
"count": 2
},
{
"date": "2022-08-01",
"count": 2
},
{
"date": "2022-08-03",
"count": 1
},
{
"date": "2022-08-04",
"count": 2
},
{
"date": "2022-08-05",
"count": 3
},
{
"date": "2022-08-07",
"count": 1
},
{
"date": "2022-08-09",
"count": 1
},
{
"date": "2022-08-10",
"count": 1
},
{
"date": "2022-08-14",
"count": 2
},
{
"date": "2022-08-15",
"count": 1
},
{
"date": "2022-08-29",
"count": 2
},
{
"date": "2022-09-01",
"count": 2
},
{
"date": "2022-09-04",
"count": 1
},
{
"date": "2022-09-07",
"count": 1
},
{
"date": "2022-09-09",
"count": 1
},
{
"date": "2022-09-12",
"count": 1
},
{
"date": "2022-09-13",
"count": 1
},
{
"date": "2022-09-15",
"count": 2
},
{
"date": "2022-09-18",
"count": 1
},
{
"date": "2022-09-20",
"count": 2
},
{
"date": "2022-09-23",
"count": 1
},
{
"date": "2022-10-02",
"count": 1
},
{
"date": "2022-10-03",
"count": 1
},
{
"date": "2022-10-16",
"count": 1
},
{
"date": "2022-10-17",
"count": 2
},
{
"date": "2022-10-18",
"count": 2
},
{
"date": "2022-10-20",
"count": 2
},
{
"date": "2022-10-21",
"count": 1
},
{
"date": "2022-10-23",
"count": 1
},
{
"date": "2022-10-26",
"count": 1
},
{
"date": "2022-10-29",
"count": 2
},
{
"date": "2022-10-30",
"count": 1
},
{
"date": "2022-10-31",
"count": 1
},
{
"date": "2022-11-01",
"count": 1
},
{
"date": "2022-11-03",
"count": 1
},
{
"date": "2022-11-04",
"count": 1
},
{
"date": "2022-11-08",
"count": 1
},
{
"date": "2022-11-17",
"count": 1
},
{
"date": "2022-11-20",
"count": 1
},
{
"date": "2022-11-28",
"count": 1
},
{
"date": "2022-11-30",
"count": 2
},
{
"date": "2022-12-01",
"count": 2
},
{
"date": "2022-12-02",
"count": 2
},
{
"date": "2022-12-07",
"count": 2
},
{
"date": "2022-12-12",
"count": 2
},
{
"date": "2022-12-16",
"count": 1
},
{
"date": "2022-12-19",
"count": 1
},
{
"date": "2022-12-27",
"count": 1
},
{
"date": "2022-12-29",
"count": 1
},
{
"date": "2023-01-01",
"count": 1
},
{
"date": "2023-01-02",
"count": 1
},
{
"date": "2023-01-04",
"count": 1
},
{
"date": "2023-01-08",
"count": 1
},
{
"date": "2023-01-09",
"count": 1
},
{
"date": "2023-01-19",
"count": 3
},
{
"date": "2023-01-29",
"count": 1
},
{
"date": "2023-01-31",
"count": 1
},
{
"date": "2023-02-03",
"count": 1
},
{
"date": "2023-02-04",
"count": 1
},
{
"date": "2023-02-05",
"count": 2
},
{
"date": "2023-02-06",
"count": 1
},
{
"date": "2023-02-17",
"count": 1
},
{
"date": "2023-02-18",
"count": 1
},
{
"date": "2023-02-20",
"count": 1
},
{
"date": "2023-02-27",
"count": 1
},
{
"date": "2023-03-01",
"count": 2
},
{
"date": "2023-03-02",
"count": 1
},
{
"date": "2023-03-03",
"count": 1
},
{
"date": "2023-03-05",
"count": 1
},
{
"date": "2023-03-06",
"count": 3
},
{
"date": "2023-03-07",
"count": 1
},
{
"date": "2023-03-08",
"count": 2
},
{
"date": "2023-03-14",
"count": 1
},
{
"date": "2023-03-19",
"count": 1
},
{
"date": "2023-03-24",
"count": 2
},
{
"date": "2023-03-29",
"count": 2
},
{
"date": "2023-03-30",
"count": 1
},
{
"date": "2023-04-07",
"count": 2
},
{
"date": "2023-04-09",
"count": 2
},
{
"date": "2023-04-14",
"count": 2
},
{
"date": "2023-04-17",
"count": 1
},
{
"date": "2023-04-19",
"count": 1
},
{
"date": "2023-04-25",
"count": 1
},
{
"date": "2023-04-26",
"count": 1
},
{
"date": "2023-05-02",
"count": 1
},
{
"date": "2023-05-07",
"count": 1
},
{
"date": "2023-05-19",
"count": 1
},
{
"date": "2023-05-23",
"count": 1
},
{
"date": "2023-05-24",
"count": 1
},
{
"date": "2023-05-25",
"count": 3
},
{
"date": "2023-05-28",
"count": 1
},
{
"date": "2023-06-03",
"count": 1
},
{
"date": "2023-06-04",
"count": 1
},
{
"date": "2023-06-06",
"count": 1
},
{
"date": "2023-06-08",
"count": 1
},
{
"date": "2023-06-12",
"count": 1
},
{
"date": "2023-06-14",
"count": 1
},
{
"date": "2023-06-15",
"count": 2
},
{
"date": "2023-06-16",
"count": 1
},
{
"date": "2023-06-20",
"count": 1
},
{
"date": "2023-06-23",
"count": 1
},
{
"date": "2023-06-28",
"count": 1
},
{
"date": "2023-07-04",
"count": 1
},
{
"date": "2023-07-07",
"count": 1
},
{
"date": "2023-07-10",
"count": 1
},
{
"date": "2023-07-12",
"count": 1
},
{
"date": "2023-07-18",
"count": 1
},
{
"date": "2023-08-02",
"count": 2
},
{
"date": "2023-08-08",
"count": 1
},
{
"date": "2023-08-12",
"count": 1
},
{
"date": "2023-08-15",
"count": 1
},
{
"date": "2023-08-16",
"count": 1
},
{
"date": "2023-08-19",
"count": 1
},
{
"date": "2023-08-31",
"count": 2
},
{
"date": "2023-09-01",
"count": 1
},
{
"date": "2023-09-11",
"count": 1
},
{
"date": "2023-09-13",
"count": 2
},
{
"date": "2023-09-19",
"count": 1
},
{
"date": "2023-09-22",
"count": 1
},
{
"date": "2023-09-24",
"count": 1
},
{
"date": "2023-09-26",
"count": 1
},
{
"date": "2023-09-27",
"count": 2
},
{
"date": "2023-09-28",
"count": 8
},
{
"date": "2023-09-29",
"count": 1
},
{
"date": "2023-10-01",
"count": 1
},
{
"date": "2023-10-08",
"count": 1
},
{
"date": "2023-10-10",
"count": 1
},
{
"date": "2023-10-18",
"count": 1
},
{
"date": "2023-10-24",
"count": 1
},
{
"date": "2023-11-06",
"count": 1
},
{
"date": "2023-11-07",
"count": 1
},
{
"date": "2023-11-08",
"count": 1
},
{
"date": "2023-11-16",
"count": 1
},
{
"date": "2023-11-17",
"count": 1
},
{
"date": "2023-11-22",
"count": 1
},
{
"date": "2023-11-24",
"count": 1
},
{
"date": "2023-12-07",
"count": 1
},
{
"date": "2023-12-13",
"count": 1
},
{
"date": "2023-12-14",
"count": 1
},
{
"date": "2023-12-18",
"count": 1
},
{
"date": "2023-12-19",
"count": 2
},
{
"date": "2023-12-20",
"count": 2
},
{
"date": "2023-12-21",
"count": 1
},
{
"date": "2023-12-23",
"count": 1
},
{
"date": "2023-12-24",
"count": 1
},
{
"date": "2023-12-30",
"count": 3
},
{
"date": "2024-01-02",
"count": 1
},
{
"date": "2024-01-04",
"count": 1
},
{
"date": "2024-01-14",
"count": 1
},
{
"date": "2024-01-15",
"count": 2
},
{
"date": "2024-01-18",
"count": 1
},
{
"date": "2024-01-23",
"count": 2
},
{
"date": "2024-01-24",
"count": 1
},
{
"date": "2024-01-26",
"count": 1
},
{
"date": "2024-02-04",
"count": 1
},
{
"date": "2024-02-06",
"count": 1
},
{
"date": "2024-02-08",
"count": 1
},
{
"date": "2024-02-11",
"count": 1
},
{
"date": "2024-02-26",
"count": 1
},
{
"date": "2024-03-12",
"count": 1
},
{
"date": "2024-03-14",
"count": 2
},
{
"date": "2024-03-15",
"count": 1
},
{
"date": "2024-03-19",
"count": 1
},
{
"date": "2024-03-26",
"count": 1
},
{
"date": "2024-03-29",
"count": 1
},
{
"date": "2024-03-30",
"count": 1
},
{
"date": "2024-04-03",
"count": 2
},
{
"date": "2024-04-07",
"count": 1
},
{
"date": "2024-04-16",
"count": 1
},
{
"date": "2024-04-17",
"count": 1
},
{
"date": "2024-04-29",
"count": 3
},
{
"date": "2024-04-30",
"count": 1
},
{
"date": "2024-05-03",
"count": 1
},
{
"date": "2024-05-07",
"count": 1
},
{
"date": "2024-05-12",
"count": 2
},
{
"date": "2024-05-21",
"count": 1
},
{
"date": "2024-05-27",
"count": 2
},
{
"date": "2024-05-28",
"count": 1
},
{
"date": "2024-06-05",
"count": 2
},
{
"date": "2024-06-07",
"count": 1
},
{
"date": "2024-06-09",
"count": 1
},
{
"date": "2024-06-10",
"count": 1
},
{
"date": "2024-06-16",
"count": 1
},
{
"date": "2024-06-19",
"count": 1
},
{
"date": "2024-06-21",
"count": 2
},
{
"date": "2024-06-26",
"count": 3
},
{
"date": "2024-07-01",
"count": 1
},
{
"date": "2024-07-04",
"count": 3
},
{
"date": "2024-07-05",
"count": 1
},
{
"date": "2024-07-08",
"count": 1
},
{
"date": "2024-07-11",
"count": 1
},
{
"date": "2024-07-12",
"count": 2
},
{
"date": "2024-07-15",
"count": 1
},
{
"date": "2024-07-16",
"count": 1
},
{
"date": "2024-07-17",
"count": 1
},
{
"date": "2024-07-23",
"count": 1
},
{
"date": "2024-07-30",
"count": 1
},
{
"date": "2024-08-01",
"count": 1
},
{
"date": "2024-08-02",
"count": 2
},
{
"date": "2024-08-05",
"count": 1
},
{
"date": "2024-08-12",
"count": 1
},
{
"date": "2024-08-21",
"count": 2
},
{
"date": "2024-08-24",
"count": 1
},
{
"date": "2024-08-25",
"count": 1
},
{
"date": "2024-08-27",
"count": 1
},
{
"date": "2024-09-04",
"count": 2
},
{
"date": "2024-09-05",
"count": 1
},
{
"date": "2024-09-09",
"count": 1
},
{
"date": "2024-09-11",
"count": 1
},
{
"date": "2024-09-13",
"count": 1
},
{
"date": "2024-09-18",
"count": 1
},
{
"date": "2024-09-20",
"count": 1
},
{
"date": "2024-09-22",
"count": 1
},
{
"date": "2024-09-25",
"count": 1
},
{
"date": "2024-10-01",
"count": 1
},
{
"date": "2024-10-09",
"count": 1
},
{
"date": "2024-10-12",
"count": 1
},
{
"date": "2024-10-13",
"count": 1
},
{
"date": "2024-10-15",
"count": 1
},
{
"date": "2024-10-24",
"count": 1
},
{
"date": "2024-10-29",
"count": 1
},
{
"date": "2024-10-30",
"count": 1
},
{
"date": "2024-10-31",
"count": 2
},
{
"date": "2024-11-07",
"count": 1
},
{
"date": "2024-11-08",
"count": 1
},
{
"date": "2024-11-23",
"count": 1
},
{
"date": "2024-11-25",
"count": 1
},
{
"date": "2024-11-26",
"count": 2
},
{
"date": "2024-12-03",
"count": 1
},
{
"date": "2024-12-04",
"count": 1
},
{
"date": "2024-12-13",
"count": 1
},
{
"date": "2024-12-15",
"count": 1
},
{
"date": "2024-12-22",
"count": 1
},
{
"date": "2024-12-25",
"count": 1
},
{
"date": "2024-12-28",
"count": 1
},
{
"date": "2025-01-26",
"count": 1
},
{
"date": "2025-01-27",
"count": 1
},
{
"date": "2025-01-30",
"count": 1
},
{
"date": "2025-02-01",
"count": 1
},
{
"date": "2025-02-03",
"count": 1
},
{
"date": "2025-02-10",
"count": 1
},
{
"date": "2025-02-13",
"count": 1
},
{
"date": "2025-02-17",
"count": 1
},
{
"date": "2025-02-21",
"count": 1
},
{
"date": "2025-02-28",
"count": 1
},
{
"date": "2025-03-03",
"count": 1
},
{
"date": "2025-03-04",
"count": 1
},
{
"date": "2025-03-06",
"count": 1
},
{
"date": "2025-03-10",
"count": 1
},
{
"date": "2025-03-13",
"count": 1
},
{
"date": "2025-03-19",
"count": 1
},
{
"date": "2025-04-07",
"count": 1
},
{
"date": "2025-04-11",
"count": 1
},
{
"date": "2025-04-25",
"count": 1
},
{
"date": "2025-05-01",
"count": 1
},
{
"date": "2025-05-02",
"count": 2
},
{
"date": "2025-05-04",
"count": 2
},
{
"date": "2025-05-06",
"count": 1
},
{
"date": "2025-05-09",
"count": 1
},
{
"date": "2025-05-18",
"count": 1
},
{
"date": "2025-05-31",
"count": 1
},
{
"date": "2025-06-02",
"count": 1
},
{
"date": "2025-06-06",
"count": 1
},
{
"date": "2025-06-11",
"count": 1
},
{
"date": "2025-06-16",
"count": 1
},
{
"date": "2025-06-23",
"count": 2
},
{
"date": "2025-06-24",
"count": 1
},
{
"date": "2025-06-25",
"count": 1
},
{
"date": "2025-07-20",
"count": 1
},
{
"date": "2025-07-27",
"count": 1
},
{
"date": "2025-08-06",
"count": 2
},
{
"date": "2025-08-09",
"count": 1
},
{
"date": "2025-08-12",
"count": 1
},
{
"date": "2025-08-13",
"count": 1
},
{
"date": "2025-08-15",
"count": 1
},
{
"date": "2025-08-17",
"count": 1
},
{
"date": "2025-09-02",
"count": 1
},
{
"date": "2025-09-05",
"count": 1
},
{
"date": "2025-09-09",
"count": 1
},
{
"date": "2025-09-10",
"count": 1
},
{
"date": "2025-09-16",
"count": 1
},
{
"date": "2025-09-20",
"count": 1
},
{
"date": "2025-09-23",
"count": 1
},
{
"date": "2025-09-29",
"count": 1
},
{
"date": "2025-10-06",
"count": 2
},
{
"date": "2025-10-10",
"count": 1
},
{
"date": "2025-10-11",
"count": 1
},
{
"date": "2025-10-13",
"count": 1
},
{
"date": "2025-10-22",
"count": 1
},
{
"date": "2025-11-05",
"count": 2
},
{
"date": "2025-11-12",
"count": 1
},
{
"date": "2025-11-18",
"count": 1
},
{
"date": "2025-11-25",
"count": 1
},
{
"date": "2025-12-03",
"count": 1
},
{
"date": "2025-12-09",
"count": 1
},
{
"date": "2025-12-15",
"count": 1
},
{
"date": "2025-12-19",
"count": 1
},
{
"date": "2025-12-23",
"count": 1
},
{
"date": "2025-12-31",
"count": 1
},
{
"date": "2026-01-06",
"count": 1
},
{
"date": "2026-01-07",
"count": 1
},
{
"date": "2026-01-14",
"count": 1
},
{
"date": "2026-01-15",
"count": 1
},
{
"date": "2026-01-16",
"count": 1
},
{
"date": "2026-01-17",
"count": 1
},
{
"date": "2026-01-19",
"count": 1
},
{
"date": "2026-01-23",
"count": 1
},
{
"date": "2026-01-26",
"count": 1
},
{
"date": "2026-01-27",
"count": 1
},
{
"date": "2026-01-30",
"count": 1
},
{
"date": "2026-02-02",
"count": 1
},
{
"date": "2026-02-05",
"count": 1
},
{
"date": "2026-02-06",
"count": 1
},
{
"date": "2026-02-20",
"count": 1
},
{
"date": "2026-02-26",
"count": 1
},
{
"date": "2026-03-05",
"count": 1
},
{
"date": "2026-03-07",
"count": 1
},
{
"date": "2026-03-08",
"count": 1
},
{
"date": "2026-03-17",
"count": 1
},
{
"date": "2026-03-25",
"count": 1
},
{
"date": "2026-04-02",
"count": 1
},
{
"date": "2026-04-03",
"count": 1
},
{
"date": "2026-04-05",
"count": 1
},
{
"date": "2026-04-17",
"count": 1
},
{
"date": "2026-04-26",
"count": 1
},
{
"date": "2026-04-27",
"count": 3
},
{
"date": "2026-04-30",
"count": 1
},
{
"date": "2026-05-12",
"count": 1
},
{
"date": "2026-05-23",
"count": 2
},
{
"date": "2026-05-24",
"count": 1
},
{
"date": "2026-05-25",
"count": 7
},
{
"date": "2026-05-26",
"count": 1
},
{
"date": "2026-05-30",
"count": 1
},
{
"date": "2026-06-02",
"count": 1
},
{
"date": "2026-06-12",
"count": 1
},
{
"date": "2026-06-16",
"count": 1
},
{
"date": "2026-06-19",
"count": 1
},
{
"date": "2026-07-08",
"count": 1
},
{
"date": "2026-07-13",
"count": 1
}
],
"complete": false,
"collected": 1000,
"total_stars": 1998
},
"open_issues_and_prs": 0
},
"ai_readiness": {
"has_nix": false,
"example_dirs": [],
"has_llms_txt": false,
"has_dockerfile": false,
"has_mcp_signal": false,
"bootstrap_files": [],
"api_schema_files": [],
"has_devcontainer": false,
"typecheck_configs": [],
"toolchain_manifests": [],
"largest_source_bytes": 56581,
"source_files_sampled": 22,
"oversized_source_files": 0,
"agent_instruction_files": [
"AGENTS.md"
],
"agent_instruction_max_bytes": 1940
},
"dependencies": {
"manifests": [
"Gemfile"
],
"advisories": {
"error": null,
"scope": "repository_graph",
"source": "osv",
"findings": [],
"collected": true,
"malicious": [],
"truncated": false,
"by_severity": {},
"advisory_count": 0,
"affected_count": 0,
"assessed_count": 31,
"malicious_count": 0,
"assessed_package": null,
"unassessed_count": 9,
"direct_affected_count": 0
},
"ecosystems": [
"rubygems"
],
"dependencies": [],
"all_dependencies": {
"error": null,
"source": "github-sbom",
"packages": [
{
"name": "ast",
"direct": false,
"version": "2.4.3",
"ecosystem": "rubygems"
},
{
"name": "benchmark-ips",
"direct": false,
"version": null,
"ecosystem": "rubygems"
},
{
"name": "benchmark-ips",
"direct": false,
"version": "2.14.0",
"ecosystem": "rubygems"
},
{
"name": "bundler",
"direct": false,
"version": null,
"ecosystem": "rubygems"
},
{
"name": "chunky_png",
"direct": false,
"version": null,
"ecosystem": "rubygems"
},
{
"name": "chunky_png",
"direct": false,
"version": "1.4.0",
"ecosystem": "rubygems"
},
{
"name": "diff-lcs",
"direct": false,
"version": "1.6.2",
"ecosystem": "rubygems"
},
{
"name": "json",
"direct": false,
"version": "2.19.2",
"ecosystem": "rubygems"
},
{
"name": "language_server-protocol",
"direct": false,
"version": "3.17.0.5",
"ecosystem": "rubygems"
},
{
"name": "lint_roller",
"direct": false,
"version": "1.1.0",
"ecosystem": "rubygems"
},
{
"name": "memory_profiler",
"direct": false,
"version": null,
"ecosystem": "rubygems"
},
{
"name": "memory_profiler",
"direct": false,
"version": "1.1.0",
"ecosystem": "rubygems"
},
{
"name": "parallel",
"direct": false,
"version": "1.27.0",
"ecosystem": "rubygems"
},
{
"name": "parser",
"direct": false,
"version": "3.3.10.0",
"ecosystem": "rubygems"
},
{
"name": "prism",
"direct": false,
"version": "1.7.0",
"ecosystem": "rubygems"
},
{
"name": "racc",
"direct": false,
"version": "1.8.1",
"ecosystem": "rubygems"
},
{
"name": "rainbow",
"direct": false,
"version": "3.1.1",
"ecosystem": "rubygems"
},
{
"name": "rake",
"direct": false,
"version": null,
"ecosystem": "rubygems"
},
{
"name": "rake",
"direct": false,
"version": "13.3.1",
"ecosystem": "rubygems"
},
{
"name": "regexp_parser",
"direct": false,
"version": "2.11.3",
"ecosystem": "rubygems"
},
{
"name": "rqrcode_core",
"direct": false,
"version": null,
"ecosystem": "rubygems"
},
{
"name": "rqrcode_core",
"direct": false,
"version": "2.1.0",
"ecosystem": "rubygems"
},
{
"name": "rspec",
"direct": false,
"version": null,
"ecosystem": "rubygems"
},
{
"name": "rspec",
"direct": false,
"version": "3.13.2",
"ecosystem": "rubygems"
},
{
"name": "rspec-core",
"direct": false,
"version": "3.13.6",
"ecosystem": "rubygems"
},
{
"name": "rspec-expectations",
"direct": false,
"version": "3.13.5",
"ecosystem": "rubygems"
},
{
"name": "rspec-mocks",
"direct": false,
"version": "3.13.7",
"ecosystem": "rubygems"
},
{
"name": "rspec-support",
"direct": false,
"version": "3.13.6",
"ecosystem": "rubygems"
},
{
"name": "rubocop",
"direct": false,
"version": "1.81.7",
"ecosystem": "rubygems"
},
{
"name": "rubocop-ast",
"direct": false,
"version": "1.49.0",
"ecosystem": "rubygems"
},
{
"name": "rubocop-performance",
"direct": false,
"version": "1.26.1",
"ecosystem": "rubygems"
},
{
"name": "ruby-progressbar",
"direct": false,
"version": "1.13.0",
"ecosystem": "rubygems"
},
{
"name": "stackprof",
"direct": false,
"version": null,
"ecosystem": "rubygems"
},
{
"name": "stackprof",
"direct": false,
"version": "0.2.27",
"ecosystem": "rubygems"
},
{
"name": "standard",
"direct": false,
"version": null,
"ecosystem": "rubygems"
},
{
"name": "standard",
"direct": false,
"version": "1.52.0",
"ecosystem": "rubygems"
},
{
"name": "standard-custom",
"direct": false,
"version": "1.0.2",
"ecosystem": "rubygems"
},
{
"name": "standard-performance",
"direct": false,
"version": "1.9.0",
"ecosystem": "rubygems"
},
{
"name": "unicode-display_width",
"direct": false,
"version": "3.2.0",
"ecosystem": "rubygems"
},
{
"name": "unicode-emoji",
"direct": false,
"version": "4.2.0",
"ecosystem": "rubygems"
}
],
"collected": true,
"truncated": false,
"total_count": 40,
"direct_count": 0,
"indirect_count": 40
}
},
"maintainership": {
"issues": {
"open_prs": 0,
"merged_prs": 74,
"open_issues": 0,
"closed_ratio": 1,
"closed_issues": 65,
"closed_unmerged_prs": 29
},
"bus_factor": 1,
"bot_contributors": 1,
"top_contributors": [
{
"type": "User",
"login": "whomwah",
"commits": 171,
"avatar_url": "https://avatars.githubusercontent.com/u/2031?v=4"
},
{
"type": "User",
"login": "bjornblomqvist",
"commits": 38,
"avatar_url": "https://avatars.githubusercontent.com/u/122777?v=4"
},
{
"type": "User",
"login": "gioele",
"commits": 28,
"avatar_url": "https://avatars.githubusercontent.com/u/237141?v=4"
},
{
"type": "User",
"login": "fabn",
"commits": 13,
"avatar_url": "https://avatars.githubusercontent.com/u/324213?v=4"
},
{
"type": "User",
"login": "toncid",
"commits": 11,
"avatar_url": "https://avatars.githubusercontent.com/u/1837897?v=4"
},
{
"type": "User",
"login": "clord",
"commits": 5,
"avatar_url": "https://avatars.githubusercontent.com/u/231203?v=4"
},
{
"type": "User",
"login": "jekhor",
"commits": 2,
"avatar_url": "https://avatars.githubusercontent.com/u/117467?v=4"
},
{
"type": "User",
"login": "smnscp",
"commits": 2,
"avatar_url": "https://avatars.githubusercontent.com/u/5417121?v=4"
},
{
"type": "User",
"login": "nofxx",
"commits": 2,
"avatar_url": "https://avatars.githubusercontent.com/u/6831?v=4"
},
{
"type": "User",
"login": "lmmendes",
"commits": 2,
"avatar_url": "https://avatars.githubusercontent.com/u/114094?v=4"
}
],
"contributors_sampled": 37,
"top_contributor_share": 0.564
},
"quality_signals": {
"has_ci": true,
"has_tests": true,
"ci_workflows": [
"ruby.yml"
],
"has_docs_dir": false,
"linter_configs": [],
"has_editorconfig": false,
"has_linter_config": false,
"has_precommit_config": false
},
"security_signals": {
"lockfiles": [
"Gemfile.lock"
],
"scorecard": {
"checks": [
{
"name": "Binary-Artifacts",
"score": 10,
"reason": "no binaries found in the repo",
"documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#binary-artifacts"
},
{
"name": "Branch-Protection",
"score": null,
"reason": "internal error: error during branchesHandler.setup: internal error: some github tokens can't read classic branch protection rules: https://github.com/ossf/scorecard-action/blob/main/docs/authentication/fine-grained-auth-token.md",
"documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#branch-protection"
},
{
"name": "CI-Tests",
"score": 8,
"reason": "9 out of 11 merged PRs checked by a CI test -- score normalized to 8",
"documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#ci-tests"
},
{
"name": "CII-Best-Practices",
"score": 0,
"reason": "no effort to earn an OpenSSF best practices badge detected",
"documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#cii-best-practices"
},
{
"name": "Code-Review",
"score": 2,
"reason": "Found 2/10 approved changesets -- score normalized to 2",
"documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#code-review"
},
{
"name": "Contributors",
"score": 10,
"reason": "project has 6 contributing companies or organizations",
"documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#contributors"
},
{
"name": "Dangerous-Workflow",
"score": 10,
"reason": "no dangerous workflow patterns detected",
"documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#dangerous-workflow"
},
{
"name": "Dependency-Update-Tool",
"score": 10,
"reason": "update tool detected",
"documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#dependency-update-tool"
},
{
"name": "Fuzzing",
"score": 0,
"reason": "project is not fuzzed",
"documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#fuzzing"
},
{
"name": "License",
"score": 10,
"reason": "license file detected",
"documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#license"
},
{
"name": "Maintained",
"score": 2,
"reason": "2 commit(s) and 1 issue activity found in the last 90 days -- score normalized to 2",
"documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#maintained"
},
{
"name": "Packaging",
"score": null,
"reason": "packaging workflow not detected",
"documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#packaging"
},
{
"name": "Pinned-Dependencies",
"score": 0,
"reason": "dependency not pinned by hash detected -- score normalized to 0",
"documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#pinned-dependencies"
},
{
"name": "SAST",
"score": 0,
"reason": "SAST tool is not run on all commits -- score normalized to 0",
"documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#sast"
},
{
"name": "Security-Policy",
"score": 0,
"reason": "security policy file not detected",
"documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#security-policy"
},
{
"name": "Signed-Releases",
"score": null,
"reason": "no releases found",
"documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#signed-releases"
},
{
"name": "Token-Permissions",
"score": 0,
"reason": "detected GitHub workflow tokens with excessive permissions",
"documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#token-permissions"
},
{
"name": "Vulnerabilities",
"score": 10,
"reason": "0 existing vulnerabilities detected",
"documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#vulnerabilities"
}
],
"commit": "4359b4192d1845691246a0d155d864d2569122b6",
"ran_at": "2026-07-21T23:26:58Z",
"aggregate_score": 5,
"scorecard_version": "v5.5.0"
},
"has_codeql_workflow": false,
"has_security_policy": false,
"has_dependabot_config": false
},
"contribution_flow": {
"collected": true,
"ci_last_run_at": "2026-06-01T13:10:13Z",
"oldest_open_prs": [],
"last_merged_pr_at": "2026-06-01T13:09:27Z",
"ci_last_conclusion": "SUCCESS",
"oldest_open_issues": []
}
},
"config": {
"disabled_metrics": [],
"disabled_categories": [],
"disabled_components": {}
},
"source": {
"url": "https://github.com/whomwah/rqrcode",
"host": "github.com",
"name": "rqrcode",
"owner": "whomwah"
},
"metrics": {
"overall": {
"key": "overall",
"band": "moderate",
"name": "Overall health",
"note": null,
"notes": [],
"value": 61,
"inputs": {
"security": 60,
"vitality": 48,
"community": 75,
"governance": 66,
"engineering": 58
},
"components": []
},
"categories": [
{
"key": "vitality",
"band": "at_risk",
"name": "Vitality",
"value": 48,
"weight": 0.22,
"metrics": [
{
"key": "development_activity",
"band": "at_risk",
"name": "Development activity",
"note": null,
"notes": [],
"value": 39,
"inputs": {
"commits_last_year": 28,
"human_commit_share": 0.99,
"days_since_last_push": 50,
"active_weeks_last_year": 8
},
"components": [
{
"key": "push_recency",
"name": "Push recency",
"detail": "last push 50 days ago",
"points": 18,
"status": "partial",
"details": [
{
"code": "push_recency",
"params": {
"days": 50
}
}
],
"max_points": 36
},
{
"key": "commit_cadence",
"name": "Commit cadence",
"detail": "8/52 weeks with commits",
"points": 5.5,
"status": "partial",
"details": [
{
"code": "commit_cadence_weeks",
"params": {
"weeks": 8
}
}
],
"max_points": 36
},
{
"key": "commit_volume",
"name": "Commit volume",
"detail": "28 commits in the last year",
"points": 13.1,
"status": "partial",
"details": [
{
"code": "commits_last_year",
"params": {
"count": 28
}
}
],
"max_points": 18
},
{
"key": "openssf_scorecard_maintained",
"name": "OpenSSF Scorecard: Maintained",
"detail": "2 commit(s) and 1 issue activity found in the last 90 days -- score normalized to 2",
"points": 2,
"status": "partial",
"details": [],
"max_points": 10
}
]
},
{
"key": "release_discipline",
"band": "moderate",
"name": "Release discipline",
"note": "Excluded from scoring (no data or not applicable): OpenSSF Scorecard: Signed-Releases. Remaining weights renormalized.",
"notes": [
{
"code": "excluded_no_data",
"params": {
"components": [
"openssf_scorecard_signed_releases"
]
}
},
{
"code": "weights_renormalized",
"params": {}
}
],
"value": 62,
"inputs": {
"releases_count": 10,
"latest_release_tag": "v3.2.0",
"releases_from_tags": false,
"days_since_latest_release": 194,
"mean_days_between_releases": 263.7
},
"components": [
{
"key": "ships_releases",
"name": "Ships releases",
"detail": "10 releases published",
"points": 27,
"status": "met",
"details": [
{
"code": "releases_published",
"params": {
"count": 10
}
}
],
"max_points": 27
},
{
"key": "release_recency",
"name": "Release recency",
"detail": "latest release 194 days ago",
"points": 16.2,
"status": "partial",
"details": [
{
"code": "release_recency",
"params": {
"days": 194
}
}
],
"max_points": 36
},
{
"key": "release_cadence",
"name": "Release cadence",
"detail": "a release every ~263.7 days",
"points": 12.6,
"status": "partial",
"details": [
{
"code": "release_cadence",
"params": {
"gap": 263.7
}
}
],
"max_points": 27
},
{
"key": "openssf_scorecard_signed_releases",
"name": "OpenSSF Scorecard: Signed-Releases",
"detail": "no releases found",
"points": 0,
"status": "excluded",
"details": [
{
"code": "no_data",
"params": {}
}
],
"max_points": 10
}
]
},
{
"key": "abandonment",
"band": "excellent",
"name": "Abandonment",
"note": null,
"notes": [],
"value": 100,
"inputs": {
"cap": null,
"state": "maintained",
"guards": [],
"signals": [],
"red_flag": false,
"multiplier_pct": 100,
"declared_reason": null,
"unverified_reason": null,
"unanswered_open_prs": null,
"unanswered_open_issues": null,
"days_since_last_merged_pr": null,
"days_since_last_human_commit": 50,
"days_since_last_human_commit_is_floor": false
},
"components": [
{
"key": "project_is_still_maintained",
"name": "Project is still maintained",
"detail": "last human commit 50 days ago",
"points": 100,
"status": "met",
"details": [
{
"code": "abandonment_maintained",
"params": {
"days": 50
}
}
],
"max_points": 100
}
]
}
],
"description": "Is the project alive — is code being written and are releases shipping?"
},
{
"key": "community",
"band": "good",
"name": "Community & Adoption",
"value": 75,
"weight": 0.18,
"metrics": [
{
"key": "popularity",
"band": "good",
"name": "Popularity & adoption",
"note": null,
"notes": [],
"value": 81,
"inputs": {
"forks": 241,
"stars": 1998,
"watchers": 27,
"growth_state": "organic",
"growth_factor_pct": 100
},
"components": [
{
"key": "stars",
"name": "Stars",
"detail": "1,998 stars",
"points": 53.5,
"status": "partial",
"details": [
{
"code": "stars",
"params": {
"count": 1998
}
}
],
"max_points": 60
},
{
"key": "forks",
"name": "Forks",
"detail": "241 forks",
"points": 19.8,
"status": "partial",
"details": [
{
"code": "forks",
"params": {
"count": 241
}
}
],
"max_points": 25
},
{
"key": "watchers",
"name": "Watchers",
"detail": "27 watchers",
"points": 7.9,
"status": "partial",
"details": [
{
"code": "watchers",
"params": {
"count": 27
}
}
],
"max_points": 15
}
]
},
{
"key": "community_health",
"band": "moderate",
"name": "Community health",
"note": null,
"notes": [],
"value": 50,
"inputs": {
"has_readme": true,
"has_license": true,
"has_contributing": false,
"has_issue_template": false,
"has_code_of_conduct": false,
"has_pull_request_template": false
},
"components": [
{
"key": "readme",
"name": "README",
"detail": null,
"points": 22.5,
"status": "met",
"details": [],
"max_points": 22.5
},
{
"key": "license",
"name": "License",
"detail": "recognized license (MIT)",
"points": 22.5,
"status": "met",
"details": [
{
"code": "license_standard",
"params": {}
},
{
"code": "license_spdx",
"params": {
"spdx": "MIT"
}
}
],
"max_points": 22.5
},
{
"key": "contributing_guide",
"name": "CONTRIBUTING guide",
"detail": null,
"points": 0,
"status": "missed",
"details": [],
"max_points": 18
},
{
"key": "code_of_conduct",
"name": "Code of conduct",
"detail": null,
"points": 0,
"status": "missed",
"details": [],
"max_points": 13.5
},
{
"key": "issue_template",
"name": "Issue template",
"detail": null,
"points": 0,
"status": "missed",
"details": [],
"max_points": 7.2
},
{
"key": "pr_template",
"name": "PR template",
"detail": null,
"points": 0,
"status": "missed",
"details": [],
"max_points": 6.3
}
]
},
{
"key": "ecosystem_adoption",
"band": "excellent",
"name": "Ecosystem adoption (downloads)",
"note": "Excluded from scoring (no data or not applicable): Registry dependents. Remaining weights renormalized.",
"notes": [
{
"code": "excluded_no_data",
"params": {
"components": [
"registry_dependents"
]
}
},
{
"code": "weights_renormalized",
"params": {}
}
],
"value": 100,
"inputs": {
"packages": [
"rqrcode"
],
"dependents": null,
"ecosystems": "rubygems",
"total_downloads": 124237534,
"monthly_downloads": null
},
"components": [
{
"key": "total_downloads",
"name": "Total downloads",
"detail": "124,237,534 downloads all-time across rubygems",
"points": 80,
"status": "met",
"details": [
{
"code": "downloads_total",
"params": {
"count": 124237534,
"ecosystems": "rubygems"
}
}
],
"max_points": 80
},
{
"key": "registry_dependents",
"name": "Registry dependents",
"detail": "not reported by this ecosystem",
"points": 0,
"status": "excluded",
"details": [
{
"code": "not_reported_by_this_ecosystem",
"params": {}
}
],
"max_points": 20
}
]
}
],
"description": "Does the project have users, downloads, attention, and a welcoming setup for contributors?"
},
{
"key": "governance",
"band": "moderate",
"name": "Sustainability & Governance",
"value": 66,
"weight": 0.24,
"metrics": [
{
"key": "maintainer_resilience",
"band": "at_risk",
"name": "Maintainer resilience (bus factor)",
"note": null,
"notes": [],
"value": 42,
"inputs": {
"bus_factor": 1,
"contributors_sampled": 37,
"top_contributor_share": 0.564
},
"components": [
{
"key": "bus_factor",
"name": "Bus factor",
"detail": "1 contributor(s) cover half of all commits",
"points": 9,
"status": "partial",
"details": [
{
"code": "bus_factor",
"params": {
"count": 1
}
}
],
"max_points": 54
},
{
"key": "commit_distribution",
"name": "Commit distribution",
"detail": "top contributor authored 56% of commits",
"points": 9.8,
"status": "partial",
"details": [
{
"code": "top_contributor_share",
"params": {
"share": 56
}
}
],
"max_points": 22.5
},
{
"key": "contributor_breadth",
"name": "Contributor breadth",
"detail": "37 contributors",
"points": 13.5,
"status": "met",
"details": [
{
"code": "contributors_sampled",
"params": {
"count": 37
}
}
],
"max_points": 13.5
},
{
"key": "openssf_scorecard_contributors",
"name": "OpenSSF Scorecard: Contributors",
"detail": "project has 6 contributing companies or organizations",
"points": 10,
"status": "met",
"details": [],
"max_points": 10
}
]
},
{
"key": "responsiveness",
"band": "good",
"name": "Issue & PR responsiveness",
"note": null,
"notes": [],
"value": 77,
"inputs": {
"merged_prs": 74,
"open_issues": 0,
"closed_issues": 65,
"issue_closed_ratio": 1,
"closed_unmerged_prs": 29
},
"components": [
{
"key": "issue_resolution",
"name": "Issue resolution",
"detail": "100% of issues closed",
"points": 46.8,
"status": "met",
"details": [
{
"code": "issues_closed_share",
"params": {
"share": 100
}
}
],
"max_points": 46.75
},
{
"key": "pr_acceptance",
"name": "PR acceptance",
"detail": "74/103 decided PRs merged",
"points": 27.5,
"status": "partial",
"details": [
{
"code": "decided_prs_merged",
"params": {
"merged": 74,
"decided": 103
}
}
],
"max_points": 38.25
},
{
"key": "openssf_scorecard_code_review",
"name": "OpenSSF Scorecard: Code-Review",
"detail": "Found 2/10 approved changesets -- score normalized to 2",
"points": 3,
"status": "partial",
"details": [],
"max_points": 15
}
]
},
{
"key": "stewardship",
"band": "moderate",
"name": "Ownership & stewardship",
"note": "Excluded from scoring (no data or not applicable): Verified domain. Remaining weights renormalized.",
"notes": [
{
"code": "excluded_no_data",
"params": {
"components": [
"verified_domain"
]
}
},
{
"code": "weights_renormalized",
"params": {}
}
],
"value": 64,
"inputs": {
"followers": 176,
"owner_type": "User",
"is_verified": null,
"owner_login": "whomwah",
"public_repos": 74,
"account_age_days": 6714
},
"components": [
{
"key": "ownership_backing",
"name": "Ownership backing",
"detail": "personal (user) account",
"points": 10,
"status": "partial",
"details": [
{
"code": "owner_personal",
"params": {}
}
],
"max_points": 30
},
{
"key": "verified_domain",
"name": "Verified domain",
"detail": "not applicable to user accounts",
"points": 0,
"status": "excluded",
"details": [
{
"code": "not_applicable_to_user_accounts",
"params": {}
}
],
"max_points": 20
},
{
"key": "owner_reach",
"name": "Owner reach",
"detail": "176 followers of whomwah",
"points": 16.2,
"status": "partial",
"details": [
{
"code": "owner_followers",
"params": {
"count": 176,
"login": "whomwah"
}
}
],
"max_points": 25
},
{
"key": "track_record",
"name": "Track record",
"detail": "74 public repos, account ~18 yr old",
"points": 25,
"status": "met",
"details": [
{
"code": "public_repos",
"params": {
"count": 74
}
},
{
"code": "account_age_years",
"params": {
"years": 18
}
}
],
"max_points": 25
}
]
},
{
"key": "package_maintenance",
"band": "excellent",
"name": "Package maintenance",
"note": null,
"notes": [],
"value": 91,
"inputs": {
"packages": [
"rqrcode"
],
"ecosystems": "rubygems",
"any_deprecated": false,
"min_days_since_publish": 194
},
"components": [
{
"key": "published_resolvable",
"name": "Published & resolvable",
"detail": "1 package(s) on rubygems",
"points": 25,
"status": "met",
"details": [
{
"code": "packages_published",
"params": {
"count": 1,
"ecosystems": "rubygems"
}
}
],
"max_points": 25
},
{
"key": "publish_recency",
"name": "Publish recency",
"detail": "latest publish 194 days ago",
"points": 26,
"status": "partial",
"details": [
{
"code": "publish_recency",
"params": {
"days": 194
}
}
],
"max_points": 35
},
{
"key": "version_history",
"name": "Version history",
"detail": "34 published versions",
"points": 20,
"status": "met",
"details": [
{
"code": "published_versions",
"params": {
"count": 34
}
}
],
"max_points": 20
},
{
"key": "not_deprecated",
"name": "Not deprecated",
"detail": "active, not deprecated or yanked",
"points": 20,
"status": "met",
"details": [
{
"code": "package_not_deprecated",
"params": {}
}
],
"max_points": 20
}
]
}
],
"description": "Will the project survive its people — bus factor, responsiveness, who backs it, and package upkeep?"
},
{
"key": "engineering",
"band": "moderate",
"name": "Engineering Quality",
"value": 58,
"weight": 0.2,
"metrics": [
{
"key": "engineering_practices",
"band": "moderate",
"name": "Engineering practices",
"note": null,
"notes": [],
"value": 64,
"inputs": {
"has_ci": true,
"has_tests": true,
"has_editorconfig": false,
"has_linter_config": false,
"has_precommit_config": false
},
"components": [
{
"key": "ci_workflows",
"name": "CI workflows",
"detail": "1 workflow(s)",
"points": 24,
"status": "met",
"details": [
{
"code": "ci_workflows",
"params": {
"count": 1
}
}
],
"max_points": 24
},
{
"key": "tests_present",
"name": "Tests present",
"detail": null,
"points": 24,
"status": "met",
"details": [],
"max_points": 24
},
{
"key": "linter_config",
"name": "Linter config",
"detail": null,
"points": 0,
"status": "missed",
"details": [],
"max_points": 16
},
{
"key": "pre_commit_hooks",
"name": "Pre-commit hooks",
"detail": null,
"points": 0,
"status": "missed",
"details": [],
"max_points": 9.6
},
{
"key": "editorconfig",
"name": ".editorconfig",
"detail": null,
"points": 0,
"status": "missed",
"details": [],
"max_points": 6.4
},
{
"key": "openssf_scorecard_ci_tests",
"name": "OpenSSF Scorecard: CI-Tests",
"detail": "9 out of 11 merged PRs checked by a CI test -- score normalized to 8",
"points": 16,
"status": "partial",
"details": [],
"max_points": 20
}
]
},
{
"key": "documentation",
"band": "moderate",
"name": "Documentation",
"note": null,
"notes": [],
"value": 50,
"inputs": {
"topics": [
"qrcode",
"qrcode-generator",
"ruby"
],
"has_wiki": false,
"homepage": null,
"has_readme": true,
"has_docs_dir": false,
"has_description": true
},
"components": [
{
"key": "readme",
"name": "README",
"detail": null,
"points": 30,
"status": "met",
"details": [],
"max_points": 30
},
{
"key": "documentation_directory",
"name": "Documentation directory",
"detail": null,
"points": 0,
"status": "missed",
"details": [],
"max_points": 25
},
{
"key": "documentation_homepage_site",
"name": "Documentation / homepage site",
"detail": null,
"points": 0,
"status": "missed",
"details": [],
"max_points": 15
},
{
"key": "repository_description",
"name": "Repository description",
"detail": null,
"points": 10,
"status": "met",
"details": [],
"max_points": 10
},
{
"key": "topics",
"name": "Topics",
"detail": "3 topics",
"points": 10,
"status": "met",
"details": [
{
"code": "topics_count",
"params": {
"count": 3
}
}
],
"max_points": 10
},
{
"key": "wiki",
"name": "Wiki",
"detail": null,
"points": 0,
"status": "missed",
"details": [],
"max_points": 10
}
]
}
],
"description": "Are baseline engineering and documentation practices in place?"
},
{
"key": "security",
"band": "moderate",
"name": "Security",
"value": 60,
"weight": 0.16,
"metrics": [
{
"key": "security_posture",
"band": "moderate",
"name": "Security posture",
"note": "Excluded from scoring (no data or not applicable): Branch-Protection, Packaging, Signed-Releases. Remaining weights renormalized.",
"notes": [
{
"code": "excluded_no_data",
"params": {
"components": [
"branch_protection",
"packaging",
"signed_releases"
]
}
},
{
"code": "weights_renormalized",
"params": {}
}
],
"value": 50,
"inputs": {
"source": "openssf_scorecard",
"checks_evaluated": 15,
"scorecard_version": "v5.5.0",
"checks_inconclusive": 3,
"scorecard_aggregate": 5
},
"components": [
{
"key": "binary_artifacts",
"name": "Binary-Artifacts",
"detail": "no binaries found in the repo",
"points": 7.5,
"status": "met",
"details": [],
"max_points": 7.5
},
{
"key": "branch_protection",
"name": "Branch-Protection",
"detail": "internal error: error during branchesHandler.setup: internal error: some github tokens can't read classic branch protection rules: https://github.com/ossf/scorecard-action/blob/main/docs/authentication/fine-grained-auth-token.md",
"points": 0,
"status": "excluded",
"details": [
{
"code": "no_data",
"params": {}
}
],
"max_points": 7.5
},
{
"key": "ci_tests",
"name": "CI-Tests",
"detail": "9 out of 11 merged PRs checked by a CI test -- score normalized to 8",
"points": 2,
"status": "partial",
"details": [],
"max_points": 2.5
},
{
"key": "cii_best_practices",
"name": "CII-Best-Practices",
"detail": "no effort to earn an OpenSSF best practices badge detected",
"points": 0,
"status": "missed",
"details": [],
"max_points": 2.5
},
{
"key": "code_review",
"name": "Code-Review",
"detail": "Found 2/10 approved changesets -- score normalized to 2",
"points": 1.5,
"status": "partial",
"details": [],
"max_points": 7.5
},
{
"key": "contributors",
"name": "Contributors",
"detail": "project has 6 contributing companies or organizations",
"points": 2.5,
"status": "met",
"details": [],
"max_points": 2.5
},
{
"key": "dangerous_workflow",
"name": "Dangerous-Workflow",
"detail": "no dangerous workflow patterns detected",
"points": 10,
"status": "met",
"details": [],
"max_points": 10
},
{
"key": "dependency_update_tool",
"name": "Dependency-Update-Tool",
"detail": "update tool detected",
"points": 7.5,
"status": "met",
"details": [],
"max_points": 7.5
},
{
"key": "fuzzing",
"name": "Fuzzing",
"detail": "project is not fuzzed",
"points": 0,
"status": "missed",
"details": [],
"max_points": 5
},
{
"key": "license",
"name": "License",
"detail": "license file detected",
"points": 2.5,
"status": "met",
"details": [],
"max_points": 2.5
},
{
"key": "maintained",
"name": "Maintained",
"detail": "2 commit(s) and 1 issue activity found in the last 90 days -- score normalized to 2",
"points": 1.5,
"status": "partial",
"details": [],
"max_points": 7.5
},
{
"key": "packaging",
"name": "Packaging",
"detail": "packaging workflow not detected",
"points": 0,
"status": "excluded",
"details": [
{
"code": "no_data",
"params": {}
}
],
"max_points": 5
},
{
"key": "pinned_dependencies",
"name": "Pinned-Dependencies",
"detail": "dependency not pinned by hash detected -- score normalized to 0",
"points": 0,
"status": "missed",
"details": [],
"max_points": 5
},
{
"key": "sast",
"name": "SAST",
"detail": "SAST tool is not run on all commits -- score normalized to 0",
"points": 0,
"status": "missed",
"details": [],
"max_points": 5
},
{
"key": "security_policy",
"name": "Security-Policy",
"detail": "security policy file not detected",
"points": 0,
"status": "missed",
"details": [],
"max_points": 5
},
{
"key": "signed_releases",
"name": "Signed-Releases",
"detail": "no releases found",
"points": 0,
"status": "excluded",
"details": [
{
"code": "no_data",
"params": {}
}
],
"max_points": 7.5
},
{
"key": "token_permissions",
"name": "Token-Permissions",
"detail": "detected GitHub workflow tokens with excessive permissions",
"points": 0,
"status": "missed",
"details": [],
"max_points": 7.5
},
{
"key": "vulnerabilities",
"name": "Vulnerabilities",
"detail": "0 existing vulnerabilities detected",
"points": 7.5,
"status": "met",
"details": [],
"max_points": 7.5
}
]
},
{
"key": "dependency_advisories",
"band": "excellent",
"name": "Dependency advisories",
"note": "Excluded from scoring (no data or not applicable): Indirect dependencies free of known advisories, No advisories left outstanding. Remaining weights renormalized. Matched 31 resolved dependencies against OSV; 9 could not be assessed (no resolved version, an unsupported ecosystem, or beyond the reported package list). This repository publishes no package the index resolves, so the repository dependency graph was assessed instead. That graph mixes development and test pins with shipped dependencies, so only the declared runtime dependencies are scored; transitive findings are reported as context and excluded from the score. Reachability is not analyzed.",
"notes": [
{
"code": "excluded_no_data",
"params": {
"components": [
"indirect_dependencies_free_of_known_advisories",
"no_advisories_left_outstanding"
]
}
},
{
"code": "weights_renormalized",
"params": {}
},
{
"code": "advisories_scope_repository",
"params": {
"assessed": 31
}
},
{
"code": "advisories_unassessed",
"params": {
"count": 9
}
},
{
"code": "advisories_repo_graph_caveat",
"params": {}
},
{
"code": "advisories_reachability",
"params": {}
}
],
"value": 100,
"inputs": {
"source": "osv",
"advisories": 0,
"affected_packages": 0,
"assessed_packages": 31,
"unassessed_packages": 9,
"affected_by_severity": "none",
"direct_affected_packages": 0
},
"components": [
{
"key": "direct_dependencies_free_of_known_advisories",
"name": "Direct dependencies free of known advisories",
"detail": "no direct dependency carries a known advisory",
"points": 35,
"status": "met",
"details": [
{
"code": "no_direct_advisories",
"params": {}
}
],
"max_points": 35
},
{
"key": "indirect_dependencies_free_of_known_advisories",
"name": "Indirect dependencies free of known advisories",
"detail": "transitive set not separable from development and test dependencies in this scope",
"points": 0,
"status": "excluded",
"details": [
{
"code": "advisories_scope_not_separable",
"params": {}
}
],
"max_points": 25
},
{
"key": "no_advisories_left_outstanding",
"name": "No advisories left outstanding",
"detail": "no advisory carries a publication date",
"points": 0,
"status": "excluded",
"details": [
{
"code": "advisories_no_publication_date",
"params": {}
}
],
"max_points": 40
}
]
},
{
"key": "malicious_dependencies",
"band": "excellent",
"name": "Malicious dependencies",
"note": null,
"notes": [],
"value": 100,
"inputs": {
"source": "osv",
"meaning": "reported as a malicious package by the OpenSSF corpus; the remedy is removal or moving off the compromised name, never an upgrade of the same artifact. Versions the registry has since pulled are listed but not scored",
"packages": [],
"red_flag": false,
"assessed_packages": 31,
"malicious_packages": 0,
"direct_malicious_packages": 0,
"withdrawn_malicious_packages": 0,
"installable_malicious_packages": 0
},
"components": [
{
"key": "no_dependency_reported_as_a_malicious_package",
"name": "No dependency reported as a malicious package",
"detail": "no dependency is reported as a malicious package",
"points": 100,
"status": "met",
"details": [
{
"code": "no_malicious_dependencies",
"params": {}
}
],
"max_points": 100
}
]
},
{
"key": "high_risk_jurisdiction_exposure",
"band": "excellent",
"name": "High-Risk Jurisdiction Exposure",
"note": "Only high-confidence self-published location evidence affects this multiplier. Ambiguous matches are review-only; country evidence is not proof of nationality, citizenship, legal registration, malicious intent, or sanctions status.",
"notes": [
{
"code": "jurisdiction_evidence_limits",
"params": {}
}
],
"value": 100,
"inputs": {
"meaning": "self-published location evidence; not nationality or citizenship",
"red_flag": false,
"exposures": [],
"policy_countries": [
"Russia",
"Iran",
"North Korea"
],
"review_only_matches": 0,
"assessed_self_published_locations": 14
},
"components": [
{
"key": "policy_exposure_multiplier",
"name": "Policy exposure multiplier",
"detail": "no confirmed policy-scope location match",
"points": 100,
"status": "met",
"details": [
{
"code": "jurisdiction_no_match",
"params": {}
}
],
"max_points": 100
}
]
}
],
"description": "Are visible security and supply-chain practices strong, with no malicious dependency and no unresolved high-risk jurisdiction exposure?"
},
{
"key": "ai_readiness",
"band": "moderate",
"name": "AI Readiness",
"value": 56,
"weight": 0,
"metrics": [
{
"key": "ai_agent_context",
"band": "good",
"name": "Agent context & guidance",
"note": null,
"notes": [],
"value": 78,
"inputs": {
"has_llms_txt": false,
"legible_history_share": 0.626,
"agent_instruction_files": [
"AGENTS.md"
],
"agent_instruction_max_bytes": 1940
},
"components": [
{
"key": "agent_instructions",
"name": "Agent instructions",
"detail": "AGENTS.md",
"points": 45,
"status": "met",
"details": [
{
"code": "file_list",
"params": {
"files": "AGENTS.md"
}
}
],
"max_points": 45
},
{
"key": "machine_readable_docs_llms_txt",
"name": "Machine-readable docs (llms.txt)",
"detail": null,
"points": 0,
"status": "missed",
"details": [],
"max_points": 15
},
{
"key": "legible_commit_history",
"name": "Legible commit history",
"detail": "62 of 99 human commits state their intent (structured subject or explanatory body)",
"points": 33.4,
"status": "partial",
"details": [
{
"code": "legible_history",
"params": {
"legible": 62,
"sampled": 99
}
}
],
"max_points": 40
}
]
},
{
"key": "ai_verify_loop",
"band": "at_risk",
"name": "Verify loop (build / test / typecheck)",
"note": null,
"notes": [],
"value": 40,
"inputs": {
"has_nix": false,
"has_tests": true,
"lockfiles": [
"Gemfile.lock"
],
"has_dockerfile": false,
"typed_language": false,
"bootstrap_files": [],
"has_devcontainer": false,
"has_linter_config": false,
"typecheck_configs": [],
"agent_commit_share": 0,
"toolchain_manifests": [],
"dependency_bot_commit_share": 0.01
},
"components": [
{
"key": "one_command_bootstrap",
"name": "One-command bootstrap",
"detail": null,
"points": 0,
"status": "missed",
"details": [],
"max_points": 18
},
{
"key": "automated_tests",
"name": "Automated tests",
"detail": null,
"points": 22,
"status": "met",
"details": [],
"max_points": 22
},
{
"key": "lint_format_config",
"name": "Lint / format config",
"detail": null,
"points": 0,
"status": "missed",
"details": [],
"max_points": 11
},
{
"key": "static_type_checking",
"name": "Static type checking",
"detail": null,
"points": 0,
"status": "missed",
"details": [],
"max_points": 11
},
{
"key": "reproducible_environment",
"name": "Reproducible environment",
"detail": "lockfile",
"points": 10,
"status": "met",
"details": [
{
"code": "file_list",
"params": {
"files": "lockfile"
}
}
],
"max_points": 10
},
{
"key": "demonstrated_agent_practice",
"name": "Demonstrated agent practice",
"detail": "no agent-authored commits among the last 100",
"points": 0,
"status": "missed",
"details": [
{
"code": "no_agent_authored_commits",
"params": {
"sampled": 100
}
}
],
"max_points": 10
},
{
"key": "automated_maintenance",
"name": "Automated maintenance",
"detail": "1 of the last 100 commits are automated dependency updates",
"points": 8,
"status": "met",
"details": [
{
"code": "dependency_bot_commits",
"params": {
"count": 1,
"sampled": 100
}
}
],
"max_points": 8
},
{
"key": "openssf_scorecard_pinned_dependencies",
"name": "OpenSSF Scorecard: Pinned-Dependencies",
"detail": "dependency not pinned by hash detected -- score normalized to 0",
"points": 0,
"status": "missed",
"details": [],
"max_points": 10
}
]
},
{
"key": "ai_code_legibility",
"band": "moderate",
"name": "Code legibility for models",
"note": null,
"notes": [],
"value": 55,
"inputs": {
"primary_language": "Ruby",
"largest_source_bytes": 56581,
"source_files_sampled": 22,
"oversized_source_files": 0
},
"components": [
{
"key": "type_checkable_code",
"name": "Type-checkable code",
"detail": "Ruby without a type-check config",
"points": 0,
"status": "missed",
"details": [
{
"code": "no_typecheck_config_language",
"params": {
"language": "Ruby"
}
}
],
"max_points": 45
},
{
"key": "manageable_file_sizes",
"name": "Manageable file sizes",
"detail": "0/22 source files over 60KB",
"points": 55,
"status": "met",
"details": [
{
"code": "oversized_source_files",
"params": {
"kb": 60,
"sampled": 22,
"oversized": 0
}
}
],
"max_points": 55
}
]
}
],
"description": "How well is the repo equipped to be developed and maintained with AI coding agents? An independent, experimental badge — weight 0.0, so it is surfaced on its own and does not affect the overall health score."
}
],
"metrics_version": "1.13.0"
},
"warnings": [],
"report_type": "repository",
"generated_at": "2026-07-21T23:27:23.071450Z",
"schema_version": "0.26.0",
"badge_url": "https://raw.githubusercontent.com/inspect-software/badges/main/v1/w/whomwah/rqrcode.svg",
"full_name": "whomwah/rqrcode",
"license_state": "standard",
"license_spdx": "MIT"
}