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

src-d / landing

landing for source{d}

HTML · CSSMIT★ 5 зірок⑂ 22 форкиз черв. 2017 р.Переглянути на GitHub ↗

src-d/landing має індекс здоров’я 26 зі 100, що відповідає смузі «Критичний». Найвищий показник — Sustainability & Governance (73/100), найнижчий — Vitality (25/100). Останнє оновлення було 2484 дні тому. Більшість нещодавньої роботи виконують 2 учасники.

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

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

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

26
Відмінний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.

Власність

source{d}Організація
117 підписників151 публічний репозиторійз жовт. 2015 р.

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

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

РеєстрПакетВерсіяЗавантажень / місВерсіїОстання публікація
Gogithub.com/src-d/landingv3.2.2+incompatible-232894 дні тому

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

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

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

25Критичний · 22% загального індексу
Як обчислюється оцінка
0/36Свіжість push — останній push 2 484 дн. тому
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_push2 484
active_weeks_last_year0
Як обчислюється оцінка
27/27Випускає релізи — опубліковано 72 релізів
0/36Свіжість релізів — останній реліз 2 484 дн. тому
27/27Ритм релізів — реліз кожні ~10,9 дн.
0/10OpenSSF Scorecard: Signed-Releases — немає даних
Використані вхідні дані
releases_count72
latest_release_tagv4.17.13
releases_from_tagsні
days_since_latest_release2 484
mean_days_between_releases10,9
Виключено з оцінювання (немає даних або не застосовно): OpenSSF Scorecard: Signed-Releases. Залишкові ваги перенормовано.

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

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

52Помірний · 18% загального індексу
Як обчислюється оцінка
9.8/60Зірки — 5 зірок
11/25Форки — 22 форків
3.3/15Спостерігачі — 5 спостерігачів
Використані вхідні дані
forks22
stars5
watchers5
growth_stateunverified
growth_factor_pct100
growth_unverified_reasonno_history
Як обчислюється оцінка
22.5/22.5README
22.5/22.5Ліцензія — визнана ліцензія (MIT)
18/18Настанови CONTRIBUTING
13.5/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ні

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

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

73Добрий · 24% загального індексу
Як обчислюється оцінка
25.2/54Бас-фактор — на 2 контриб’ютор(ів) припадає половина всіх комітів
13.8/22.5Розподіл комітів — головний контриб’ютор — автор 38% комітів
13.5/13.5Широта контриб’юторів — 29 контриб’юторів
10/10OpenSSF Scorecard: Contributors — project has 29 contributing companies or organizations
Використані вхідні дані
bus_factor2
contributors_sampled29
top_contributor_share0,385
Як обчислюється оцінка
43.9/46.8Вирішення issue — закрито 94% issue
33.3/38.3Прийняття PR — злито 310/356 вирішених PR
13.5/15OpenSSF Scorecard: Code-Review — Found 15/16 approved changesets -- score normalized to 9
Використані вхідні дані
merged_prs310
open_issues7
closed_issues108
issue_closed_ratio0,939
closed_unmerged_prs46
Як обчислюється оцінка
30/30Підтримка власника — у власності організації
0/20Верифікований домен
14.9/25Охоплення власника — 117 підписників у src-d
25/25Послужний список — 151 публічних репозиторіїв, вік облікового запису ~10 р.
Використані вхідні дані
followers117
owner_typeOrganization
is_verified
owner_loginsrc-d
public_repos151
account_age_days3 939
Як обчислюється оцінка
25/25Опубліковано й доступно — 1 пакет(ів) у go
4/35Свіжість публікацій — остання публікація 2 894 дн. тому
20/20Історія версій — 23 опублікованих версій
20/20Не застарілий — активний, не deprecated і не yanked
Використані вхідні дані
packagesgithub.com/src-d/landing
ecosystemsgo
any_deprecatedні
min_days_since_publish2 894

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

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

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

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

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

Безпека

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

26Критичний · 16% загального індексу

Стан безпеки

26Критичний
Як обчислюється оцінка
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 15 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
6.8/7.5Code-Review — Found 15/16 approved changesets -- score normalized to 9
2.5/2.5Contributors — project has 29 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 — dependency not pinned by hash detected -- score normalized to 0
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 — немає даних
0/7.5Vulnerabilities — 138 existing vulnerabilities detected
Використані вхідні дані
sourceopenssf_scorecard
checks_evaluated14
scorecard_versionv5.5.0
checks_inconclusive4
scorecard_aggregate2,6
Виключено з оцінювання (немає даних або не застосовно): dangerous_workflow, packaging, signed_releases, token_permissions. Залишкові ваги перенормовано.

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

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

37У зоні ризику · 0% загального індексу
Як обчислюється оцінка
0/45Інструкції для агентів — немає CLAUDE.md / AGENTS.md / правил редактора
0/15Машиночитана документація (llms.txt)
26.1/40Читабельна історія комітів — намір зазначено у 49 з 100 людських комітів (структурований заголовок або пояснювальний текст)
Використані вхідні дані
has_llms_txtні
legible_history_share0,49
agent_instruction_files
agent_instruction_max_bytes
Як обчислюється оцінка
18/18Розгортання однією командою — Makefile
0/22Автоматизовані тести
11/11Конфігурація лінтера / форматера — .eslintrc.js
0/11Статична перевірка типів
10/10Відтворюване середовище — Dockerfile, lockfile
0/10Підтверджена практика роботи з агентами — серед останніх 100 комітів немає створених агентом
0/8Автоматизоване супроводження — автоматичних оновлень залежностей не виявлено
0/10OpenSSF Scorecard: Pinned-Dependencies — dependency not pinned by hash detected -- score normalized to 0
Використані вхідні дані
has_nixні
has_testsні
lockfilesgo.sum, yarn.lock
has_dockerfileтак
typed_languageні
bootstrap_filesMakefile
has_devcontainerні
has_linter_configтак
typecheck_configs
agent_commit_share0
toolchain_manifestsgo.mod
dependency_bot_commit_share0
Як обчислюється оцінка
0/45Типізований код — HTML без конфігурації перевірки типів
55/55Керовані розміри файлів — 0/11 файлів вихідного коду понад 60 КБ
Використані вхідні дані
primary_languageHTML
largest_source_bytes4 396
source_files_sampled11
oversized_source_files0

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

5зірок GitHub
29контриб'юторів
0комітів за останні 12 місяців
2 484днів від останнього пушу
72релізів
2бас-фактор
7відкритих issue
Go, npmпакетних екосистем

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

  • Star history unavailable: GitHub GraphQL error: Resource not accessible by personal access token
  • GitHub dependency-graph SBOM unavailable (404); the dependency graph may be disabled for this repository

Докладніше

Історія зірок і форків 0 ★ / 22 ⇿
0Зірки
22Форки
72Релізи

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

048121620242222017-062019-072021-08
Мажорні 0Мінорні 18Патчі 43

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

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

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

10Binary-Artifactsno binaries found in the repo
0Branch-Protectionbranch protection not enabled on development/release branches
0CI-Tests0 out of 15 merged PRs checked by a CI test -- score normalized to 0
0CII-Best-Practicesno effort to earn an OpenSSF best practices badge detected
9Code-ReviewFound 15/16 approved changesets -- score normalized to 9
10Contributorsproject has 29 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
0Pinned-Dependenciesdependency not pinned by hash detected -- score normalized to 0
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
0Vulnerabilities138 existing vulnerabilities detected
Прямі залежності 13
РеєстрПакетОбмеження версіїМаніфест
Gogithub.com/erizocosmico/gin-cachev0.0.0-20170504090308-3349dd86a3d8go.mod
Gogithub.com/gin-contrib/corsv1.3.0go.mod
Gogithub.com/gin-gonic/ginv1.4.0go.mod
Gogithub.com/src-d/envconfigv1.0.0go.mod
Gogopkg.in/inconshreveable/log15.v2v2.0.0-20180818164646-67afb5ed74ecgo.mod
Gogopkg.in/mcuadros/go-defaults.v1v1.1.0go.mod
npmbootstrap4.1.3package.json
npmes6-promise^4.0.5package.json
npmisomorphic-fetch^2.2.1package.json
npmjquery~2.1.xpackage.json
npmmustache^3.0.0package.json
npmpopper.js^1.14.4package.json
npmslick-carousel1.8.xpackage.json
Усі залежності не зібрано

Не вдалося зібрати розв'язаний набір залежностей для цього звіту: GitHub dependency-graph SBOM unavailable (404); the dependency graph may be disabled for this repository

Звіт у форматі JSON машиночитний
{
  "data": {
    "repo": {
      "topics": [
        "web",
        "landing"
      ],
      "is_fork": false,
      "size_kb": 117762,
      "has_wiki": true,
      "homepage": null,
      "languages": {
        "Go": 6246,
        "CSS": 33249,
        "HTML": 153235,
        "Smarty": 2287,
        "Makefile": 2550,
        "Dockerfile": 78,
        "JavaScript": 9828
      },
      "pushed_at": "2019-10-08T10:17:18Z",
      "created_at": "2017-06-07T14:53:43Z",
      "owner_type": "Organization",
      "updated_at": "2023-08-03T11:09:51Z",
      "description": "landing for source{d}",
      "is_archived": false,
      "is_disabled": false,
      "license_spdx": "MIT",
      "default_branch": "master",
      "license_spdx_raw": "MIT",
      "primary_language": "HTML",
      "significant_languages": [
        "HTML",
        "CSS"
      ]
    },
    "owner": {
      "blog": "https://sourced.tech",
      "name": "source{d}",
      "type": "Organization",
      "login": "src-d",
      "company": null,
      "location": "Remote first",
      "followers": 117,
      "avatar_url": "https://avatars.githubusercontent.com/u/15128793?v=4",
      "created_at": "2015-10-14T17:13:24Z",
      "is_verified": null,
      "public_repos": 151,
      "account_age_days": 3939
    },
    "license": {
      "state": "standard",
      "spdx_id": "MIT",
      "raw_spdx": "MIT",
      "file_present": true,
      "scorecard_found": true,
      "profile_has_license": true
    },
    "activity": {
      "releases": [
        {
          "tag": "v4.17.13",
          "kind": "patch",
          "published_at": "2019-10-08T10:17:18Z"
        },
        {
          "tag": "v4.17.12",
          "kind": "patch",
          "published_at": "2019-10-03T09:59:13Z"
        },
        {
          "tag": "v4.17.11",
          "kind": "patch",
          "published_at": "2019-09-06T09:37:20Z"
        },
        {
          "tag": "v4.17.10",
          "kind": "patch",
          "published_at": "2019-08-13T07:56:00Z"
        },
        {
          "tag": "v4.17.9",
          "kind": "patch",
          "published_at": "2019-08-13T07:46:08Z"
        },
        {
          "tag": "v4.17.8",
          "kind": "patch",
          "published_at": "2019-07-16T10:56:13Z"
        },
        {
          "tag": "v4.17.7",
          "kind": "patch",
          "published_at": "2019-07-10T05:25:39Z"
        },
        {
          "tag": "v4.17.6",
          "kind": "patch",
          "published_at": "2019-07-03T21:48:55Z"
        },
        {
          "tag": "v4.17.5",
          "kind": "patch",
          "published_at": "2019-07-03T16:30:12Z"
        },
        {
          "tag": "v4.17.4",
          "kind": "patch",
          "published_at": "2019-07-02T17:16:28Z"
        },
        {
          "tag": "v4.17.3",
          "kind": "patch",
          "published_at": "2019-07-02T16:57:29Z"
        },
        {
          "tag": "v4.17.2",
          "kind": "patch",
          "published_at": "2019-07-01T08:44:47Z"
        },
        {
          "tag": "v4.17.1",
          "kind": "patch",
          "published_at": "2019-06-27T19:37:09Z"
        },
        {
          "tag": "v4.17.0",
          "kind": "minor",
          "published_at": "2019-06-27T18:27:39Z"
        },
        {
          "tag": "v4.16.0",
          "kind": "minor",
          "published_at": "2019-06-25T11:57:22Z"
        },
        {
          "tag": "v4.15.4",
          "kind": "patch",
          "published_at": "2019-05-27T17:58:44Z"
        },
        {
          "tag": "v4.15.3",
          "kind": "patch",
          "published_at": "2019-05-21T23:11:15Z"
        },
        {
          "tag": "v4.15.2",
          "kind": "patch",
          "published_at": "2019-05-21T17:54:59Z"
        },
        {
          "tag": "v4.15.1",
          "kind": "patch",
          "published_at": "2019-05-21T14:40:46Z"
        },
        {
          "tag": "v4.15.0",
          "kind": "minor",
          "published_at": "2019-05-21T12:38:21Z"
        },
        {
          "tag": "v4.14.0",
          "kind": "minor",
          "published_at": "2019-04-17T16:15:39Z"
        },
        {
          "tag": "v4.13.0",
          "kind": "minor",
          "published_at": "2019-04-17T15:43:29Z"
        },
        {
          "tag": "v4.12.1",
          "kind": "patch",
          "published_at": "2019-03-26T18:09:37Z"
        },
        {
          "tag": "v4.12.0",
          "kind": "minor",
          "published_at": "2019-03-21T16:13:51Z"
        },
        {
          "tag": "v4.11.0",
          "kind": "minor",
          "published_at": "2019-02-22T17:11:52Z"
        },
        {
          "tag": "v4.10.0",
          "kind": "minor",
          "published_at": "2019-02-19T11:18:03Z"
        },
        {
          "tag": "v4.9.0",
          "kind": "minor",
          "published_at": "2019-02-14T14:30:33Z"
        },
        {
          "tag": "v4.8.1",
          "kind": "patch",
          "published_at": "2019-02-12T17:45:09Z"
        },
        {
          "tag": "v4.8.0",
          "kind": "minor",
          "published_at": "2019-02-07T10:31:06Z"
        },
        {
          "tag": "v4.7.0",
          "kind": "minor",
          "published_at": "2019-01-30T15:45:43Z"
        },
        {
          "tag": "v4.6.4",
          "kind": "patch",
          "published_at": "2019-01-17T12:09:08Z"
        },
        {
          "tag": "v4.6.3",
          "kind": "patch",
          "published_at": "2019-01-14T14:28:14Z"
        },
        {
          "tag": "v4.6.2",
          "kind": "patch",
          "published_at": "2018-12-21T16:18:36Z"
        },
        {
          "tag": "v4.6.1",
          "kind": "patch",
          "published_at": "2018-12-19T20:40:16Z"
        },
        {
          "tag": "v4.6.0",
          "kind": "minor",
          "published_at": "2018-12-19T17:10:19Z"
        },
        {
          "tag": "v4.4.4",
          "kind": "patch",
          "published_at": "2018-12-17T16:54:09Z"
        },
        {
          "tag": "v4.4.2",
          "kind": "patch",
          "published_at": "2018-12-13T14:36:46Z"
        },
        {
          "tag": "v4.4.1",
          "kind": "patch",
          "published_at": "2018-11-28T13:52:06Z"
        },
        {
          "tag": "v4.4.0",
          "kind": "minor",
          "published_at": "2018-11-28T11:22:39Z"
        },
        {
          "tag": "v4.3.1",
          "kind": "patch",
          "published_at": "2018-11-14T17:51:40Z"
        },
        {
          "tag": "v4.3.0",
          "kind": "minor",
          "published_at": "2018-11-14T10:43:53Z"
        },
        {
          "tag": "v4.2.0",
          "kind": "minor",
          "published_at": "2018-11-13T14:34:43Z"
        },
        {
          "tag": "v4.1.0",
          "kind": "minor",
          "published_at": "2018-11-09T16:04:15Z"
        },
        {
          "tag": "v4.0.2",
          "kind": "patch",
          "published_at": "2018-10-29T20:04:37Z"
        },
        {
          "tag": "4.0.1",
          "kind": "patch",
          "published_at": "2018-10-18T11:22:08Z"
        },
        {
          "tag": "v4.0.0-RC7",
          "kind": "prerelease",
          "published_at": "2018-09-28T09:30:17Z"
        },
        {
          "tag": "v4.0.0-RC6",
          "kind": "prerelease",
          "published_at": "2018-09-07T14:11:17Z"
        },
        {
          "tag": "v4.0.0-RC5",
          "kind": "prerelease",
          "published_at": "2018-09-07T10:15:47Z"
        },
        {
          "tag": "v4.0.0-RC4",
          "kind": "prerelease",
          "published_at": "2018-08-29T20:51:51Z"
        },
        {
          "tag": "v4.0.0-RC3",
          "kind": "prerelease",
          "published_at": "2018-08-29T10:49:32Z"
        },
        {
          "tag": "v4.0.0-RC2",
          "kind": "prerelease",
          "published_at": "2018-08-28T17:16:53Z"
        },
        {
          "tag": "v4.0.0-RC1",
          "kind": "prerelease",
          "published_at": "2018-08-28T15:07:29Z"
        },
        {
          "tag": "v3.2.2",
          "kind": "patch",
          "published_at": "2018-08-24T10:02:41Z"
        },
        {
          "tag": "v3.2.1",
          "kind": "patch",
          "published_at": "2018-07-06T08:41:21Z"
        },
        {
          "tag": "v3.2.0",
          "kind": "minor",
          "published_at": "2018-06-12T17:23:10Z"
        },
        {
          "tag": "v3.1.9",
          "kind": "patch",
          "published_at": "2018-06-12T17:09:28Z"
        },
        {
          "tag": "v3.1.8",
          "kind": "patch",
          "published_at": "2018-06-11T16:30:13Z"
        },
        {
          "tag": "v3.1.6",
          "kind": "patch",
          "published_at": "2018-03-06T10:59:13Z"
        },
        {
          "tag": "v3.1.5",
          "kind": "patch",
          "published_at": "2018-03-02T11:34:55Z"
        },
        {
          "tag": "v3.1.4",
          "kind": "patch",
          "published_at": "2018-03-01T17:48:39Z"
        },
        {
          "tag": "v3.1.3",
          "kind": "patch",
          "published_at": "2017-11-13T12:01:21Z"
        },
        {
          "tag": "v3.1.2",
          "kind": "patch",
          "published_at": "2017-11-10T08:47:17Z"
        },
        {
          "tag": "v3.1.1",
          "kind": "patch",
          "published_at": "2017-11-02T12:07:45Z"
        },
        {
          "tag": "v3.1.0",
          "kind": "minor",
          "published_at": "2017-10-26T10:09:24Z"
        },
        {
          "tag": "v3.0.7",
          "kind": "patch",
          "published_at": "2017-10-18T19:21:41Z"
        },
        {
          "tag": "v3.0.5",
          "kind": "patch",
          "published_at": "2017-10-18T15:44:03Z"
        },
        {
          "tag": "v3.0.3",
          "kind": "patch",
          "published_at": "2017-10-17T18:45:59Z"
        },
        {
          "tag": "v3.0.2",
          "kind": "patch",
          "published_at": "2017-10-17T07:39:44Z"
        },
        {
          "tag": "v3-pre3-rc4",
          "kind": "other",
          "published_at": "2017-10-11T06:18:02Z"
        },
        {
          "tag": "v3-pre3-rc1",
          "kind": "other",
          "published_at": "2017-09-07T16:23:31Z"
        },
        {
          "tag": "v3-pre2",
          "kind": "other",
          "published_at": "2017-09-01T10:52:40Z"
        },
        {
          "tag": "v3-pre1",
          "kind": "other",
          "published_at": "2017-08-31T13:21:55Z"
        }
      ],
      "recent_commits": [
        {
          "oid": "e1e1f51fec8ee72f159a7aeeb4320d2e6a2092a7",
          "body": "Updating announcement to show the new ebook",
          "is_bot": false,
          "headline": "Merge pull request #470 from znegrin/announcement-update-468",
          "author_name": "Zuri Negrín",
          "author_login": "znegrin",
          "committed_at": "2019-10-08T10:14:57Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "3985ad4783e39d7dd0ea317abbda07ebb19055c6",
          "body": "Adding the AddThis script to all landing pages",
          "is_bot": false,
          "headline": "Merge pull request #469 from znegrin/add-this-125",
          "author_name": "Zuri Negrín",
          "author_login": "znegrin",
          "committed_at": "2019-10-08T10:14:41Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "cdfd1e6554287c40cded9be782da7925172b6d3e",
          "body": "Signed-off-by: Zuri Negrín <zurinegrin@gmail.com>",
          "is_bot": false,
          "headline": "Updating announcement to show the new ebook",
          "author_name": "Zuri Negrín",
          "author_login": "znegrin",
          "committed_at": "2019-10-07T09:42:13Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "6522c693287f1e9c6a57eafdd2e681f17c567683",
          "body": "Signed-off-by: Zuri Negrín <zurinegrin@gmail.com>",
          "is_bot": false,
          "headline": "Adding the AddThis script to all landing pages",
          "author_name": "Zuri Negrín",
          "author_login": "znegrin",
          "committed_at": "2019-10-07T09:27:28Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "1a80132536bc431c2d91f22448a9dfb98acd401d",
          "body": "Set up deployment using Travis CI",
          "is_bot": false,
          "headline": "Merge pull request #464 from src-d/travis",
          "author_name": "Rafael Porres Molina",
          "author_login": null,
          "committed_at": "2019-10-03T09:51:34Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "c21f322e8092b93cb030057ab7bde54c6ed74964",
          "body": "This removes Drone for building Docker images and deploying them.\nThis is now being done by Travis CI.\nIt also pushes the images to Docker Hub instead of Quay\nand replaces the deprecated version of src-d/ci with v1.\n\nSigned-off-by: Maartje Eyskens <maartje@eyskens.me>",
          "is_bot": false,
          "headline": "Deploy Landing using Travis CI",
          "author_name": "Maartje Eyskens",
          "author_login": "meyskens",
          "committed_at": "2019-10-03T09:45:57Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "6d54bf057289babbf50746e0f0c9f117918a9927",
          "body": "Adding TechCrunch Coverage and rearrange of sections",
          "is_bot": false,
          "headline": "Merge pull request #461 from znegrin/460-press-update",
          "author_name": "Victor Coisne",
          "author_login": null,
          "committed_at": "2019-09-05T21:45:34Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "3b433bea4a7e46763dd5e46992cbf31cfa9cbece",
          "body": "Signed-off-by: Zuri Negrín <zurinegrin@gmail.com>",
          "is_bot": false,
          "headline": "Adding TechCrunch Coverage and rearrange of sections",
          "author_name": "Zuri Negrín",
          "author_login": "znegrin",
          "committed_at": "2019-09-03T14:27:32Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "ccaaf1f7a43d1f93e1f8d557d83cdc34a2335db3",
          "body": "Adding Slack icon to the Community page",
          "is_bot": false,
          "headline": "Merge pull request #456 from znegrin/slack-icon-454",
          "author_name": "Zuri Negrín",
          "author_login": "znegrin",
          "committed_at": "2019-08-13T07:53:23Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "351bb0ab1c4adbab0160a8da5511ec18185700b7",
          "body": "Fixing alignment on Company page position cards",
          "is_bot": false,
          "headline": "Merge pull request #455 from znegrin/fix-career-buttons-337",
          "author_name": "Zuri Negrín",
          "author_login": "znegrin",
          "committed_at": "2019-08-13T07:53:07Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "8ac07aeffd238469987b92f2889d24e8cc2e4495",
          "body": "Fixing behaviour on address link on Company page",
          "is_bot": false,
          "headline": "Merge pull request #457 from znegrin/map-link-icon-370",
          "author_name": "Victor Coisne",
          "author_login": null,
          "committed_at": "2019-08-12T15:24:33Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "e78366799ace88c48c3f936a26c9e44bfae2a9f9",
          "body": "Signed-off-by: Zuri Negrín <zurinegrin@gmail.com>",
          "is_bot": false,
          "headline": "Fixing behaviour on address link on Company page",
          "author_name": "Zuri Negrín",
          "author_login": "znegrin",
          "committed_at": "2019-07-30T07:12:42Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "94bb54f69400b4d0ddced9c0285984a6799fa487",
          "body": "Signed-off-by: Zuri Negrín <zurinegrin@gmail.com>",
          "is_bot": false,
          "headline": "Adding Slack icon to the Community page",
          "author_name": "Zuri Negrín",
          "author_login": "znegrin",
          "committed_at": "2019-07-30T07:01:20Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "c193850c80a509f0d7180d5f23e8fd0de64c8537",
          "body": "Signed-off-by: Zuri Negrín <zurinegrin@gmail.com>",
          "is_bot": false,
          "headline": "Fixing alignment con Company page position cards",
          "author_name": "Zuri Negrín",
          "author_login": "znegrin",
          "committed_at": "2019-07-30T06:53:27Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "ff9a749c94b10d897a6e9be146d82949016a2f60",
          "body": "Update deployment to work on Helm 2.14.1",
          "is_bot": false,
          "headline": "Merge pull request #453 from src-d/helm-214",
          "author_name": "David Riosalido",
          "author_login": null,
          "committed_at": "2019-07-19T06:52:29Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "e3bc97980e166f5a9377f99dbeeece4709ea3190",
          "body": "Updated contributing.md",
          "is_bot": false,
          "headline": "Merge pull request #449 from vcoisne/master",
          "author_name": "David Pordomingo",
          "author_login": "dpordomingo",
          "committed_at": "2019-07-18T17:21:27Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "ad2636f7459802117c11dc93f66434a0492cbb87",
          "body": "Signed-off-by: Victor Coisne <victor@sourced.tech>",
          "is_bot": false,
          "headline": "Updated contributing.md",
          "author_name": "Victor Coisne",
          "author_login": null,
          "committed_at": "2019-07-18T08:11:41Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "58a2717025bf4a49bbf55b4f1e816fcbb952bef0",
          "body": "Signed-off-by: David Pordomingo <david.pordomingo.f@gmail.com>",
          "is_bot": false,
          "headline": "Merge pull request #452 from znegrin/cookie-consent-1405",
          "author_name": "David Pordomingo",
          "author_login": "dpordomingo",
          "committed_at": "2019-07-16T10:54:24Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "592c6c1423225c5c085d2e6a607d56c51afe21f3",
          "body": "Signed-off-by: Maartje Eyskens <maartje@eyskens.me>",
          "is_bot": false,
          "headline": "Update deployment to work on Helm 2.14.1",
          "author_name": "Maartje Eyskens",
          "author_login": "meyskens",
          "committed_at": "2019-07-12T15:58:27Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "d33928b6085e8af30993e4950bfa950e2b347b54",
          "body": "Signed-off-by: David Pordomingo <david.pordomingo.f@gmail.com>",
          "is_bot": false,
          "headline": "Merge pull request #451 from znegrin/blog-update-1403",
          "author_name": "David Pordomingo",
          "author_login": "dpordomingo",
          "committed_at": "2019-07-10T05:23:50Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "7620aa8c9cea0188c705cd90781d350234526fef",
          "body": "Signed-off-by: Zuri Negrín <zurinegrin@gmail.com>",
          "is_bot": false,
          "headline": "Adding Cookiebot consent banner",
          "author_name": "Zuri Negrín",
          "author_login": "znegrin",
          "committed_at": "2019-07-09T16:22:23Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "30f80a84d62553ecd72515d085ec01e028a353bb",
          "body": "Signed-off-by: Zuri Negrín <zurinegrin@gmail.com>",
          "is_bot": false,
          "headline": "Replacing Blog announcement on the homepage",
          "author_name": "Zuri Negrín",
          "author_login": "znegrin",
          "committed_at": "2019-07-09T16:10:13Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "9ce158bb79ce15cd63bd659ba76fd4dd6a3dfc80",
          "body": "Signed-off-by: Victor Coisne <victor@sourced.tech>",
          "is_bot": false,
          "headline": "Updated contributing.md",
          "author_name": "Victor Coisne",
          "author_login": null,
          "committed_at": "2019-07-05T15:42:53Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "3d55f5399896ab74d0c1db6bb86b18182fc0226a",
          "body": "Use a compatible version of drone helm plugin",
          "is_bot": false,
          "headline": "Merge pull request #446 from rporres/fix-drone-plugin-version",
          "author_name": "David Pordomingo",
          "author_login": "dpordomingo",
          "committed_at": "2019-07-03T21:47:00Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "43acb3e6d0a05e8f0624afde5b049ab40967063c",
          "body": "latest is not compatible with our helm tiller as it uses a client too\nnew\n\nSigned-off-by: Rafael Porres Molina <rafa@sourced.tech>",
          "is_bot": false,
          "headline": "Use a compatible version of drone helm plugin",
          "author_name": "Rafael Porres Molina",
          "author_login": null,
          "committed_at": "2019-07-03T21:08:59Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "3fdfc0a36e492b4aef071425e5bf4ed402e23dce",
          "body": "Minor website updates",
          "is_bot": false,
          "headline": "Merge pull request #445 from znegrin/minor-webiste-updates-444",
          "author_name": "David Pordomingo",
          "author_login": "dpordomingo",
          "committed_at": "2019-07-03T16:25:28Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "34732e89536a9bb4b5c93bbdf12298e08ae1eacf",
          "body": "Signed-off-by: Zuri Negrín <zurinegrin@gmail.com>",
          "is_bot": false,
          "headline": "Minor website updates",
          "author_name": "Zuri Negrín",
          "author_login": "znegrin",
          "committed_at": "2019-07-03T08:46:38Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "6023a4a7c676e98cb4d6c8c3e8e3fa10a1b04779",
          "body": "Add redir with tailing slash",
          "is_bot": false,
          "headline": "Merge pull request #443 from src-d/caddy-redir-fix",
          "author_name": "Maartje Eyskens",
          "author_login": "meyskens",
          "committed_at": "2019-07-02T17:14:25Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "bcaa0af7ba4319ce3d6c7ec273d1e1c50f4e2ab5",
          "body": "Signed-off-by: Maartje Eyskens <maartje@eyskens.me>",
          "is_bot": false,
          "headline": "Add redir with tailing slash",
          "author_name": "Maartje Eyskens",
          "author_login": "meyskens",
          "committed_at": "2019-07-02T17:04:00Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "e7879ea7ef5cfed9a07ddb79e29d5439b48bba9e",
          "body": "Add redirect rule for /enterprise-edition",
          "is_bot": false,
          "headline": "Merge pull request #442 from src-d/meyskens-redirect-ee",
          "author_name": "Victor Coisne",
          "author_login": null,
          "committed_at": "2019-07-02T16:42:05Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "aadbf3864b6b11594670efb0e38fc0b4f3d664cb",
          "body": "Signed-off-by: Maartje Eyskens <maartje@eyskens.me>",
          "is_bot": false,
          "headline": "Add redirect rule for /enterprise-edition",
          "author_name": "Maartje Eyskens",
          "author_login": "meyskens",
          "committed_at": "2019-07-02T16:39:47Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "602d61eb0fc4a3a85ef85a243c208ca43fa26472",
          "body": "Signed-off-by: David Pordomingo <david.pordomingo.f@gmail.com>",
          "is_bot": false,
          "headline": "Merge pull request #441 from znegrin/landing-fixes-435",
          "author_name": "David Pordomingo",
          "author_login": "dpordomingo",
          "committed_at": "2019-07-01T08:38:12Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "f17a2dd708efcdc66525670994a8c4d077c9cf9a",
          "body": "Signed-off-by: Zuri Negrín <zurinegrin@gmail.com>",
          "is_bot": false,
          "headline": "Replacing engine link",
          "author_name": "Zuri Negrín",
          "author_login": "znegrin",
          "committed_at": "2019-07-01T08:32:32Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "0390418f677f1b88eb379c244e6c26995ed72bda",
          "body": "Fix typo in index",
          "is_bot": false,
          "headline": "Merge pull request #437 from src-d/carlosms-patch-1",
          "author_name": "David Pordomingo",
          "author_login": "dpordomingo",
          "committed_at": "2019-07-01T08:25:35Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "c9ff8de5694a3f7f0db9583e68ce49f82ccc5d8d",
          "body": "Signed-off-by: Carlos Martín <carlos.martin.sanchez@gmail.com>\nSigned-off-by: Carlos Martín <carlosms@users.noreply.github.com>\nSigned-off-by: David Pordomingo <David.Pordomingo.F@gmail.com>",
          "is_bot": false,
          "headline": "Fix typo in index",
          "author_name": "Carlos Martín",
          "author_login": "carlosms",
          "committed_at": "2019-07-01T08:24:25Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "e2d663540e9ba95566ced12c201ce1bd385c6697",
          "body": "Different fixes for the Landing",
          "is_bot": false,
          "headline": "Merge pull request #439 from dpordomingo/some-fixes",
          "author_name": "David Pordomingo",
          "author_login": "dpordomingo",
          "committed_at": "2019-07-01T08:21:37Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "b9bf013592323c06d3c675e03a7c43c3670d8426",
          "body": "Remove old pages",
          "is_bot": false,
          "headline": "Merge pull request #440 from dpordomingo/remove-old-pages",
          "author_name": "David Pordomingo",
          "author_login": "dpordomingo",
          "committed_at": "2019-07-01T08:21:16Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "598926e1daa05fc7da659a1daba7021e5c17cdbf",
          "body": "Signed-off-by: Zuri Negrín <zurinegrin@gmail.com>",
          "is_bot": false,
          "headline": "Header and footer update",
          "author_name": "Zuri Negrín",
          "author_login": "znegrin",
          "committed_at": "2019-07-01T07:02:42Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "595342e8cee033210d8f02b29013930540679d61",
          "body": "Signed-off-by: Zuri Negrín <zurinegrin@gmail.com>",
          "is_bot": false,
          "headline": "Updating solutions pages button links",
          "author_name": "Zuri Negrín",
          "author_login": "znegrin",
          "committed_at": "2019-07-01T06:53:33Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "2282b446769d5188ee39244dd44c0a692aeb9000",
          "body": "Signed-off-by: Zuri Negrín <zurinegrin@gmail.com>",
          "is_bot": false,
          "headline": "Updating buttons and video popup on Get Started page",
          "author_name": "Zuri Negrín",
          "author_login": "znegrin",
          "committed_at": "2019-07-01T06:49:12Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "5d680eb3ce5bc515d24947f3e6869a2b5513571f",
          "body": "Signed-off-by: Zuri Negrín <zurinegrin@gmail.com>",
          "is_bot": false,
          "headline": "Update download button url on community edition page",
          "author_name": "Zuri Negrín",
          "author_login": "znegrin",
          "committed_at": "2019-07-01T06:47:55Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "321e782a295b3154290625acc32f668e5c9afc75",
          "body": "Signed-off-by: Zuri Negrín <zurinegrin@gmail.com>",
          "is_bot": false,
          "headline": "Fixing assessment typos",
          "author_name": "Zuri Negrín",
          "author_login": "znegrin",
          "committed_at": "2019-07-01T06:46:44Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "9ac74fd4a08d04d50c1da68b85d4b7c235a55f31",
          "body": "Signed-off-by: David Pordomingo <David.Pordomingo.F@gmail.com>",
          "is_bot": false,
          "headline": "fix #371 Fix blog post loading when they have no custom_excerpt",
          "author_name": "David Pordomingo",
          "author_login": "dpordomingo",
          "committed_at": "2019-07-01T05:35:29Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "6e7210e119f7329370dfc792daf5e4179b884513",
          "body": "Signed-off-by: David Pordomingo <David.Pordomingo.F@gmail.com>",
          "is_bot": false,
          "headline": "Remove old pages",
          "author_name": "David Pordomingo",
          "author_login": "dpordomingo",
          "committed_at": "2019-07-01T05:09:45Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "5dd56c85d47d3d622d9eb39d6e6a1fcff450f2eb",
          "body": "Signed-off-by: David Pordomingo <David.Pordomingo.F@gmail.com>",
          "is_bot": false,
          "headline": "fix #329 http to https links",
          "author_name": "David Pordomingo",
          "author_login": "dpordomingo",
          "committed_at": "2019-07-01T05:09:08Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "91e35767691541487d2c3b171b37f4e48ff85046",
          "body": "Enhance Developer Experience",
          "is_bot": false,
          "headline": "Merge pull request #436 from dpordomingo/enhance-development",
          "author_name": "David Pordomingo",
          "author_login": "dpordomingo",
          "committed_at": "2019-06-28T18:31:49Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "9657f1177d36406cd3de65ec7e3ffdcf4694d0c5",
          "body": "- Let the developer run Landing outside of /projects\n- Documment how to run Landing without Go\n\nSigned-off-by: David Pordomingo <David.Pordomingo.F@gmail.com>",
          "is_bot": false,
          "headline": "Enhance Developer Experience",
          "author_name": "David Pordomingo",
          "author_login": "dpordomingo",
          "committed_at": "2019-06-28T11:35:19Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "b4ef100b25dea4aa2d89187b1eb6c4558667c7cd",
          "body": "Signed-off-by: David Pordomingo <david.pordomingo.f@gmail.com>",
          "is_bot": false,
          "headline": "Merge pull request #434 from znegrin/minor-fixing-433",
          "author_name": "David Pordomingo",
          "author_login": "dpordomingo",
          "committed_at": "2019-06-27T19:36:35Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "490c0ba3154a0ba6bfcf54bc07085de9a04a584d",
          "body": "Signed-off-by: Zuri Negrín <zurinegrin@gmail.com>",
          "is_bot": false,
          "headline": "Minor fixing",
          "author_name": "Zuri Negrín",
          "author_login": "znegrin",
          "committed_at": "2019-06-27T19:28:22Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "f89a2c555e45d4f9278eac17079bb75d67028c64",
          "body": "Signed-off-by: Zuri Negrín <zurinegrin@gmail.com>",
          "is_bot": false,
          "headline": "Minor fixing on the solutions and company pages",
          "author_name": "Zuri Negrín",
          "author_login": "znegrin",
          "committed_at": "2019-06-27T19:24:48Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "7927d066313102ee9f2c7b36b7a30fb14dd77800",
          "body": "Signed-off-by: David Pordomingo <david.pordomingo.f@gmail.com>",
          "is_bot": false,
          "headline": "Merge pull request #429 from dpordomingo/fix-vulnerabilities",
          "author_name": "David Pordomingo",
          "author_login": "dpordomingo",
          "committed_at": "2019-06-27T19:15:29Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "f50522001c7e6b43168df044cc69d4978b89089a",
          "body": "Signed-off-by: David Pordomingo <david.pordomingo.f@gmail.com>",
          "is_bot": false,
          "headline": "Merge pull request #432 from znegrin/master",
          "author_name": "David Pordomingo",
          "author_login": "dpordomingo",
          "committed_at": "2019-06-27T18:27:11Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "2b7707f36abe3920586cc8daffc1deb9ac703aa1",
          "body": "Signed-off-by: Zuri Negrín <zurinegrin@gmail.com>",
          "is_bot": false,
          "headline": "Adding missing images on solution and minor fixing",
          "author_name": "Zuri Negrín",
          "author_login": "znegrin",
          "committed_at": "2019-06-27T17:34:55Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "06c533dcc4d3a29aec150962264fe6fabae32106",
          "body": "Signed-off-by: David Pordomingo <David.Pordomingo.F@gmail.com>",
          "is_bot": false,
          "headline": "Update project cover and contrib",
          "author_name": "David Pordomingo",
          "author_login": "dpordomingo",
          "committed_at": "2019-06-27T15:04:21Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "025d46565f48b06dee6c8e0bdebb4231c3b26d7f",
          "body": "Signed-off-by: David Pordomingo <david.pordomingo.f@gmail.com>",
          "is_bot": false,
          "headline": "Merge pull request #417 from src-d/revamp-candidate",
          "author_name": "David Pordomingo",
          "author_login": "dpordomingo",
          "committed_at": "2019-06-27T14:58:48Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "615c001fd352caf5160fd0c1f910a6d440d73b5b",
          "body": "Signed-off-by: David Pordomingo <David.Pordomingo.F@gmail.com>",
          "is_bot": false,
          "headline": "Hide sections without images",
          "author_name": "David Pordomingo",
          "author_login": "dpordomingo",
          "committed_at": "2019-06-27T14:49:05Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "2fb96bc103536c2f5c3960a623f2d1cf3af0abc5",
          "body": "Signed-off-by: David Pordomingo <david.pordomingo.f@gmail.com>",
          "is_bot": false,
          "headline": "Merge pull request #420 from znegrin/it-modernization-1404",
          "author_name": "David Pordomingo",
          "author_login": "dpordomingo",
          "committed_at": "2019-06-27T14:42:06Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "0e20b7ac8f0fd979a202d669f466e27bb02ae3c7",
          "body": "Signed-off-by: David Pordomingo <david.pordomingo.f@gmail.com>",
          "is_bot": false,
          "headline": "Merge pull request #423 from znegrin/talent-assessment-1404",
          "author_name": "David Pordomingo",
          "author_login": "dpordomingo",
          "committed_at": "2019-06-27T14:41:46Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "0b23af139bdece09d05bc943966d35209c362937",
          "body": "Signed-off-by: David Pordomingo <david.pordomingo.f@gmail.com>",
          "is_bot": false,
          "headline": "Merge pull request #428 from znegrin/company-page-update-414",
          "author_name": "David Pordomingo",
          "author_login": "dpordomingo",
          "committed_at": "2019-06-27T14:04:26Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "91cb6e6be75b21db94e2d66f0e66cbfbfb3708ab",
          "body": "Signed-off-by: David Pordomingo <david.pordomingo.f@gmail.com>",
          "is_bot": false,
          "headline": "Merge pull request #425 from znegrin/home-content-update-1404",
          "author_name": "David Pordomingo",
          "author_login": "dpordomingo",
          "committed_at": "2019-06-27T13:35:02Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "409ee45e4d08539f01110d731fb154508ed64334",
          "body": "Signed-off-by: Zuri Negrín <zurinegrin@gmail.com>",
          "is_bot": false,
          "headline": "Fixing typo on assessment",
          "author_name": "Zuri Negrín",
          "author_login": "znegrin",
          "committed_at": "2019-06-27T13:11:15Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "c73f1e2ccba83eee34df0c3a305a8da17554621a",
          "body": "Signed-off-by: David Pordomingo <david.pordomingo.f@gmail.com>",
          "is_bot": false,
          "headline": "Merge pull request #427 from znegrin/open-source-update-424",
          "author_name": "David Pordomingo",
          "author_login": "dpordomingo",
          "committed_at": "2019-06-27T13:03:06Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "8018d74ba3540c0ec55bd12c7f678cd318be7ee2",
          "body": "Signed-off-by: David Pordomingo <david.pordomingo.f@gmail.com>",
          "is_bot": false,
          "headline": "Merge pull request #422 from znegrin/engineering-1404",
          "author_name": "David Pordomingo",
          "author_login": "dpordomingo",
          "committed_at": "2019-06-27T12:56:50Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "e1cc2896b64f0c8a91a18f563ac267a9157e92cb",
          "body": "Adding Why source{d} page to the landing",
          "is_bot": false,
          "headline": "Merge pull request #400 from znegrin/why-sourced-1404",
          "author_name": "David Pordomingo",
          "author_login": "dpordomingo",
          "committed_at": "2019-06-27T12:34:27Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "8ee05a8f7846c8446c7e26e59c97c8b9c493df4f",
          "body": null,
          "is_bot": false,
          "headline": "Merge branch 'revamp-candidate' into talent-assessment-1404",
          "author_name": "Zuri Negrín",
          "author_login": "znegrin",
          "committed_at": "2019-06-27T12:25:13Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "dd43707d588fc1525cc612dff1f11b53c4d1397e",
          "body": null,
          "is_bot": false,
          "headline": "Merge branch 'revamp-candidate' into it-modernization-1404",
          "author_name": "Zuri Negrín",
          "author_login": "znegrin",
          "committed_at": "2019-06-27T12:24:27Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "96bd862c0d828bbec3604d80fc117bf70a9631f5",
          "body": null,
          "is_bot": false,
          "headline": "Merge branch 'revamp-candidate' into engineering-1404",
          "author_name": "Zuri Negrín",
          "author_login": "znegrin",
          "committed_at": "2019-06-27T12:23:34Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "909661ff2717c0128b6ee54955c786020c04ab6b",
          "body": null,
          "is_bot": false,
          "headline": "Merge branch 'revamp-candidate' into why-sourced-1404",
          "author_name": "Zuri Negrín",
          "author_login": "znegrin",
          "committed_at": "2019-06-27T12:21:06Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "883a9b2b18677978b21afe6824da6d06b98abcf1",
          "body": "Signed-off-by: Zuri Negrín <zurinegrin@gmail.com>",
          "is_bot": false,
          "headline": "Fixing conflicts",
          "author_name": "Zuri Negrín",
          "author_login": "znegrin",
          "committed_at": "2019-06-27T12:15:55Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "217cb6759912f4bd35fa5a0ef7fbe16b021783cd",
          "body": "Signed-off-by: David Pordomingo <david.pordomingo.f@gmail.com>",
          "is_bot": false,
          "headline": "Merge pull request #421 from znegrin/devops-1404",
          "author_name": "David Pordomingo",
          "author_login": "dpordomingo",
          "committed_at": "2019-06-27T12:15:03Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "fce5d2f68a25a1c2e239a215d357022d93924c6a",
          "body": null,
          "is_bot": false,
          "headline": "Merge branch 'revamp-candidate' into devops-1404",
          "author_name": "Zuri Negrín",
          "author_login": "znegrin",
          "committed_at": "2019-06-27T12:14:01Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "9f75babc7073b7a7c01fcb96b940379da48dad39",
          "body": null,
          "is_bot": false,
          "headline": "Merge branch 'revamp-candidate' into why-sourced-1404",
          "author_name": "Zuri Negrín",
          "author_login": "znegrin",
          "committed_at": "2019-06-27T12:11:54Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "9fb811e3e6f2578d353626e952f4ecf7deb41e6a",
          "body": "Signed-off-by: David Pordomingo <david.pordomingo.f@gmail.com>",
          "is_bot": false,
          "headline": "Merge pull request #410 from znegrin/enterprise-content-update-1404",
          "author_name": "David Pordomingo",
          "author_login": "dpordomingo",
          "committed_at": "2019-06-27T11:47:27Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "a53be6c2b641ccda78cfbe0b07a642a84d2050e8",
          "body": "Updating Get Started Links",
          "is_bot": false,
          "headline": "Merge pull request #426 from znegrin/get-started-1404",
          "author_name": "David Pordomingo",
          "author_login": "dpordomingo",
          "committed_at": "2019-06-27T11:43:46Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "14d076966dc4617a7869b0bfcbf31fb27a2482ec",
          "body": "Signed-off-by: David Pordomingo <david.pordomingo.f@gmail.com>",
          "is_bot": false,
          "headline": "Merge pull request #430 from znegrin/updated-nav-1404",
          "author_name": "David Pordomingo",
          "author_login": "dpordomingo",
          "committed_at": "2019-06-27T10:45:00Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "860e4ed8a9ec0ca181723d6440464d24ab4c254e",
          "body": "Signed-off-by: Zuri Negrín <zurinegrin@gmail.com>",
          "is_bot": false,
          "headline": "Removing header buttons",
          "author_name": "Zuri Negrín",
          "author_login": "znegrin",
          "committed_at": "2019-06-27T09:57:10Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "efdf7183814899536156ca380c82e218aa3272b6",
          "body": "Signed-off-by: Zuri Negrín <zurinegrin@gmail.com>",
          "is_bot": false,
          "headline": "Fixing links on the get started page",
          "author_name": "Zuri Negrín",
          "author_login": "znegrin",
          "committed_at": "2019-06-27T09:42:46Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "4ca9603d1a1912db523fac4630672353e07d74d0",
          "body": "…rted-1404",
          "is_bot": false,
          "headline": "Merge remote-tracking branch 'upstream/revamp-candidate' into get-sta…",
          "author_name": "Zuri Negrín",
          "author_login": "znegrin",
          "committed_at": "2019-06-27T09:39:22Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "735b8b5e7507340cbe858bc094dad2c2a7558256",
          "body": "Signed-off-by: Zuri Negrín <zurinegrin@gmail.com>",
          "is_bot": false,
          "headline": "Minor improvements to company page",
          "author_name": "Zuri Negrín",
          "author_login": "znegrin",
          "committed_at": "2019-06-27T09:36:16Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "fdebed0cc66df4469525f570e5c733193ae2459f",
          "body": "…-page-update-414",
          "is_bot": false,
          "headline": "Merge remote-tracking branch 'upstream/revamp-candidate' into company…",
          "author_name": "Zuri Negrín",
          "author_login": "znegrin",
          "committed_at": "2019-06-27T09:32:01Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "7f0f9e93dcc4f79f69dd2ef22b9d37d3f53fb7dd",
          "body": "Signed-off-by: Zuri Negrín <zurinegrin@gmail.com>",
          "is_bot": false,
          "headline": "Content update",
          "author_name": "Zuri Negrín",
          "author_login": "znegrin",
          "committed_at": "2019-06-27T09:28:38Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "90899606ff1412fd6886399eeed1e7c9d416301e",
          "body": "Signed-off-by: Zuri Negrín <zurinegrin@gmail.com>",
          "is_bot": false,
          "headline": "Replacing images",
          "author_name": "Zuri Negrín",
          "author_login": "znegrin",
          "committed_at": "2019-06-27T09:25:56Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "a6489987a10724b6f49428dd51229667219738a5",
          "body": "Signed-off-by: Zuri Negrín <zurinegrin@gmail.com>",
          "is_bot": false,
          "headline": "Fixing merge, fixing links, fixing top curve",
          "author_name": "Zuri Negrín",
          "author_login": "znegrin",
          "committed_at": "2019-06-27T09:22:54Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "a4e955df73f422f94ec5839cb3f8aa524a4dd4a2",
          "body": "…ise-content-update-1404\n\n# Conflicts:\n#\thugo/layouts/products/enterprise-edition/single.html\n#\tsrc/sass/partials/_layout.scss",
          "is_bot": false,
          "headline": "Merge remote-tracking branch 'upstream/revamp-candidate' into enterpr…",
          "author_name": "Zuri Negrín",
          "author_login": "znegrin",
          "committed_at": "2019-06-27T09:19:12Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "ad1981b448e9c4d39dcef4fae395c42cca422775",
          "body": "…rced-1404\n\n# Conflicts:\n#\thugo/layouts/partials/how-works.html\n#\tsrc/sass/partials/_colors.scss\n#\tsrc/sass/partials/_layout.scss",
          "is_bot": false,
          "headline": "Merge remote-tracking branch 'upstream/revamp-candidate' into why-sou…",
          "author_name": "Zuri Negrín",
          "author_login": "znegrin",
          "committed_at": "2019-06-27T09:14:40Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "75dd91956fcd0fb3f90e3e357157dac5a7ddcac5",
          "body": "Signed-off-by: Zuri Negrín <zurinegrin@gmail.com>",
          "is_bot": false,
          "headline": "Minor fixing",
          "author_name": "Zuri Negrín",
          "author_login": "znegrin",
          "committed_at": "2019-06-27T09:04:13Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "09251437738c7d31722aaa4975e36d09fbb73273",
          "body": "Signed-off-by: Zuri Negrín <zurinegrin@gmail.com>",
          "is_bot": false,
          "headline": "Capitalize \"Edition\" on the header and footer navigation",
          "author_name": "Zuri Negrín",
          "author_login": "znegrin",
          "committed_at": "2019-06-27T09:02:09Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "c72c180f9f0f2e47cc50a98c1e8c4207808616ed",
          "body": "Signed-off-by: Zuri Negrín <zurinegrin@gmail.com>",
          "is_bot": false,
          "headline": "Fixing layout, adding images and merging issues",
          "author_name": "Zuri Negrín",
          "author_login": "znegrin",
          "committed_at": "2019-06-27T08:54:47Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "abe047e56a3089ed954056779bfb0567203ffb5a",
          "body": "…assessment-1404\n\n# Conflicts:\n#\thugo/layouts/partials/how-works.html\n#\tsrc/sass/partials/_colors.scss\n#\tsrc/sass/partials/_layout.scss",
          "is_bot": false,
          "headline": "Merge remote-tracking branch 'upstream/revamp-candidate' into talent-…",
          "author_name": "Zuri Negrín",
          "author_login": "znegrin",
          "committed_at": "2019-06-27T08:31:38Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "7cf5f877bccb988688e8183962abafb194a59a20",
          "body": "Signed-off-by: Zuri Negrín <zurinegrin@gmail.com>",
          "is_bot": false,
          "headline": "Fixing layout and merging issues",
          "author_name": "Zuri Negrín",
          "author_login": "znegrin",
          "committed_at": "2019-06-27T08:27:59Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "5f395eb64a476f6b01d398ceb97108f093dca273",
          "body": "…ring-1404\n\n# Conflicts:\n#\thugo/layouts/partials/how-works.html\n#\tsrc/sass/partials/_colors.scss\n#\tsrc/sass/partials/_layout.scss",
          "is_bot": false,
          "headline": "Merge remote-tracking branch 'upstream/revamp-candidate' into enginee…",
          "author_name": "Zuri Negrín",
          "author_login": "znegrin",
          "committed_at": "2019-06-27T08:21:31Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "501a98a726ef7ff2260957dde17d9c75a964b415",
          "body": "Signed-off-by: Zuri Negrín <zurinegrin@gmail.com>",
          "is_bot": false,
          "headline": "Minor fix",
          "author_name": "Zuri Negrín",
          "author_login": "znegrin",
          "committed_at": "2019-06-27T08:19:32Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "b4d5e26d0a7e8a2f99dbe40c096d7e59c135205f",
          "body": "Signed-off-by: Zuri Negrín <zurinegrin@gmail.com>",
          "is_bot": false,
          "headline": "Fixing layout, merging and adding missing image",
          "author_name": "Zuri Negrín",
          "author_login": "znegrin",
          "committed_at": "2019-06-27T08:17:58Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "d076ecb62b6953ff41a5158f30de10f5e65dee7b",
          "body": "…1404\n\n# Conflicts:\n#\thugo/layouts/partials/how-works.html\n#\tsrc/sass/partials/_colors.scss\n#\tsrc/sass/partials/_layout.scss",
          "is_bot": false,
          "headline": "Merge remote-tracking branch 'upstream/revamp-candidate' into devops-…",
          "author_name": "Zuri Negrín",
          "author_login": "znegrin",
          "committed_at": "2019-06-27T07:49:41Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "7393326008c8b23d268c5d64bbe206c09c8fa7ea",
          "body": "Signed-off-by: Zuri Negrín <zurinegrin@gmail.com>",
          "is_bot": false,
          "headline": "Minor improvements and fixing",
          "author_name": "Zuri Negrín",
          "author_login": "znegrin",
          "committed_at": "2019-06-27T07:47:22Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "f6e1c76e18185dc63dc61a758e790be6ff514f28",
          "body": "Signed-off-by: Zuri Negrín <zurinegrin@gmail.com>",
          "is_bot": false,
          "headline": "Fixing merge",
          "author_name": "Zuri Negrín",
          "author_login": "znegrin",
          "committed_at": "2019-06-27T07:38:27Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "f569787912f31c7f281972f5e83a8c17b6fcd67d",
          "body": "…rnization-1404\n\n# Conflicts:\n#\thugo/layouts/partials/how-works.html\n#\tsrc/sass/partials/_colors.scss\n#\tsrc/sass/partials/_layout.scss",
          "is_bot": false,
          "headline": "Merge remote-tracking branch 'upstream/revamp-candidate' into it-mode…",
          "author_name": "Zuri Negrín",
          "author_login": "znegrin",
          "committed_at": "2019-06-27T07:37:03Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "3b10391deff6824574a4d6608d8a98d2e1098b5a",
          "body": "Signed-off-by: Zuri Negrín <zurinegrin@gmail.com>",
          "is_bot": false,
          "headline": "Fixing page layout to make it more compact",
          "author_name": "Zuri Negrín",
          "author_login": "znegrin",
          "committed_at": "2019-06-27T07:35:14Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "1df779945b990af975b0d0981d4eacef26515769",
          "body": "Signed-off-by: David Pordomingo <david.pordomingo.f@gmail.com>",
          "is_bot": false,
          "headline": "Merge pull request #398 from znegrin/news-and-press-1404",
          "author_name": "David Pordomingo",
          "author_login": "dpordomingo",
          "committed_at": "2019-06-26T14:33:06Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "44d47eff47754e1362332b0e81a54d746ead1259",
          "body": "Signed-off-by: David Pordomingo <david.pordomingo.f@gmail.com>",
          "is_bot": false,
          "headline": "Merge pull request #399 from znegrin/features-1404",
          "author_name": "David Pordomingo",
          "author_login": "dpordomingo",
          "committed_at": "2019-06-26T14:31:27Z",
          "body_truncated": false,
          "is_coding_agent": false
        }
      ],
      "releases_count": 72,
      "commits_last_year": 0,
      "latest_release_at": "2019-10-08T10:17:18Z",
      "latest_release_tag": "v4.17.13",
      "releases_from_tags": false,
      "days_since_last_push": 2484,
      "active_weeks_last_year": 0,
      "days_since_latest_release": 2484,
      "mean_days_between_releases": 10.9
    },
    "community": {
      "has_readme": true,
      "has_license": true,
      "has_description": true,
      "has_contributing": true,
      "health_percentage": 62,
      "has_issue_template": false,
      "has_code_of_conduct": true,
      "has_pull_request_template": false
    },
    "ecosystem": {
      "packages": [
        {
          "name": "github.com/src-d/landing",
          "exists": true,
          "license": null,
          "keywords": [],
          "ecosystem": "go",
          "matches_repo": true,
          "registry_url": "https://pkg.go.dev/github.com/src-d/landing",
          "is_deprecated": false,
          "latest_version": "v3.2.2+incompatible",
          "repository_url": "https://github.com/src-d/landing",
          "versions_count": 23,
          "total_downloads": null,
          "dependents_count": null,
          "deprecation_note": null,
          "maintainers_count": null,
          "monthly_downloads": null,
          "first_published_at": null,
          "latest_published_at": "2018-08-24T10:00:15Z",
          "latest_version_yanked": null,
          "days_since_latest_publish": 2894
        }
      ]
    },
    "popularity": {
      "forks": 22,
      "stars": 5,
      "watchers": 5,
      "fork_history": {
        "days": [
          {
            "date": "2017-06-07",
            "count": 1
          },
          {
            "date": "2017-06-08",
            "count": 1
          },
          {
            "date": "2017-08-25",
            "count": 1
          },
          {
            "date": "2017-09-04",
            "count": 1
          },
          {
            "date": "2017-10-12",
            "count": 1
          },
          {
            "date": "2017-10-25",
            "count": 1
          },
          {
            "date": "2017-11-22",
            "count": 1
          },
          {
            "date": "2018-08-28",
            "count": 1
          },
          {
            "date": "2018-09-06",
            "count": 1
          },
          {
            "date": "2018-10-05",
            "count": 1
          },
          {
            "date": "2018-10-06",
            "count": 1
          },
          {
            "date": "2018-10-16",
            "count": 1
          },
          {
            "date": "2018-10-27",
            "count": 1
          },
          {
            "date": "2018-11-01",
            "count": 1
          },
          {
            "date": "2018-12-17",
            "count": 1
          },
          {
            "date": "2019-01-18",
            "count": 1
          },
          {
            "date": "2019-02-05",
            "count": 1
          },
          {
            "date": "2019-05-17",
            "count": 1
          },
          {
            "date": "2019-05-24",
            "count": 1
          },
          {
            "date": "2019-07-03",
            "count": 1
          },
          {
            "date": "2020-01-02",
            "count": 1
          },
          {
            "date": "2021-08-09",
            "count": 1
          }
        ],
        "complete": true,
        "collected": 22,
        "total_forks": 22
      },
      "star_history": null,
      "open_issues_and_prs": 8
    },
    "ai_readiness": {
      "has_nix": false,
      "example_dirs": [],
      "has_llms_txt": false,
      "has_dockerfile": true,
      "has_mcp_signal": false,
      "bootstrap_files": [
        "Makefile"
      ],
      "api_schema_files": [],
      "has_devcontainer": false,
      "typecheck_configs": [],
      "toolchain_manifests": [
        "go.mod"
      ],
      "largest_source_bytes": 4396,
      "source_files_sampled": 11,
      "oversized_source_files": 0,
      "agent_instruction_files": [],
      "agent_instruction_max_bytes": null
    },
    "dependencies": {
      "manifests": [
        "go.mod",
        "package.json"
      ],
      "advisories": {
        "error": null,
        "scope": null,
        "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": 0,
        "direct_affected_count": 0
      },
      "ecosystems": [
        "go",
        "npm"
      ],
      "dependencies": [
        {
          "name": "github.com/erizocosmico/gin-cache",
          "manifest": "go.mod",
          "ecosystem": "go",
          "version_constraint": "v0.0.0-20170504090308-3349dd86a3d8"
        },
        {
          "name": "github.com/gin-contrib/cors",
          "manifest": "go.mod",
          "ecosystem": "go",
          "version_constraint": "v1.3.0"
        },
        {
          "name": "github.com/gin-gonic/gin",
          "manifest": "go.mod",
          "ecosystem": "go",
          "version_constraint": "v1.4.0"
        },
        {
          "name": "github.com/src-d/envconfig",
          "manifest": "go.mod",
          "ecosystem": "go",
          "version_constraint": "v1.0.0"
        },
        {
          "name": "gopkg.in/inconshreveable/log15.v2",
          "manifest": "go.mod",
          "ecosystem": "go",
          "version_constraint": "v2.0.0-20180818164646-67afb5ed74ec"
        },
        {
          "name": "gopkg.in/mcuadros/go-defaults.v1",
          "manifest": "go.mod",
          "ecosystem": "go",
          "version_constraint": "v1.1.0"
        },
        {
          "name": "bootstrap",
          "manifest": "package.json",
          "ecosystem": "npm",
          "version_constraint": "4.1.3"
        },
        {
          "name": "es6-promise",
          "manifest": "package.json",
          "ecosystem": "npm",
          "version_constraint": "^4.0.5"
        },
        {
          "name": "isomorphic-fetch",
          "manifest": "package.json",
          "ecosystem": "npm",
          "version_constraint": "^2.2.1"
        },
        {
          "name": "jquery",
          "manifest": "package.json",
          "ecosystem": "npm",
          "version_constraint": "~2.1.x"
        },
        {
          "name": "mustache",
          "manifest": "package.json",
          "ecosystem": "npm",
          "version_constraint": "^3.0.0"
        },
        {
          "name": "popper.js",
          "manifest": "package.json",
          "ecosystem": "npm",
          "version_constraint": "^1.14.4"
        },
        {
          "name": "slick-carousel",
          "manifest": "package.json",
          "ecosystem": "npm",
          "version_constraint": "1.8.x"
        }
      ],
      "all_dependencies": {
        "error": "GitHub dependency-graph SBOM unavailable (404); the dependency graph may be disabled for this repository",
        "source": null,
        "packages": [],
        "collected": false,
        "truncated": false,
        "total_count": null,
        "direct_count": null,
        "indirect_count": null
      }
    },
    "maintainership": {
      "issues": {
        "open_prs": 1,
        "merged_prs": 310,
        "open_issues": 7,
        "closed_ratio": 0.939,
        "closed_issues": 108,
        "closed_unmerged_prs": 46
      },
      "bus_factor": 2,
      "bot_contributors": 0,
      "top_contributors": [
        {
          "type": "User",
          "login": "dpordomingo",
          "commits": 493,
          "avatar_url": "https://avatars.githubusercontent.com/u/2437584?v=4"
        },
        {
          "type": "User",
          "login": "Serabe",
          "commits": 177,
          "avatar_url": "https://avatars.githubusercontent.com/u/36221?v=4"
        },
        {
          "type": "User",
          "login": "znegrin",
          "commits": 161,
          "avatar_url": "https://avatars.githubusercontent.com/u/14981468?v=4"
        },
        {
          "type": "User",
          "login": "pavelkarpov",
          "commits": 91,
          "avatar_url": "https://avatars.githubusercontent.com/u/11157765?v=4"
        },
        {
          "type": "User",
          "login": "filiptc",
          "commits": 76,
          "avatar_url": "https://avatars.githubusercontent.com/u/2487390?v=4"
        },
        {
          "type": "User",
          "login": "eiso",
          "commits": 71,
          "avatar_url": "https://avatars.githubusercontent.com/u/1247608?v=4"
        },
        {
          "type": "User",
          "login": "erizocosmico",
          "commits": 57,
          "avatar_url": "https://avatars.githubusercontent.com/u/1312023?v=4"
        },
        {
          "type": "User",
          "login": "ricardobaeta",
          "commits": 42,
          "avatar_url": "https://avatars.githubusercontent.com/u/1746146?v=4"
        },
        {
          "type": "User",
          "login": "smeruelo",
          "commits": 22,
          "avatar_url": "https://avatars.githubusercontent.com/u/12283075?v=4"
        },
        {
          "type": "User",
          "login": "marnovo",
          "commits": 21,
          "avatar_url": "https://avatars.githubusercontent.com/u/15906764?v=4"
        }
      ],
      "contributors_sampled": 29,
      "top_contributor_share": 0.385
    },
    "quality_signals": {
      "has_ci": false,
      "has_tests": false,
      "ci_workflows": [],
      "has_docs_dir": false,
      "linter_configs": [
        ".eslintrc.js"
      ],
      "has_editorconfig": true,
      "has_linter_config": true,
      "has_precommit_config": false
    },
    "security_signals": {
      "lockfiles": [
        "go.sum",
        "yarn.lock"
      ],
      "scorecard": {
        "checks": [
          {
            "name": "Binary-Artifacts",
            "score": 10,
            "reason": "no binaries found in the repo",
            "documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#binary-artifacts"
          },
          {
            "name": "Branch-Protection",
            "score": 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 15 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": 9,
            "reason": "Found 15/16 approved changesets -- score normalized to 9",
            "documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#code-review"
          },
          {
            "name": "Contributors",
            "score": 10,
            "reason": "project has 29 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": 0,
            "reason": "dependency not pinned by hash detected -- score normalized to 0",
            "documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#pinned-dependencies"
          },
          {
            "name": "SAST",
            "score": 0,
            "reason": "SAST tool is not run on all commits -- score normalized to 0",
            "documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#sast"
          },
          {
            "name": "Security-Policy",
            "score": 0,
            "reason": "security policy file not detected",
            "documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#security-policy"
          },
          {
            "name": "Signed-Releases",
            "score": null,
            "reason": "no releases found",
            "documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#signed-releases"
          },
          {
            "name": "Token-Permissions",
            "score": null,
            "reason": "No tokens found",
            "documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#token-permissions"
          },
          {
            "name": "Vulnerabilities",
            "score": 0,
            "reason": "138 existing vulnerabilities detected",
            "documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#vulnerabilities"
          }
        ],
        "commit": "e1e1f51fec8ee72f159a7aeeb4320d2e6a2092a7",
        "ran_at": "2026-07-28T03:37:40Z",
        "aggregate_score": 2.6,
        "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": 350,
          "created_at": "2019-01-21T04:00:22Z",
          "last_comment_at": null,
          "last_comment_author": null
        }
      ],
      "last_merged_pr_at": "2019-10-08T10:14:57Z",
      "ci_last_conclusion": null,
      "oldest_open_issues": [
        {
          "number": 459,
          "created_at": "2019-08-22T22:21:46Z",
          "last_comment_at": "2019-10-07T19:38:17Z",
          "last_comment_author": "vcoisne"
        },
        {
          "number": 462,
          "created_at": "2019-09-05T21:49:03Z",
          "last_comment_at": null,
          "last_comment_author": null
        },
        {
          "number": 466,
          "created_at": "2019-10-02T21:28:08Z",
          "last_comment_at": "2019-10-07T19:28:21Z",
          "last_comment_author": "vcoisne"
        },
        {
          "number": 468,
          "created_at": "2019-10-04T04:00:43Z",
          "last_comment_at": null,
          "last_comment_author": null
        },
        {
          "number": 471,
          "created_at": "2019-10-08T06:28:30Z",
          "last_comment_at": null,
          "last_comment_author": null
        },
        {
          "number": 472,
          "created_at": "2019-10-16T16:17:46Z",
          "last_comment_at": "2019-10-22T12:09:37Z",
          "last_comment_author": "ricardobaeta"
        },
        {
          "number": 473,
          "created_at": "2020-01-20T20:08:27Z",
          "last_comment_at": null,
          "last_comment_author": null
        }
      ]
    }
  },
  "config": {
    "disabled_metrics": [],
    "disabled_categories": [],
    "disabled_components": {}
  },
  "source": {
    "url": "https://github.com/src-d/landing",
    "host": "github.com",
    "name": "landing",
    "owner": "src-d"
  },
  "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": 26,
      "inputs": {
        "security": 26,
        "vitality": 25,
        "community": 52,
        "governance": 73,
        "engineering": 37,
        "abandonment_cap": 49,
        "abandonment_state": "likely_abandoned",
        "abandonment_multiplier": 60,
        "weighted_overall_before_abandonment": 44,
        "overall_after_abandonment_multiplier": 26
      },
      "components": []
    },
    "categories": [
      {
        "key": "vitality",
        "band": "critical",
        "name": "Vitality",
        "value": 25,
        "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": 2484,
              "active_weeks_last_year": 0
            },
            "components": [
              {
                "key": "push_recency",
                "name": "Push recency",
                "detail": "last push 2484 days ago",
                "points": 0,
                "status": "missed",
                "details": [
                  {
                    "code": "push_recency",
                    "params": {
                      "days": 2484
                    }
                  }
                ],
                "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": "moderate",
            "name": "Release discipline",
            "note": "Excluded from scoring (no data or not applicable): OpenSSF Scorecard: Signed-Releases. Remaining weights renormalized.",
            "notes": [
              {
                "code": "excluded_no_data",
                "params": {
                  "components": [
                    "openssf_scorecard_signed_releases"
                  ]
                }
              },
              {
                "code": "weights_renormalized",
                "params": {}
              }
            ],
            "value": 60,
            "inputs": {
              "releases_count": 72,
              "latest_release_tag": "v4.17.13",
              "releases_from_tags": false,
              "days_since_latest_release": 2484,
              "mean_days_between_releases": 10.9
            },
            "components": [
              {
                "key": "ships_releases",
                "name": "Ships releases",
                "detail": "72 releases published",
                "points": 27,
                "status": "met",
                "details": [
                  {
                    "code": "releases_published",
                    "params": {
                      "count": 72
                    }
                  }
                ],
                "max_points": 27
              },
              {
                "key": "release_recency",
                "name": "Release recency",
                "detail": "latest release 2484 days ago",
                "points": 0,
                "status": "missed",
                "details": [
                  {
                    "code": "release_recency",
                    "params": {
                      "days": 2484
                    }
                  }
                ],
                "max_points": 36
              },
              {
                "key": "release_cadence",
                "name": "Release cadence",
                "detail": "a release every ~10.9 days",
                "points": 27,
                "status": "met",
                "details": [
                  {
                    "code": "release_cadence",
                    "params": {
                      "gap": 10.9
                    }
                  }
                ],
                "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": 1,
              "unanswered_open_issues": 6,
              "days_since_last_merged_pr": 2484,
              "days_since_last_human_commit": 2484,
              "days_since_last_human_commit_is_floor": false
            },
            "components": [
              {
                "key": "project_is_still_maintained",
                "name": "Project is still maintained",
                "detail": "no human commit for 2484 days; 3 unmet obligation(s): issues unanswered, releases stalled, Scorecard reports it unmaintained",
                "points": 60,
                "status": "partial",
                "details": [
                  {
                    "code": "abandonment_flagged",
                    "params": {
                      "days": 2484,
                      "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": "moderate",
        "name": "Community & Adoption",
        "value": 52,
        "weight": 0.18,
        "metrics": [
          {
            "key": "popularity",
            "band": "critical",
            "name": "Popularity & adoption",
            "note": null,
            "notes": [],
            "value": 24,
            "inputs": {
              "forks": 22,
              "stars": 5,
              "watchers": 5,
              "growth_state": "unverified",
              "growth_factor_pct": 100,
              "growth_unverified_reason": "no_history"
            },
            "components": [
              {
                "key": "stars",
                "name": "Stars",
                "detail": "5 stars",
                "points": 9.8,
                "status": "partial",
                "details": [
                  {
                    "code": "stars",
                    "params": {
                      "count": 5
                    }
                  }
                ],
                "max_points": 60
              },
              {
                "key": "forks",
                "name": "Forks",
                "detail": "22 forks",
                "points": 11,
                "status": "partial",
                "details": [
                  {
                    "code": "forks",
                    "params": {
                      "count": 22
                    }
                  }
                ],
                "max_points": 25
              },
              {
                "key": "watchers",
                "name": "Watchers",
                "detail": "5 watchers",
                "points": 3.3,
                "status": "partial",
                "details": [
                  {
                    "code": "watchers",
                    "params": {
                      "count": 5
                    }
                  }
                ],
                "max_points": 15
              }
            ]
          },
          {
            "key": "community_health",
            "band": "excellent",
            "name": "Community health",
            "note": null,
            "notes": [],
            "value": 85,
            "inputs": {
              "has_readme": true,
              "has_license": true,
              "has_contributing": true,
              "has_issue_template": false,
              "has_code_of_conduct": true,
              "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": 13.5,
                "status": "met",
                "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
              }
            ]
          }
        ],
        "description": "Does the project have users, downloads, attention, and a welcoming setup for contributors?"
      },
      {
        "key": "governance",
        "band": "good",
        "name": "Sustainability & Governance",
        "value": 73,
        "weight": 0.24,
        "metrics": [
          {
            "key": "maintainer_resilience",
            "band": "moderate",
            "name": "Maintainer resilience (bus factor)",
            "note": null,
            "notes": [],
            "value": 62,
            "inputs": {
              "bus_factor": 2,
              "contributors_sampled": 29,
              "top_contributor_share": 0.385
            },
            "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 38% of commits",
                "points": 13.8,
                "status": "partial",
                "details": [
                  {
                    "code": "top_contributor_share",
                    "params": {
                      "share": 38
                    }
                  }
                ],
                "max_points": 22.5
              },
              {
                "key": "contributor_breadth",
                "name": "Contributor breadth",
                "detail": "29 contributors",
                "points": 13.5,
                "status": "met",
                "details": [
                  {
                    "code": "contributors_sampled",
                    "params": {
                      "count": 29
                    }
                  }
                ],
                "max_points": 13.5
              },
              {
                "key": "openssf_scorecard_contributors",
                "name": "OpenSSF Scorecard: Contributors",
                "detail": "project has 29 contributing companies or organizations",
                "points": 10,
                "status": "met",
                "details": [],
                "max_points": 10
              }
            ]
          },
          {
            "key": "responsiveness",
            "band": "excellent",
            "name": "Issue & PR responsiveness",
            "note": null,
            "notes": [],
            "value": 91,
            "inputs": {
              "merged_prs": 310,
              "open_issues": 7,
              "closed_issues": 108,
              "issue_closed_ratio": 0.939,
              "closed_unmerged_prs": 46
            },
            "components": [
              {
                "key": "issue_resolution",
                "name": "Issue resolution",
                "detail": "94% of issues closed",
                "points": 43.9,
                "status": "partial",
                "details": [
                  {
                    "code": "issues_closed_share",
                    "params": {
                      "share": 94
                    }
                  }
                ],
                "max_points": 46.75
              },
              {
                "key": "pr_acceptance",
                "name": "PR acceptance",
                "detail": "310/356 decided PRs merged",
                "points": 33.3,
                "status": "partial",
                "details": [
                  {
                    "code": "decided_prs_merged",
                    "params": {
                      "merged": 310,
                      "decided": 356
                    }
                  }
                ],
                "max_points": 38.25
              },
              {
                "key": "openssf_scorecard_code_review",
                "name": "OpenSSF Scorecard: Code-Review",
                "detail": "Found 15/16 approved changesets -- score normalized to 9",
                "points": 13.5,
                "status": "partial",
                "details": [],
                "max_points": 15
              }
            ]
          },
          {
            "key": "stewardship",
            "band": "good",
            "name": "Ownership & stewardship",
            "note": null,
            "notes": [],
            "value": 70,
            "inputs": {
              "followers": 117,
              "owner_type": "Organization",
              "is_verified": null,
              "owner_login": "src-d",
              "public_repos": 151,
              "account_age_days": 3939
            },
            "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": "117 followers of src-d",
                "points": 14.9,
                "status": "partial",
                "details": [
                  {
                    "code": "owner_followers",
                    "params": {
                      "count": 117,
                      "login": "src-d"
                    }
                  }
                ],
                "max_points": 25
              },
              {
                "key": "track_record",
                "name": "Track record",
                "detail": "151 public repos, account ~10 yr old",
                "points": 25,
                "status": "met",
                "details": [
                  {
                    "code": "public_repos",
                    "params": {
                      "count": 151
                    }
                  },
                  {
                    "code": "account_age_years",
                    "params": {
                      "years": 10
                    }
                  }
                ],
                "max_points": 25
              }
            ]
          },
          {
            "key": "package_maintenance",
            "band": "moderate",
            "name": "Package maintenance",
            "note": null,
            "notes": [],
            "value": 69,
            "inputs": {
              "packages": [
                "github.com/src-d/landing"
              ],
              "ecosystems": "go",
              "any_deprecated": false,
              "min_days_since_publish": 2894
            },
            "components": [
              {
                "key": "published_resolvable",
                "name": "Published & resolvable",
                "detail": "1 package(s) on go",
                "points": 25,
                "status": "met",
                "details": [
                  {
                    "code": "packages_published",
                    "params": {
                      "count": 1,
                      "ecosystems": "go"
                    }
                  }
                ],
                "max_points": 25
              },
              {
                "key": "publish_recency",
                "name": "Publish recency",
                "detail": "latest publish 2894 days ago",
                "points": 4,
                "status": "partial",
                "details": [
                  {
                    "code": "publish_recency",
                    "params": {
                      "days": 2894
                    }
                  }
                ],
                "max_points": 35
              },
              {
                "key": "version_history",
                "name": "Version history",
                "detail": "23 published versions",
                "points": 20,
                "status": "met",
                "details": [
                  {
                    "code": "published_versions",
                    "params": {
                      "count": 23
                    }
                  }
                ],
                "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": 37,
        "weight": 0.2,
        "metrics": [
          {
            "key": "engineering_practices",
            "band": "critical",
            "name": "Engineering practices",
            "note": null,
            "notes": [],
            "value": 22,
            "inputs": {
              "has_ci": false,
              "has_tests": false,
              "has_editorconfig": true,
              "has_linter_config": true,
              "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": 0,
                "status": "missed",
                "details": [],
                "max_points": 24
              },
              {
                "key": "linter_config",
                "name": "Linter config",
                "detail": ".eslintrc.js",
                "points": 16,
                "status": "met",
                "details": [
                  {
                    "code": "file_list",
                    "params": {
                      "files": ".eslintrc.js"
                    }
                  }
                ],
                "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": 6.4,
                "status": "met",
                "details": [],
                "max_points": 6.4
              },
              {
                "key": "openssf_scorecard_ci_tests",
                "name": "OpenSSF Scorecard: CI-Tests",
                "detail": "0 out of 15 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": 60,
            "inputs": {
              "topics": [
                "web",
                "landing"
              ],
              "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": "2 topics",
                "points": 10,
                "status": "met",
                "details": [
                  {
                    "code": "topics_count",
                    "params": {
                      "count": 2
                    }
                  }
                ],
                "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": "critical",
        "name": "Security",
        "value": 26,
        "weight": 0.16,
        "metrics": [
          {
            "key": "security_posture",
            "band": "critical",
            "name": "Security posture",
            "note": "Excluded from scoring (no data or not applicable): Dangerous-Workflow, Packaging, Signed-Releases, Token-Permissions. Remaining weights renormalized.",
            "notes": [
              {
                "code": "excluded_no_data",
                "params": {
                  "components": [
                    "dangerous_workflow",
                    "packaging",
                    "signed_releases",
                    "token_permissions"
                  ]
                }
              },
              {
                "code": "weights_renormalized",
                "params": {}
              }
            ],
            "value": 26,
            "inputs": {
              "source": "openssf_scorecard",
              "checks_evaluated": 14,
              "scorecard_version": "v5.5.0",
              "checks_inconclusive": 4,
              "scorecard_aggregate": 2.6
            },
            "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 15 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 15/16 approved changesets -- score normalized to 9",
                "points": 6.8,
                "status": "partial",
                "details": [],
                "max_points": 7.5
              },
              {
                "key": "contributors",
                "name": "Contributors",
                "detail": "project has 29 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": "dependency not pinned by hash detected -- score normalized to 0",
                "points": 0,
                "status": "missed",
                "details": [],
                "max_points": 5
              },
              {
                "key": "sast",
                "name": "SAST",
                "detail": "SAST tool is not run on all commits -- score normalized to 0",
                "points": 0,
                "status": "missed",
                "details": [],
                "max_points": 5
              },
              {
                "key": "security_policy",
                "name": "Security-Policy",
                "detail": "security policy file not detected",
                "points": 0,
                "status": "missed",
                "details": [],
                "max_points": 5
              },
              {
                "key": "signed_releases",
                "name": "Signed-Releases",
                "detail": "no releases found",
                "points": 0,
                "status": "excluded",
                "details": [
                  {
                    "code": "no_data",
                    "params": {}
                  }
                ],
                "max_points": 7.5
              },
              {
                "key": "token_permissions",
                "name": "Token-Permissions",
                "detail": "No tokens found",
                "points": 0,
                "status": "excluded",
                "details": [
                  {
                    "code": "no_data",
                    "params": {}
                  }
                ],
                "max_points": 7.5
              },
              {
                "key": "vulnerabilities",
                "name": "Vulnerabilities",
                "detail": "138 existing vulnerabilities detected",
                "points": 0,
                "status": "missed",
                "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": 16
            },
            "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": 37,
        "weight": 0,
        "metrics": [
          {
            "key": "ai_agent_context",
            "band": "critical",
            "name": "Agent context & guidance",
            "note": null,
            "notes": [],
            "value": 26,
            "inputs": {
              "has_llms_txt": false,
              "legible_history_share": 0.49,
              "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": "49 of 100 human commits state their intent (structured subject or explanatory body)",
                "points": 26.1,
                "status": "partial",
                "details": [
                  {
                    "code": "legible_history",
                    "params": {
                      "legible": 49,
                      "sampled": 100
                    }
                  }
                ],
                "max_points": 40
              }
            ]
          },
          {
            "key": "ai_verify_loop",
            "band": "at_risk",
            "name": "Verify loop (build / test / typecheck)",
            "note": null,
            "notes": [],
            "value": 39,
            "inputs": {
              "has_nix": false,
              "has_tests": false,
              "lockfiles": [
                "go.sum",
                "yarn.lock"
              ],
              "has_dockerfile": true,
              "typed_language": false,
              "bootstrap_files": [
                "Makefile"
              ],
              "has_devcontainer": false,
              "has_linter_config": true,
              "typecheck_configs": [],
              "agent_commit_share": 0,
              "toolchain_manifests": [
                "go.mod"
              ],
              "dependency_bot_commit_share": 0
            },
            "components": [
              {
                "key": "one_command_bootstrap",
                "name": "One-command bootstrap",
                "detail": "Makefile",
                "points": 18,
                "status": "met",
                "details": [
                  {
                    "code": "file_list",
                    "params": {
                      "files": "Makefile"
                    }
                  }
                ],
                "max_points": 18
              },
              {
                "key": "automated_tests",
                "name": "Automated tests",
                "detail": null,
                "points": 0,
                "status": "missed",
                "details": [],
                "max_points": 22
              },
              {
                "key": "lint_format_config",
                "name": "Lint / format config",
                "detail": ".eslintrc.js",
                "points": 11,
                "status": "met",
                "details": [
                  {
                    "code": "file_list",
                    "params": {
                      "files": ".eslintrc.js"
                    }
                  }
                ],
                "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": "Dockerfile, lockfile",
                "points": 10,
                "status": "met",
                "details": [
                  {
                    "code": "file_list",
                    "params": {
                      "files": "Dockerfile, lockfile"
                    }
                  }
                ],
                "max_points": 10
              },
              {
                "key": "demonstrated_agent_practice",
                "name": "Demonstrated agent practice",
                "detail": "no agent-authored commits among the last 100",
                "points": 0,
                "status": "missed",
                "details": [
                  {
                    "code": "no_agent_authored_commits",
                    "params": {
                      "sampled": 100
                    }
                  }
                ],
                "max_points": 10
              },
              {
                "key": "automated_maintenance",
                "name": "Automated maintenance",
                "detail": "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": "dependency not pinned by hash detected -- score normalized to 0",
                "points": 0,
                "status": "missed",
                "details": [],
                "max_points": 10
              }
            ]
          },
          {
            "key": "ai_code_legibility",
            "band": "moderate",
            "name": "Code legibility for models",
            "note": null,
            "notes": [],
            "value": 55,
            "inputs": {
              "primary_language": "HTML",
              "largest_source_bytes": 4396,
              "source_files_sampled": 11,
              "oversized_source_files": 0
            },
            "components": [
              {
                "key": "type_checkable_code",
                "name": "Type-checkable code",
                "detail": "HTML without a type-check config",
                "points": 0,
                "status": "missed",
                "details": [
                  {
                    "code": "no_typecheck_config_language",
                    "params": {
                      "language": "HTML"
                    }
                  }
                ],
                "max_points": 45
              },
              {
                "key": "manageable_file_sizes",
                "name": "Manageable file sizes",
                "detail": "0/11 source files over 60KB",
                "points": 55,
                "status": "met",
                "details": [
                  {
                    "code": "oversized_source_files",
                    "params": {
                      "kb": 60,
                      "sampled": 11,
                      "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": [
    "Star history unavailable: GitHub GraphQL error: Resource not accessible by personal access token",
    "GitHub dependency-graph SBOM unavailable (404); the dependency graph may be disabled for this repository"
  ],
  "report_type": "repository",
  "generated_at": "2026-07-28T03:38:06.827747Z",
  "schema_version": "0.27.0",
  "badge_url": "https://raw.githubusercontent.com/inspect-software/badges/main/v1/s/src-d/landing.svg",
  "full_name": "src-d/landing",
  "license_state": "standard",
  "license_spdx": "MIT"
}

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

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

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