Публічний реєстр
Звіт про здоров'я програмного забезпеченнясхема 0.25.0 · метрики 1.13.0 · 2026-07-21 22:14 UTC

rails-api / rails-api

Rails for API only applications

RubyMIT★ 5 130 зірок⑂ 271 форкз бер. 2012 р.Переглянути на GitHub ↗

rails-api/rails-api має індекс здоров’я 27 зі 100, що відповідає смузі «Критичний». Найвищий показник — Community & Adoption (83/100), найнижчий — Vitality (13/100). Останнє оновлення було 1906 днів тому. Більшість нещодавньої роботи виконують 2 учасники.

27
загалом / 100
Критичний

Індекс здоров'я програмного забезпечення

Метрики згруповано у зважені категорії на шкалі 1–100. Загальна оцінка починається як їхнє середнє; коли публічні дані активують Політику юрисдикцій високого ризику, рейтинг коригується й отримує верхню межу 49 («Під ризиком»). Готовність до ШІ не входить до індексу.

27
Відмінний85-100Зразковий; відповідає практично всім перевіреним критеріям
Добрий70-84Здоровий; незначні прогалини
Помірний50-69Прийнятний, але з помітними прогалинами; рекомендовано перевірку
У зоні ризику30-49Суттєві слабкі місця; впровадження потребує обережності
Критичний1-29Серйозні проблеми (покинутий, єдиний мейнтейнер, без базової гігієни)
ЖиттєздатністьСпільнота тавпровадженняСталість таврядуванняІнженернаякістьБезпекаГотовність доШІ

Профіль оцінок

Кожна вісь — окрема категорія. Форма важить більше, ніж середнє: здоровий об'єкт заповнює всю фігуру, тоді як профіль із піками та провалами означає, що сила в одному вимірі маскує ризик в іншому.

Abandonment Policy applies a 60% multiplier to weighted overall health and gives it a ceiling of 49.

Власність

rails-apiОрганізація
16 підписників6 публічних репозиторіївз лист. 2012 р.

За цим репозиторієм стоїть організація — спільна, підзвітна опіка, здатна пережити будь-якого окремого мейнтейнера.

Пакетні екосистеми

РеєстрПакетВерсіяЗавантажень / місВерсіїОстання публікація
RubyGemsrails-api0.4.1-103421 день тому

Метрики за категоріями

Життєздатність

Чи живий проєкт — чи пишеться код і чи виходять релізи?

13Критичний · 22% загального індексу
Як обчислюється оцінка
0/36Свіжість push — останній push 1 906 дн. тому
0/36Ритм комітів — 0/52 тижнів із комітами
0/18Обсяг комітів — 0 комітів за останній рік
0/10OpenSSF Scorecard: Maintained — 0 commit(s) and 0 issue activity found in the last 90 days -- score normalized to 0
Використані вхідні дані
commits_last_year0
human_commit_share1
days_since_last_push1 906
active_weeks_last_year0

Дисципліна релізів

32У зоні ризику
Як обчислюється оцінка
16.2/27Випускає релізи — 10 тегів версій (без релізів GitHub)
0/36Свіжість релізів — останній реліз 3 421 дн. тому
12.6/27Ритм релізів — реліз кожні ~198,2 дн.
0/10OpenSSF Scorecard: Signed-Releases — немає даних
Використані вхідні дані
releases_count10
latest_release_tagv0.4.1
releases_from_tagsтак
days_since_latest_release3 421
mean_days_between_releases198,2
Виключено з оцінювання (немає даних або не застосовно): OpenSSF Scorecard: Signed-Releases. Залишкові ваги перенормовано.

Спільнота та впровадження

Чи має проєкт користувачів, завантаження, увагу та влаштовані умови для контриб’юторів?

83Добрий · 18% загального індексу
Як обчислюється оцінка
60/60Зірки — 5 130 зірок
20.3/25Форки — 271 форків
12.2/15Спостерігачі — 155 спостерігачів
Використані вхідні дані
forks271
stars5 130
watchers155
growth_stateorganic
growth_factor_pct100
Як обчислюється оцінка
22.5/22.5README
22.5/22.5Ліцензія — визнана ліцензія (MIT)
18/18Настанови CONTRIBUTING
0/13.5Кодекс поведінки
0/7.2Шаблон issue
0/6.3Шаблон PR
Використані вхідні дані
has_readmeтак
has_licenseтак
has_contributingтак
has_issue_templateні
has_code_of_conductні
has_pull_request_templateні
Як обчислюється оцінка
69.8/80Сумарні завантаження — 5 165 592 завантажень за весь час у rubygems
0/20Залежні пакети в реєстрі — ця екосистема цього не повідомляє
Використані вхідні дані
packagesrails-api
dependents
ecosystemsrubygems
total_downloads5 165 592
monthly_downloads
Виключено з оцінювання (немає даних або не застосовно): Залежні пакети в реєстрі. Залишкові ваги перенормовано.

Сталість та врядування

Чи переживе проєкт своїх людей — бас-фактор, реактивність, хто за ним стоїть і як супроводжуються пакети?

66Помірний · 24% загального індексу
Як обчислюється оцінка
25.2/54Бас-фактор — на 2 контриб’ютор(ів) припадає половина всіх комітів
14.3/22.5Розподіл комітів — головний контриб’ютор — автор 36% комітів
13.5/13.5Широта контриб’юторів — 48 контриб’юторів
10/10OpenSSF Scorecard: Contributors — project has 31 contributing companies or organizations
Використані вхідні дані
bus_factor2
contributors_sampled48
top_contributor_share0,363
Як обчислюється оцінка
43/46.8Вирішення issue — закрито 92% issue
31.4/38.3Прийняття PR — злито 74/90 вирішених PR
3/15OpenSSF Scorecard: Code-Review — Found 7/29 approved changesets -- score normalized to 2
Використані вхідні дані
merged_prs74
open_issues11
closed_issues126
issue_closed_ratio0,92
closed_unmerged_prs16
Як обчислюється оцінка
30/30Підтримка власника — у власності організації
0/20Верифікований домен
8.8/25Охоплення власника — 16 підписників у rails-api
18.2/25Послужний список — 6 публічних репозиторіїв, вік облікового запису ~13 р.
Використані вхідні дані
followers16
owner_typeOrganization
is_verified
owner_loginrails-api
public_repos6
account_age_days4 994
Як обчислюється оцінка
25/25Опубліковано й доступно — 1 пакет(ів) у rubygems
4/35Свіжість публікацій — остання публікація 3 421 дн. тому
20/20Історія версій — 10 опублікованих версій
20/20Не застарілий — активний, не deprecated і не yanked
Використані вхідні дані
packagesrails-api
ecosystemsrubygems
any_deprecatedні
min_days_since_publish3 421

Інженерна якість

Чи наявні базові інженерні практики та документація?

34У зоні ризику · 20% загального індексу
Як обчислюється оцінка
0/24Процеси CI
24/24Наявні тести
0/16Конфігурація лінтера
0/9.6Pre-commit-хуки
0/6.4.editorconfig
0/20OpenSSF Scorecard: CI-Tests — 0 out of 7 merged PRs checked by a CI test -- score normalized to 0
Використані вхідні дані
has_ciні
has_testsтак
has_editorconfigні
has_linter_configні
has_precommit_configні

Документація

50Помірний
Як обчислюється оцінка
30/30README
0/25Каталог документації
0/15Сайт документації / домашня сторінка
10/10Опис репозиторію
0/10Теми
10/10Wiki
Використані вхідні дані
topics
has_wikiтак
homepage
has_readmeтак
has_docs_dirні
has_descriptionтак

Безпека

Чи міцні видимі практики безпеки й ланцюга постачання, без непослабленої пов’язаності з юрисдикціями високого ризику?

31У зоні ризику · 16% загального індексу

Стан безпеки

31У зоні ризику
Як обчислюється оцінка
7.5/7.5Binary-Artifacts — no binaries found in the repo
0/7.5Branch-Protection — branch protection not enabled on development/release branches
0/2.5CI-Tests — 0 out of 7 merged PRs checked by a CI test -- score normalized to 0
0/2.5CII-Best-Practices — no effort to earn an OpenSSF best practices badge detected
1.5/7.5Code-Review — Found 7/29 approved changesets -- score normalized to 2
2.5/2.5Contributors — project has 31 contributing companies or organizations
0/10Dangerous-Workflow — немає даних
0/7.5Dependency-Update-Tool — no update tool detected
0/5Fuzzing — project is not fuzzed
2.5/2.5Ліцензія — license file detected
0/7.5Maintained — 0 commit(s) and 0 issue activity found in the last 90 days -- score normalized to 0
0/5Packaging — немає даних
0/5Pinned-Dependencies — немає даних
0/5SAST — SAST tool is not run on all commits -- score normalized to 0
0/5Security-Policy — security policy file not detected
0/7.5Signed-Releases — немає даних
0/7.5Token-Permissions — немає даних
7.5/7.5Vulnerabilities — 0 existing vulnerabilities detected
Використані вхідні дані
sourceopenssf_scorecard
checks_evaluated13
scorecard_versionv5.5.0
checks_inconclusive5
scorecard_aggregate3,1
Виключено з оцінювання (немає даних або не застосовно): dangerous_workflow, packaging, pinned_dependencies, signed_releases, token_permissions. Залишкові ваги перенормовано.

Готовність до ШІ

Наскільки репозиторій оснащений для розробки та супроводу за участі ШІ-агентів? Незалежний, експериментальний бейдж — вага 0.0, тож він подається окремо і не впливає на загальний індекс здоров'я.

30У зоні ризику · 0% загального індексу
Як обчислюється оцінка
0/45Інструкції для агентів — немає CLAUDE.md / AGENTS.md / правил редактора
0/15Машиночитана документація (llms.txt)
25.1/40Читабельна історія комітів — намір зазначено у 47 з 100 людських комітів (структурований заголовок або пояснювальний текст)
Використані вхідні дані
has_llms_txtні
legible_history_share0,47
agent_instruction_files
agent_instruction_max_bytes
Як обчислюється оцінка
0/18Розгортання однією командою
22/22Автоматизовані тести
0/11Конфігурація лінтера / форматера
0/11Статична перевірка типів
0/10Відтворюване середовище
0/10Підтверджена практика роботи з агентами — серед останніх 100 комітів немає створених агентом
0/8Автоматизоване супроводження — автоматичних оновлень залежностей не виявлено
0/10OpenSSF Scorecard: Pinned-Dependencies — немає даних
Використані вхідні дані
has_nixні
has_testsтак
lockfiles
has_dockerfileні
typed_languageні
bootstrap_files
has_devcontainerні
has_linter_configні
typecheck_configs
agent_commit_share0
toolchain_manifests
dependency_bot_commit_share0
Виключено з оцінювання (немає даних або не застосовно): OpenSSF Scorecard: Pinned-Dependencies. Залишкові ваги перенормовано.
Як обчислюється оцінка
0/45Типізований код — Ruby без конфігурації перевірки типів
55/55Керовані розміри файлів — 0/24 файлів вихідного коду понад 60 КБ
Використані вхідні дані
primary_languageRuby
largest_source_bytes5 842
source_files_sampled24
oversized_source_files0

Ключові факти

5 130зірок GitHub
48контриб'юторів
0комітів за останні 12 місяців
1 906днів від останнього пушу
10релізів
2бас-фактор
11відкритих issue
RubyGemsпакетних екосистем

Попередження щодо збору даних

  • No resolved dependencies carried a version and a supported ecosystem

Докладніше

Історія зірок і форків 5 130 ★ / 271 ⇿
5 130Зірки
271Форки
10Релізи

Коли додано кожну зірку й форк — зібрано з GitHub і згруповано за днями. Кумулятивне зростання розміщено просто над денними додаваннями, з яких воно складається, тож їх видно одне проти одного: рівномірне органічне накопичення виглядає зовсім інакше, ніж різкий короткочасний сплеск. Там, де цю різницю можна виміряти, її подано як автентичність росту.

Показано лише найновішу історію — цей репозиторій перевищує вікно збору, тож найраніша історія не захоплена.

01 0002 0003 0004 0005 0006 0005 130269362012-042019-052026-06
Мажорні 0Мінорні 4Патчі 6

Кожна точка охоплює 13 днів.

OpenSSF Scorecard 3.1 / 10
3.1сукупно

Незалежна, не прив'язана до інструментів оцінка безпеки від відкритого проєкту OpenSSF Scorecard. Кожна перевірка винагороджує практику безпеки, а не інструмент конкретного постачальника. Перевірки, які Scorecard не зміг визначити, позначено н/д і виключено з оцінки безпеки (вони ніколи не зараховуються як нуль).Scorecard v5.5.0 · 2026-07-21 22:14 UTC

10Binary-Artifactsno binaries found in the repo
0Branch-Protectionbranch protection not enabled on development/release branches
0CI-Tests0 out of 7 merged PRs checked by a CI test -- score normalized to 0
0CII-Best-Practicesno effort to earn an OpenSSF best practices badge detected
2Code-ReviewFound 7/29 approved changesets -- score normalized to 2
10Contributorsproject has 31 contributing companies or organizations
н/дDangerous-Workflowno workflows found
0Dependency-Update-Toolno update tool detected
0Fuzzingproject is not fuzzed
10Licenselicense file detected
0Maintained0 commit(s) and 0 issue activity found in the last 90 days -- score normalized to 0
н/дPackagingpackaging workflow not detected
н/дPinned-Dependenciesno dependencies found
0SASTSAST tool is not run on all commits -- score normalized to 0
0Security-Policysecurity policy file not detected
н/дSigned-Releasesno releases found
н/дToken-PermissionsNo tokens found
10Vulnerabilities0 existing vulnerabilities detected
Прямі залежності 1
РеєстрПакетОбмеження версіїМаніфест
RubyGemsrails~> 4.2.0Gemfile
Усі залежності 5

Повний розв'язаний набір залежностей із графа залежностей GitHub: 1 прямих і 4 непрямих (транзитивних) пакетів. Транзитивне замикання є повним, коли в репозиторії закомічено lockfile.

РеєстрПакетВерсіяЗв'язок
RubyGemsrailsпряма
RubyGemsactionpackнепряма
RubyGemsrails-apiнепряма
RubyGemsrailtiesнепряма
RubyGemsspringнепряма
Сповіщення про залежності не оцінено

Звірка сповіщень не відбулася для цього звіту: No resolved dependencies carried a version and a supported ecosystem

Звіт у форматі 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"
}

Оцінки — це сигнали, а не гарантії. Вони відображають публічно видимі практики на GitHub — це не аудит коду й не гарантія безпеки.

Відсутні дані виключаються, а ваги перенормовуються — нуль за відсутність ніколи не ставиться. Методологія версіонована й відкрита: метрики v1.13.0, схема v0.25.0 — повна методологія · вікі метрик.

Як окремий результат виглядає на тлі всього реєстру: сукупна статистикаRubyGems.