Звіт у форматі JSON машиночитний
{
"data": {
"repo": {
"topics": [],
"is_fork": false,
"size_kb": 182,
"has_wiki": true,
"homepage": null,
"languages": {
"Ruby": 37637
},
"pushed_at": "2021-05-02T19:31:04Z",
"created_at": "2012-03-17T14:39:31Z",
"owner_type": "Organization",
"updated_at": "2026-07-13T04:58:25Z",
"description": "Rails for API only applications",
"is_archived": false,
"is_disabled": false,
"license_spdx": "MIT",
"default_branch": "master",
"license_spdx_raw": "MIT",
"primary_language": "Ruby",
"significant_languages": [
"Ruby"
]
},
"owner": {
"blog": null,
"name": "rails-api",
"type": "Organization",
"login": "rails-api",
"company": null,
"location": null,
"followers": 16,
"avatar_url": "https://avatars.githubusercontent.com/u/2820360?v=4",
"created_at": "2012-11-17T09:36:49Z",
"is_verified": null,
"public_repos": 6,
"account_age_days": 4994
},
"license": {
"state": "standard",
"spdx_id": "MIT",
"raw_spdx": "MIT",
"file_present": true,
"scorecard_found": true,
"profile_has_license": true
},
"activity": {
"releases": [
{
"tag": "v0.4.1",
"kind": "patch",
"published_at": "2017-03-09T14:08:09Z"
},
{
"tag": "v0.4.0",
"kind": "minor",
"published_at": "2015-01-22T01:12:42Z"
},
{
"tag": "v0.3.1",
"kind": "patch",
"published_at": "2014-10-23T06:56:44Z"
},
{
"tag": "v0.3.0",
"kind": "minor",
"published_at": "2014-10-14T16:11:25Z"
},
{
"tag": "v0.2.1",
"kind": "patch",
"published_at": "2014-05-09T18:55:58Z"
},
{
"tag": "v0.2.0",
"kind": "minor",
"published_at": "2014-01-11T19:49:10Z"
},
{
"tag": "v0.1.0",
"kind": "minor",
"published_at": "2013-04-01T23:44:08Z"
},
{
"tag": "v0.0.3",
"kind": "patch",
"published_at": "2012-12-18T07:55:36Z"
},
{
"tag": "0.0.2",
"kind": "patch",
"published_at": "2012-06-06T16:49:35Z"
},
{
"tag": "0.0.1",
"kind": "patch",
"published_at": "2012-04-20T18:04:12Z"
}
],
"recent_commits": [
{
"oid": "91c6c35a3babfcec535e7e2469eca8aa49289b4a",
"body": null,
"is_bot": false,
"headline": "Bump to 0.4.1",
"author_name": "Santiago Pastorino",
"author_login": "spastorino",
"committed_at": "2017-03-09T14:08:09Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "0edd37c8cdc1d755da13c78c7a119b6444937626",
"body": null,
"is_bot": false,
"headline": "Add 0.4.1 CHANGELOG entries",
"author_name": "Santiago Pastorino",
"author_login": "spastorino",
"committed_at": "2017-03-09T14:05:58Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "077cb4777d0bd5c5486116ef67c2fdce6761ca2e",
"body": null,
"is_bot": false,
"headline": "Restore Ruby 1.8.7 support",
"author_name": "Santiago Pastorino",
"author_login": "spastorino",
"committed_at": "2017-03-09T12:52:51Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "dbb952fcfcbadb6a527e225442d75fbb0735aac3",
"body": null,
"is_bot": false,
"headline": "Fix tests",
"author_name": "Santiago Pastorino",
"author_login": "spastorino",
"committed_at": "2017-03-09T03:47:13Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "bed2cf26e8fc53f4d692f986be6bd343c8fe86e4",
"body": "Closes #221",
"is_bot": false,
"headline": "Make setup_generators! public",
"author_name": "Santiago Pastorino",
"author_login": "spastorino",
"committed_at": "2017-03-08T19:44:33Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "e150fb9555a1de863711055308a066f607d6edab",
"body": "Remove unneeded config line for AMS.",
"is_bot": false,
"headline": "Merge pull request #215 from aarongray/master",
"author_name": "Steve Klabnik",
"author_login": "steveklabnik",
"committed_at": "2016-05-18T21:52:29Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "2bda94c552526a18ef6fd532a7212306c8e886db",
"body": "The current version of AMS, 0.10.0, no longer requires this config\nfor rails-api apps.\n\nNew docs: https://github.com/rails-api/active_model_serializers/blob/master/docs/general/getting_started.md#rails-integration\nOld docs: https://github.com/rails-api/active_model_serializers/tree/0-9-stable#use-serialization-outside-of-actioncontrollerbase",
"is_bot": false,
"headline": "Remove unneeded config line for AMS.",
"author_name": "aarongray",
"author_login": "aarongray",
"committed_at": "2016-05-18T20:41:21Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "f43189a9d123f6b2638de4a732ea9105a5c46aa4",
"body": "update instance value set in before_action filter",
"is_bot": false,
"headline": "Merge pull request #202 from vassyz/generator-fix",
"author_name": "Santiago Pastorino",
"author_login": "spastorino",
"committed_at": "2015-06-14T20:48:41Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "a5cb7b5c742a43aee0caa8606e129bd1f4f89942",
"body": null,
"is_bot": false,
"headline": "update instance value set in before_action filter",
"author_name": "vassyz",
"author_login": null,
"committed_at": "2015-06-14T18:39:53Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "ef4bf101ccbb9c9d18191367fd53151087353f7f",
"body": "Announce merge of Rails::API into Rails",
"is_bot": false,
"headline": "Merge pull request #201 from bf4/patch-1",
"author_name": "Steve Klabnik",
"author_login": "steveklabnik",
"committed_at": "2015-06-11T22:48:32Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "8595ac780c1df35fee148f857ab4e89dba3d4442",
"body": null,
"is_bot": false,
"headline": "Begin deprecation of library",
"author_name": "Benjamin Fleischer",
"author_login": "bf4",
"committed_at": "2015-06-11T22:21:19Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "67115bc06ee388db5b8e70822553db686745097c",
"body": "TODO: There are some failing tests yet",
"is_bot": false,
"headline": "Make it work with Ruby 1.8.7",
"author_name": "Santiago Pastorino",
"author_login": "spastorino",
"committed_at": "2015-05-06T16:36:19Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "bbaec68b07b7baa4e7de4c08b584ae3ce2c1683f",
"body": null,
"is_bot": false,
"headline": "Use Ruby 2.2.2 on Travis CI",
"author_name": "Santiago Pastorino",
"author_login": "spastorino",
"committed_at": "2015-04-14T12:48:51Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "2969750c2d884810974bdda992247a9ea7d84f21",
"body": null,
"is_bot": false,
"headline": "Install test-unit for all MRI versions",
"author_name": "Santiago Pastorino",
"author_login": "spastorino",
"committed_at": "2015-04-13T01:59:29Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "673d63c7225a1f4a5d4e751e826d1c7cf033ef48",
"body": null,
"is_bot": false,
"headline": "Try to fix travis issues",
"author_name": "Santiago Pastorino",
"author_login": "spastorino",
"committed_at": "2015-04-12T23:48:22Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "33b4f221c55fed8c847ae10596dfe8124c33c762",
"body": null,
"is_bot": false,
"headline": "Update bundler to avoid mri_22 is not a valid platform issue",
"author_name": "Santiago Pastorino",
"author_login": "spastorino",
"committed_at": "2015-04-12T23:07:19Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "a328c0e4ce22a31f2eabea376f690774b5e3ff62",
"body": null,
"is_bot": false,
"headline": "Fix Rails 3.2 for mri 2.2",
"author_name": "Santiago Pastorino",
"author_login": "spastorino",
"committed_at": "2015-04-12T21:54:42Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "c56ef05338c76d611d32f473245f81d22604b74b",
"body": null,
"is_bot": false,
"headline": "Fix Rails 3.2 tests",
"author_name": "Santiago Pastorino",
"author_login": "spastorino",
"committed_at": "2015-04-12T21:48:44Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "a72b9fa6f72e7af02f6ba286d9578ae9c0437db7",
"body": "…ent\"\n\nThis reverts commit 73feb171280e71a76f7b7bab61d52925857984c1.\nFixes build.",
"is_bot": false,
"headline": "Revert \"DRY-ing up a collection by swapping the element that's differ…",
"author_name": "Santiago Pastorino",
"author_login": "spastorino",
"committed_at": "2015-04-12T21:41:18Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "66999458d33cdf03aa2310590e6a897d6ffb6798",
"body": null,
"is_bot": false,
"headline": "Exclude Ruby < 2.2 for Rails master",
"author_name": "Santiago Pastorino",
"author_login": "spastorino",
"committed_at": "2015-04-12T17:26:55Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "4eaa0c58d239ec81f508bbdd044110c3d447d9e0",
"body": null,
"is_bot": false,
"headline": "Add Rails 3.2, 4.0, 4.1 to travis tests",
"author_name": "Santiago Pastorino",
"author_login": "spastorino",
"committed_at": "2015-04-12T17:06:32Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "01e6a731e11cb6341eccd6277d8efb0954f1e814",
"body": null,
"is_bot": false,
"headline": "Fix travis.yml",
"author_name": "Santiago Pastorino",
"author_login": "spastorino",
"committed_at": "2015-04-12T16:17:33Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "6d3a4b9291d589556ff2f7eea7b54ae0de30a3c1",
"body": "Resolving the deprecation warning - active_support.test_order",
"is_bot": false,
"headline": "Merge pull request #193 from adomokos/active_support_test_order",
"author_name": "Santiago Pastorino",
"author_login": "spastorino",
"committed_at": "2015-04-12T15:50:28Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "26a4e313bc5be855ca58cbfb15e19d8d4b497a2a",
"body": "Freeze the array that is not supposed to change",
"is_bot": false,
"headline": "Merge pull request #194 from adomokos/freeze-array",
"author_name": "Santiago Pastorino",
"author_login": "spastorino",
"committed_at": "2015-04-12T15:49:49Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "2afb0586397f04984bc652bc6910a51cf94b88b4",
"body": "DRY-ing up a collection by swapping the element that's different",
"is_bot": false,
"headline": "Merge pull request #195 from adomokos/drying-up-test",
"author_name": "Santiago Pastorino",
"author_login": "spastorino",
"committed_at": "2015-04-12T15:47:54Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "73feb171280e71a76f7b7bab61d52925857984c1",
"body": null,
"is_bot": false,
"headline": "DRY-ing up a collection by swapping the element that's different",
"author_name": "Attila Domokos",
"author_login": "adomokos",
"committed_at": "2015-04-10T01:56:51Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "d13821bcd8fbeaa5a74c460ac9cb22362cdc4f6f",
"body": null,
"is_bot": false,
"headline": "Freeze the array that is not supposed to change",
"author_name": "Attila Domokos",
"author_login": "adomokos",
"committed_at": "2015-04-10T01:53:50Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "9579a69847fac984060cb0b31a1abb5004e2d7ca",
"body": null,
"is_bot": false,
"headline": "Resolving the deprecation warning - active_support.test_order",
"author_name": "Attila Domokos",
"author_login": "adomokos",
"committed_at": "2015-04-10T01:51:08Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "a191197fdb415a03c6a814bab7c5aec56d0e7837",
"body": "Remove duplicate Rack::Head middleware reference",
"is_bot": false,
"headline": "Merge pull request #190 from thisishugo/patch-1",
"author_name": "Steve Klabnik",
"author_login": "steveklabnik",
"committed_at": "2015-03-13T15:30:18Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "a030b7fcafbacec9f8c9041624ed88e6bcdb3f9e",
"body": null,
"is_bot": false,
"headline": "Remove duplicate Rack::Head middleware reference",
"author_name": "Hugo Jobling",
"author_login": "hugo",
"committed_at": "2015-03-13T15:02:47Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "edaefa7ae05cbf6bd9f2b6a1a8856f799711b4ca",
"body": null,
"is_bot": false,
"headline": "Bump to 0.4.0",
"author_name": "Steve Klabnik",
"author_login": "steveklabnik",
"committed_at": "2015-01-22T01:12:42Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "b7791f4d94994f0867140b427192c2bc15005e8a",
"body": "add before_action to controller template. closes #119",
"is_bot": false,
"headline": "Merge pull request #162 from carlesjove/add_before_action",
"author_name": "Santiago Pastorino",
"author_login": "spastorino",
"committed_at": "2015-01-14T17:37:37Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "05c9291f4a2a72d6ef905636cb6fdcd9a19e7ff7",
"body": null,
"is_bot": false,
"headline": "add tests for presence of 'render' when scaffolds are generated",
"author_name": "Carles Jove i Buxeda",
"author_login": "carlesjove",
"committed_at": "2015-01-14T14:44:43Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "b1801a90c2249a5d30b1c40d2765c3c577703b7a",
"body": null,
"is_bot": false,
"headline": "add before_action to controller template. closes #119",
"author_name": "Carles Jove i Buxeda",
"author_login": "carlesjove",
"committed_at": "2015-01-14T14:44:43Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "2fe964563d15e80cc432b83061083e4bacc57090",
"body": "Remove ActionController::HideActions",
"is_bot": false,
"headline": "Merge pull request #180 from bearded/hide_actions",
"author_name": "Santiago Pastorino",
"author_login": "spastorino",
"committed_at": "2015-01-14T13:42:02Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "5817bd3a64c163b2f08e7aa167a43b080a1d0023",
"body": "Require Ruby 2.2 for Rails 5.0\nRubinius rubysl ~> 2.1 and added gem psysch into :rbx section of Gemfiles\nAdded missing records into Changelog",
"is_bot": false,
"headline": "Remove ActionController::HideActions",
"author_name": "Alexey Chebotar",
"author_login": "bearded",
"committed_at": "2015-01-14T12:27:59Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "e8268530f5c395ef17aa30b477bf097080375e3c",
"body": "Fixes Deprecation warning raised on 4.2",
"is_bot": false,
"headline": "Merge pull request #181 from guiferrpereira/patch-1",
"author_name": "Rafael Mendonça França",
"author_login": "rafaelfranca",
"committed_at": "2015-01-13T18:56:20Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "6a80a367cd0fe912d043fcbe7695c181b02f03d0",
"body": "Fixes this warning:\r\n\r\nDEPRECATION WARNING: The configuration option `config.serve_static_assets` has been renamed to `config.serve_static_files` to clarify its role (it merely enables serving everything in the `public` folder and is unrelated to the asset pipeline). The `serve_static_assets` alias will be removed in Rails 5.0. Please migrate your configuration files accordingly.",
"is_bot": false,
"headline": "Fixes Deprecation warning raised on 4.2",
"author_name": "Guilherme Pereira",
"author_login": "guiferrpereira",
"committed_at": "2015-01-13T18:52:57Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "2e09132e29845180da4f66ac596304ec9cf8c715",
"body": "bcrypt-ruby was renamed to bcrypt",
"is_bot": false,
"headline": "Merge pull request #168 from djbender/master",
"author_name": "Santiago Pastorino",
"author_login": "spastorino",
"committed_at": "2015-01-13T02:15:38Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "60593b6b08624d8b78a7538df8efc363f07f20f3",
"body": "Rack::Head not ActionDispatch::Head",
"is_bot": false,
"headline": "Merge pull request #171 from jaredonline/patch-1",
"author_name": "Santiago Pastorino",
"author_login": "spastorino",
"committed_at": "2015-01-13T02:15:20Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "0f8d8b7d34fa2f0c99459450cd73f7f0819079f4",
"body": "Green tests on Rails 5.0.0.alpha",
"is_bot": false,
"headline": "Merge pull request #174 from bearded/rails5",
"author_name": "Santiago Pastorino",
"author_login": "spastorino",
"committed_at": "2015-01-13T02:14:26Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "4558ee4763e759a6f4ab2b958503e8b09f451ea3",
"body": "Fixing use of deprecated `serve_static_assets` config option",
"is_bot": false,
"headline": "Merge pull request #178 from theunraveler/serve_static_files",
"author_name": "Santiago Pastorino",
"author_login": "spastorino",
"committed_at": "2015-01-13T02:12:34Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "96bdfef2ccb46b7ea092b83a044cee10b280bd9b",
"body": "update serializer section in readme - issue #176",
"is_bot": false,
"headline": "Merge pull request #177 from fsmanuel/update-readme",
"author_name": "Santiago Pastorino",
"author_login": "spastorino",
"committed_at": "2015-01-13T02:11:24Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "1e08f37694f7e72de4700a05a428ec65932feb1c",
"body": null,
"is_bot": false,
"headline": "Fixing use of deprecated `serve_static_assets` config option",
"author_name": "Jake Bell",
"author_login": null,
"committed_at": "2014-12-20T18:36:34Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "741643c175cc979e133651a0d5a1e1b83da73417",
"body": null,
"is_bot": false,
"headline": "update serializer section in readme - issue #176",
"author_name": "Manuel Wiedenmann",
"author_login": "fsmanuel",
"committed_at": "2014-12-19T09:07:57Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "1409e41e0554642280fb815eb1181e612f1c7ac1",
"body": "* Converted Rails4 checks into Rails3 checks;\n* Green tests on Rails 5.0.0.alpha :green_heart:",
"is_bot": false,
"headline": "* ActionDispatch::Head replaced by Rack::Head;",
"author_name": "Alexey Chebotar",
"author_login": "bearded",
"committed_at": "2014-12-12T14:52:59Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "6b5f9f87abed87fdba89b155e0ea9c86f1eb9efe",
"body": "Plus a few formatting changes [=",
"is_bot": false,
"headline": "Rack::Head not ActionDispatch::Head",
"author_name": "Jared McFarland",
"author_login": "jaredonline",
"committed_at": "2014-11-14T18:51:31Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "e61080d953967bcac687f8a5c15a8d809f5ce68d",
"body": "Add default parameter filtering",
"is_bot": false,
"headline": "Merge pull request #163 from jordan-thoms/add_parameter_filtering",
"author_name": "Steve Klabnik",
"author_login": "steveklabnik",
"committed_at": "2014-10-23T08:38:23Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "580a4b76382e016fd6e7095a5f16901e191ac1b4",
"body": null,
"is_bot": false,
"headline": "bump to 0.3.1",
"author_name": "Steve Klabnik",
"author_login": "steveklabnik",
"committed_at": "2014-10-23T06:56:44Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "73ef3ce19cff69054ea939221405482266234576",
"body": "…ompatibility\n\nprotected_instance_variables is compatible with Rails < 4.1",
"is_bot": false,
"headline": "Merge pull request #169 from j-wilkins/protected_instance_variables-c…",
"author_name": "Steve Klabnik",
"author_login": "steveklabnik",
"committed_at": "2014-10-23T06:55:57Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "e277b3b7ff2dcfd14bf719d5d0dc483e43dff156",
"body": null,
"is_bot": false,
"headline": "protected_instance_variables is compatible with Rails < 4.1",
"author_name": "jake",
"author_login": "j-wilkins",
"committed_at": "2014-10-23T00:59:57Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "ab6442bff5a0ff5ec27f849793916621bdd68ff0",
"body": "also bump version number.",
"is_bot": false,
"headline": "bcrypt-ruby was renamed to bcrypt",
"author_name": "Derek Bender",
"author_login": null,
"committed_at": "2014-10-16T21:06:54Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "1a2156c04d2588c53baad94e68b75dad5e8e9b2f",
"body": "Update CHANGELOG",
"is_bot": false,
"headline": "Merge pull request #167 from kenips/support/update_changelog",
"author_name": "Steve Klabnik",
"author_login": "steveklabnik",
"committed_at": "2014-10-16T16:39:22Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "450194825ae35cd117972d98816a774f8068f2fe",
"body": null,
"is_bot": false,
"headline": "Update CHANGELOG",
"author_name": "Ken Ip",
"author_login": "kenips",
"committed_at": "2014-10-16T15:26:35Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "07a38dfdf7b30513ba9289d9ed328ec60c47dff7",
"body": "This is the same initalizer as the normal rails generator creates.\n\nIt means that by default passwords are filtered from logs and reminds users to\nadd the other parameters that need to be filtered.",
"is_bot": false,
"headline": "Add default parameter filtering",
"author_name": "Jordan Thoms",
"author_login": "jordan-thoms",
"committed_at": "2014-10-15T02:25:50Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "c0e82f41fde76dbb12819be8bb2976c38d3d0851",
"body": null,
"is_bot": false,
"headline": "bump to 0.3.0",
"author_name": "Steve Klabnik",
"author_login": "steveklabnik",
"committed_at": "2014-10-14T16:11:25Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "311341f463ee4ed1856e9cffca5081855f528d3d",
"body": "…in_controller_actions\n\nWhitelisted params generation in controller actions",
"is_bot": false,
"headline": "Merge pull request #160 from txdavidtx/whitelisted_params_generation_…",
"author_name": "Steve Klabnik",
"author_login": "steveklabnik",
"committed_at": "2014-10-10T17:28:33Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "faf9033d369ce80788981567c8103759fb07a719",
"body": null,
"is_bot": false,
"headline": "fixed params generation for update and create action",
"author_name": "txdavidtx",
"author_login": "davidpaulhunt",
"committed_at": "2014-10-10T15:56:22Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "6ebc6cdb1371547044fa6fe883f224f345d456fc",
"body": "merge other junk into mine",
"is_bot": false,
"headline": "Merge pull request #1 from rails-api/master",
"author_name": "David Hunt",
"author_login": null,
"committed_at": "2014-10-10T15:48:05Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "b2dee24b0b66ce0ee43eaec6aab2e0686e58049f",
"body": "Added whitelisting of params on generate action",
"is_bot": false,
"headline": "Merge pull request #148 from txdavidtx/controller_params_whitelisting",
"author_name": "Steve Klabnik",
"author_login": "steveklabnik",
"committed_at": "2014-08-28T17:42:10Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "29870eb436e9b205d5588db269f4e5a8114edef1",
"body": "Adding info on removing protect_from_forgery to readme.",
"is_bot": false,
"headline": "Merge pull request #153 from dgsan/patch-1",
"author_name": "Steve Klabnik",
"author_login": "steveklabnik",
"committed_at": "2014-08-28T17:41:24Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "f566c7415f1257c3721688a3b2a45138a2f4718f",
"body": "The implications of removing `protect_from_forgery` aren't made clear, which might be a big deal for the average user who likely relies on Rails to know best when it comes to things like authentication. \r\n\r\nI can imagine there being a bunch of sites using rails-api with cookie-based auth and CSRF tu\n[…]\nmake the potential user investigate. It's also possible that it might make more sense to just link to information about token-based authentication, which I'd assume is what's typically used with APIs.",
"is_bot": false,
"headline": "Adding info on removing protect_from_forgery to readme.",
"author_name": "dgsan",
"author_login": "dgsan",
"committed_at": "2014-08-28T17:37:10Z",
"body_truncated": true,
"is_coding_agent": false
},
{
"oid": "f228999a6c0f50ccf1d0c8824f0c3cc7855ec682",
"body": "Use the new Docker queue",
"is_bot": false,
"headline": "Merge pull request #152 from joshk/patch-1",
"author_name": "Steve Klabnik",
"author_login": "steveklabnik",
"committed_at": "2014-08-21T23:22:39Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "9346274b0018882cc7f6f1de0c5bfbefb64f1957",
"body": null,
"is_bot": false,
"headline": "small change so the proper queue is picked up corectly",
"author_name": "Josh Kalderimis",
"author_login": "joshk",
"committed_at": "2014-08-21T22:44:03Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "3004adb1f812a88b47a800977e072e45b3cffe85",
"body": "faster better stronger",
"is_bot": false,
"headline": "Use the new Docker queue",
"author_name": "Josh Kalderimis",
"author_login": "joshk",
"committed_at": "2014-08-21T22:38:12Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "01ce21a1512cd0528622ea1f4bfd9af431d5e96c",
"body": "Move require for 'rails/version' to the file that needs it",
"is_bot": false,
"headline": "Merge pull request #124 from ReneB/fix_require_version",
"author_name": "Steve Klabnik",
"author_login": "steveklabnik",
"committed_at": "2014-08-21T22:04:53Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "05c3eec53b343ce583fe5d487d924f334aaddb40",
"body": "Enable warnings from tests.",
"is_bot": false,
"headline": "Merge pull request #125 from vipulnsward/enable-warnings",
"author_name": "Steve Klabnik",
"author_login": "steveklabnik",
"committed_at": "2014-08-21T22:04:23Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "818d44d27af837f7c742f2d14124c1b92f5a4c90",
"body": "Adds self.protected_instance_variables to ActionController::API",
"is_bot": false,
"headline": "Merge pull request #144 from edowling/master",
"author_name": "Steve Klabnik",
"author_login": "steveklabnik",
"committed_at": "2014-08-21T22:04:15Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "186869b4eb70e33c91c06bd1f3fc1789acc5f96c",
"body": "Change rails three stack method name",
"is_bot": false,
"headline": "Merge pull request #145 from buddhamagnet/baby-steps",
"author_name": "Steve Klabnik",
"author_login": "steveklabnik",
"committed_at": "2014-08-21T22:03:52Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "f57cff3bf9d8669705e4411ab28c09130c158b42",
"body": "Update README.md",
"is_bot": false,
"headline": "Merge pull request #149 from shazadmaved/patch-1",
"author_name": "Steve Klabnik",
"author_login": "steveklabnik",
"committed_at": "2014-08-21T22:03:33Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "2acc9df12d70ce0f618a64c796594fa9c73d6ae7",
"body": null,
"is_bot": false,
"headline": "Update README.md",
"author_name": "shazad maved",
"author_login": "shazadmaved",
"committed_at": "2014-08-10T17:48:12Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "9202410a80561dcaf7050ca1cf80617186b13c06",
"body": null,
"is_bot": false,
"headline": "Added whitelisting of params on generate action",
"author_name": "txdavidtx",
"author_login": "davidpaulhunt",
"committed_at": "2014-08-09T05:51:38Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "52c4537f9d18095db7530790348be7e98bc4d676",
"body": null,
"is_bot": false,
"headline": "change rails three stack method name",
"author_name": "buddhamagnet",
"author_login": "buddhamagnet",
"committed_at": "2014-07-11T11:58:54Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "591fcfc2fa30dc2d367381fd3111abb973568e7d",
"body": "…ibitlity with some gems and Rails 4.1",
"is_bot": false,
"headline": "Adds protected_instance_variables to ActionController::API for compat…",
"author_name": "Edward Dowling",
"author_login": null,
"committed_at": "2014-07-08T01:54:29Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "dd6b71bd6e6e241529f541dc92b2076e9d238b28",
"body": null,
"is_bot": false,
"headline": "Update travis to run on latest 2.1 available and rbx2",
"author_name": "Carlos Antonio da Silva",
"author_login": "carlosantoniodasilva",
"committed_at": "2014-06-14T13:22:40Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "107b4b8e4c65af61d79194fb9f07ff3854b9f0e0",
"body": "fix 'method redefined' warning",
"is_bot": false,
"headline": "Merge pull request #143 from indirect/patch-1",
"author_name": "Carlos Antonio da Silva",
"author_login": "carlosantoniodasilva",
"committed_at": "2014-06-14T13:21:03Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "5c668d9ff2d976c19bb4503b936b656f1a072fcf",
"body": "Ruby prints two lines of warning if you redefine an existing method without aliasing the old one. This removes those warnings.",
"is_bot": false,
"headline": "fix 'method redefined' warning",
"author_name": "André Arko",
"author_login": "indirect",
"committed_at": "2014-06-12T23:44:35Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "6bb8a63b91ae3923d0096a225375d09e7aee59f7",
"body": null,
"is_bot": false,
"headline": "Move require for 'rails/version' to the file that needs it",
"author_name": "Rene van den Berg",
"author_login": null,
"committed_at": "2014-05-27T09:02:03Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "44965fbb74bf1d35ba3a747336f1fca140d0b9e1",
"body": "Fixes #142",
"is_bot": false,
"headline": "Fix rails-api new with --skip-active-record",
"author_name": "Santiago Pastorino",
"author_login": "spastorino",
"committed_at": "2014-05-15T20:33:55Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "4a12198ca25a2b6837efb84198f9c638c1a71118",
"body": null,
"is_bot": false,
"headline": "Prepare 0.2.1",
"author_name": "Santiago Pastorino",
"author_login": "spastorino",
"committed_at": "2014-05-09T18:55:58Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "62cbe9fde403822c40fb31d0bd897c608f104d51",
"body": null,
"is_bot": false,
"headline": "Fix Gemfile generation",
"author_name": "Santiago Pastorino",
"author_login": "spastorino",
"committed_at": "2014-04-19T13:39:26Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "1e205008d5e3f394c292c1c640e3050e4de2feef",
"body": "Fix gemfile generation 4.1",
"is_bot": false,
"headline": "Merge pull request #131 from RMaksymczuk/fix_gemfile_generation_4.1",
"author_name": "Santiago Pastorino",
"author_login": "spastorino",
"committed_at": "2014-04-19T11:19:11Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "e8e1de0cb09cad35051a0aa643251b20a94d2131",
"body": null,
"is_bot": false,
"headline": "Added initial support for rails 4.1",
"author_name": "Rafal.Maksymczuk",
"author_login": "RMaksymczuk",
"committed_at": "2014-03-16T13:43:01Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "6f4f940f9c8384e8fb82d87d788f59d72cdd6056",
"body": "… isn't in the gemfile, while vanilla rails doesn't run it at all. no idea why, but tell it to add spring explicitly for now",
"is_bot": false,
"headline": "weirdly rails-api will run `spring binstub --all` and fail because it…",
"author_name": "Caden Lovelace",
"author_login": null,
"committed_at": "2014-03-16T13:32:31Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "168876135283538b839eb3c556599afac35996fe",
"body": "…s 4.1, so deal with that",
"is_bot": false,
"headline": "rails_gemfile_entry and database_gemfile_entry return objects in rail…",
"author_name": "Caden Lovelace",
"author_login": null,
"committed_at": "2014-03-16T13:05:09Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "bfa66b3bb8b2c7af6c4bc0aea0e4dc13b6a6683a",
"body": null,
"is_bot": false,
"headline": "Enable warnings from tests.",
"author_name": "Vipul A M",
"author_login": "vipulnsward",
"committed_at": "2014-02-22T07:30:42Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "505b255f0d2a493f5af0d90b281f676e8a5ed65c",
"body": "Update bcrypt-ruby Version in Gemfile Template",
"is_bot": false,
"headline": "Merge pull request #122 from codeblooded/master",
"author_name": "Santiago Pastorino",
"author_login": "spastorino",
"committed_at": "2014-02-04T18:18:45Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "e956a3005c32d64450310a4c8c188f6082bf3d7b",
"body": null,
"is_bot": false,
"headline": "Update bcrypt-ruby Version in Gemfile Template",
"author_name": "Benjamin Reed",
"author_login": "codeblooded",
"committed_at": "2014-01-18T00:08:59Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "07da3cb613836b118747d6a019fa428ce7f5f8e5",
"body": null,
"is_bot": false,
"headline": "Prepare 0.2.0",
"author_name": "Santiago Pastorino",
"author_login": "spastorino",
"committed_at": "2014-01-11T19:49:10Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "6c7f1d11fb86e38d6e5534278aa527098d9e4258",
"body": null,
"is_bot": false,
"headline": "Rails-api plays nice with Rails 4.1 so test it properly",
"author_name": "Santiago Pastorino",
"author_login": "spastorino",
"committed_at": "2014-01-11T16:24:07Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "1fa92661a70d02e1c890825a965fb8dedffbf630",
"body": "This reverts commit 91e94a681c1838df720dcb35bcb5ef4a5306e455, reversing\nchanges made to 36b804e9a213b1041aa4ad85884d5c336e502f98.",
"is_bot": false,
"headline": "Revert \"Merge pull request #120 from strzalek/unneeded-require\"",
"author_name": "Santiago Pastorino",
"author_login": "spastorino",
"committed_at": "2014-01-11T16:24:03Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "a210c6f1069f0aac41489419c3d0d9958c3f8182",
"body": null,
"is_bot": false,
"headline": "Add CHANGELOG entries",
"author_name": "Santiago Pastorino",
"author_login": "spastorino",
"committed_at": "2014-01-11T15:46:10Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "91e94a681c1838df720dcb35bcb5ef4a5306e455",
"body": "Remove unneeded require",
"is_bot": false,
"headline": "Merge pull request #120 from strzalek/unneeded-require",
"author_name": "Santiago Pastorino",
"author_login": "spastorino",
"committed_at": "2014-01-11T15:45:52Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "430ddb7a56c5b616a6614053d09ea708fe4d6fdd",
"body": "Action View sie required in action_controller/base in rails automaticly",
"is_bot": false,
"headline": "Remove unneeded require",
"author_name": "Lukasz Strzalkowski",
"author_login": "lukaszx0",
"committed_at": "2014-01-11T15:27:14Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "36b804e9a213b1041aa4ad85884d5c336e502f98",
"body": "Fix required modules due to changes in ActionView and rendering in Rails 4.1.0.beta1",
"is_bot": false,
"headline": "Merge pull request #111 from bmorton/fix-render-on-rails-41",
"author_name": "Santiago Pastorino",
"author_login": "spastorino",
"committed_at": "2014-01-11T15:20:19Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "cede838c5f1f01e6628767feca728ce932cf7616",
"body": "Refactor the Rails 4 path for Application#default_middleware_stack.",
"is_bot": false,
"headline": "Merge pull request #114 from bmorton/refactor-default-middleware",
"author_name": "Santiago Pastorino",
"author_login": "spastorino",
"committed_at": "2014-01-11T14:17:55Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "7bd62654d48e68a0e0f3d33cb20aab5e58f677e2",
"body": null,
"is_bot": false,
"headline": "Use 2.1.0 in Travis",
"author_name": "Santiago Pastorino",
"author_login": "spastorino",
"committed_at": "2013-12-26T15:10:04Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "e43ff3d030e50d0d9705d849fc8f6255e193ded8",
"body": null,
"is_bot": false,
"headline": "Test also against ruby-head",
"author_name": "Santiago Pastorino",
"author_login": "spastorino",
"committed_at": "2013-12-21T17:59:26Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "258718d021a47ef55b344f127f1c3420b0805aca",
"body": null,
"is_bot": false,
"headline": "Bump Travis to rc1",
"author_name": "Santiago Pastorino",
"author_login": "spastorino",
"committed_at": "2013-12-21T17:59:08Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "7883748c338b487655ac96c2c85800f1e353ff10",
"body": "Change Travis configuration to 'rbx' instead of 'rbx-19mode'",
"is_bot": false,
"headline": "Merge pull request #115 from bmorton/fix-travis-rbx",
"author_name": "Santiago Pastorino",
"author_login": "spastorino",
"committed_at": "2013-12-19T12:42:28Z",
"body_truncated": false,
"is_coding_agent": false
}
],
"releases_count": 10,
"commits_last_year": 0,
"latest_release_at": "2017-03-09T14:08:09Z",
"latest_release_tag": "v0.4.1",
"releases_from_tags": true,
"days_since_last_push": 1906,
"active_weeks_last_year": 0,
"days_since_latest_release": 3421,
"mean_days_between_releases": 198.2
},
"community": {
"has_readme": true,
"has_license": true,
"has_description": true,
"has_contributing": true,
"health_percentage": 50,
"has_issue_template": false,
"has_code_of_conduct": false,
"has_pull_request_template": false
},
"ecosystem": {
"packages": [
{
"name": "rails-api",
"exists": true,
"license": "MIT",
"keywords": [],
"ecosystem": "rubygems",
"matches_repo": true,
"registry_url": "https://rubygems.org/gems/rails-api",
"is_deprecated": false,
"latest_version": "0.4.1",
"repository_url": "https://github.com/rails-api/rails-api",
"versions_count": 10,
"total_downloads": 5165592,
"dependents_count": null,
"deprecation_note": null,
"maintainers_count": null,
"monthly_downloads": null,
"first_published_at": "2012-04-20T18:12:10.635000Z",
"latest_published_at": "2017-03-09T14:10:05.684000Z",
"latest_version_yanked": null,
"days_since_latest_publish": 3421
}
]
},
"popularity": {
"forks": 271,
"stars": 5130,
"watchers": 155,
"fork_history": {
"days": [
{
"date": "2012-04-20",
"count": 1
},
{
"date": "2012-04-21",
"count": 2
},
{
"date": "2012-04-22",
"count": 1
},
{
"date": "2012-04-23",
"count": 1
},
{
"date": "2012-04-24",
"count": 2
},
{
"date": "2012-04-27",
"count": 1
},
{
"date": "2012-05-03",
"count": 1
},
{
"date": "2012-05-07",
"count": 1
},
{
"date": "2012-05-08",
"count": 2
},
{
"date": "2012-05-10",
"count": 1
},
{
"date": "2012-05-12",
"count": 1
},
{
"date": "2012-06-29",
"count": 1
},
{
"date": "2012-07-13",
"count": 2
},
{
"date": "2012-07-18",
"count": 1
},
{
"date": "2012-09-19",
"count": 1
},
{
"date": "2012-10-03",
"count": 1
},
{
"date": "2012-10-30",
"count": 1
},
{
"date": "2012-11-10",
"count": 1
},
{
"date": "2012-11-22",
"count": 6
},
{
"date": "2012-11-23",
"count": 2
},
{
"date": "2012-11-24",
"count": 1
},
{
"date": "2012-11-25",
"count": 2
},
{
"date": "2012-11-26",
"count": 1
},
{
"date": "2012-11-30",
"count": 1
},
{
"date": "2012-12-04",
"count": 1
},
{
"date": "2012-12-05",
"count": 1
},
{
"date": "2012-12-17",
"count": 1
},
{
"date": "2012-12-22",
"count": 1
},
{
"date": "2013-01-22",
"count": 1
},
{
"date": "2013-01-26",
"count": 1
},
{
"date": "2013-02-02",
"count": 1
},
{
"date": "2013-03-06",
"count": 1
},
{
"date": "2013-03-16",
"count": 1
},
{
"date": "2013-03-19",
"count": 2
},
{
"date": "2013-03-23",
"count": 1
},
{
"date": "2013-04-01",
"count": 1
},
{
"date": "2013-04-10",
"count": 1
},
{
"date": "2013-04-18",
"count": 1
},
{
"date": "2013-05-03",
"count": 1
},
{
"date": "2013-05-07",
"count": 2
},
{
"date": "2013-05-13",
"count": 1
},
{
"date": "2013-05-21",
"count": 1
},
{
"date": "2013-05-28",
"count": 1
},
{
"date": "2013-06-04",
"count": 1
},
{
"date": "2013-06-07",
"count": 1
},
{
"date": "2013-06-14",
"count": 1
},
{
"date": "2013-06-17",
"count": 1
},
{
"date": "2013-06-18",
"count": 1
},
{
"date": "2013-06-26",
"count": 1
},
{
"date": "2013-06-28",
"count": 1
},
{
"date": "2013-07-22",
"count": 2
},
{
"date": "2013-08-02",
"count": 1
},
{
"date": "2013-08-05",
"count": 1
},
{
"date": "2013-08-28",
"count": 1
},
{
"date": "2013-08-30",
"count": 1
},
{
"date": "2013-09-08",
"count": 1
},
{
"date": "2013-09-16",
"count": 1
},
{
"date": "2013-10-04",
"count": 1
},
{
"date": "2013-10-27",
"count": 1
},
{
"date": "2013-11-01",
"count": 1
},
{
"date": "2013-11-08",
"count": 1
},
{
"date": "2013-11-11",
"count": 1
},
{
"date": "2013-11-12",
"count": 2
},
{
"date": "2013-11-17",
"count": 1
},
{
"date": "2013-11-20",
"count": 1
},
{
"date": "2013-11-21",
"count": 1
},
{
"date": "2013-11-28",
"count": 1
},
{
"date": "2013-12-03",
"count": 1
},
{
"date": "2013-12-05",
"count": 1
},
{
"date": "2013-12-17",
"count": 1
},
{
"date": "2013-12-18",
"count": 2
},
{
"date": "2013-12-22",
"count": 1
},
{
"date": "2014-01-10",
"count": 1
},
{
"date": "2014-01-12",
"count": 1
},
{
"date": "2014-01-13",
"count": 1
},
{
"date": "2014-01-14",
"count": 1
},
{
"date": "2014-01-17",
"count": 1
},
{
"date": "2014-02-12",
"count": 2
},
{
"date": "2014-02-16",
"count": 1
},
{
"date": "2014-02-17",
"count": 1
},
{
"date": "2014-02-18",
"count": 2
},
{
"date": "2014-02-20",
"count": 1
},
{
"date": "2014-03-09",
"count": 1
},
{
"date": "2014-03-10",
"count": 1
},
{
"date": "2014-03-16",
"count": 2
},
{
"date": "2014-03-17",
"count": 1
},
{
"date": "2014-04-05",
"count": 2
},
{
"date": "2014-04-08",
"count": 2
},
{
"date": "2014-04-12",
"count": 1
},
{
"date": "2014-04-16",
"count": 1
},
{
"date": "2014-04-25",
"count": 1
},
{
"date": "2014-05-05",
"count": 1
},
{
"date": "2014-05-06",
"count": 1
},
{
"date": "2014-05-08",
"count": 1
},
{
"date": "2014-05-13",
"count": 1
},
{
"date": "2014-05-16",
"count": 1
},
{
"date": "2014-05-19",
"count": 1
},
{
"date": "2014-05-26",
"count": 1
},
{
"date": "2014-05-31",
"count": 1
},
{
"date": "2014-06-05",
"count": 1
},
{
"date": "2014-06-12",
"count": 1
},
{
"date": "2014-06-15",
"count": 1
},
{
"date": "2014-07-01",
"count": 1
},
{
"date": "2014-07-19",
"count": 1
},
{
"date": "2014-07-21",
"count": 1
},
{
"date": "2014-08-09",
"count": 1
},
{
"date": "2014-08-10",
"count": 1
},
{
"date": "2014-08-14",
"count": 1
},
{
"date": "2014-08-21",
"count": 1
},
{
"date": "2014-08-23",
"count": 1
},
{
"date": "2014-08-28",
"count": 1
},
{
"date": "2014-09-07",
"count": 1
},
{
"date": "2014-09-14",
"count": 1
},
{
"date": "2014-09-22",
"count": 1
},
{
"date": "2014-09-23",
"count": 1
},
{
"date": "2014-09-28",
"count": 1
},
{
"date": "2014-10-07",
"count": 1
},
{
"date": "2014-10-10",
"count": 1
},
{
"date": "2014-10-13",
"count": 1
},
{
"date": "2014-10-15",
"count": 1
},
{
"date": "2014-10-16",
"count": 1
},
{
"date": "2014-10-23",
"count": 1
},
{
"date": "2014-11-02",
"count": 1
},
{
"date": "2014-11-19",
"count": 1
},
{
"date": "2014-11-24",
"count": 1
},
{
"date": "2014-11-27",
"count": 1
},
{
"date": "2014-12-10",
"count": 1
},
{
"date": "2014-12-17",
"count": 1
},
{
"date": "2014-12-18",
"count": 2
},
{
"date": "2014-12-20",
"count": 1
},
{
"date": "2015-01-02",
"count": 1
},
{
"date": "2015-01-13",
"count": 1
},
{
"date": "2015-01-16",
"count": 1
},
{
"date": "2015-01-17",
"count": 1
},
{
"date": "2015-01-21",
"count": 2
},
{
"date": "2015-01-23",
"count": 1
},
{
"date": "2015-02-05",
"count": 1
},
{
"date": "2015-02-06",
"count": 1
},
{
"date": "2015-02-15",
"count": 1
},
{
"date": "2015-02-21",
"count": 2
},
{
"date": "2015-02-25",
"count": 1
},
{
"date": "2015-03-06",
"count": 1
},
{
"date": "2015-03-12",
"count": 1
},
{
"date": "2015-03-24",
"count": 1
},
{
"date": "2015-03-30",
"count": 2
},
{
"date": "2015-04-21",
"count": 1
},
{
"date": "2015-04-22",
"count": 1
},
{
"date": "2015-04-24",
"count": 1
},
{
"date": "2015-04-25",
"count": 1
},
{
"date": "2015-04-26",
"count": 1
},
{
"date": "2015-05-09",
"count": 1
},
{
"date": "2015-05-12",
"count": 1
},
{
"date": "2015-05-17",
"count": 1
},
{
"date": "2015-05-31",
"count": 1
},
{
"date": "2015-06-02",
"count": 1
},
{
"date": "2015-06-05",
"count": 1
},
{
"date": "2015-06-11",
"count": 1
},
{
"date": "2015-06-15",
"count": 1
},
{
"date": "2015-06-16",
"count": 1
},
{
"date": "2015-07-06",
"count": 1
},
{
"date": "2015-07-08",
"count": 1
},
{
"date": "2015-07-23",
"count": 2
},
{
"date": "2015-08-03",
"count": 1
},
{
"date": "2015-08-05",
"count": 1
},
{
"date": "2015-08-10",
"count": 2
},
{
"date": "2015-08-18",
"count": 1
},
{
"date": "2015-08-20",
"count": 1
},
{
"date": "2015-08-27",
"count": 1
},
{
"date": "2015-08-30",
"count": 1
},
{
"date": "2015-09-10",
"count": 1
},
{
"date": "2015-09-16",
"count": 1
},
{
"date": "2015-10-27",
"count": 1
},
{
"date": "2015-11-02",
"count": 2
},
{
"date": "2015-11-03",
"count": 1
},
{
"date": "2015-11-08",
"count": 1
},
{
"date": "2015-11-21",
"count": 1
},
{
"date": "2015-12-08",
"count": 1
},
{
"date": "2015-12-17",
"count": 1
},
{
"date": "2015-12-23",
"count": 1
},
{
"date": "2016-01-14",
"count": 1
},
{
"date": "2016-01-30",
"count": 1
},
{
"date": "2016-02-01",
"count": 1
},
{
"date": "2016-02-05",
"count": 1
},
{
"date": "2016-03-07",
"count": 2
},
{
"date": "2016-03-14",
"count": 2
},
{
"date": "2016-03-16",
"count": 1
},
{
"date": "2016-03-29",
"count": 1
},
{
"date": "2016-05-09",
"count": 1
},
{
"date": "2016-05-18",
"count": 1
},
{
"date": "2016-06-11",
"count": 1
},
{
"date": "2016-07-06",
"count": 1
},
{
"date": "2016-07-25",
"count": 1
},
{
"date": "2016-08-15",
"count": 1
},
{
"date": "2016-09-17",
"count": 1
},
{
"date": "2016-09-28",
"count": 1
},
{
"date": "2016-10-05",
"count": 1
},
{
"date": "2016-10-25",
"count": 1
},
{
"date": "2016-10-29",
"count": 1
},
{
"date": "2016-11-07",
"count": 1
},
{
"date": "2016-11-16",
"count": 1
},
{
"date": "2016-11-30",
"count": 1
},
{
"date": "2016-12-25",
"count": 1
},
{
"date": "2017-02-04",
"count": 1
},
{
"date": "2017-02-23",
"count": 1
},
{
"date": "2017-02-24",
"count": 1
},
{
"date": "2017-03-01",
"count": 1
},
{
"date": "2017-03-02",
"count": 1
},
{
"date": "2017-03-24",
"count": 1
},
{
"date": "2017-05-27",
"count": 1
},
{
"date": "2017-06-01",
"count": 1
},
{
"date": "2017-06-07",
"count": 1
},
{
"date": "2018-02-25",
"count": 1
},
{
"date": "2018-03-02",
"count": 1
},
{
"date": "2018-03-30",
"count": 1
},
{
"date": "2018-06-21",
"count": 1
},
{
"date": "2018-07-20",
"count": 1
},
{
"date": "2018-07-24",
"count": 2
},
{
"date": "2018-07-27",
"count": 1
},
{
"date": "2018-10-12",
"count": 1
},
{
"date": "2019-01-18",
"count": 1
},
{
"date": "2019-06-12",
"count": 1
},
{
"date": "2019-08-08",
"count": 1
},
{
"date": "2019-10-08",
"count": 1
},
{
"date": "2019-11-28",
"count": 1
},
{
"date": "2020-01-24",
"count": 1
},
{
"date": "2020-03-13",
"count": 1
},
{
"date": "2020-06-02",
"count": 1
},
{
"date": "2020-07-28",
"count": 1
},
{
"date": "2020-10-07",
"count": 1
},
{
"date": "2021-03-04",
"count": 1
},
{
"date": "2021-03-06",
"count": 1
},
{
"date": "2021-05-28",
"count": 1
},
{
"date": "2021-07-06",
"count": 1
},
{
"date": "2022-03-25",
"count": 2
},
{
"date": "2022-08-27",
"count": 1
},
{
"date": "2024-06-13",
"count": 1
},
{
"date": "2026-06-18",
"count": 1
}
],
"complete": true,
"collected": 269,
"total_forks": 271
},
"star_history": {
"days": [
{
"date": "2015-10-28",
"count": 5
},
{
"date": "2015-10-29",
"count": 6
},
{
"date": "2015-10-30",
"count": 2
},
{
"date": "2015-10-31",
"count": 3
},
{
"date": "2015-11-01",
"count": 1
},
{
"date": "2015-11-02",
"count": 1
},
{
"date": "2015-11-03",
"count": 6
},
{
"date": "2015-11-04",
"count": 3
},
{
"date": "2015-11-05",
"count": 3
},
{
"date": "2015-11-06",
"count": 3
},
{
"date": "2015-11-07",
"count": 3
},
{
"date": "2015-11-08",
"count": 1
},
{
"date": "2015-11-09",
"count": 2
},
{
"date": "2015-11-10",
"count": 2
},
{
"date": "2015-11-11",
"count": 1
},
{
"date": "2015-11-12",
"count": 2
},
{
"date": "2015-11-13",
"count": 4
},
{
"date": "2015-11-14",
"count": 2
},
{
"date": "2015-11-16",
"count": 2
},
{
"date": "2015-11-18",
"count": 1
},
{
"date": "2015-11-19",
"count": 1
},
{
"date": "2015-11-20",
"count": 3
},
{
"date": "2015-11-21",
"count": 3
},
{
"date": "2015-11-22",
"count": 2
},
{
"date": "2015-11-24",
"count": 3
},
{
"date": "2015-11-25",
"count": 4
},
{
"date": "2015-11-26",
"count": 1
},
{
"date": "2015-11-27",
"count": 1
},
{
"date": "2015-11-28",
"count": 2
},
{
"date": "2015-11-29",
"count": 4
},
{
"date": "2015-11-30",
"count": 4
},
{
"date": "2015-12-01",
"count": 2
},
{
"date": "2015-12-02",
"count": 1
},
{
"date": "2015-12-03",
"count": 1
},
{
"date": "2015-12-04",
"count": 3
},
{
"date": "2015-12-05",
"count": 1
},
{
"date": "2015-12-06",
"count": 1
},
{
"date": "2015-12-07",
"count": 4
},
{
"date": "2015-12-08",
"count": 4
},
{
"date": "2015-12-09",
"count": 2
},
{
"date": "2015-12-10",
"count": 2
},
{
"date": "2015-12-11",
"count": 3
},
{
"date": "2015-12-12",
"count": 1
},
{
"date": "2015-12-13",
"count": 2
},
{
"date": "2015-12-14",
"count": 1
},
{
"date": "2015-12-15",
"count": 1
},
{
"date": "2015-12-16",
"count": 1
},
{
"date": "2015-12-17",
"count": 3
},
{
"date": "2015-12-18",
"count": 3
},
{
"date": "2015-12-19",
"count": 2
},
{
"date": "2015-12-20",
"count": 1
},
{
"date": "2015-12-21",
"count": 2
},
{
"date": "2015-12-22",
"count": 3
},
{
"date": "2015-12-24",
"count": 3
},
{
"date": "2015-12-25",
"count": 1
},
{
"date": "2015-12-28",
"count": 3
},
{
"date": "2015-12-29",
"count": 1
},
{
"date": "2015-12-30",
"count": 2
},
{
"date": "2015-12-31",
"count": 1
},
{
"date": "2016-01-01",
"count": 3
},
{
"date": "2016-01-02",
"count": 2
},
{
"date": "2016-01-03",
"count": 1
},
{
"date": "2016-01-05",
"count": 3
},
{
"date": "2016-01-06",
"count": 3
},
{
"date": "2016-01-08",
"count": 4
},
{
"date": "2016-01-10",
"count": 1
},
{
"date": "2016-01-11",
"count": 1
},
{
"date": "2016-01-12",
"count": 4
},
{
"date": "2016-01-13",
"count": 3
},
{
"date": "2016-01-14",
"count": 3
},
{
"date": "2016-01-15",
"count": 2
},
{
"date": "2016-01-16",
"count": 2
},
{
"date": "2016-01-17",
"count": 1
},
{
"date": "2016-01-19",
"count": 4
},
{
"date": "2016-01-20",
"count": 2
},
{
"date": "2016-01-21",
"count": 2
},
{
"date": "2016-01-22",
"count": 2
},
{
"date": "2016-01-23",
"count": 1
},
{
"date": "2016-01-25",
"count": 3
},
{
"date": "2016-01-26",
"count": 2
},
{
"date": "2016-01-27",
"count": 1
},
{
"date": "2016-01-28",
"count": 3
},
{
"date": "2016-01-29",
"count": 2
},
{
"date": "2016-01-30",
"count": 1
},
{
"date": "2016-01-31",
"count": 1
},
{
"date": "2016-02-01",
"count": 3
},
{
"date": "2016-02-02",
"count": 2
},
{
"date": "2016-02-04",
"count": 1
},
{
"date": "2016-02-05",
"count": 2
},
{
"date": "2016-02-07",
"count": 2
},
{
"date": "2016-02-08",
"count": 2
},
{
"date": "2016-02-09",
"count": 5
},
{
"date": "2016-02-10",
"count": 1
},
{
"date": "2016-02-11",
"count": 1
},
{
"date": "2016-02-12",
"count": 1
},
{
"date": "2016-02-14",
"count": 1
},
{
"date": "2016-02-15",
"count": 4
},
{
"date": "2016-02-16",
"count": 3
},
{
"date": "2016-02-17",
"count": 2
},
{
"date": "2016-02-18",
"count": 7
},
{
"date": "2016-02-19",
"count": 3
},
{
"date": "2016-02-21",
"count": 1
},
{
"date": "2016-02-24",
"count": 1
},
{
"date": "2016-02-26",
"count": 2
},
{
"date": "2016-02-28",
"count": 1
},
{
"date": "2016-02-29",
"count": 1
},
{
"date": "2016-03-01",
"count": 5
},
{
"date": "2016-03-02",
"count": 3
},
{
"date": "2016-03-03",
"count": 1
},
{
"date": "2016-03-04",
"count": 2
},
{
"date": "2016-03-05",
"count": 2
},
{
"date": "2016-03-06",
"count": 1
},
{
"date": "2016-03-07",
"count": 2
},
{
"date": "2016-03-08",
"count": 1
},
{
"date": "2016-03-09",
"count": 3
},
{
"date": "2016-03-10",
"count": 1
},
{
"date": "2016-03-13",
"count": 1
},
{
"date": "2016-03-14",
"count": 3
},
{
"date": "2016-03-16",
"count": 6
},
{
"date": "2016-03-19",
"count": 1
},
{
"date": "2016-03-20",
"count": 1
},
{
"date": "2016-03-21",
"count": 3
},
{
"date": "2016-03-22",
"count": 1
},
{
"date": "2016-03-23",
"count": 1
},
{
"date": "2016-03-24",
"count": 3
},
{
"date": "2016-03-27",
"count": 1
},
{
"date": "2016-03-29",
"count": 3
},
{
"date": "2016-03-30",
"count": 2
},
{
"date": "2016-03-31",
"count": 1
},
{
"date": "2016-04-02",
"count": 1
},
{
"date": "2016-04-03",
"count": 1
},
{
"date": "2016-04-05",
"count": 2
},
{
"date": "2016-04-06",
"count": 1
},
{
"date": "2016-04-07",
"count": 2
},
{
"date": "2016-04-08",
"count": 2
},
{
"date": "2016-04-09",
"count": 2
},
{
"date": "2016-04-10",
"count": 1
},
{
"date": "2016-04-11",
"count": 3
},
{
"date": "2016-04-12",
"count": 1
},
{
"date": "2016-04-14",
"count": 2
},
{
"date": "2016-04-15",
"count": 5
},
{
"date": "2016-04-17",
"count": 1
},
{
"date": "2016-04-19",
"count": 1
},
{
"date": "2016-04-20",
"count": 1
},
{
"date": "2016-04-21",
"count": 3
},
{
"date": "2016-04-22",
"count": 1
},
{
"date": "2016-04-25",
"count": 2
},
{
"date": "2016-04-26",
"count": 1
},
{
"date": "2016-04-27",
"count": 3
},
{
"date": "2016-04-28",
"count": 3
},
{
"date": "2016-04-29",
"count": 1
},
{
"date": "2016-05-01",
"count": 2
},
{
"date": "2016-05-02",
"count": 1
},
{
"date": "2016-05-03",
"count": 3
},
{
"date": "2016-05-08",
"count": 1
},
{
"date": "2016-05-09",
"count": 2
},
{
"date": "2016-05-12",
"count": 1
},
{
"date": "2016-05-14",
"count": 2
},
{
"date": "2016-05-15",
"count": 2
},
{
"date": "2016-05-16",
"count": 1
},
{
"date": "2016-05-17",
"count": 1
},
{
"date": "2016-05-18",
"count": 1
},
{
"date": "2016-05-19",
"count": 3
},
{
"date": "2016-05-20",
"count": 2
},
{
"date": "2016-05-21",
"count": 4
},
{
"date": "2016-05-22",
"count": 1
},
{
"date": "2016-05-23",
"count": 2
},
{
"date": "2016-05-24",
"count": 5
},
{
"date": "2016-05-25",
"count": 3
},
{
"date": "2016-05-26",
"count": 2
},
{
"date": "2016-05-28",
"count": 2
},
{
"date": "2016-05-29",
"count": 1
},
{
"date": "2016-05-30",
"count": 1
},
{
"date": "2016-05-31",
"count": 2
},
{
"date": "2016-06-01",
"count": 1
},
{
"date": "2016-06-02",
"count": 1
},
{
"date": "2016-06-03",
"count": 2
},
{
"date": "2016-06-06",
"count": 2
},
{
"date": "2016-06-07",
"count": 1
},
{
"date": "2016-06-09",
"count": 1
},
{
"date": "2016-06-10",
"count": 1
},
{
"date": "2016-06-12",
"count": 1
},
{
"date": "2016-06-13",
"count": 4
},
{
"date": "2016-06-15",
"count": 4
},
{
"date": "2016-06-16",
"count": 3
},
{
"date": "2016-06-17",
"count": 2
},
{
"date": "2016-06-18",
"count": 1
},
{
"date": "2016-06-20",
"count": 2
},
{
"date": "2016-06-22",
"count": 1
},
{
"date": "2016-06-23",
"count": 5
},
{
"date": "2016-06-24",
"count": 2
},
{
"date": "2016-06-25",
"count": 2
},
{
"date": "2016-06-26",
"count": 1
},
{
"date": "2016-06-27",
"count": 2
},
{
"date": "2016-06-28",
"count": 1
},
{
"date": "2016-06-29",
"count": 1
},
{
"date": "2016-06-30",
"count": 2
},
{
"date": "2016-07-01",
"count": 6
},
{
"date": "2016-07-03",
"count": 1
},
{
"date": "2016-07-04",
"count": 1
},
{
"date": "2016-07-05",
"count": 2
},
{
"date": "2016-07-06",
"count": 1
},
{
"date": "2016-07-07",
"count": 1
},
{
"date": "2016-07-08",
"count": 1
},
{
"date": "2016-07-09",
"count": 1
},
{
"date": "2016-07-10",
"count": 2
},
{
"date": "2016-07-11",
"count": 1
},
{
"date": "2016-07-14",
"count": 1
},
{
"date": "2016-07-15",
"count": 3
},
{
"date": "2016-07-18",
"count": 1
},
{
"date": "2016-07-20",
"count": 1
},
{
"date": "2016-07-23",
"count": 1
},
{
"date": "2016-07-24",
"count": 1
},
{
"date": "2016-07-25",
"count": 1
},
{
"date": "2016-07-26",
"count": 1
},
{
"date": "2016-07-27",
"count": 1
},
{
"date": "2016-07-28",
"count": 3
},
{
"date": "2016-07-30",
"count": 1
},
{
"date": "2016-08-02",
"count": 2
},
{
"date": "2016-08-03",
"count": 3
},
{
"date": "2016-08-04",
"count": 1
},
{
"date": "2016-08-05",
"count": 2
},
{
"date": "2016-08-07",
"count": 2
},
{
"date": "2016-08-11",
"count": 1
},
{
"date": "2016-08-13",
"count": 4
},
{
"date": "2016-08-17",
"count": 1
},
{
"date": "2016-08-19",
"count": 2
},
{
"date": "2016-08-25",
"count": 2
},
{
"date": "2016-08-26",
"count": 1
},
{
"date": "2016-08-30",
"count": 1
},
{
"date": "2016-08-31",
"count": 1
},
{
"date": "2016-09-01",
"count": 2
},
{
"date": "2016-09-02",
"count": 1
},
{
"date": "2016-09-07",
"count": 1
},
{
"date": "2016-09-08",
"count": 1
},
{
"date": "2016-09-11",
"count": 1
},
{
"date": "2016-09-13",
"count": 3
},
{
"date": "2016-09-14",
"count": 2
},
{
"date": "2016-09-16",
"count": 2
},
{
"date": "2016-09-17",
"count": 2
},
{
"date": "2016-09-19",
"count": 2
},
{
"date": "2016-09-21",
"count": 1
},
{
"date": "2016-09-23",
"count": 3
},
{
"date": "2016-09-25",
"count": 1
},
{
"date": "2016-09-28",
"count": 2
},
{
"date": "2016-09-29",
"count": 1
},
{
"date": "2016-10-02",
"count": 1
},
{
"date": "2016-10-04",
"count": 3
},
{
"date": "2016-10-05",
"count": 3
},
{
"date": "2016-10-08",
"count": 2
},
{
"date": "2016-10-10",
"count": 2
},
{
"date": "2016-10-11",
"count": 1
},
{
"date": "2016-10-12",
"count": 4
},
{
"date": "2016-10-13",
"count": 1
},
{
"date": "2016-10-17",
"count": 1
},
{
"date": "2016-10-18",
"count": 1
},
{
"date": "2016-10-20",
"count": 1
},
{
"date": "2016-10-21",
"count": 1
},
{
"date": "2016-10-23",
"count": 1
},
{
"date": "2016-10-27",
"count": 2
},
{
"date": "2016-10-29",
"count": 1
},
{
"date": "2016-10-30",
"count": 1
},
{
"date": "2016-11-03",
"count": 1
},
{
"date": "2016-11-04",
"count": 1
},
{
"date": "2016-11-05",
"count": 1
},
{
"date": "2016-11-07",
"count": 4
},
{
"date": "2016-11-10",
"count": 3
},
{
"date": "2016-11-12",
"count": 4
},
{
"date": "2016-11-15",
"count": 3
},
{
"date": "2016-11-17",
"count": 2
},
{
"date": "2016-11-18",
"count": 1
},
{
"date": "2016-11-19",
"count": 1
},
{
"date": "2016-11-23",
"count": 2
},
{
"date": "2016-11-24",
"count": 1
},
{
"date": "2016-11-30",
"count": 4
},
{
"date": "2016-12-03",
"count": 2
},
{
"date": "2016-12-05",
"count": 2
},
{
"date": "2016-12-06",
"count": 1
},
{
"date": "2016-12-07",
"count": 4
},
{
"date": "2016-12-08",
"count": 2
},
{
"date": "2016-12-11",
"count": 1
},
{
"date": "2016-12-13",
"count": 1
},
{
"date": "2016-12-14",
"count": 1
},
{
"date": "2016-12-19",
"count": 3
},
{
"date": "2016-12-20",
"count": 2
},
{
"date": "2016-12-24",
"count": 1
},
{
"date": "2016-12-31",
"count": 1
},
{
"date": "2017-01-02",
"count": 1
},
{
"date": "2017-01-04",
"count": 1
},
{
"date": "2017-01-06",
"count": 2
},
{
"date": "2017-01-09",
"count": 1
},
{
"date": "2017-01-10",
"count": 2
},
{
"date": "2017-01-11",
"count": 1
},
{
"date": "2017-01-16",
"count": 1
},
{
"date": "2017-01-18",
"count": 1
},
{
"date": "2017-01-19",
"count": 3
},
{
"date": "2017-01-23",
"count": 2
},
{
"date": "2017-01-24",
"count": 2
},
{
"date": "2017-01-29",
"count": 1
},
{
"date": "2017-02-01",
"count": 1
},
{
"date": "2017-02-05",
"count": 1
},
{
"date": "2017-02-08",
"count": 1
},
{
"date": "2017-02-13",
"count": 1
},
{
"date": "2017-02-15",
"count": 1
},
{
"date": "2017-02-18",
"count": 2
},
{
"date": "2017-02-20",
"count": 2
},
{
"date": "2017-02-25",
"count": 1
},
{
"date": "2017-03-01",
"count": 1
},
{
"date": "2017-03-02",
"count": 1
},
{
"date": "2017-03-03",
"count": 1
},
{
"date": "2017-03-08",
"count": 1
},
{
"date": "2017-03-09",
"count": 1
},
{
"date": "2017-03-11",
"count": 2
},
{
"date": "2017-03-12",
"count": 1
},
{
"date": "2017-03-13",
"count": 1
},
{
"date": "2017-03-21",
"count": 3
},
{
"date": "2017-03-23",
"count": 2
},
{
"date": "2017-03-24",
"count": 1
},
{
"date": "2017-03-25",
"count": 2
},
{
"date": "2017-03-26",
"count": 1
},
{
"date": "2017-03-28",
"count": 1
},
{
"date": "2017-03-29",
"count": 2
},
{
"date": "2017-04-02",
"count": 1
},
{
"date": "2017-04-05",
"count": 1
},
{
"date": "2017-04-06",
"count": 3
},
{
"date": "2017-04-11",
"count": 2
},
{
"date": "2017-04-15",
"count": 1
},
{
"date": "2017-04-17",
"count": 1
},
{
"date": "2017-04-18",
"count": 2
},
{
"date": "2017-04-19",
"count": 1
},
{
"date": "2017-04-22",
"count": 2
},
{
"date": "2017-04-26",
"count": 1
},
{
"date": "2017-04-27",
"count": 3
},
{
"date": "2017-04-28",
"count": 1
},
{
"date": "2017-05-03",
"count": 2
},
{
"date": "2017-05-09",
"count": 1
},
{
"date": "2017-05-10",
"count": 2
},
{
"date": "2017-05-11",
"count": 1
},
{
"date": "2017-05-12",
"count": 2
},
{
"date": "2017-05-16",
"count": 1
},
{
"date": "2017-05-18",
"count": 1
},
{
"date": "2017-05-19",
"count": 1
},
{
"date": "2017-05-20",
"count": 1
},
{
"date": "2017-05-25",
"count": 2
},
{
"date": "2017-05-26",
"count": 1
},
{
"date": "2017-05-27",
"count": 2
},
{
"date": "2017-05-28",
"count": 1
},
{
"date": "2017-05-31",
"count": 2
},
{
"date": "2017-06-01",
"count": 1
},
{
"date": "2017-06-02",
"count": 1
},
{
"date": "2017-06-05",
"count": 2
},
{
"date": "2017-06-06",
"count": 1
},
{
"date": "2017-06-07",
"count": 1
},
{
"date": "2017-06-12",
"count": 2
},
{
"date": "2017-06-16",
"count": 1
},
{
"date": "2017-06-19",
"count": 1
},
{
"date": "2017-06-20",
"count": 1
},
{
"date": "2017-06-22",
"count": 2
},
{
"date": "2017-06-23",
"count": 1
},
{
"date": "2017-06-25",
"count": 1
},
{
"date": "2017-06-26",
"count": 1
},
{
"date": "2017-06-28",
"count": 2
},
{
"date": "2017-07-03",
"count": 2
},
{
"date": "2017-07-06",
"count": 1
},
{
"date": "2017-07-10",
"count": 2
},
{
"date": "2017-07-11",
"count": 2
},
{
"date": "2017-07-12",
"count": 1
},
{
"date": "2017-07-17",
"count": 1
},
{
"date": "2017-07-18",
"count": 1
},
{
"date": "2017-07-20",
"count": 1
},
{
"date": "2017-07-22",
"count": 1
},
{
"date": "2017-07-28",
"count": 1
},
{
"date": "2017-08-02",
"count": 1
},
{
"date": "2017-08-05",
"count": 1
},
{
"date": "2017-08-08",
"count": 1
},
{
"date": "2017-08-10",
"count": 2
},
{
"date": "2017-08-11",
"count": 1
},
{
"date": "2017-08-16",
"count": 1
},
{
"date": "2017-08-17",
"count": 1
},
{
"date": "2017-08-18",
"count": 1
},
{
"date": "2017-08-19",
"count": 1
},
{
"date": "2017-08-21",
"count": 2
},
{
"date": "2017-08-22",
"count": 2
},
{
"date": "2017-08-23",
"count": 1
},
{
"date": "2017-08-30",
"count": 1
},
{
"date": "2017-08-31",
"count": 1
},
{
"date": "2017-09-02",
"count": 1
},
{
"date": "2017-09-10",
"count": 1
},
{
"date": "2017-09-11",
"count": 1
},
{
"date": "2017-09-15",
"count": 1
},
{
"date": "2017-09-16",
"count": 1
},
{
"date": "2017-09-18",
"count": 1
},
{
"date": "2017-09-19",
"count": 2
},
{
"date": "2017-09-21",
"count": 1
},
{
"date": "2017-09-23",
"count": 1
},
{
"date": "2017-09-28",
"count": 2
},
{
"date": "2017-09-29",
"count": 1
},
{
"date": "2017-10-03",
"count": 1
},
{
"date": "2017-10-06",
"count": 2
},
{
"date": "2017-10-10",
"count": 1
},
{
"date": "2017-10-11",
"count": 1
},
{
"date": "2017-10-24",
"count": 2
},
{
"date": "2017-10-28",
"count": 1
},
{
"date": "2017-10-31",
"count": 1
},
{
"date": "2017-11-06",
"count": 1
},
{
"date": "2017-11-10",
"count": 1
},
{
"date": "2017-11-17",
"count": 1
},
{
"date": "2017-11-29",
"count": 1
},
{
"date": "2017-12-07",
"count": 1
},
{
"date": "2017-12-10",
"count": 1
},
{
"date": "2017-12-13",
"count": 1
},
{
"date": "2017-12-14",
"count": 1
},
{
"date": "2017-12-19",
"count": 1
},
{
"date": "2017-12-20",
"count": 1
},
{
"date": "2017-12-22",
"count": 2
},
{
"date": "2017-12-25",
"count": 1
},
{
"date": "2017-12-31",
"count": 1
},
{
"date": "2018-01-07",
"count": 1
},
{
"date": "2018-01-10",
"count": 1
},
{
"date": "2018-01-11",
"count": 1
},
{
"date": "2018-01-12",
"count": 2
},
{
"date": "2018-01-13",
"count": 1
},
{
"date": "2018-01-14",
"count": 1
},
{
"date": "2018-01-23",
"count": 1
},
{
"date": "2018-01-24",
"count": 1
},
{
"date": "2018-01-29",
"count": 1
},
{
"date": "2018-02-02",
"count": 1
},
{
"date": "2018-02-05",
"count": 2
},
{
"date": "2018-02-07",
"count": 1
},
{
"date": "2018-02-09",
"count": 1
},
{
"date": "2018-02-12",
"count": 1
},
{
"date": "2018-02-13",
"count": 2
},
{
"date": "2018-02-19",
"count": 1
},
{
"date": "2018-02-25",
"count": 1
},
{
"date": "2018-02-26",
"count": 1
},
{
"date": "2018-02-27",
"count": 3
},
{
"date": "2018-03-02",
"count": 1
},
{
"date": "2018-03-07",
"count": 1
},
{
"date": "2018-03-11",
"count": 2
},
{
"date": "2018-03-14",
"count": 1
},
{
"date": "2018-03-16",
"count": 2
},
{
"date": "2018-03-17",
"count": 1
},
{
"date": "2018-03-19",
"count": 1
},
{
"date": "2018-03-23",
"count": 1
},
{
"date": "2018-03-28",
"count": 1
},
{
"date": "2018-03-30",
"count": 1
},
{
"date": "2018-04-04",
"count": 2
},
{
"date": "2018-04-05",
"count": 1
},
{
"date": "2018-04-06",
"count": 1
},
{
"date": "2018-04-11",
"count": 1
},
{
"date": "2018-04-14",
"count": 1
},
{
"date": "2018-04-17",
"count": 1
},
{
"date": "2018-04-21",
"count": 1
},
{
"date": "2018-04-28",
"count": 1
},
{
"date": "2018-05-02",
"count": 1
},
{
"date": "2018-05-08",
"count": 1
},
{
"date": "2018-05-11",
"count": 1
},
{
"date": "2018-05-25",
"count": 1
},
{
"date": "2018-05-28",
"count": 2
},
{
"date": "2018-05-31",
"count": 1
},
{
"date": "2018-06-01",
"count": 1
},
{
"date": "2018-06-03",
"count": 1
},
{
"date": "2018-06-04",
"count": 1
},
{
"date": "2018-06-12",
"count": 1
},
{
"date": "2018-06-13",
"count": 1
},
{
"date": "2018-06-26",
"count": 1
},
{
"date": "2018-07-02",
"count": 1
},
{
"date": "2018-07-03",
"count": 3
},
{
"date": "2018-07-08",
"count": 1
},
{
"date": "2018-07-09",
"count": 2
},
{
"date": "2018-07-18",
"count": 1
},
{
"date": "2018-07-21",
"count": 1
},
{
"date": "2018-07-24",
"count": 1
},
{
"date": "2018-07-25",
"count": 1
},
{
"date": "2018-07-30",
"count": 1
},
{
"date": "2018-08-06",
"count": 1
},
{
"date": "2018-08-11",
"count": 2
},
{
"date": "2018-08-16",
"count": 1
},
{
"date": "2018-08-17",
"count": 1
},
{
"date": "2018-08-28",
"count": 2
},
{
"date": "2018-08-30",
"count": 1
},
{
"date": "2018-09-01",
"count": 1
},
{
"date": "2018-09-05",
"count": 1
},
{
"date": "2018-09-10",
"count": 1
},
{
"date": "2018-09-12",
"count": 2
},
{
"date": "2018-09-14",
"count": 1
},
{
"date": "2018-09-20",
"count": 1
},
{
"date": "2018-09-22",
"count": 1
},
{
"date": "2018-09-27",
"count": 1
},
{
"date": "2018-10-12",
"count": 1
},
{
"date": "2018-10-16",
"count": 2
},
{
"date": "2018-10-18",
"count": 2
},
{
"date": "2018-10-23",
"count": 1
},
{
"date": "2018-10-26",
"count": 1
},
{
"date": "2018-10-27",
"count": 1
},
{
"date": "2018-10-28",
"count": 1
},
{
"date": "2018-11-04",
"count": 1
},
{
"date": "2018-11-17",
"count": 1
},
{
"date": "2018-11-20",
"count": 1
},
{
"date": "2018-11-29",
"count": 1
},
{
"date": "2018-12-06",
"count": 1
},
{
"date": "2018-12-10",
"count": 1
},
{
"date": "2018-12-12",
"count": 1
},
{
"date": "2018-12-13",
"count": 2
},
{
"date": "2018-12-15",
"count": 1
},
{
"date": "2018-12-20",
"count": 1
},
{
"date": "2019-01-13",
"count": 1
},
{
"date": "2019-02-10",
"count": 1
},
{
"date": "2019-02-11",
"count": 1
},
{
"date": "2019-02-23",
"count": 1
},
{
"date": "2019-02-27",
"count": 1
},
{
"date": "2019-03-08",
"count": 1
},
{
"date": "2019-03-11",
"count": 1
},
{
"date": "2019-03-13",
"count": 1
},
{
"date": "2019-03-16",
"count": 1
},
{
"date": "2019-03-18",
"count": 1
},
{
"date": "2019-03-31",
"count": 1
},
{
"date": "2019-04-03",
"count": 1
},
{
"date": "2019-04-16",
"count": 3
},
{
"date": "2019-04-20",
"count": 1
},
{
"date": "2019-04-30",
"count": 1
},
{
"date": "2019-05-02",
"count": 2
},
{
"date": "2019-05-17",
"count": 1
},
{
"date": "2019-05-27",
"count": 1
},
{
"date": "2019-05-28",
"count": 1
},
{
"date": "2019-05-29",
"count": 1
},
{
"date": "2019-06-10",
"count": 1
},
{
"date": "2019-06-16",
"count": 1
},
{
"date": "2019-06-17",
"count": 1
},
{
"date": "2019-07-30",
"count": 1
},
{
"date": "2019-07-31",
"count": 1
},
{
"date": "2019-08-18",
"count": 1
},
{
"date": "2019-08-24",
"count": 1
},
{
"date": "2019-08-26",
"count": 1
},
{
"date": "2019-10-07",
"count": 1
},
{
"date": "2019-10-17",
"count": 1
},
{
"date": "2019-11-15",
"count": 1
},
{
"date": "2019-11-18",
"count": 1
},
{
"date": "2019-11-20",
"count": 1
},
{
"date": "2019-12-08",
"count": 1
},
{
"date": "2019-12-11",
"count": 1
},
{
"date": "2019-12-26",
"count": 1
},
{
"date": "2020-01-03",
"count": 1
},
{
"date": "2020-01-24",
"count": 1
},
{
"date": "2020-02-02",
"count": 1
},
{
"date": "2020-02-19",
"count": 1
},
{
"date": "2020-02-24",
"count": 1
},
{
"date": "2020-03-06",
"count": 1
},
{
"date": "2020-03-12",
"count": 1
},
{
"date": "2020-03-14",
"count": 1
},
{
"date": "2020-03-17",
"count": 2
},
{
"date": "2020-03-20",
"count": 1
},
{
"date": "2020-03-24",
"count": 1
},
{
"date": "2020-04-07",
"count": 1
},
{
"date": "2020-04-13",
"count": 1
},
{
"date": "2020-04-22",
"count": 1
},
{
"date": "2020-04-25",
"count": 1
},
{
"date": "2020-05-04",
"count": 1
},
{
"date": "2020-05-11",
"count": 1
},
{
"date": "2020-05-19",
"count": 1
},
{
"date": "2020-05-25",
"count": 1
},
{
"date": "2020-06-13",
"count": 1
},
{
"date": "2020-06-20",
"count": 1
},
{
"date": "2020-07-02",
"count": 1
},
{
"date": "2020-07-10",
"count": 1
},
{
"date": "2020-07-11",
"count": 1
},
{
"date": "2020-08-27",
"count": 1
},
{
"date": "2020-09-07",
"count": 2
},
{
"date": "2020-09-12",
"count": 1
},
{
"date": "2020-11-01",
"count": 1
},
{
"date": "2020-11-03",
"count": 1
},
{
"date": "2020-11-13",
"count": 1
},
{
"date": "2020-11-28",
"count": 1
},
{
"date": "2020-12-26",
"count": 1
},
{
"date": "2021-03-04",
"count": 1
},
{
"date": "2021-05-09",
"count": 1
},
{
"date": "2021-05-13",
"count": 1
},
{
"date": "2021-05-20",
"count": 1
},
{
"date": "2021-05-28",
"count": 1
},
{
"date": "2021-06-02",
"count": 1
},
{
"date": "2021-06-05",
"count": 1
},
{
"date": "2021-06-28",
"count": 1
},
{
"date": "2021-07-04",
"count": 1
},
{
"date": "2021-07-07",
"count": 1
},
{
"date": "2021-07-16",
"count": 2
},
{
"date": "2021-08-19",
"count": 1
},
{
"date": "2021-09-01",
"count": 1
},
{
"date": "2021-09-06",
"count": 1
},
{
"date": "2021-09-19",
"count": 1
},
{
"date": "2021-09-22",
"count": 1
},
{
"date": "2021-11-18",
"count": 1
},
{
"date": "2021-11-20",
"count": 1
},
{
"date": "2021-11-22",
"count": 1
},
{
"date": "2021-12-02",
"count": 1
},
{
"date": "2022-01-10",
"count": 1
},
{
"date": "2022-01-29",
"count": 1
},
{
"date": "2022-02-23",
"count": 1
},
{
"date": "2022-02-24",
"count": 1
},
{
"date": "2022-03-03",
"count": 1
},
{
"date": "2022-03-17",
"count": 1
},
{
"date": "2022-03-18",
"count": 1
},
{
"date": "2022-03-22",
"count": 1
},
{
"date": "2022-03-27",
"count": 1
},
{
"date": "2022-04-03",
"count": 1
},
{
"date": "2022-05-04",
"count": 1
},
{
"date": "2022-05-10",
"count": 1
},
{
"date": "2022-05-22",
"count": 1
},
{
"date": "2022-05-23",
"count": 1
},
{
"date": "2022-05-29",
"count": 1
},
{
"date": "2022-05-31",
"count": 1
},
{
"date": "2022-07-04",
"count": 1
},
{
"date": "2022-07-13",
"count": 1
},
{
"date": "2022-09-25",
"count": 1
},
{
"date": "2022-11-27",
"count": 1
},
{
"date": "2022-11-29",
"count": 1
},
{
"date": "2022-12-21",
"count": 1
},
{
"date": "2023-01-02",
"count": 1
},
{
"date": "2023-02-06",
"count": 1
},
{
"date": "2023-02-07",
"count": 1
},
{
"date": "2023-02-26",
"count": 1
},
{
"date": "2023-03-02",
"count": 1
},
{
"date": "2023-03-20",
"count": 1
},
{
"date": "2023-03-21",
"count": 1
},
{
"date": "2023-04-23",
"count": 1
},
{
"date": "2023-05-22",
"count": 1
},
{
"date": "2023-07-20",
"count": 1
},
{
"date": "2023-07-31",
"count": 1
},
{
"date": "2023-08-28",
"count": 2
},
{
"date": "2023-09-11",
"count": 1
},
{
"date": "2023-09-14",
"count": 1
},
{
"date": "2023-12-24",
"count": 1
},
{
"date": "2024-02-27",
"count": 1
},
{
"date": "2024-04-21",
"count": 1
},
{
"date": "2024-05-10",
"count": 1
},
{
"date": "2024-06-13",
"count": 2
},
{
"date": "2024-09-12",
"count": 1
},
{
"date": "2024-10-26",
"count": 1
},
{
"date": "2024-12-07",
"count": 1
},
{
"date": "2024-12-25",
"count": 1
},
{
"date": "2025-01-16",
"count": 1
},
{
"date": "2025-03-11",
"count": 1
},
{
"date": "2025-04-26",
"count": 1
},
{
"date": "2025-05-09",
"count": 1
},
{
"date": "2025-05-11",
"count": 1
},
{
"date": "2025-06-09",
"count": 1
},
{
"date": "2025-08-11",
"count": 1
},
{
"date": "2025-10-27",
"count": 1
},
{
"date": "2025-11-03",
"count": 1
},
{
"date": "2026-06-27",
"count": 1
}
],
"complete": false,
"collected": 1000,
"total_stars": 5130
},
"open_issues_and_prs": 13
},
"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": 5842,
"source_files_sampled": 24,
"oversized_source_files": 0,
"agent_instruction_files": [],
"agent_instruction_max_bytes": null
},
"dependencies": {
"manifests": [
"Gemfile"
],
"advisories": {
"error": "No resolved dependencies carried a version and a supported ecosystem",
"scope": "repository_graph",
"source": null,
"findings": [],
"collected": false,
"malicious": [],
"truncated": false,
"by_severity": {},
"advisory_count": 0,
"affected_count": 0,
"assessed_count": 0,
"malicious_count": 0,
"assessed_package": null,
"unassessed_count": 5,
"direct_affected_count": 0
},
"ecosystems": [
"rubygems"
],
"dependencies": [
{
"name": "rails",
"manifest": "Gemfile",
"ecosystem": "rubygems",
"version_constraint": "~> 4.2.0"
}
],
"all_dependencies": {
"error": null,
"source": "github-sbom",
"packages": [
{
"name": "rails",
"direct": true,
"version": null,
"ecosystem": "rubygems"
},
{
"name": "actionpack",
"direct": false,
"version": null,
"ecosystem": "rubygems"
},
{
"name": "rails-api",
"direct": false,
"version": null,
"ecosystem": "rubygems"
},
{
"name": "railties",
"direct": false,
"version": null,
"ecosystem": "rubygems"
},
{
"name": "spring",
"direct": false,
"version": null,
"ecosystem": "rubygems"
}
],
"collected": true,
"truncated": false,
"total_count": 5,
"direct_count": 1,
"indirect_count": 4
}
},
"maintainership": {
"issues": {
"open_prs": 2,
"merged_prs": 74,
"open_issues": 11,
"closed_ratio": 0.92,
"closed_issues": 126,
"closed_unmerged_prs": 16
},
"bus_factor": 2,
"bot_contributors": 0,
"top_contributors": [
{
"type": "User",
"login": "spastorino",
"commits": 81,
"avatar_url": "https://avatars.githubusercontent.com/u/52642?v=4"
},
{
"type": "User",
"login": "steveklabnik",
"commits": 50,
"avatar_url": "https://avatars.githubusercontent.com/u/27786?v=4"
},
{
"type": "User",
"login": "carlosantoniodasilva",
"commits": 26,
"avatar_url": "https://avatars.githubusercontent.com/u/26328?v=4"
},
{
"type": "User",
"login": "rafaelfranca",
"commits": 6,
"avatar_url": "https://avatars.githubusercontent.com/u/47848?v=4"
},
{
"type": "User",
"login": "jmonteiro",
"commits": 4,
"avatar_url": "https://avatars.githubusercontent.com/u/3586?v=4"
},
{
"type": "User",
"login": "adomokos",
"commits": 3,
"avatar_url": "https://avatars.githubusercontent.com/u/80530?v=4"
},
{
"type": "User",
"login": "lukaszx0",
"commits": 2,
"avatar_url": "https://avatars.githubusercontent.com/u/11562?v=4"
},
{
"type": "User",
"login": "davidpaulhunt",
"commits": 2,
"avatar_url": "https://avatars.githubusercontent.com/u/6889054?v=4"
},
{
"type": "User",
"login": "vipulnsward",
"commits": 2,
"avatar_url": "https://avatars.githubusercontent.com/u/567626?v=4"
},
{
"type": "User",
"login": "tamird",
"commits": 2,
"avatar_url": "https://avatars.githubusercontent.com/u/1535036?v=4"
}
],
"contributors_sampled": 48,
"top_contributor_share": 0.363
},
"quality_signals": {
"has_ci": false,
"has_tests": true,
"ci_workflows": [],
"has_docs_dir": false,
"linter_configs": [],
"has_editorconfig": false,
"has_linter_config": false,
"has_precommit_config": false
},
"security_signals": {
"lockfiles": [],
"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": 0,
"reason": "branch protection not enabled on development/release branches",
"documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#branch-protection"
},
{
"name": "CI-Tests",
"score": 0,
"reason": "0 out of 7 merged PRs checked by a CI test -- score normalized to 0",
"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 7/29 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 31 contributing companies or organizations",
"documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#contributors"
},
{
"name": "Dangerous-Workflow",
"score": null,
"reason": "no workflows found",
"documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#dangerous-workflow"
},
{
"name": "Dependency-Update-Tool",
"score": 0,
"reason": "no 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": 0,
"reason": "0 commit(s) and 0 issue activity found in the last 90 days -- score normalized to 0",
"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": null,
"reason": "no dependencies found",
"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": null,
"reason": "No tokens found",
"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": "91c6c35a3babfcec535e7e2469eca8aa49289b4a",
"ran_at": "2026-07-21T22:14:02Z",
"aggregate_score": 3.1,
"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": null,
"oldest_open_prs": [
{
"number": 225,
"created_at": "2018-02-25T11:51:57Z",
"last_comment_at": null,
"last_comment_author": null
},
{
"number": 226,
"created_at": "2018-03-04T12:22:52Z",
"last_comment_at": "2018-03-04T20:01:57Z",
"last_comment_author": "nicolasleger"
}
],
"last_merged_pr_at": "2016-05-18T21:52:29Z",
"ci_last_conclusion": null,
"oldest_open_issues": [
{
"number": 166,
"created_at": "2014-10-16T14:10:45Z",
"last_comment_at": "2015-04-25T10:51:25Z",
"last_comment_author": "carlesjove"
},
{
"number": 185,
"created_at": "2015-01-27T09:36:31Z",
"last_comment_at": null,
"last_comment_author": null
},
{
"number": 199,
"created_at": "2015-05-15T20:29:33Z",
"last_comment_at": "2015-07-30T06:45:47Z",
"last_comment_author": "sunloverz"
},
{
"number": 207,
"created_at": "2015-08-11T12:44:03Z",
"last_comment_at": "2015-12-18T15:29:44Z",
"last_comment_author": "bf4"
},
{
"number": 208,
"created_at": "2015-10-12T22:18:25Z",
"last_comment_at": "2015-10-12T22:20:47Z",
"last_comment_author": "jimbeaudoin"
},
{
"number": 209,
"created_at": "2015-10-27T17:30:01Z",
"last_comment_at": "2017-01-30T16:03:35Z",
"last_comment_author": "brianlittmann"
},
{
"number": 210,
"created_at": "2015-12-25T17:04:01Z",
"last_comment_at": null,
"last_comment_author": null
},
{
"number": 211,
"created_at": "2016-01-08T19:15:39Z",
"last_comment_at": "2016-05-29T15:39:35Z",
"last_comment_author": "pujiaxun"
},
{
"number": 213,
"created_at": "2016-02-08T16:28:34Z",
"last_comment_at": "2016-02-08T19:58:50Z",
"last_comment_author": "steveklabnik"
},
{
"number": 214,
"created_at": "2016-03-14T15:04:50Z",
"last_comment_at": "2023-04-18T05:14:25Z",
"last_comment_author": "sathishkumar-ayla"
},
{
"number": 220,
"created_at": "2016-10-10T13:48:23Z",
"last_comment_at": "2016-12-19T23:03:27Z",
"last_comment_author": "Midnighter"
}
]
}
},
"config": {
"disabled_metrics": [],
"disabled_categories": [],
"disabled_components": {}
},
"source": {
"url": "https://github.com/rails-api/rails-api",
"host": "github.com",
"name": "rails-api",
"owner": "rails-api"
},
"metrics": {
"overall": {
"key": "overall",
"band": "critical",
"name": "Overall health",
"note": "Abandonment Policy applies a 60% multiplier to weighted overall health and gives it a ceiling of 49.",
"notes": [
{
"code": "abandonment_overall_adjustment",
"params": {
"cap": 49,
"pct": 60
}
}
],
"value": 27,
"inputs": {
"security": 31,
"vitality": 13,
"community": 83,
"governance": 66,
"engineering": 34,
"abandonment_cap": 49,
"abandonment_state": "likely_abandoned",
"abandonment_multiplier": 60,
"weighted_overall_before_abandonment": 45,
"overall_after_abandonment_multiplier": 27
},
"components": []
},
"categories": [
{
"key": "vitality",
"band": "critical",
"name": "Vitality",
"value": 13,
"weight": 0.22,
"metrics": [
{
"key": "development_activity",
"band": "critical",
"name": "Development activity",
"note": null,
"notes": [],
"value": 1,
"inputs": {
"commits_last_year": 0,
"human_commit_share": 1,
"days_since_last_push": 1906,
"active_weeks_last_year": 0
},
"components": [
{
"key": "push_recency",
"name": "Push recency",
"detail": "last push 1906 days ago",
"points": 0,
"status": "missed",
"details": [
{
"code": "push_recency",
"params": {
"days": 1906
}
}
],
"max_points": 36
},
{
"key": "commit_cadence",
"name": "Commit cadence",
"detail": "0/52 weeks with commits",
"points": 0,
"status": "missed",
"details": [
{
"code": "commit_cadence_weeks",
"params": {
"weeks": 0
}
}
],
"max_points": 36
},
{
"key": "commit_volume",
"name": "Commit volume",
"detail": "0 commits in the last year",
"points": 0,
"status": "missed",
"details": [
{
"code": "commits_last_year",
"params": {
"count": 0
}
}
],
"max_points": 18
},
{
"key": "openssf_scorecard_maintained",
"name": "OpenSSF Scorecard: Maintained",
"detail": "0 commit(s) and 0 issue activity found in the last 90 days -- score normalized to 0",
"points": 0,
"status": "missed",
"details": [],
"max_points": 10
}
]
},
{
"key": "release_discipline",
"band": "at_risk",
"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": 32,
"inputs": {
"releases_count": 10,
"latest_release_tag": "v0.4.1",
"releases_from_tags": true,
"days_since_latest_release": 3421,
"mean_days_between_releases": 198.2
},
"components": [
{
"key": "ships_releases",
"name": "Ships releases",
"detail": "10 version tags (no GitHub releases)",
"points": 16.2,
"status": "partial",
"details": [
{
"code": "version_tags_no_releases",
"params": {
"count": 10
}
}
],
"max_points": 27
},
{
"key": "release_recency",
"name": "Release recency",
"detail": "latest release 3421 days ago",
"points": 0,
"status": "missed",
"details": [
{
"code": "release_recency",
"params": {
"days": 3421
}
}
],
"max_points": 36
},
{
"key": "release_cadence",
"name": "Release cadence",
"detail": "a release every ~198.2 days",
"points": 12.6,
"status": "partial",
"details": [
{
"code": "release_cadence",
"params": {
"gap": 198.2
}
}
],
"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": "moderate",
"name": "Abandonment",
"note": null,
"notes": [],
"value": 60,
"inputs": {
"cap": 49,
"state": "likely_abandoned",
"guards": [],
"signals": [
"issue_rot",
"release_stall",
"scorecard_unmaintained"
],
"red_flag": true,
"multiplier_pct": 60,
"declared_reason": null,
"unverified_reason": null,
"unanswered_open_prs": 2,
"unanswered_open_issues": 10,
"days_since_last_merged_pr": 3716,
"days_since_last_human_commit": 3421,
"days_since_last_human_commit_is_floor": false
},
"components": [
{
"key": "project_is_still_maintained",
"name": "Project is still maintained",
"detail": "no human commit for 3421 days; 3 unmet obligation(s): issues unanswered, releases stalled, Scorecard reports it unmaintained",
"points": 60,
"status": "partial",
"details": [
{
"code": "abandonment_flagged",
"params": {
"days": 3421,
"count": 3,
"signals": "issues unanswered, releases stalled, Scorecard reports it unmaintained"
}
}
],
"max_points": 100
}
]
}
],
"description": "Is the project alive — is code being written and are releases shipping?"
},
{
"key": "community",
"band": "good",
"name": "Community & Adoption",
"value": 83,
"weight": 0.18,
"metrics": [
{
"key": "popularity",
"band": "excellent",
"name": "Popularity & adoption",
"note": null,
"notes": [],
"value": 92,
"inputs": {
"forks": 271,
"stars": 5130,
"watchers": 155,
"growth_state": "organic",
"growth_factor_pct": 100
},
"components": [
{
"key": "stars",
"name": "Stars",
"detail": "5,130 stars",
"points": 60,
"status": "met",
"details": [
{
"code": "stars",
"params": {
"count": 5130
}
}
],
"max_points": 60
},
{
"key": "forks",
"name": "Forks",
"detail": "271 forks",
"points": 20.3,
"status": "partial",
"details": [
{
"code": "forks",
"params": {
"count": 271
}
}
],
"max_points": 25
},
{
"key": "watchers",
"name": "Watchers",
"detail": "155 watchers",
"points": 12.2,
"status": "partial",
"details": [
{
"code": "watchers",
"params": {
"count": 155
}
}
],
"max_points": 15
}
]
},
{
"key": "community_health",
"band": "good",
"name": "Community health",
"note": null,
"notes": [],
"value": 70,
"inputs": {
"has_readme": true,
"has_license": true,
"has_contributing": true,
"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": 18,
"status": "met",
"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": 87,
"inputs": {
"packages": [
"rails-api"
],
"dependents": null,
"ecosystems": "rubygems",
"total_downloads": 5165592,
"monthly_downloads": null
},
"components": [
{
"key": "total_downloads",
"name": "Total downloads",
"detail": "5,165,592 downloads all-time across rubygems",
"points": 69.8,
"status": "partial",
"details": [
{
"code": "downloads_total",
"params": {
"count": 5165592,
"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": "moderate",
"name": "Maintainer resilience (bus factor)",
"note": null,
"notes": [],
"value": 63,
"inputs": {
"bus_factor": 2,
"contributors_sampled": 48,
"top_contributor_share": 0.363
},
"components": [
{
"key": "bus_factor",
"name": "Bus factor",
"detail": "2 contributor(s) cover half of all commits",
"points": 25.2,
"status": "partial",
"details": [
{
"code": "bus_factor",
"params": {
"count": 2
}
}
],
"max_points": 54
},
{
"key": "commit_distribution",
"name": "Commit distribution",
"detail": "top contributor authored 36% of commits",
"points": 14.3,
"status": "partial",
"details": [
{
"code": "top_contributor_share",
"params": {
"share": 36
}
}
],
"max_points": 22.5
},
{
"key": "contributor_breadth",
"name": "Contributor breadth",
"detail": "48 contributors",
"points": 13.5,
"status": "met",
"details": [
{
"code": "contributors_sampled",
"params": {
"count": 48
}
}
],
"max_points": 13.5
},
{
"key": "openssf_scorecard_contributors",
"name": "OpenSSF Scorecard: Contributors",
"detail": "project has 31 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": 11,
"closed_issues": 126,
"issue_closed_ratio": 0.92,
"closed_unmerged_prs": 16
},
"components": [
{
"key": "issue_resolution",
"name": "Issue resolution",
"detail": "92% of issues closed",
"points": 43,
"status": "partial",
"details": [
{
"code": "issues_closed_share",
"params": {
"share": 92
}
}
],
"max_points": 46.75
},
{
"key": "pr_acceptance",
"name": "PR acceptance",
"detail": "74/90 decided PRs merged",
"points": 31.4,
"status": "partial",
"details": [
{
"code": "decided_prs_merged",
"params": {
"merged": 74,
"decided": 90
}
}
],
"max_points": 38.25
},
{
"key": "openssf_scorecard_code_review",
"name": "OpenSSF Scorecard: Code-Review",
"detail": "Found 7/29 approved changesets -- score normalized to 2",
"points": 3,
"status": "partial",
"details": [],
"max_points": 15
}
]
},
{
"key": "stewardship",
"band": "moderate",
"name": "Ownership & stewardship",
"note": null,
"notes": [],
"value": 57,
"inputs": {
"followers": 16,
"owner_type": "Organization",
"is_verified": null,
"owner_login": "rails-api",
"public_repos": 6,
"account_age_days": 4994
},
"components": [
{
"key": "ownership_backing",
"name": "Ownership backing",
"detail": "organization-owned",
"points": 30,
"status": "met",
"details": [
{
"code": "owner_organization",
"params": {}
}
],
"max_points": 30
},
{
"key": "verified_domain",
"name": "Verified domain",
"detail": null,
"points": 0,
"status": "missed",
"details": [],
"max_points": 20
},
{
"key": "owner_reach",
"name": "Owner reach",
"detail": "16 followers of rails-api",
"points": 8.8,
"status": "partial",
"details": [
{
"code": "owner_followers",
"params": {
"count": 16,
"login": "rails-api"
}
}
],
"max_points": 25
},
{
"key": "track_record",
"name": "Track record",
"detail": "6 public repos, account ~13 yr old",
"points": 18.2,
"status": "partial",
"details": [
{
"code": "public_repos",
"params": {
"count": 6
}
},
{
"code": "account_age_years",
"params": {
"years": 13
}
}
],
"max_points": 25
}
]
},
{
"key": "package_maintenance",
"band": "moderate",
"name": "Package maintenance",
"note": null,
"notes": [],
"value": 69,
"inputs": {
"packages": [
"rails-api"
],
"ecosystems": "rubygems",
"any_deprecated": false,
"min_days_since_publish": 3421
},
"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 3421 days ago",
"points": 4,
"status": "partial",
"details": [
{
"code": "publish_recency",
"params": {
"days": 3421
}
}
],
"max_points": 35
},
{
"key": "version_history",
"name": "Version history",
"detail": "10 published versions",
"points": 20,
"status": "met",
"details": [
{
"code": "published_versions",
"params": {
"count": 10
}
}
],
"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": "at_risk",
"name": "Engineering Quality",
"value": 34,
"weight": 0.2,
"metrics": [
{
"key": "engineering_practices",
"band": "critical",
"name": "Engineering practices",
"note": null,
"notes": [],
"value": 24,
"inputs": {
"has_ci": false,
"has_tests": true,
"has_editorconfig": false,
"has_linter_config": false,
"has_precommit_config": false
},
"components": [
{
"key": "ci_workflows",
"name": "CI workflows",
"detail": null,
"points": 0,
"status": "missed",
"details": [],
"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": "0 out of 7 merged PRs checked by a CI test -- score normalized to 0",
"points": 0,
"status": "missed",
"details": [],
"max_points": 20
}
]
},
{
"key": "documentation",
"band": "moderate",
"name": "Documentation",
"note": null,
"notes": [],
"value": 50,
"inputs": {
"topics": [],
"has_wiki": true,
"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": null,
"points": 0,
"status": "missed",
"details": [],
"max_points": 10
},
{
"key": "wiki",
"name": "Wiki",
"detail": null,
"points": 10,
"status": "met",
"details": [],
"max_points": 10
}
]
}
],
"description": "Are baseline engineering and documentation practices in place?"
},
{
"key": "security",
"band": "at_risk",
"name": "Security",
"value": 31,
"weight": 0.16,
"metrics": [
{
"key": "security_posture",
"band": "at_risk",
"name": "Security posture",
"note": "Excluded from scoring (no data or not applicable): Dangerous-Workflow, Packaging, Pinned-Dependencies, Signed-Releases, Token-Permissions. Remaining weights renormalized.",
"notes": [
{
"code": "excluded_no_data",
"params": {
"components": [
"dangerous_workflow",
"packaging",
"pinned_dependencies",
"signed_releases",
"token_permissions"
]
}
},
{
"code": "weights_renormalized",
"params": {}
}
],
"value": 31,
"inputs": {
"source": "openssf_scorecard",
"checks_evaluated": 13,
"scorecard_version": "v5.5.0",
"checks_inconclusive": 5,
"scorecard_aggregate": 3.1
},
"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": "branch protection not enabled on development/release branches",
"points": 0,
"status": "missed",
"details": [],
"max_points": 7.5
},
{
"key": "ci_tests",
"name": "CI-Tests",
"detail": "0 out of 7 merged PRs checked by a CI test -- score normalized to 0",
"points": 0,
"status": "missed",
"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 7/29 approved changesets -- score normalized to 2",
"points": 1.5,
"status": "partial",
"details": [],
"max_points": 7.5
},
{
"key": "contributors",
"name": "Contributors",
"detail": "project has 31 contributing companies or organizations",
"points": 2.5,
"status": "met",
"details": [],
"max_points": 2.5
},
{
"key": "dangerous_workflow",
"name": "Dangerous-Workflow",
"detail": "no workflows found",
"points": 0,
"status": "excluded",
"details": [
{
"code": "no_data",
"params": {}
}
],
"max_points": 10
},
{
"key": "dependency_update_tool",
"name": "Dependency-Update-Tool",
"detail": "no update tool detected",
"points": 0,
"status": "missed",
"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": "0 commit(s) and 0 issue activity found in the last 90 days -- score normalized to 0",
"points": 0,
"status": "missed",
"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": "no dependencies found",
"points": 0,
"status": "excluded",
"details": [
{
"code": "no_data",
"params": {}
}
],
"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": "No tokens found",
"points": 0,
"status": "excluded",
"details": [
{
"code": "no_data",
"params": {}
}
],
"max_points": 7.5
},
{
"key": "vulnerabilities",
"name": "Vulnerabilities",
"detail": "0 existing vulnerabilities detected",
"points": 7.5,
"status": "met",
"details": [],
"max_points": 7.5
}
]
},
{
"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": 22
},
"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": "at_risk",
"name": "AI Readiness",
"value": 30,
"weight": 0,
"metrics": [
{
"key": "ai_agent_context",
"band": "critical",
"name": "Agent context & guidance",
"note": null,
"notes": [],
"value": 25,
"inputs": {
"has_llms_txt": false,
"legible_history_share": 0.47,
"agent_instruction_files": [],
"agent_instruction_max_bytes": null
},
"components": [
{
"key": "agent_instructions",
"name": "Agent instructions",
"detail": "no CLAUDE.md / AGENTS.md / editor rules",
"points": 0,
"status": "missed",
"details": [
{
"code": "no_agent_instructions",
"params": {}
}
],
"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": "47 of 100 human commits state their intent (structured subject or explanatory body)",
"points": 25.1,
"status": "partial",
"details": [
{
"code": "legible_history",
"params": {
"legible": 47,
"sampled": 100
}
}
],
"max_points": 40
}
]
},
{
"key": "ai_verify_loop",
"band": "critical",
"name": "Verify loop (build / test / typecheck)",
"note": "Excluded from scoring (no data or not applicable): OpenSSF Scorecard: Pinned-Dependencies. Remaining weights renormalized.",
"notes": [
{
"code": "excluded_no_data",
"params": {
"components": [
"openssf_scorecard_pinned_dependencies"
]
}
},
{
"code": "weights_renormalized",
"params": {}
}
],
"value": 24,
"inputs": {
"has_nix": false,
"has_tests": true,
"lockfiles": [],
"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
},
"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": null,
"points": 0,
"status": "missed",
"details": [],
"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": "no automated dependency updates observed",
"points": 0,
"status": "missed",
"details": [
{
"code": "no_dependency_automation",
"params": {}
}
],
"max_points": 8
},
{
"key": "openssf_scorecard_pinned_dependencies",
"name": "OpenSSF Scorecard: Pinned-Dependencies",
"detail": "no dependencies found",
"points": 0,
"status": "excluded",
"details": [
{
"code": "no_data",
"params": {}
}
],
"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": 5842,
"source_files_sampled": 24,
"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/24 source files over 60KB",
"points": 55,
"status": "met",
"details": [
{
"code": "oversized_source_files",
"params": {
"kb": 60,
"sampled": 24,
"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": [
"No resolved dependencies carried a version and a supported ecosystem"
],
"report_type": "repository",
"generated_at": "2026-07-21T22:14:21.711056Z",
"schema_version": "0.25.0",
"badge_url": "https://raw.githubusercontent.com/inspect-software/badges/main/v1/r/rails-api/rails-api.svg",
"full_name": "rails-api/rails-api",
"license_state": "standard",
"license_spdx": "MIT"
}