Öffentliches Register
Software-GesundheitsberichtSchema 0.26.0 · Metriken 1.13.0 · 2026-07-22 05:55 UTC

software-mansion / rnrepo

A Repository for React Native Pre-Built Artifacts

TypeScript · Kotlin · AstroKeine Lizenz erkannt★ 403 Sterne⑂ 12 Forksseit Juni 2025Auf GitHub ansehen ↗

software-mansion/rnrepo erreicht einen Gesundheitsindex von 62 von 100 und liegt damit im Bereich Mittel. Am stärksten schneidet es bei Engineering Quality (76/100) ab, am schwächsten bei Security (42/100). Zuletzt heute aktualisiert. Ein einzelner Mitwirkender trägt den Großteil der jüngsten Arbeit.

62
gesamt / 100
Mittel

Software-Gesundheitsindex

Metriken werden auf einer Skala von 1–100 in gewichtete Kategorien gruppiert. Der Gesamtwert beginnt als ihr Mittel; sobald öffentliche Evidenz die Richtlinie für Hochrisikojurisdiktionen auslöst, wird die Bewertung angepasst und erhält die Obergrenze 49 (Gefährdet). AI Readiness liegt außerhalb.

62
Exzellent85-100Vorbildlich; erfüllt im Wesentlichen alle geprüften Kriterien
Gut70-84Gesund; geringfügige Lücken
Mittel50-69Akzeptabel mit deutlichen Lücken; Überprüfung empfohlen
Gefährdet30-49Erhebliche Schwächen; eine Übernahme erfordert Vorsicht
Kritisch1-29Schwerwiegende Probleme (aufgegeben, nur ein Maintainer, keine Hygiene)
VitalitätCommunity &VerbreitungNachhaltigkeit &GovernanceEngineering-QualitätSicherheitAI Readiness

Bewertungsprofil

Jede Achse ist eine Kategorie. Die Form zählt mehr als der Durchschnitt — ein gesundes Projekt füllt die gesamte Fläche, während ein Profil aus Spitzen und Kratern bedeutet, dass Stärke in einer Dimension Risiken in einer anderen verdeckt.

Eigentümerschaft

Software MansionOrganisation
1.604 Follower59 öffentliche Reposseit Okt. 2019

Dieses Repository wird von einer Organisation getragen — geteilte, rechenschaftspflichtige Trägerschaft, die jeden einzelnen Maintainer überdauern kann.

Paket-Ökosysteme

RegistryPaketVersionDownloads / MonatVersionenZuletzt veröffentlichtTags
npm@rnrepo/build-tools0.2.189.27211vor 4 Tagencocoapodsgradlereact-nativernrepoiosandroidpluginprebuildsxcframeworkaar
npm@rnrepo/expo-config-plugin0.3.586.94415vor 4 Tagenreact-nativeexpoconfigpluginprebuildsrnrepo

Metriken nach Kategorie

Vitalität

Lebt das Projekt — wird Code geschrieben und werden Releases ausgeliefert?

56Mittel · 22 % des Gesamtindex
Wie die Bewertung erfolgt
36/36Push-Aktualität — letzter Push vor 0 Tagen
27.7/36Commit-Rhythmus — 40/52 Wochen mit Commits
18/18Commit-Volumen — 342 Commits im letzten Jahr
10/10OpenSSF Scorecard: Maintained — 30 commit(s) and 20 issue activity found in the last 90 days -- score normalized to 10
Verwendete Eingangsdaten
commits_last_year342
human_commit_share0,92
days_since_last_push0
active_weeks_last_year40
Wie die Bewertung erfolgt
0/27Liefert Releases aus — keine Releases veröffentlicht
0/36Release-Aktualität — keine Releases
0/27Release-Rhythmus — keine Releases
0/10OpenSSF Scorecard: Signed-Releases — keine Daten
Verwendete Eingangsdaten
releases_count0
Von der Bewertung ausgeschlossen (keine Daten oder nicht anwendbar): OpenSSF Scorecard: Signed-Releases. Die verbleibenden Gewichte wurden renormalisiert.

Community & Verbreitung

Hat das Projekt Nutzer, Downloads, Aufmerksamkeit und ein einladendes Umfeld für Beitragende?

53Mittel · 18 % des Gesamtindex
Wie die Bewertung erfolgt
42.2/60Stars — 403 Stars
8.7/25Forks — 12 Forks
0/15Watcher — 1 Watcher
Verwendete Eingangsdaten
forks12
stars403
watchers1
growth_stateorganic
growth_factor_pct100
Wie die Bewertung erfolgt
22.5/22.5README
0/22.5Lizenz — keine Lizenzdatei erkannt
0/18CONTRIBUTING-Leitfaden
0/13.5Verhaltenskodex
0/7.2Issue-Vorlage
6.3/6.3PR-Vorlage
Verwendete Eingangsdaten
has_readmeja
has_licensenein
has_contributingnein
has_issue_templatenein
has_code_of_conductnein
has_pull_request_templateja
Wie die Bewertung erfolgt
69.9/80Downloads pro Monat — 176.216 Downloads/Monat über npm
0/20Abhängige in der Registry — von diesem Ökosystem nicht ausgewiesen
Verwendete Eingangsdaten
packages@rnrepo/build-tools, @rnrepo/expo-config-plugin
dependents
ecosystemsnpm
total_downloads
monthly_downloads176.216
Von der Bewertung ausgeschlossen (keine Daten oder nicht anwendbar): Abhängige in der Registry. Die verbleibenden Gewichte wurden renormalisiert.

Nachhaltigkeit & Governance

Überdauert das Projekt die Menschen, die es tragen — Bus-Faktor, Reaktionsfähigkeit, Trägerschaft und Paketpflege?

75Gut · 24 % des Gesamtindex
Wie die Bewertung erfolgt
9/54Bus-Faktor — 1 Beitragende decken die Hälfte aller Commits ab
6.4/22.5Commit-Verteilung — wichtigste beitragende Person verfasste 72 % der Commits
13.5/13.5Breite der Beitragenden — 14 Beitragende
10/10OpenSSF Scorecard: Contributors — project has 7 contributing companies or organizations
Verwendete Eingangsdaten
bus_factor1
contributors_sampled14
top_contributor_share0,716
Wie die Bewertung erfolgt
46.8/46.8Issue-Lösungsquote — 100 % der Issues geschlossen
35.3/38.3PR-Annahme — 319/346 entschiedene PRs gemergt
15/15OpenSSF Scorecard: Code-Review — all changesets reviewed
Verwendete Eingangsdaten
merged_prs319
open_issues0
closed_issues64
issue_closed_ratio1
closed_unmerged_prs27
Wie die Bewertung erfolgt
30/30Organisatorische Trägerschaft — im Besitz einer Organisation
0/20Verifizierte Domain
23/25Reichweite des Inhabers — 1.604 Follower von software-mansion
24.9/25Kontohistorie — 59 öffentliche Repos, Kontoalter ca. 6 Jahre
Verwendete Eingangsdaten
followers1.604
owner_typeOrganization
is_verified
owner_loginsoftware-mansion
public_repos59
account_age_days2.464

Paketpflege

100Exzellent
Wie die Bewertung erfolgt
25/25Veröffentlicht & auflösbar — 2 Paket(e) auf npm
35/35Veröffentlichungsaktualität — letzte Veröffentlichung vor 4 Tagen
20/20Versionshistorie — 15 veröffentlichte Versionen
20/20Nicht veraltet — aktiv, nicht veraltet oder zurückgezogen
Verwendete Eingangsdaten
packages@rnrepo/build-tools, @rnrepo/expo-config-plugin
ecosystemsnpm
any_deprecatednein
min_days_since_publish4

Engineering-Qualität

Sind grundlegende Engineering- und Dokumentationspraktiken vorhanden?

76Gut · 20 % des Gesamtindex
Wie die Bewertung erfolgt
24/24CI-Workflows — 14 Workflow(s)
24/24Tests vorhanden
16/16Linter-Konfiguration — .eslintrc.js
0/9.6Pre-Commit-Hooks
6.4/6.4.editorconfig
20/20OpenSSF Scorecard: CI-Tests — 30 out of 30 merged PRs checked by a CI test -- score normalized to 10
Verwendete Eingangsdaten
has_cija
has_testsja
has_editorconfigja
has_linter_configja
has_precommit_confignein
Wie die Bewertung erfolgt
30/30README
0/25Dokumentationsverzeichnis
15/15Dokumentations-/Homepage-Site — http://rnrepo.org/
10/10Repository-Beschreibung
0/10Topics
0/10Wiki
Verwendete Eingangsdaten
topics
has_wikinein
homepagehttp://rnrepo.org/
has_readmeja
has_docs_dirnein
has_descriptionja

Sicherheit

Sind die sichtbaren Sicherheits- und Lieferkettenpraktiken belastbar, ohne ungeklärte Exposition gegenüber Hochrisikojurisdiktionen?

42Gefährdet · 16 % des Gesamtindex

Sicherheitslage

42Gefährdet
Wie die Bewertung erfolgt
6.8/7.5Binary-Artifacts — binaries present in source code
4.5/7.5Branch-Protection — branch protection is not maximal on development and all release branches
2.5/2.5CI-Tests — 30 out of 30 merged PRs checked by a CI test -- score normalized to 10
0/2.5CII-Best-Practices — no effort to earn an OpenSSF best practices badge detected
7.5/7.5Code-Review — all changesets reviewed
2.5/2.5Contributors — project has 7 contributing companies or organizations
0/10Dangerous-Workflow — dangerous workflow patterns detected
0/7.5Dependency-Update-Tool — no update tool detected
0/5Fuzzing — project is not fuzzed
0/2.5Lizenz — license file not detected
7.5/7.5Maintained — 30 commit(s) and 20 issue activity found in the last 90 days -- score normalized to 10
5/5Packaging — packaging workflow detected
4.5/5Pinned-Dependencies — dependency not pinned by hash detected -- score normalized to 9
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 — keine Daten
0/7.5Token-Permissions — detected GitHub workflow tokens with excessive permissions
0/7.5Vulnerabilities — 100 existing vulnerabilities detected
Verwendete Eingangsdaten
sourceopenssf_scorecard
checks_evaluated17
scorecard_versionv5.5.0
checks_inconclusive1
scorecard_aggregate4,2
Von der Bewertung ausgeschlossen (keine Daten oder nicht anwendbar): signed_releases. Die verbleibenden Gewichte wurden renormalisiert.

AI Readiness

Wie gut ist das Repository dafür ausgestattet, mit KI-Coding-Agenten entwickelt und gepflegt zu werden? Ein unabhängiges, experimentelles Badge — Gewicht 0,0, es wird eigenständig ausgewiesen und verändert den Gesamt-Gesundheitswert nicht.

68Mittel · 0 % des Gesamtindex
Wie die Bewertung erfolgt
0/45Agentenanweisungen — keine CLAUDE.md / AGENTS.md / Editor-Regeln
0/15Maschinenlesbare Doku (llms.txt)
40/40Lesbare Commit-Historie — 92 von 92 menschlichen Commits benennen ihre Absicht (strukturierter Betreff oder erläuternder Text)
Verwendete Eingangsdaten
has_llms_txtnein
legible_history_share1
agent_instruction_files
agent_instruction_max_bytes
Wie die Bewertung erfolgt
12.6/18Bootstrap mit einem Befehl — packages/build-tools/gradle-plugin/build.gradle (Toolchain-Konvention, kein Task-Runner)
22/22Automatisierte Tests
11/11Lint-/Format-Konfiguration — .eslintrc.js
11/11Statische Typprüfung — packages/expo-config-plugin/tsconfig.json, packages/website/tsconfig.json, tsconfig.json
0/10Reproduzierbare Umgebung
10/10Belegte Agentenpraxis — 13 der letzten 100 Commits von Agenten verfasst oder ihnen zugeschrieben
0/8Automatisierte Wartung — keine automatisierten Abhängigkeits-Updates beobachtet
9/10OpenSSF Scorecard: Pinned-Dependencies — dependency not pinned by hash detected -- score normalized to 9
Verwendete Eingangsdaten
has_nixnein
has_testsja
lockfiles
has_dockerfilenein
typed_languageja
bootstrap_files
has_devcontainernein
has_linter_configja
typecheck_configspackages/expo-config-plugin/tsconfig.json, packages/website/tsconfig.json, tsconfig.json
agent_commit_share0,13
toolchain_manifestspackages/build-tools/gradle-plugin/build.gradle
dependency_bot_commit_share0
Wie die Bewertung erfolgt
45/45Typprüfbarer Code — TypeScript (statisch typisiert)
55/55Handhabbare Dateigrößen — 0/60 Quelldateien über 60 KB
Verwendete Eingangsdaten
primary_languageTypeScript
largest_source_bytes56.925
source_files_sampled60
oversized_source_files0

Eckdaten

403GitHub-Sterne
14Mitwirkende
342Commits, letzte 12 Monate
0Tage seit letztem Push
0Releases
1Bus-Faktor
0offene Issues
npmPaket-Ökosysteme

Warnungen zur Datenerhebung

  • Could not fetch npm package '@rnrepo/builder' from its registry
  • Could not fetch npm package '@rnrepo/publisher' from its registry
  • GitHub dependency-graph SBOM unavailable (404); the dependency graph may be disabled for this repository
  • deps.dev does not index npm:@rnrepo/build-tools@0.2.1; advisories assessed against the repository dependency graph instead

Weitere Details

Stern- und Fork-Verlauf 403 ★ / 12 ⇿
403Sterne
12Forks

Wann jeder Stern und Fork hinzugefügt wurde, von GitHub erfasst und nach Tagen gruppiert. Das kumulierte Wachstum steht direkt über den täglichen Zugängen, aus denen es besteht, sodass beide gegeneinander lesbar sind: stetiger organischer Zuwachs sieht ganz anders aus als ein abrupter, kurzlebiger Ausschlag. Wo dieser Unterschied messbar ist, wird er als Wachstumsauthentizität ausgewiesen.

010020030040050040312822025-122026-032026-07
OpenSSF Scorecard 4.2 / 10
4.2Gesamtwert

Unabhängige, werkzeugneutrale Sicherheitsbewertung durch das quelloffene OpenSSF Scorecard. Jede Prüfung honoriert eine Sicherheits-Praxis, nicht das Werkzeug eines bestimmten Anbieters. Prüfungen, die Scorecard nicht ermitteln konnte, sind mit k. A. markiert und vom Sicherheitswert ausgeschlossen (nie als null gezählt).Scorecard v5.5.0 · 2026-07-22 05:55 UTC

9Binary-Artifactsbinaries present in source code
6Branch-Protectionbranch protection is not maximal on development and all release branches
10CI-Tests30 out of 30 merged PRs checked by a CI test -- score normalized to 10
0CII-Best-Practicesno effort to earn an OpenSSF best practices badge detected
10Code-Reviewall changesets reviewed
10Contributorsproject has 7 contributing companies or organizations
0Dangerous-Workflowdangerous workflow patterns detected
0Dependency-Update-Toolno update tool detected
0Fuzzingproject is not fuzzed
0Licenselicense file not detected
10Maintained30 commit(s) and 20 issue activity found in the last 90 days -- score normalized to 10
10Packagingpackaging workflow detected
9Pinned-Dependenciesdependency not pinned by hash detected -- score normalized to 9
0SASTSAST tool is not run on all commits -- score normalized to 0
0Security-Policysecurity policy file not detected
k. A.Signed-Releasesno releases found
0Token-Permissionsdetected GitHub workflow tokens with excessive permissions
0Vulnerabilities100 existing vulnerabilities detected
Direkte Abhängigkeiten 25
RegistryPaketVersionsvorgabeManifest
npmcommander^13.1.0package.json
npmsemver^7.7.4package.json
npmzx^8.6.0package.json
npmcommander^13.1.0packages/builder/package.json
npm@rnrepo/configworkspace:*packages/builder/package.json
npmzx^8.6.0packages/builder/package.json
npm@rnrepo/configworkspace:*packages/database/package.json
npm@supabase/supabase-js^2.47.0packages/database/package.json
npm@expo/config-plugins*packages/expo-config-plugin/package.json
npm@expo/config-types*packages/expo-config-plugin/package.json
npm@rnrepo/build-tools0.2.1packages/expo-config-plugin/package.json
npm@octokit/rest^22.0.0packages/publisher/package.json
npm@rnrepo/configworkspace:*packages/publisher/package.json
npm@rnrepo/databaseworkspace:*packages/publisher/package.json
npmcommander^13.1.0packages/publisher/package.json
npmzx^8.6.0packages/publisher/package.json
npm@octokit/plugin-paginate-rest^14.0.0packages/scheduler/package.json
npm@octokit/rest^22.0.0packages/scheduler/package.json
npm@rnrepo/configworkspace:*packages/scheduler/package.json
npm@rnrepo/databaseworkspace:*packages/scheduler/package.json
npmsemver^7.7.3packages/scheduler/package.json
npmastro^4.16.6packages/website/package.json
npmlucide-astro^0.555.0packages/website/package.json
npmshiki^3.17.1packages/website/package.json
npm@rnrepo/databaseworkspace:*packages/website/package.json
Alle Abhängigkeiten nicht erhoben

Der aufgelöste Abhängigkeitssatz konnte für diesen Bericht nicht erhoben werden: GitHub dependency-graph SBOM unavailable (404); the dependency graph may be disabled for this repository

JSON-Rohbericht maschinenlesbar
{
  "data": {
    "repo": {
      "topics": [],
      "is_fork": false,
      "size_kb": 6169,
      "has_wiki": false,
      "homepage": "http://rnrepo.org/",
      "languages": {
        "CSS": 245,
        "Ruby": 38224,
        "Astro": 91994,
        "Kotlin": 97031,
        "PLpgSQL": 4659,
        "JavaScript": 2146,
        "TypeScript": 182923
      },
      "pushed_at": "2026-07-21T10:58:17Z",
      "created_at": "2025-06-06T14:38:35Z",
      "owner_type": "Organization",
      "updated_at": "2026-07-21T12:45:11Z",
      "description": "A Repository for React Native Pre-Built Artifacts",
      "is_archived": false,
      "is_disabled": false,
      "license_spdx": null,
      "default_branch": "main",
      "license_spdx_raw": null,
      "primary_language": "TypeScript",
      "significant_languages": [
        "TypeScript",
        "Kotlin",
        "Astro"
      ]
    },
    "owner": {
      "blog": "https://swmansion.com",
      "name": "Software Mansion",
      "type": "Organization",
      "login": "software-mansion",
      "company": null,
      "location": "Kraków, Poland",
      "followers": 1604,
      "avatar_url": "https://avatars.githubusercontent.com/u/56880679?v=4",
      "created_at": "2019-10-22T13:58:01Z",
      "is_verified": null,
      "public_repos": 59,
      "account_age_days": 2464
    },
    "license": {
      "state": "absent",
      "spdx_id": null,
      "raw_spdx": null,
      "file_present": false,
      "scorecard_found": false,
      "profile_has_license": false
    },
    "activity": {
      "releases": [],
      "recent_commits": [
        {
          "oid": "d4af2edf88e5932f53d8ad4f64db5386dbe1091d",
          "body": "## 📝 Description\n\nDue to failing jobs:\n-\nhttps://github.com/software-mansion/rnrepo/actions/runs/29537171571/job/87751132245",
          "is_bot": false,
          "headline": "update npm version to 24 (#417)",
          "author_name": "Radosław Rolka",
          "author_login": "radoslawrolka",
          "committed_at": "2026-07-17T09:00:20Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "6a8f8bb5382672a69457bdf43fed30ff1f72350a",
          "body": "## 📝 Description\n\n- @rnrepo/build-tools@0.2.1\n- @rnrepo/expo-config-plugin@0.3.5\n\n> Note changelog for @rn/bt will be added after merging entry from #415",
          "is_bot": false,
          "headline": "release 0.2.1 and 0.3.5 (#416)",
          "author_name": "Radosław Rolka",
          "author_login": "radoslawrolka",
          "committed_at": "2026-07-16T21:44:33Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "c241fa195e88836c08d5b32f8fe7be69eb84ca76",
          "body": "## 📝 Description\n\nnew reanimated versions, remove unnecessary patch version in\nlibraries.json\n\n-\nhttps://docs.swmansion.com/react-native-worklets/docs/guides/compatibility\n-\nhttps://docs.swmansion.com/react-native-reanimated/docs/guides/compatibility/\n\n---------\n\nCo-authored-by: Copilot Autofix powered by AI <175728472+Copilot@users.noreply.github.com>",
          "is_bot": false,
          "headline": "Update reanimated and worklets compatibility (#414)",
          "author_name": "Radosław Rolka",
          "author_login": "radoslawrolka",
          "committed_at": "2026-07-16T21:40:22Z",
          "body_truncated": false,
          "is_coding_agent": true
        },
        {
          "oid": "78649d112259cb9d9d60fd4056a5319c98590e3a",
          "body": "## 📝 Description\n\nIt was set as found after first try, not after a successful try",
          "is_bot": false,
          "headline": "Set RN version as found only when it was found (#415)",
          "author_name": "Radosław Rolka",
          "author_login": "radoslawrolka",
          "committed_at": "2026-07-16T21:38:25Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "f597517072a2a8c4fedd44d32183a9e1c71ef872",
          "body": "## 📝 Description\n\nFixes #412",
          "is_bot": false,
          "headline": "Update fingerprint pattern in docs (#413)",
          "author_name": "Radosław Rolka",
          "author_login": "radoslawrolka",
          "committed_at": "2026-07-15T09:21:51Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "5e0bb28c17eb18800b950cb68c1fb6e762772b12",
          "body": "## 📝 Description\n\navoid failures like:\n```\nShellError: Failed with exit code 1\n exitCode: 1,\n   stdout: \"\",\n   stderr: \"npm error code ETARGET\\nnpm error notarget No matching version found for react-native-worklets@0.10.2 with a date before 7/5/2026, 12:20:15 PM.\\nnpm error notarget In most cases yo\n[…]\ngs/2026-07-09T12_20_15_394Z-debug-0.log\\n\",\n```\n> rnworklets were released 12h ago, so 4days-min-age failed\n\nsource:\nhttps://github.com/software-mansion/rnrepo/actions/runs/29012220481/job/86098364112",
          "is_bot": false,
          "headline": "dont schedule libs newer than min-release-age (#410)",
          "author_name": "Radosław Rolka",
          "author_login": "radoslawrolka",
          "committed_at": "2026-07-10T10:09:29Z",
          "body_truncated": true,
          "is_coding_agent": false
        },
        {
          "oid": "8ce37a77a76f6a92e4f1b09d296f3793e33d9445",
          "body": "## 📝 Description\n\nChange image source to local file in README - updated image in #403",
          "is_bot": false,
          "headline": "Change image source to local file in README (#411)",
          "author_name": "Radosław Rolka",
          "author_login": "radoslawrolka",
          "committed_at": "2026-07-10T09:30:20Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "e9cac889292360cf92a0ad39b02d9a3cf944cd2c",
          "body": "## 📝 Description\n\nThis reverts commit 4bf26c483f99bcdf9279c28a0ca0f9632f2a3c9d.\n\nreverts #405\n\nversions used from:\nhttps://www.npmjs.com/package/react-native-screens#:~:text=x%20branch.-,Support%20for%20Fabric,-Fabric%20is%20React",
          "is_bot": false,
          "headline": "Revert \"disable building screens until merging the fix (#405)\" (#407)",
          "author_name": "Radosław Rolka",
          "author_login": "radoslawrolka",
          "committed_at": "2026-07-09T11:52:54Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "868b9e09e3fd367c75387c4313e8df33fcc6069b",
          "body": "## 📝 Description\n\ncircular dependency in android with `evaluationDependsOn(':app')` also\nremoving the artifacts\n\nFixes #408",
          "is_bot": false,
          "headline": "remove @notifee/react-native (#409)",
          "author_name": "Radosław Rolka",
          "author_login": "radoslawrolka",
          "committed_at": "2026-07-09T10:35:25Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "4bf26c483f99bcdf9279c28a0ca0f9632f2a3c9d",
          "body": "## 📝 Description\n\n- issue in https://github.com/software-mansion/rnrepo/issues/376\n- Fix in\nhttps://github.com/software-mansion/react-native-screens/pull/4224\n\nRevert of this commit in\nhttps://github.com/software-mansion/rnrepo/pull/406",
          "is_bot": false,
          "headline": "disable building screens until merging the fix (#405)",
          "author_name": "Radosław Rolka",
          "author_login": "radoslawrolka",
          "committed_at": "2026-07-06T13:41:35Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "dfab364117d16dfbf9f90f783dfe5146a24ffbd9",
          "body": "## 📝 Description\n\nremove beta label from readme png",
          "is_bot": false,
          "headline": "remove beta label from readme png (#403)",
          "author_name": "Radosław Rolka",
          "author_login": "radoslawrolka",
          "committed_at": "2026-07-06T13:41:26Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "01adc86bfbcb631f100ea53bca778b399d5dd9fe",
          "body": "## 📝 Description\n\nremove rn <0.81 since codegen builds will fail for those\n\n## 🧪 Testing\n\npatch is successfully applied for all react-native@>=0.81 versions.\n```\n PATCH COMPATIBILITY RESULTS\nRN VERSION    RESULT\n──────────────────────────────────\n0.77.3        ✗ patch mismatch\n0.78.3        ✗ patch \n[…]\natch\n0.81.0        ✓\n0.81.1        ✓\n0.81.4        ✓\n0.81.5        ✓\n0.81.6        ✓\n0.82.0        ✓\n0.82.1        ✓\n0.83.0        ✓\n0.83.1        ✓\n0.83.2        ✓\n0.83.4        ✓\n0.84.0        ✓\n```",
          "is_bot": false,
          "headline": "remove non-codegen RN versions: <0.81  (#402)",
          "author_name": "Radosław Rolka",
          "author_login": "radoslawrolka",
          "committed_at": "2026-07-06T13:41:17Z",
          "body_truncated": true,
          "is_coding_agent": false
        },
        {
          "oid": "cb7dee19b9ce3ccd0204e68ca7c504227f9d38b2",
          "body": "## 📝 Description\n\nMinor to 0.2.0 since this introduces the codegen usage for android\npackages\n- @rnrepo/expo-config-plugin@0.3.4\n- @rnrepo/build-tools@0.2.0",
          "is_bot": false,
          "headline": "bump versions before release (#400)",
          "author_name": "Radosław Rolka",
          "author_login": "radoslawrolka",
          "committed_at": "2026-07-03T13:46:25Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "1f0ca2174b9616a02a19de29427e02cbec95a7a3",
          "body": "## 📝 Description\n\nWhen 2 labels were added at same time ci ignored one of them because of\nonly last even was processed so only one platform was launched.\n```\n... contains(fromJSON('[\"build-ios\", \"build-expo\"]'), github.event.label.name)). \n                                                            \n[…]\ngithub.event.label.name` was kept in checker job to avoid triggering\nbuilds when other label is added, like \"bug\" etc\n\nLogic stays the same and changes are only for pr checks for dev, not\nuser-facing.",
          "is_bot": false,
          "headline": "fix ci example builds when 2 labels are added at the same time (#401)",
          "author_name": "Radosław Rolka",
          "author_login": "radoslawrolka",
          "committed_at": "2026-07-03T12:44:30Z",
          "body_truncated": true,
          "is_coding_agent": false
        },
        {
          "oid": "c141d21b1cfa6e6b25518804417ecb7e0ca5a942",
          "body": "## 📝 Description\n\n~~180 builds will be scheduled~~\n\nWAIT UNTIL RNAA migrate to worklets stable api to schedule the builds\nI have released one version to maven with request of specific\nRN+RNWorklets+RNAA so i want to keep the plugins compatible with that\nversion\n\nchanges:\n- integration with worklets \n[…]\n\n\n- tested app on ios/android and worked with \n  - rn@0.85.3\n  - rnaa@0.12.2\n  - with expo@56\n  - worklets@0.9.1 (from sources) and from prebuild\n  - examples from docs (with worklets and without too)",
          "is_bot": false,
          "headline": "support react-native-audio-api in plugins (#399)",
          "author_name": "Radosław Rolka",
          "author_login": "radoslawrolka",
          "committed_at": "2026-07-03T12:34:34Z",
          "body_truncated": true,
          "is_coding_agent": false
        },
        {
          "oid": "7fdaeeb56f71b013f715769b9ca8d9a2a80f54d3",
          "body": "## 📝 Description\n\nexpo@+55/56 enables gamma, so we need to build that too",
          "is_bot": false,
          "headline": "build react-native-screens with gamma=true (#398)",
          "author_name": "Radosław Rolka",
          "author_login": "radoslawrolka",
          "committed_at": "2026-07-03T12:32:25Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "33b58954a36d8db734db2fdda7482b89c46aee96",
          "body": "## 📝 Description\n\nPR adding codegen artifacts (static libs and headers) as parts of\nlibrary `.aar` and implementing:\n- packing all of it to `.aar`\n- unpacking them in client project\n- linking them instead of building them from source by:\n- removing library occurences from `Android-autolinking.cmake`\n[…]\n.81.6        ✓\n0.82.0        ✓\n0.82.1        ✓\n0.83.0        ✓\n0.83.1        ✓\n0.83.2        ✓\n0.83.4        ✓\n0.84.0        ✓\n```\n\n---------\n\nCo-authored-by: Radosław Rolka <radoslaw.rolka@gmail.com>",
          "is_bot": false,
          "headline": "feat: codegen in android packages (#206)",
          "author_name": "Wojciech Lewicki",
          "author_login": "WoLewicki",
          "committed_at": "2026-06-30T14:14:44Z",
          "body_truncated": true,
          "is_coding_agent": false
        },
        {
          "oid": "8481b5645d9aa337c54abfa54ba4b1c045d73096",
          "body": "## 📝 Description\n\nSome rows show no versions supported due to selector bug\n\n## 🧪 Testing\n\nastro build with DB auth for fetching data, before:\n<img width=\"735\" height=\"605\" alt=\"Zrzut ekranu 2026-06-26 o 17 39 43\"\nsrc=\"https://github.com/user-attachments/assets/497599ad-21d9-4474-b717-1a30d2ad7a88\"\n/>\n\nafter there are libs listed",
          "is_bot": false,
          "headline": "fix missing/empty rows in supportedLibraries (#397)",
          "author_name": "Radosław Rolka",
          "author_login": "radoslawrolka",
          "committed_at": "2026-06-29T09:36:48Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "74969b682436c692f7dbd3b80ab2637dba2f3b5b",
          "body": "## 📝 Description\n\nUpgrade Xcode if needed: Xcode 26.4 is required to compile a native iOS\nproject. For EAS Build and Workflows, profiles without any specified\nimage will default to Xcode 26.4.\n- source: https://expo.dev/changelog/sdk-56#tool-version-bumps\n- failed build:\nhttps://github.com/software-\n[…]\nm taking\nthe latest 26.3, which also fixes the issue\n\n## 🧪 Testing\n\n- failed build:\nhttps://github.com/software-mansion/rnrepo/actions/runs/28091482981/job/83170331566\n- passed build on this pr checks",
          "is_bot": false,
          "headline": "bump xcode 26.1 -> 26.3 (#395)",
          "author_name": "Radosław Rolka",
          "author_login": "radoslawrolka",
          "committed_at": "2026-06-24T11:01:27Z",
          "body_truncated": true,
          "is_coding_agent": false
        },
        {
          "oid": "09ddd4df4adaa282ad9a7fffcc91694ae42f9383",
          "body": "## 📝 Description\n\nNo more build floods should appear, so no need to use extra runners\n\nintroduced in #291",
          "is_bot": false,
          "headline": "Return to GH macOS runners (#394)",
          "author_name": "Radosław Rolka",
          "author_login": "radoslawrolka",
          "committed_at": "2026-06-24T10:15:56Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "0f50e949e247a339cbb43ddad0f962666c13673c",
          "body": "## 📝 Description\n\nbump versions before release\n- @rnrepo/build-tools@0.1.6\n- @rnrepo/expo-config-plugin@0.3.3",
          "is_bot": false,
          "headline": "bump versions before release (#386)",
          "author_name": "Radosław Rolka",
          "author_login": "radoslawrolka",
          "committed_at": "2026-06-23T13:51:15Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "e0bdb07f5ba485bf9dd668f932684e3d4a2a4881",
          "body": "## 📝 Description\n\nAdding `allowList` support to both the Android Gradle plugin and iOS\nCocoaPods plugin as a complement to the existing `denyList`.\n\nWhen a project has many dependencies but only wants a subset prebuilt,\n`denyList` required listing every excluded package manually. The new\n`allowList`\n[…]\nError - RNRepo: Both 'denyList' and 'allowList' are configured\nfor iOS in rnrepo.config.json. Please use only one of them.\n    ```\n\n---------\n\nCo-authored-by: Radosław Rolka <radoslaw.rolka@gmail.com>",
          "is_bot": false,
          "headline": "feat: add allowList support for iOS and Android (#383)",
          "author_name": "lxr-mwhite",
          "author_login": "lxr-mwhite",
          "committed_at": "2026-06-23T13:45:56Z",
          "body_truncated": true,
          "is_coding_agent": false
        },
        {
          "oid": "8f67ec83b4dd6fd1c0e6178065dc7bdad1606ff8",
          "body": "… (#393)\n\n## 📝 Description\n\nWith removed metadata the top-level functions will not be resolved when\naar is consumed.\n- Top-level functions in nitro-modules that caused error:\n-\nhttps://github.com/mrousavy/nitro/blob/main/packages/react-native-nitro-modules/android/src/main/java/com/margelo/nitro/cor\n[…]\npo-modules-core@56.0.17\n      - ❓ @expo/log-box@56.0.13\n      - ❓ expo-constants@56.0.18\n      - ❓ expo@56.0.12\n      - ❓ react-native-reanimated@4.3.1\n      - ❓ react-native-nitro-image@0.15.1\n   ```",
          "is_bot": false,
          "headline": "Dont remove `META-INF/` and `*.kotlin_module` files when building AAR…",
          "author_name": "Radosław Rolka",
          "author_login": "radoslawrolka",
          "committed_at": "2026-06-23T13:36:37Z",
          "body_truncated": true,
          "is_coding_agent": false
        },
        {
          "oid": "d5f6b11e666fe028d8f0686b71e8c137f1dcd1eb",
          "body": "## 📝 Description\n\nAdded support for:\n- react-native-quick-crypto\n-\nhttps://www.npmjs.com/package/react-native-quick-crypto?activeTab=versions\n  - only for <1.0.0 since later versions uses nitro\n  - #382\n- @sentry/react-native\n- https://www.npmjs.com/package/@sentry/react-native?activeTab=versions\n  \n[…]\nvents@2.2.0\n  - ```\n✅ Successfully built AAR for react-native-calendar-events@2.2.0 with RN\n0.85.0\n✅ Successfully built static XCFramework for\nreact-native-calendar-events@2.2.0 with RN 0.85.0\n    ```",
          "is_bot": false,
          "headline": "Support new libs (#388)",
          "author_name": "Radosław Rolka",
          "author_login": "radoslawrolka",
          "committed_at": "2026-06-23T11:05:59Z",
          "body_truncated": true,
          "is_coding_agent": false
        },
        {
          "oid": "bea61a6ff071532f2f27355cca4c3502c9e7aecf",
          "body": "## 📝 Description\n\nAllow libs with license format `(<l1> AND <l2>)` to be builded (mmkv had\nthat case)\n- checks license field in package.json (like previously)\n- if grep (<l1> AND <l2>)\n  - checks if both licenses are supported\n    - it true, then builds and adds to .pom file both licenses \n\nI haven'\n[…]\nBSD-3-Clause-Clear, BSD-2-Clause. You can configure a custom license with MD5 hash verification in libraries.json.\n```\nafter\n```\n✅ Successfully built AAR for react-native-mmkv@3.3.0 with RN 0.83.0\n```",
          "is_bot": false,
          "headline": "support licenses in other SPDX format (#387)",
          "author_name": "Radosław Rolka",
          "author_login": "radoslawrolka",
          "committed_at": "2026-06-22T09:35:46Z",
          "body_truncated": true,
          "is_coding_agent": false
        },
        {
          "oid": "ecc0561ad4cc1a773fc91bdfac1632f90d5f08c2",
          "body": "## 📝 Description\n\nFix a YAML syntax typo in the issue template. Since GitHub doesn't\nprovide a template preview, I had to verify the fix in a fork.\n\nFixes #377\n\n## 🧪 Testing\n\n**Before:** The Bug issue template did not appear in the \"New Issue\"\ndialog.\n\n**After:** The Bug issue template is displayed correctly again.",
          "is_bot": false,
          "headline": "fix typo in bug-issue-template (#390)",
          "author_name": "Radosław Rolka",
          "author_login": "radoslawrolka",
          "committed_at": "2026-06-22T09:31:13Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "a4f5b1a470afa090143f9f35c11c3772fd2fca5a",
          "body": "## 📝 Description\n\nMany unuseful info and very annoying to fill when reporting",
          "is_bot": false,
          "headline": "simplify issue reports templates (#377)",
          "author_name": "Radosław Rolka",
          "author_login": "radoslawrolka",
          "committed_at": "2026-06-22T09:00:49Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "8b61c889326de0e625655c14ea04e3870c7a4398",
          "body": "## 📝 Description\n\nRN does the same. This fixes `@notifee/react-native` ios building.\n\nRCA was the `bun.Glob` that returns files in different order than `npx\nreact-native config` so to make it reliable it will use same tools as RN\nproject.\n\npod install output:\n```\n...\nlink_native_modules! {:ios_packa\n[…]\nlibrary-ios.ts @notifee/react-native 9.1.8 0.85.0 /tmp/temp_notifee\n...\n📱 Building library pod: RNNotifee\n...\n✅ Successfully built static XCFramework for @notifee/react-native@9.1.8 with RN 0.85.0\n```",
          "is_bot": false,
          "headline": "find podspec via `npx react-native config` (#389)",
          "author_name": "Radosław Rolka",
          "author_login": "radoslawrolka",
          "committed_at": "2026-06-22T08:45:16Z",
          "body_truncated": true,
          "is_coding_agent": false
        },
        {
          "oid": "d9ea9ac64608b700dda2f80a8b9dc6e1626818c9",
          "body": "## Summary\n\nFix RNRepo prebuild dependency substitution so package names are matched\nexactly instead of by substring.\n\nThis prevents packages with shared Gradle-name prefixes from being\nsubstituted to the wrong prebuilt artifact. One concrete case is React\nNative Firebase: `react-native-firebase_app\n[…]\n\nApp Check correctly:\n```\nproject :react-native-firebase_app-check -> org.rnrepo.public:react-native-firebase_app-check:23.8.8\n```\n\n---------\n\nCo-authored-by: Radosław Rolka <radoslaw.rolka@gmail.com>",
          "is_bot": false,
          "headline": "Fix RNRepo prebuild substitution prefix matching (#385)",
          "author_name": "Oskar Pawica",
          "author_login": "pawicao",
          "committed_at": "2026-06-16T13:44:40Z",
          "body_truncated": true,
          "is_coding_agent": false
        },
        {
          "oid": "cab8793828abf98fdc9323524f9bc06199ec90c5",
          "body": "## 📝 Description\n\nbump packages before release and bump expo ci version \n\n## 🎯 Type of Change\n\n- [x] 📚 Documentation update",
          "is_bot": false,
          "headline": "release build-tools@0.1.5 & expo-config-plugin@0.3.2 (#359)",
          "author_name": "Radosław Rolka",
          "author_login": "radoslawrolka",
          "committed_at": "2026-06-12T13:28:06Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "75a2384327006dea0415c9f0e8c3030cfb1f24ce",
          "body": "## 📝 Description\n\nRelocate the primary cache directory from node_modules/.rnrepo-cache to:\n- default:  ~/.rnrepo-cache/ \n- proviede in rnrepo.config.json[\"xcframeworksCacheDir\"]:\n\"/path/to/cache\"\n- disabled caching via rnrepo.config.json[\"xcframeworksCacheDir\"]: \"\" |\nnull\n\nso it can be cached by runner CI.\n\n#334 \n\n## 🎯 Type of Change\n\n- [x] ✨ New feature (non-breaking change which adds functionality)",
          "is_bot": false,
          "headline": "Move xcframework cache to project level (#338)",
          "author_name": "Radosław Rolka",
          "author_login": "radoslawrolka",
          "committed_at": "2026-06-12T13:15:59Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "930597f56af7770cb56d14f3fdcb3d0f69f0d1da",
          "body": "## 📝 Description\n\nMoves the concurrency group and cancel-in-progress flag from the\nindividual Android build job to the global workflow scope.\n\nThis fixes a race condition where newer commits were being canceled\ninstead of older ones due to the `needs: check-changes` dependency. Now,\nthe entire previ\n[…]\n\n  - hash: 8575dc89a2ae574c5a8c6ac330b586c8558fd396 \n  - pushed when previous build was running\n  - ci on this commit were cancelled (concurrency) - wrong\n    - ci old commit was not cancelled - wrong",
          "is_bot": false,
          "headline": "move concurrency configuration to global workflow level (#370)",
          "author_name": "Radosław Rolka",
          "author_login": "radoslawrolka",
          "committed_at": "2026-06-12T12:53:45Z",
          "body_truncated": true,
          "is_coding_agent": false
        },
        {
          "oid": "666f9bb15dbf1d9fc0b973d1bbe335c8421a8c5d",
          "body": "## 📝 Description\n\n- rngh@3.0.0 have introduced the Compatibility with React Native\nversions:\n-\nhttps://docs.swmansion.com/react-native-gesture-handler/docs/fundamentals/installation\n- worklets 0.7.4 have rn@0.84 \n- compatibility.json: \"react-native\": [\"0.79\", \"0.80\", \"0.81\", \"0.82\",\n\"0.83\", \"0.84\"]",
          "is_bot": false,
          "headline": "update rngh libraries (#375)",
          "author_name": "Radosław Rolka",
          "author_login": "radoslawrolka",
          "committed_at": "2026-06-12T12:53:25Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "7587796b1551b8007b82daeeeeaea5c228798cd3",
          "body": "…ods objects (#373)\n\n## 📝 Description\n\nFixes #362.\n\nOn iOS, the cocoapods plugin injects an `[AA RUN FIRST] RNREPO Build\nStart` shell-script build phase into every prebuilt pod target during\n`post_install`. Those phases were created with\n`target.new_shell_script_build_phase`, which mints UUIDs throu\n[…]\noutside rnrepo's\ncontrol and can't ship on a useful timeline; the right scope for this PR\nis for rnrepo to stop being the trigger.\n\n---------\n\nCo-authored-by: Radosław Rolka <radoslaw.rolka@gmail.com>",
          "is_bot": false,
          "headline": "fix(ios): mint RNREPO build-phase UUIDs without colliding with CocoaP…",
          "author_name": "Konrad Armatys",
          "author_login": "konrad-armatys",
          "committed_at": "2026-06-12T12:45:50Z",
          "body_truncated": true,
          "is_coding_agent": false
        },
        {
          "oid": "4ed353282315fa76c41c536590c59988dc45dea3",
          "body": "…C++ dependency check) (#372)\n\n⚠️ This was generated by a LLM ⚠️\n## Summary\n\nFixes #371.\n\nOn debug builds, the C++ dependency compatibility check registered in\n`gradle.projectsEvaluated` iterated `PACKAGES_WITH_CPP.keys` with a\n`parallelStream()`. `checkDependencies` then realizes each subproject's\n\n[…]\nlogs. On plugin 0.2.2 the same loop failed ~40% of runs\nwith the NPE above.\n\n---------\n\nCo-authored-by: Claude Fable 5 <noreply@anthropic.com>\nCo-authored-by: Radosław Rolka <radoslaw.rolka@gmail.com>",
          "is_bot": false,
          "headline": "Fix intermittent \"collector is null\" NPE in debug builds (sequential …",
          "author_name": "Camille Barneaud",
          "author_login": "gadcam",
          "committed_at": "2026-06-12T11:49:50Z",
          "body_truncated": true,
          "is_coding_agent": true
        },
        {
          "oid": "8575dc89a2ae574c5a8c6ac330b586c8558fd396",
          "body": "## 📝 Description\n\nSwitches the build configuration detection mechanism from matching the\n`$CONFIGURATION` name to checking `$GCC_PREPROCESSOR_DEFINITIONS` for\n`DEBUG=1`.\n\nMatching solely on `$CONFIGURATION == \"Debug\"` is unreliable because\nprojects often define custom build configurations (e.g., \"St\n[…]\nh\n\n$ npx expo run:ios --configuration Custom.re\n...\n$ realpath node_modules/react-native-worklets/.rnrepo-cache/Current/dummy.h\n.../node_modules/react-native-worklets/.rnrepo-cache/Release/dummy.h\n```",
          "is_bot": false,
          "headline": "Detect debug configuration using GCC preprocessor definitions (#367)",
          "author_name": "Radosław Rolka",
          "author_login": "radoslawrolka",
          "committed_at": "2026-06-11T13:22:12Z",
          "body_truncated": true,
          "is_coding_agent": false
        },
        {
          "oid": "033bcc45f0c28c6dab59f0d021c957c67c5aeeec",
          "body": "## 📝 Description\n\n2.25.0 and +3.0.0 builds failed due to patch applying failures. Only\ndiffs in .patch files are single lines:\n```\n$ diff react-native-gesture-handler.patch react-native-gesture-handler_2.25.0.patch\n\n62c62\n< @@ -1,65 +1,14 @@\n---\n> @@ -1,67 +1,14 @@\n95c95,97\n< -    fun isSvgElement(v\n[…]\nt-native-gesture-handler_3.0.0.patch\n\n29c29\n<\n---\n>\n36,38c36,38\n<\n<              if (isNewArchitectureEnabled()) {\n<                  srcDirs += 'fabric/src/main/java'\n---\n>          }\n>      }\n>\n\n```",
          "is_bot": false,
          "headline": "fix rngh patch for 2.25.0 and +3.0.0 (#364)",
          "author_name": "Radosław Rolka",
          "author_login": "radoslawrolka",
          "committed_at": "2026-06-11T13:22:00Z",
          "body_truncated": true,
          "is_coding_agent": false
        },
        {
          "oid": "a2c1e2e2aa2b0deaf528cdea3aa0fcae0cf273eb",
          "body": "## 📝 Description\n\nreduce unused pr template",
          "is_bot": false,
          "headline": "delete pr 'type of change' template (#365)",
          "author_name": "Radosław Rolka",
          "author_login": "radoslawrolka",
          "committed_at": "2026-06-11T13:21:37Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "67ba32657885084ebb33da601bf65316cf9e5640",
          "body": "## 📝 Description\n\nCloses #360\n\n## 🧪 Testing\n\n```\nbun run build-library-android.ts react-native-gesture-handler 24.1.0 0.83.6 /tmp/TEMP_fire_conf\n...\n✅ Successfully built AAR for @react-native-firebase/remote-config@24.1.0 with RN 0.83.6\n```",
          "is_bot": false,
          "headline": "add support for @react-native-firebase/remote-config (#366)",
          "author_name": "Radosław Rolka",
          "author_login": "radoslawrolka",
          "committed_at": "2026-06-11T13:21:26Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "3f368e1c522ba2b2bacc98c47387ca189bee0d1e",
          "body": "## 🚀 React Native Version Update\n\nThis PR updates the React Native versions list with newly released\nversions.\n\n_This is an automated PR generated by the daily version check workflow._\n\n## Testing\n\nTested app\n```\nnpx @react-native-community/cli@latest init AwesomeProject_860 --version 0.86.0\n```\n\nWi\n[…]\n debug and release builds on both android and ios\n\n---------\n\nCo-authored-by: radoslawrolka <128408457+radoslawrolka@users.noreply.github.com>\nCo-authored-by: Radosław Rolka <radoslaw.rolka@gmail.com>",
          "is_bot": true,
          "headline": "[BOT] Update React Native versions (#369)",
          "author_name": "github-actions[bot]",
          "author_login": "github-actions[bot]",
          "committed_at": "2026-06-10T11:35:44Z",
          "body_truncated": true,
          "is_coding_agent": false
        },
        {
          "oid": "0f251fe2d17444fa04b9193e96d74b416bbeebd4",
          "body": "## 📝 Description\n\nFixes #351.\n\nThe CocoaPods post-install hook currently injects an ExpoModulesCore\nmodule map path that assumes the prebuilt RNWorklets framework is named\n`RNWorklets.framework`. `react-native-worklets` packages the inner\nframework as `worklets.framework`, so the generated path poin\n[…]\ndulesCore should receive the module map flag pointing at the\nactual framework name inside the RNWorklets XCFramework intermediate.\n\n---------\n\nCo-authored-by: Radosław Rolka <radoslaw.rolka@gmail.com>",
          "is_bot": false,
          "headline": "fix: resolve worklets framework module map (#352)",
          "author_name": "lmlm",
          "author_login": "popsiclelmlm",
          "committed_at": "2026-06-03T12:51:07Z",
          "body_truncated": true,
          "is_coding_agent": false
        },
        {
          "oid": "d43f12344129cd7cf30de9f4faeaae0b2a58d8be",
          "body": "## 📝 Description\n\nUpdate reanimated-worklets versions like defined:\n-\nhttps://docs.swmansion.com/react-native-reanimated/docs/guides/compatibility\n-\nhttps://docs.swmansion.com/react-native-worklets/docs/guides/compatibility/\n\n## 🎯 Type of Change\n\n- [x] 🧩 New library support",
          "is_bot": false,
          "headline": "update reanimated@4.4 and worklets@0.9 relations (#356)",
          "author_name": "Radosław Rolka",
          "author_login": "radoslawrolka",
          "committed_at": "2026-06-02T11:08:43Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "00b19e5a4588321216d1a0f31d2fac958d16bae6",
          "body": "## 📝 Description\n\nFix ogimage path for better preview in e.g. twitter posts (before was\nblank image, now should provided image appear)\n\n## 🎯 Type of Change\n\n- [x] 📚 Documentation update",
          "is_bot": false,
          "headline": "Fix og-image path for twitter (#357)",
          "author_name": "Radosław Rolka",
          "author_login": "radoslawrolka",
          "committed_at": "2026-06-02T10:53:23Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "d84f3ed91864a84556672aa5372f004c705e8c06",
          "body": "## 📝 Description\n\nAdds banners to the readme. They are currently hidden.",
          "is_bot": false,
          "headline": "Add readme banners (#353)",
          "author_name": "Paweł Małecki",
          "author_login": "p-malecki",
          "committed_at": "2026-06-02T10:32:56Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "1979d191fccc3ee14bed4bbd27da99414ed53f33",
          "body": "## 📝 Description\n\nReduce unnecessary builds runs for prs that change comments or minor\nstuff.\n\n#### Code explanation\n\n```\n  check-changes:\n\n    # this allows to run jobs on main-push and workflow_dispatch or non-draft PRs \n    if: github.event_name != 'pull_request' || !github.event.pull_request.dra\n[…]\nt_name == 'pull_request' && contains(fromJSON('[\"build-android\", \"build-expo\"]'), github.event.label.name))\n```\n\n## 🎯 Type of Change\n\n- [x] ✨ New feature (non-breaking change which adds functionality)",
          "is_bot": false,
          "headline": "trigger builds only when PR is labeled (#343)",
          "author_name": "Radosław Rolka",
          "author_login": "radoslawrolka",
          "committed_at": "2026-05-22T14:18:38Z",
          "body_truncated": true,
          "is_coding_agent": false
        },
        {
          "oid": "f9935368bda264fdf36db87053dad53283513643",
          "body": "## 📝 Description\n\n\n\n\nRemove iOS support for `react-native-permissions`\n\n`react-native-permissions` requires all used permissions to be\nexplicitly configured during `pod install`, which makes it impossible to\nprebuild and distribute all possible permission permutations.\n\nIncluding all permission hand\n[…]\nen.\n\nExample runtime crash:\n\n```text\nThis app has crashed because it attempted to access privacy-sensitive data without a usage description.\n```\n\n#347\n\n## 🎯 Type of Change\n\n- [x] 🧩 New library support",
          "is_bot": false,
          "headline": "remove support for iOS in `react-native-permissions` (#349)",
          "author_name": "Radosław Rolka",
          "author_login": "radoslawrolka",
          "committed_at": "2026-05-22T11:41:44Z",
          "body_truncated": true,
          "is_coding_agent": false
        },
        {
          "oid": "ce4482b86bc983b4a24d361be6ccb58245a872a8",
          "body": "## 📝 Description\n\n7d is not a vaild option (but was mentioned in\n[article](https://www.armorcode.com/blog/defending-against-npm-supply-chain-attacks-a-practical-guide)).\njust '7' is still refering to elapsed days, so no functional changes\nhere. This caused issues in packages publishing:\n-\nhttps://gi\n[…]\n/rnrepo/actions/runs/26230821967/job/77190410179\n\ndocs: https://docs.npmjs.com/cli/v11/using-npm/config#min-release-age\n\n## 🎯 Type of Change\n\n- [x] 🐛 Bug fix (non-breaking change which fixes an issue)",
          "is_bot": false,
          "headline": "exclude @rnrepo libs from 7 days npm limit (#350)",
          "author_name": "Radosław Rolka",
          "author_login": "radoslawrolka",
          "committed_at": "2026-05-22T09:20:30Z",
          "body_truncated": true,
          "is_coding_agent": false
        },
        {
          "oid": "9540d97948e24ece8f32bb31ce4407844bd5c05b",
          "body": "## 📝 Description\n\nBump versions before release:\n- @rnrepo/build-tools@0.1.4\n- @rnrepo/expo-config-plugin@0.3.1\n\nAnd remove any `beta` labels in docs/website\n\n## 🎯 Type of Change\n\n- [x] 📚 Documentation update",
          "is_bot": false,
          "headline": "bump versions before release and removed beta labels (#344)",
          "author_name": "Radosław Rolka",
          "author_login": "radoslawrolka",
          "committed_at": "2026-05-21T13:55:16Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "2000f5d22fedafb98451f10c5c297a7c7b2b3eed",
          "body": "## 📝 Description\n\nbuild ts code before running it. it was failing in some ci runs:\n```\nPluginError: Unable to resolve a valid config plugin for @rnrepo/expo-config-plugin.\n• main export of @rnrepo/expo-config-plugin does not appear to be a config plugin: the following error was thrown when importing\n[…]\n/runner/work/rnrepo/rnrepo/packages/expo-config-plugin/app.plugin.js: Cannot find module './build/withRNRepoPlugin'\n```\n\n## 🎯 Type of Change\n\n- [x] 🐛 Bug fix (non-breaking change which fixes an issue)",
          "is_bot": false,
          "headline": "ci: build plugin before using in project (#342)",
          "author_name": "Radosław Rolka",
          "author_login": "radoslawrolka",
          "committed_at": "2026-05-21T12:03:47Z",
          "body_truncated": true,
          "is_coding_agent": false
        },
        {
          "oid": "a0a99963a6e544c565d82aaa10ad2e99c9a3ce5a",
          "body": "## 📝 Description\n\nPorts the Android `stripVersionToCore` fix from #147 to the CocoaPods\nplugin. `react-native-tvos` versions like `0.83.2-0` were being passed\nthrough unchanged when building prebuilt artifact URLs, producing 404s\non the rnrepo server (the published artifacts use the core form\n`rn0.8\n[…]\n fall back to source.\n3. **After:** plugin requests `…-rn0.83.2-…xcframework.zip` → prebuilt\nframeworks are downloaded and cached.\n\n---------\n\nCo-authored-by: Radosław Rolka <radoslaw.rolka@gmail.com>",
          "is_bot": false,
          "headline": "Support react-native-tvos on iOS (#345)",
          "author_name": "Konrad Armatys",
          "author_login": "konrad-armatys",
          "committed_at": "2026-05-21T11:57:55Z",
          "body_truncated": true,
          "is_coding_agent": false
        },
        {
          "oid": "7c6ef0a5ebe4f85d1f1a234ffd5b8c22ac21fd09",
          "body": "## 📝 Description\n\nThe iOS Cocoapods plugin loaded `rnrepo.config.json` from the directory\none level above the Podfile (i.e. the package root). That works in a\nsingle-app project where the config sits next to the `ios/` folder, but\nin a monorepo where the config lives at the repo root (alongside hois\n[…]\n rnrepo.config.json from\n<repo-root>/rnrepo.config.json` followed by `⊘ Denied from pre-builds\n(...)` listing the denied packages.\n\n---------\n\nCo-authored-by: Radosław Rolka <radoslaw.rolka@gmail.com>",
          "is_bot": false,
          "headline": "Support global rnrepo.config.json on iOS (#346)",
          "author_name": "Konrad Armatys",
          "author_login": "konrad-armatys",
          "committed_at": "2026-05-21T11:57:34Z",
          "body_truncated": true,
          "is_coding_agent": false
        },
        {
          "oid": "9c6022de99875cfc4fe1947c418c6e604ec3b719",
          "body": "## 📝 Description\n\nFix important issues created by cli tool `zizmor`\n\nChanges:\n- added timeouts\n- added concurrency blocks\n- added permissions blocks\n- added persist-credentials false in checkout\n- changed actions usage based on tags (like `v4`) to commits SHA (and\nverified with pinact cli)\n- changed inserting input to command to providing input as env flag\n\n## 🎯 Type of Change\n\n- [x] ⚡ Performance improvement",
          "is_bot": false,
          "headline": "CI hardening (#341)",
          "author_name": "Radosław Rolka",
          "author_login": "radoslawrolka",
          "committed_at": "2026-05-21T08:42:49Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "dcb5223584cc791d984e1d0d83b893743b04474d",
          "body": "## 📝 Description\n\nsecurity feature\n\n## 🎯 Type of Change\n\n- [x] ⚡ Performance improvement\n\n---------\n\nCo-authored-by: Copilot Autofix powered by AI <175728472+Copilot@users.noreply.github.com>",
          "is_bot": false,
          "headline": "use min-release-age=7d in .npmrc (#340)",
          "author_name": "Radosław Rolka",
          "author_login": "radoslawrolka",
          "committed_at": "2026-05-19T12:48:02Z",
          "body_truncated": false,
          "is_coding_agent": true
        },
        {
          "oid": "84015a4a859d50a4214b7c69c86b29dbc49ee709",
          "body": "## 📝 Description\n\nIn rare cases, some build settings are defined as arrays, which can\ncause rnrepo to fail with\n\n```\n[!] An error occurred while processing the post-install hook of the Podfile.\n\nno implicit conversion of String into Array\n\n<>/node_modules/@rnrepo/build-tools/cocoapods-plugin/lib/plugin.rb:443:in 'Array#+'\n```\n\n## 🎯 Type of Change\n\n- [x] 🐛 Bug fix (non-breaking change which fixes an issue)\n\n---------\n\nCo-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>",
          "is_bot": false,
          "headline": "Handle Xcode settings in both array and string formats. (#330)",
          "author_name": "Radosław Rolka",
          "author_login": "radoslawrolka",
          "committed_at": "2026-05-19T12:00:24Z",
          "body_truncated": false,
          "is_coding_agent": true
        },
        {
          "oid": "e37acc81f5206b3e7b4bb50384aea8c086297a45",
          "body": "## 📝 Description\n\nBuild expo and rn apps to check if everything works. Build for both\nAndroid and iOS and both Debug and Release.\n\n## 🎯 Type of Change\n\n- [x] 🧪 Test addition/modification\n\n## 🧪 Testing\n\nworkflow CI passes",
          "is_bot": false,
          "headline": "run expo and rn app building in CI (#335)",
          "author_name": "Radosław Rolka",
          "author_login": "radoslawrolka",
          "committed_at": "2026-05-19T11:56:30Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "96397136609535b9ebb433bf610423865b8a6752",
          "body": "## 📝 Description\n\nold reanimated issue in ci\n\n## 🎯 Type of Change\n\n- [x] ✨ New feature (non-breaking change which adds functionality)",
          "is_bot": false,
          "headline": "new known-issues to workflow (#331)",
          "author_name": "Radosław Rolka",
          "author_login": "radoslawrolka",
          "committed_at": "2026-05-19T11:55:40Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "fa5ddda035460c4c45081868e9517660e4c1d772",
          "body": "## 📝 Description\n\nreduce the number of replicated log lines\n\n## 🎯 Type of Change\n\n- [x] ⚡ Performance improvement",
          "is_bot": false,
          "headline": "resolve gradle maven repositories just once (#337)",
          "author_name": "Radosław Rolka",
          "author_login": "radoslawrolka",
          "committed_at": "2026-05-19T11:52:40Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "7ca8ce8049452d382b1a06afbd665dae7f6b8716",
          "body": "## 🚀 React Native Version Update\n\nThis PR updates the React Native versions list with newly released\nversions.\n\n_This is an automated PR generated by the daily version check workflow._\n\nCo-authored-by: radoslawrolka <128408457+radoslawrolka@users.noreply.github.com>",
          "is_bot": true,
          "headline": "[BOT] Update React Native versions (#332)",
          "author_name": "github-actions[bot]",
          "author_login": "github-actions[bot]",
          "committed_at": "2026-05-07T08:17:30Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "540f098f5a2394c3bcff2689063685c47ee1bd69",
          "body": "## 📝 Description\n\nRelease:\n- support for EMC\n- new reanimated@+4.3.0 support\n- incorporated maven url into plugin\n\n## Tested\n\n- Projects: \n    - `$ npx create-expo-app@latest --template default@sdk-54 my-app-54`\n    - `$ npx create-expo-app@latest --template default@sdk-55 my-app-55`\n- `$ npx @react\n[…]\n - / ✅ / -\n    - react-native@0.84:\n        - android: ✅ / - / ✅ / ✅ / -\n        - ios: - / - / ✅ / ✅ / -\n    - react-native@0.85:\n        - android: ✅ / - / ✅ / - / -\n        - ios: - / ✅ / ✅ / - / -",
          "is_bot": false,
          "headline": "bump versions before release (#325)",
          "author_name": "Radosław Rolka",
          "author_login": "radoslawrolka",
          "committed_at": "2026-04-30T12:50:46Z",
          "body_truncated": true,
          "is_coding_agent": false
        },
        {
          "oid": "d4bced3c2ebdb182187a8464b29826aebe94f034",
          "body": "…328)\n\n## 📝 Description\n\nFor example, inside a react-native-reanimated repository itself symlinks\nto react-native-reanimated package exist in `node_modules`, while the\nactual source is located in `packages/` - this results in\nreact-native-gesture-handler builded from sources due to the illusionary\na\n[…]\n_modules` from package's absolute path\n- changed `allprojects` to `subprojects` to exclude app's gradle project\nfrom being tried to be substituted\n\n## 🎯 Type of Change\n\n- [x] ⚡ Performance improvement",
          "is_bot": false,
          "headline": "Allow packages to be resolved from locations beyond `node_modules` (#…",
          "author_name": "Radosław Rolka",
          "author_login": "radoslawrolka",
          "committed_at": "2026-04-30T12:42:44Z",
          "body_truncated": true,
          "is_coding_agent": false
        },
        {
          "oid": "35e4619c7a45804fc407b0c5a84e4b8d976bc2df",
          "body": "## 📝 Description\n\nIn `mvn deploy-file`, the `-packaging` argument was not used in version\n3.1.2 (bug) which was fixed in later versions (currently worklfow uses\n3.1.4). apache/maven-deploy-plugin/issues/576\n\nIt caused the iOS artifacts to be deployed with various extensions:\n- old and wrong: `<artif\n[…]\nns/runs/25053999050\n- publish:\nhttps://github.com/software-mansion/rnrepo/actions/runs/25054114005\n- artifacts:\nhttps://packages.rnrepo.org/snapshots/org/rnrepo/public/react-native-firebase_app/23.5.0",
          "is_bot": false,
          "headline": "lock the mvn cli version used in publisher (#327)",
          "author_name": "Radosław Rolka",
          "author_login": "radoslawrolka",
          "committed_at": "2026-04-30T09:30:26Z",
          "body_truncated": true,
          "is_coding_agent": false
        },
        {
          "oid": "54df3e6ca7ac503eb097bb19c944145c8de4ae00",
          "body": "## 🚀 React Native Version Update\n\nThis PR updates the React Native versions list with newly released\nversions.\n\n_This is an automated PR generated by the daily version check workflow._\n\nCo-authored-by: radoslawrolka <128408457+radoslawrolka@users.noreply.github.com>",
          "is_bot": true,
          "headline": "[BOT] Update React Native versions (#326)",
          "author_name": "github-actions[bot]",
          "author_login": "github-actions[bot]",
          "committed_at": "2026-04-28T09:51:54Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "891a4df233fa5b420e4e8b773e170b30cb8a4a50",
          "body": "## 📝 Description\n\nAdd another new issues to catch\n\n## 🎯 Type of Change\n\n- [x] ⚡ Performance improvement\n\n---------\n\nCo-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>",
          "is_bot": false,
          "headline": "add new issue to failed builds (#323)",
          "author_name": "Radosław Rolka",
          "author_login": "radoslawrolka",
          "committed_at": "2026-04-28T09:51:33Z",
          "body_truncated": false,
          "is_coding_agent": true
        },
        {
          "oid": "6c20a6fa9d7c39456f264efa3105fc9edcefabb1",
          "body": "## 📝 Description\n\n\nhttps://docs.swmansion.com/react-native-reanimated/docs/guides/compatibility/\n\nwith new react-native version reanimated constraints have to be adjusted\nto avoid failed builds\n\n## 🎯 Type of Change\n\n- [x] ♻️ Refactoring (no functional changes)",
          "is_bot": false,
          "headline": "range reanimated@4.2.x versions (#324)",
          "author_name": "Radosław Rolka",
          "author_login": "radoslawrolka",
          "committed_at": "2026-04-28T09:51:21Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "2d55715081117eec89df0af95f2f8c9c7d0a8373",
          "body": "## 🚀 React Native Version Update\n\nThis PR updates the React Native versions list with newly released\nversions.\n\n_This is an automated PR generated by the daily version check workflow._\n\nCo-authored-by: radoslawrolka <128408457+radoslawrolka@users.noreply.github.com>",
          "is_bot": true,
          "headline": "[BOT] Update React Native versions (#322)",
          "author_name": "github-actions[bot]",
          "author_login": "github-actions[bot]",
          "committed_at": "2026-04-23T09:29:47Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "96e6125f46219f75abac01aeca7db4fa9d7a52db",
          "body": "## 📝 Description\n\n- updated docs (removed mentions about adding `allprojects {repositories\n{ url ...}}}`\n- updated tests\n- added `project.uri(\"https://packages.rnrepo.org/releases\")` inside\ngradle plugin\n- troubleshooting added when project have `FAIL_ON_PROJECT_REPOS`\n\n## 🎯 Type of Change\n\n- [x] ✨ New feature (non-breaking change which adds functionality)",
          "is_bot": false,
          "headline": "Incorporate maven url inside gradle plugin (#270)",
          "author_name": "Radosław Rolka",
          "author_login": "radoslawrolka",
          "committed_at": "2026-04-17T09:25:02Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "5eca316bc4ca193be7b01f9eb92318beb8960312",
          "body": "## 🚀 React Native Version Update\n\nThis PR updates the React Native versions list with newly released\nversions.\n\n_This is an automated PR generated by the daily version check workflow._\n\nCo-authored-by: radoslawrolka <128408457+radoslawrolka@users.noreply.github.com>",
          "is_bot": true,
          "headline": "[BOT] Update React Native versions (#320)",
          "author_name": "github-actions[bot]",
          "author_login": "github-actions[bot]",
          "committed_at": "2026-04-17T09:22:06Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "50fe7d2ee9acc1cda6746885c2eb0e7d214b7bf5",
          "body": "## 📝 Description\n\nPod install failed when worklets were installed as a peer dependency\n\nI’d avoid tying this to the old `workletsVersion` approach in\n`libraries.json`, since that was a reanimated-specific addition for its\nbuild process. Now that reanimated has been decoupled from worklets,\nthat field is likely to be removed in the future\n\n## 🎯 Type of Change\n\n- [x] 🐛 Bug fix (non-breaking change which fixes an issue)",
          "is_bot": false,
          "headline": "Add explicit worklets installation for reanimated@4.3.0+ (#319)",
          "author_name": "Radosław Rolka",
          "author_login": "radoslawrolka",
          "committed_at": "2026-04-16T14:43:20Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "fdce3d5c9fd94749a8c57839d80d8b310ff0c52c",
          "body": "## 🚀 React Native Version Update\n\nThis PR updates the React Native versions list with newly released\nversions.\n\n_This is an automated PR generated by the daily version check workflow._\n\n## 0.85.0 changes\n\n- add new version to react-native-versions list (0.85.0)\n- install proper reanimated version fo\n[…]\n1\",\n    \"react-native-screens\": \"4.24.0\"\n  },\n```\n\n---------\n\nCo-authored-by: radoslawrolka <128408457+radoslawrolka@users.noreply.github.com>\nCo-authored-by: Radosław Rolka <radoslaw.rolka@gmail.com>",
          "is_bot": true,
          "headline": "[BOT] Update React Native versions (#311)",
          "author_name": "github-actions[bot]",
          "author_login": "github-actions[bot]",
          "committed_at": "2026-04-16T08:04:29Z",
          "body_truncated": true,
          "is_coding_agent": false
        },
        {
          "oid": "8893bcaa6ed5dc9b5a0beea2d72c8f9b2556eb82",
          "body": "## 📝 Description\n\n- add skia unbuildable issue with source-link\n- run script with write flag\n- add gradle9.0.0 issue \n- add type 'expired' for builds with unavailable logs\n- changed type 'unknown' to ' pending' for unchecked builds\n- type 'unknown' means checked but not recognized the issue\n\n## 🎯 Type of Change\n\n- [x] ⚡ Performance improvement\n\n---------\n\nCo-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>",
          "is_bot": false,
          "headline": "Add more types to failed builds investigation (#315)",
          "author_name": "Radosław Rolka",
          "author_login": "radoslawrolka",
          "committed_at": "2026-04-15T10:50:07Z",
          "body_truncated": false,
          "is_coding_agent": true
        },
        {
          "oid": "c72877da1dc18eb47599e5b2de18a9b3f6ba3684",
          "body": "## 📝 Description\n\nWith the release of `react-native-reanimated@4.3.0`, the library\nintroduced a stable API that eliminates the need for version-specific\nbuilds tied to `react-native-worklets`. Previously, the tooling built a\nfull variant matrix tied to specific worklets classifiers - this is no\nlong\n[…]\nd for `>=4.3.0`.\n- Both the Gradle and CocoaPods plugins were updated to skip worklets\nresolution entirely when reanimated `>= 4.3.0` is detected.\n\n## 🎯 Type of Change\n\n- [x] ⚡ Performance improvement",
          "is_bot": false,
          "headline": "Remove worklets classifier from reanimated (#317)",
          "author_name": "Radosław Rolka",
          "author_login": "radoslawrolka",
          "committed_at": "2026-04-15T10:07:43Z",
          "body_truncated": true,
          "is_coding_agent": false
        },
        {
          "oid": "1d8b66f9fef02d5cf269bf62cc3f8c2119f75965",
          "body": "## 📝 Description\n\nadd new lib #310 \n\n## 🎯 Type of Change\n\n- [x] 🧩 New library support\n\n## 🧪 Testing\n\nbuilding artifacts\n```\n$ bun run packages/builder/build-library-android.ts -- \"@op-engineering/op-sqlite\" \"15.2.11\" \"0.84.0\" \"TEMP_android_opsqlite_15_2_11_rn_0_84_0\" \"\"\n# ✅ Successfully built AAR fo\n[…]\nneering/op-sqlite\" \"15.2.11\" \"0.84.0\" \"TEMP_ios_opsqlite_15_2_11_rn_0_84_0\" \"\"\n# ✅ Successfully built static XCFramework for @op-engineering/op-sqlite@15.2.11 with RN 0.84.0 \n```\n\nbuilding app - works",
          "is_bot": false,
          "headline": "add @op-engineering/op-sqlite (#318)",
          "author_name": "Radosław Rolka",
          "author_login": "radoslawrolka",
          "committed_at": "2026-04-15T09:36:05Z",
          "body_truncated": true,
          "is_coding_agent": false
        },
        {
          "oid": "32685b41e2641de22a36fbc85251344ca555d24a",
          "body": "## 📝 Description\n\nThe script automates the investigation of build failures.\n\n**Note:** This may require adding a new database column to track which\nbuilds are unbuildable ?\n\n## 🎯 Type of Change\n\n- [x] ✨ New feature (non-breaking change which adds functionality)\n\n## 🧪 Testing\n\nexample:\n```\nSUPABASE_K\n[…]\n URL        -> 2\n   Unknown issue            -> 2\n   Errors                   -> 0\n   Retry=true builds before -> 0\n```\n\n---------\n\nCo-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>",
          "is_bot": false,
          "headline": "add failed builds investigation (#297)",
          "author_name": "Radosław Rolka",
          "author_login": "radoslawrolka",
          "committed_at": "2026-04-09T11:38:47Z",
          "body_truncated": true,
          "is_coding_agent": true
        },
        {
          "oid": "ff124beb0b35887bbb58048c465f9fa5d59c2833",
          "body": "## 📝 Description\n\nError:\n\nhttps://github.com/software-mansion/rnrepo/actions/runs/23974928810/job/69930351126\n```\nUncaught Error CocoaPodsError: Command `pod install` failed.\\n\n```\n\nPod install is not used in building emc and cannot be 'turn off', so it\nwill be handled in a catch\n\nexpo;\nhttps://gith\n[…]\nks the builds,\nwhich also was fixed\n\n## 🎯 Type of Change\n\n\n- [x] 🐛 Bug fix (non-breaking change which fixes an issue)\n\n## 🧪 Testing\n\nhttps://github.com/software-mansion/rnrepo/actions/runs/24179629969",
          "is_bot": false,
          "headline": "fix failing ci during pod install on ubuntu runners (#313)",
          "author_name": "Radosław Rolka",
          "author_login": "radoslawrolka",
          "committed_at": "2026-04-09T10:36:42Z",
          "body_truncated": true,
          "is_coding_agent": false
        },
        {
          "oid": "0b36b88658ef886d9a6cf26042d094fccf053393",
          "body": "## 📝 Description\n\nReanimated builds were failing due to installation of the newest\nworklets possible from peer deps, but sometimes such version was not\navailable in given rn version\n\n```\nnpm error Could not resolve dependency:\nnpm error peer react-native@\"0.81 - 0.85\" from react-native-worklets@0.8.\n[…]\n\n\n```\n$ bun run packages/builder/build-library-android.ts -- \"react-native-reanimated\" \"4.1.7\" \"0.80.0\" \"/tmp\" \"0.5.1\"\n...\n✅ Successfully built AAR for react-native-reanimated@4.1.7 with RN 0.81.4\n```",
          "is_bot": false,
          "headline": "Install worklets first (#312)",
          "author_name": "Radosław Rolka",
          "author_login": "radoslawrolka",
          "committed_at": "2026-04-09T09:11:30Z",
          "body_truncated": true,
          "is_coding_agent": false
        },
        {
          "oid": "9d5f9ffcdd38ba95e8272a1c5b6ac1d13ab88971",
          "body": "## 📝 Description\n\nCreate caching RN project in builder for each rn_version and OS.\n- added in yamls creating clean RN project (nodes installed, no build\nartifacts from previous builds)\n- if work-dir provided to script already have rnrepo_build_app then its\ncached project (always happens on CI)\n- if \n[…]\n build\n- workflow:\nhttps://github.com/software-mansion/rnrepo/actions/runs/24077312315\n- use that cache in another build\n- workflow:\nhttps://github.com/software-mansion/rnrepo/actions/runs/24077495031",
          "is_bot": false,
          "headline": "builder - cache rn project (#254)",
          "author_name": "Radosław Rolka",
          "author_login": "radoslawrolka",
          "committed_at": "2026-04-07T11:14:21Z",
          "body_truncated": true,
          "is_coding_agent": false
        },
        {
          "oid": "635c7e003ff0ebf9899db54d1fed835376ec0096",
          "body": "## 📝 Description\n\nRevert limiting scheduler to 50 builds in #279 since we have selfhosted\nmacOS already.",
          "is_bot": false,
          "headline": "Revert limiting scheduler to 50 builds in #279 (#308)",
          "author_name": "Radosław Rolka",
          "author_login": "radoslawrolka",
          "committed_at": "2026-04-02T15:01:29Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "9c1309351c312f9d789dcee34e50dfb86469fafe",
          "body": "## 📝 Description\n\nPrebuild expo-modules-core for Android only in release builds\n\nbuilding from >20k last-week builds (reduced build number from 78 to 59)\n\n## 🎯 Type of Change\n\n- [x] 🧩 New library support\n\n## 🧪 Testing\n\n- project\n  - `npx create-expo-app@latest init my-app --template default@sdk-55`\n\n[…]\n \"RN\" \"0.83.2\"\n  - \"expo-modules-core\" \"55.0.14\" \"RN\" \"0.83.1\"\n- expo@54\n  - \"expo-modules-core\" \"3.0.29\" \"RN\" \"0.81.5\"\n\n---------\n\nCo-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>",
          "is_bot": false,
          "headline": "Prebuild expo-modules-core for Android (#301)",
          "author_name": "Radosław Rolka",
          "author_login": "radoslawrolka",
          "committed_at": "2026-04-02T11:31:33Z",
          "body_truncated": true,
          "is_coding_agent": true
        },
        {
          "oid": "0886e4910b44be8da204972407d716e4dc114ff4",
          "body": "## 📝 Description\n\nAdd guide to find the problematic package in xcode16 errors\n\n## 🎯 Type of Change\n\n- [x] 📚 Documentation update\n\n---------\n\nCo-authored-by: Wojciech Lewicki <wojciech.lewicki@swmansion.com>",
          "is_bot": false,
          "headline": "Add guide to find the problematic package in xcode16 errors (#307)",
          "author_name": "Radosław Rolka",
          "author_login": "radoslawrolka",
          "committed_at": "2026-04-02T11:03:51Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "83ec171e120f722a3f75caa85f6d31864e824fd9",
          "body": "## 📝 Description\n\nAdd fingerprint mismatch troubleshooting for ios\n\n## 🎯 Type of Change\n\n- [x] 📚 Documentation update\n\n## Testing\n\n<img width=\"1106\" height=\"241\" alt=\"Zrzut ekranu 2026-04-2 o 12 06 34\"\nsrc=\"https://github.com/user-attachments/assets/9ad6c440-c0c7-4d63-830f-58d17d5d2461\"\n/>\n\n-readme:\n[…]\nthub.com/software-mansion/rnrepo/blob/rolkrado/fingerprints-eas/README.md#expo-prebuild-continuous-code-generation--cng\n\n---------\n\nCo-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>",
          "is_bot": false,
          "headline": "Add fingerprint mismatch troubleshooting for ios (#302)",
          "author_name": "Radosław Rolka",
          "author_login": "radoslawrolka",
          "committed_at": "2026-04-02T11:03:21Z",
          "body_truncated": true,
          "is_coding_agent": true
        },
        {
          "oid": "5a5338110661ece7bed87ccf075d19e5ba0bd080",
          "body": "## 📝 Description\n\nbuild-tools: 0.1.2-beta.0\nexpo-config-plugin: 0.3.0-beta.2\n\n## 🎯 Type of Change\n\n- [x] 📚 Documentation update",
          "is_bot": false,
          "headline": "Publish new package versions (#306)",
          "author_name": "Radosław Rolka",
          "author_login": "radoslawrolka",
          "committed_at": "2026-03-26T15:01:05Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "32739c22595fe190c3c946c682feb6567b0c3a3f",
          "body": "## 📝 Description\n\nFollow-up from the PR that migrated the Gradle plugin to npm.\n\nIt’s redundant since the version is already tracked as an npm package,\nand it required manual bumping and verification before each release.\n\nChanges:\n- [ BREAKING CHANGE ] - changes gradle plugin resolving in project\nfi\n[…]\nfiguration from build.gradle\n(publishing is now handled via npm instead of Maven)\n- Cleaned up redundant test imports in build.gradle\n\n## 🎯 Type of Change\n\n- [x] ♻️ Refactoring (no functional changes)",
          "is_bot": false,
          "headline": "[BREAKING CHANGE] Remove versioning from plugins (#299)",
          "author_name": "Radosław Rolka",
          "author_login": "radoslawrolka",
          "committed_at": "2026-03-26T14:26:17Z",
          "body_truncated": true,
          "is_coding_agent": false
        },
        {
          "oid": "f6989c7dfea9ef4077e720dc9779725b7b69e087",
          "body": "## 📝 Description\n\nThis PR moves iOS builds to self-hosted runners to improve build\nthroughput and reduce queue times. GitHub-hosted runners are limited and\nshared across the entire organization, which was causing delays and\nslowing down CI. The build process itself remains unchanged and the\nrunner e\n[…]\nimprovement\n\n## 🧪 Testing\n\n- https://github.com/software-mansion/rnrepo/actions/runs/22898799632\n- https://github.com/software-mansion/rnrepo/actions/runs/23184874852\n  - successfully used in test app",
          "is_bot": false,
          "headline": "Run iOS builds on self-hosted runners (#291)",
          "author_name": "Radosław Rolka",
          "author_login": "radoslawrolka",
          "committed_at": "2026-03-26T14:21:30Z",
          "body_truncated": true,
          "is_coding_agent": false
        },
        {
          "oid": "380d96d19049f4300df23debea71433f870d6c38",
          "body": "## 📝 Description\n\nNow ios will not have dangling scheduled builds\n\n## 🎯 Type of Change\n\n- [x] ✨ New feature (non-breaking change which adds functionality)\n\n## 🧪 Testing\n\n```\n📊 Done.\n   Checked: 40\n   Completed -> 0\n   Failed    -> 8\n   Skipped   -> 32\n   Errors    -> 0\n\nAFTER:\n\n📊 Done.\n   Checked: 40\n   Completed -> 12\n   Failed    -> 28\n   Skipped   -> 0\n   Errors    -> 0\n\n```\n\n---------\n\nCo-authored-by: Copilot Autofix powered by AI <175728472+Copilot@users.noreply.github.com>",
          "is_bot": false,
          "headline": "Add ios handling in check-build-consistency (#295)",
          "author_name": "Radosław Rolka",
          "author_login": "radoslawrolka",
          "committed_at": "2026-03-25T15:37:04Z",
          "body_truncated": false,
          "is_coding_agent": true
        },
        {
          "oid": "851423c7485000494dd9bb8e09d48c1bd8953c97",
          "body": "## 📝 Description\n\nThere is no warning from plugin.rb since it gets lost among numerous\nother log entries and won’t be noticed anyway.\n\n#290 \n\n## 🎯 Type of Change\n\n- [x] 📚 Documentation update\n\n---------\n\nCo-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>",
          "is_bot": false,
          "headline": "Troubleshooting for xcode16 (#303)",
          "author_name": "Radosław Rolka",
          "author_login": "radoslawrolka",
          "committed_at": "2026-03-25T11:33:08Z",
          "body_truncated": false,
          "is_coding_agent": true
        },
        {
          "oid": "77e42b5ee5823165b771badcf88cfb3714006ad1",
          "body": "## 📝 Description\n\n[worklets] Versioning compatibility from:\nhttps://docs.swmansion.com/react-native-worklets/docs/guides/compatibility/\n[reanimated-3] Versioning compatibility from:\nhttps://docs.swmansion.com/react-native-reanimated/docs/3.x/guides/compatibility\n\n\n## 🎯 Type of Change\n\n- [x] ⚡ Performance improvement",
          "is_bot": false,
          "headline": "Constraint worklets builds (#296)",
          "author_name": "Radosław Rolka",
          "author_login": "radoslawrolka",
          "committed_at": "2026-03-25T11:32:40Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "de82b61d7207e7bc18ff2fe6a5e5b58435ec10f0",
          "body": "## 📝 Description\n\nAvoid building for versions with fewer than 20k downloads in the past\nweek. These are typically new releases that may be quickly replaced by a\npatch fix - until 20 downloads any major issue that would require fixing\nand new patch release should probably be discovered.\n\n```\n{\n  \"pac\n[…]\n: 65227,\n    \"0.83.1\": 219394,\n    \"0.83.2\": 417736,\n    \"0.83.3\": 715,\n    \"0.83.4\": 10672,\n    \"0.84.0\": 111508,\n    \"0.84.1\": 515617,\n  }\n}\n```\n\n## 🎯 Type of Change\n\n- [x] ⚡ Performance improvement",
          "is_bot": false,
          "headline": "Add 20k RN threshold to build (#300)",
          "author_name": "Radosław Rolka",
          "author_login": "radoslawrolka",
          "committed_at": "2026-03-25T11:20:44Z",
          "body_truncated": true,
          "is_coding_agent": false
        },
        {
          "oid": "7ea5963029a94a96b5364e8f34f832a3dbac110c",
          "body": "## 🚀 React Native Version Update\n\nThis PR updates the React Native versions list with newly released\nversions.\n\n_This is an automated PR generated by the daily version check workflow._\n\n---------\n\nCo-authored-by: radoslawrolka <128408457+radoslawrolka@users.noreply.github.com>\nCo-authored-by: Radosław Rolka <radoslaw.rolka@gmail.com>",
          "is_bot": true,
          "headline": "[BOT] Update React Native versions (#284)",
          "author_name": "github-actions[bot]",
          "author_login": "github-actions[bot]",
          "committed_at": "2026-03-24T11:20:09Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "1de3620da91e4c8dc4e8b553ed449b1d02fd788a",
          "body": "## 📝 Description\n\nLint kotlin with spotless tool\n\n## 🎯 Type of Change\n\n- [x] ♻️ Refactoring (no functional changes)",
          "is_bot": false,
          "headline": "lint spotless kotlin (#298)",
          "author_name": "Radosław Rolka",
          "author_login": "radoslawrolka",
          "committed_at": "2026-03-19T15:30:59Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "b7c4c98af41a9b1bafe25686c3fc8df0e3317051",
          "body": "## 📝 Description\n\nAdd changelogs for npm packages\n\n## 🎯 Type of Change\n\n- [x] 📚 Documentation update=",
          "is_bot": false,
          "headline": "Add changelogs for npm packages (#292)",
          "author_name": "Radosław Rolka",
          "author_login": "radoslawrolka",
          "committed_at": "2026-03-19T14:57:50Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "f7369d5d0119b6d6878a9115594ffe17af1cd427",
          "body": "## 📝 Description\n\nReplace the `net/http` with `system(curl, ...)`\n\n## 🎯 Type of Change\n\n- [x] ⚡ Performance improvement\n\n## 🧪 Testing\n\n```\n# success\n[📦 RNRepo] Downloading from https://packages.rnrepo.org/releases/org/rnrepo/public/react-native-safe-area-context/5.7.0/react-native-safe-area-context-\n[…]\nps://packages.rnrepo.org/releases/org/rnrepo/public/react-native-safe-area-context/5.7.0/react-native-safe-area-context-5.7.0-rn0.81.5-debug.zip...\ncurl: (22) The requested URL returned error: 404\n```",
          "is_bot": false,
          "headline": "Replace the `net/http` with `system(curl, ...)` (#293)",
          "author_name": "Radosław Rolka",
          "author_login": "radoslawrolka",
          "committed_at": "2026-03-17T10:39:38Z",
          "body_truncated": true,
          "is_coding_agent": false
        },
        {
          "oid": "cb4260a2ecc839c5a266b67e64f85ba82ca170f4",
          "body": "## 📝 Description\n\n### iOS\n\nin exposdk@55 ExpoModulesCore direct dependency on RNWorklets was added,\nwhich resulted in:\n```\n❌  (node_modules/expo-modules-core/ios/Worklets/WorkletJSCallInvoker.h:10:10)\n\n   8 | #include <ReactCommon/RuntimeExecutor.h>\n   9 |\n> 10 | #include <worklets/WorkletRuntime/Wo\n[…]\nols\": \"<path>/rnrepo/packages/build-tools\",\n# add to app.json plugins\n# # \"@rnrepo/expo-config-plugin\",\nnpx expo install\nnpx expo prebuild\nnpx expo run android\n# success\nnpx expo run ios\n# success\n```",
          "is_bot": false,
          "headline": "emc worklets fix for exposdk@55 (#281)",
          "author_name": "Radosław Rolka",
          "author_login": "radoslawrolka",
          "committed_at": "2026-03-17T09:04:30Z",
          "body_truncated": true,
          "is_coding_agent": false
        },
        {
          "oid": "e7d90fdc624296a6fefeabd75f48e1b1c48043c9",
          "body": "## Summary\n\nThis removes the external dependency on `rubyzip`. Using\n`system(\"unzip\", ...)` is safe here because the code is designed to run\nonly on macOS, where `unzip` is available by default.\n\n## Testing\n```\n[📦 RNRepo] Extracting to /Users/radoslawrolka/BUILDLE_ANDROID/rnrepo/AwesomeProject_UNZIP\n[…]\n #286\n\n---------\n\nCo-authored-by: Claude Opus 4.6 <noreply@anthropic.com>\nCo-authored-by: Radosław Rolka <radoslaw.rolka@gmail.com>\nCo-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>",
          "is_bot": false,
          "headline": "Replace the `rubyzip` dependency with `system(\"unzip\", ...)`. (#287)",
          "author_name": "Insik Han",
          "author_login": "Insik-Han",
          "committed_at": "2026-03-17T08:55:45Z",
          "body_truncated": true,
          "is_coding_agent": true
        },
        {
          "oid": "15d4c85fdf544404b308150cbd7d9f43bbc970d9",
          "body": "## 📝 Description\n\nBatch DB calls in scheduler to pull all builds per whole lib to remove\nwaiting for DB all the time\n\n## 🎯 Type of Change\n\n- [x] ⚡ Performance improvement\n\n## 🧪 Testing\n\nWith unlimited schedules:\n- Before (27min)\n  ```\n  ✅ Done! Scheduled 560 build(s).\n  64,12s user 14,85s system 4% \n[…]\nal\n  ```\n- After (1:30min)\n  ```\n  ✅ Done! Scheduled 559 build(s).\n  2,34s user 0,56s system 3% cpu 1:30,59 total\n  ```\n\n---------\n\nCo-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>",
          "is_bot": false,
          "headline": "Batch DB calls in scheduler (#294)",
          "author_name": "Radosław Rolka",
          "author_login": "radoslawrolka",
          "committed_at": "2026-03-17T08:55:16Z",
          "body_truncated": true,
          "is_coding_agent": true
        },
        {
          "oid": "eba8919e385e16f8d090ff9e5e4c905957f5c385",
          "body": "## 📝 Description\n\nBuilds were failing due to the uncompatible rea-rn versions\n\n```\n  stdout: \"Configuring Pod with statically linked Frameworks\\n\\n[!] Invalid `Podfile` file: \\n[!] Invalid `RNReanimated.podspec` file: [Reanimated] React Native version is not compatible with Reanimated.\\n\\n #  from /\n[…]\ntible with Reanimated 4.1.4\\n\",\n\n      at new ShellPromise (75:16)\n      at BunShell (191:35)\n      at buildLibrary (/Users/runner/work/rnrepo/rnrepo/packages/builder/build-library-ios.ts:282:11)\n\n```",
          "is_bot": false,
          "headline": "Add correct reanimated installation in RNGH builds (#285)",
          "author_name": "Radosław Rolka",
          "author_login": "radoslawrolka",
          "committed_at": "2026-03-06T14:13:16Z",
          "body_truncated": true,
          "is_coding_agent": false
        },
        {
          "oid": "b4c77346990de8f6acc7ef421b6047e1c7444309",
          "body": "## 📝 Description\n\nIssue in hoisted node_modules - `@rnrepo/build-tools` was not resolved\n#274\n\n## 🎯 Type of Change\n\n- [x] 📚 Documentation update",
          "is_bot": false,
          "headline": "Add info about manual installation of @rnrepo/build-tools (#283)",
          "author_name": "Radosław Rolka",
          "author_login": "radoslawrolka",
          "committed_at": "2026-03-06T11:42:21Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "7eeda3cf2c3aff4e8631f401e12dd2c53ebd21f4",
          "body": "## 📝 Description\n\n- avg one build at macos-xlarge = 20min\n- max concurent jobs on macos = 5\n- scheduler cron = every 4h\nSo limit should be (20/60) * 5 * 4 ~= 50 (calculated with advantage to\ninclude failures that takes less time and nighttime with less occupancy)\n\nRevert this change when we have custom macos runner (#280).\n\n## 🎯 Type of Change\n\n- [x] ⚡ Performance improvement",
          "is_bot": false,
          "headline": "schedule 50 builds per scheduler cron (#279)",
          "author_name": "Radosław Rolka",
          "author_login": "radoslawrolka",
          "committed_at": "2026-03-05T13:14:13Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "78b7ee634ec7219345696ff6beb77cc89c146ed1",
          "body": "## 🚀 React Native Version Update\n\nThis PR updates the React Native versions list with newly released\nversions.\n\n_This is an automated PR generated by the daily version check workflow._\n\nCo-authored-by: radoslawrolka <128408457+radoslawrolka@users.noreply.github.com>",
          "is_bot": true,
          "headline": "[BOT] Update React Native versions (#265)",
          "author_name": "github-actions[bot]",
          "author_login": "github-actions[bot]",
          "committed_at": "2026-03-05T12:20:35Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "8deb3f165bca1799339efe466dd2068baff53bf1",
          "body": "## 📝 Description\n\nAdd setup verification guide in troubleshooting.md\n- android:\nhttps://github.com/software-mansion/rnrepo/blob/rolkrado/setup-verification/TROUBLESHOOTING.md#how-to-check-if-the-plugin-works\n- ios (same file, same header name):\nhttps://github.com/software-mansion/rnrepo/blob/rolkrado/setup-verification/TROUBLESHOOTING.md#how-to-check-if-the-plugin-works-1\n\n#276\n\n## 🎯 Type of Change\n\n- [x] 📚 Documentation update",
          "is_bot": false,
          "headline": "Setup verification in troubleshooting (#278)",
          "author_name": "Radosław Rolka",
          "author_login": "radoslawrolka",
          "committed_at": "2026-03-05T10:37:30Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "c54c5b3bed1512c78c444fb9fc37768673f3033e",
          "body": "## 📝 Description\n\n- added firebase/firestore to libraries.json with android config\n- added postinstall script (same as other firebase postinstall scripts)\n\nAdding firebase/firestore to android building list, since we did not\ntest the firestore on ios yet.\n\n#275 \n\n## 🎯 Type of Change\n\n- [x] 🧩 New lib\n[…]\nsks: 44 executed\n✓ Published to Maven Local successfully\n✅ Successfully built AAR for @react-native-firebase/firestore@23.8.6 with RN 0.81.4\n```\nalso builded successfully example rn-app with firestore",
          "is_bot": false,
          "headline": "Add  firebase/firestore to android build list (#277)",
          "author_name": "Radosław Rolka",
          "author_login": "radoslawrolka",
          "committed_at": "2026-03-05T10:34:57Z",
          "body_truncated": true,
          "is_coding_agent": false
        }
      ],
      "releases_count": 0,
      "commits_last_year": 342,
      "latest_release_at": null,
      "latest_release_tag": null,
      "releases_from_tags": false,
      "days_since_last_push": 0,
      "active_weeks_last_year": 40,
      "days_since_latest_release": null,
      "mean_days_between_releases": null
    },
    "community": {
      "has_readme": true,
      "has_license": false,
      "has_description": true,
      "has_contributing": false,
      "health_percentage": 37,
      "has_issue_template": false,
      "has_code_of_conduct": false,
      "has_pull_request_template": true
    },
    "ecosystem": {
      "packages": [
        {
          "name": "@rnrepo/build-tools",
          "exists": true,
          "license": "ISC",
          "keywords": [
            "cocoapods",
            "gradle",
            "react-native",
            "rnrepo",
            "ios",
            "android",
            "plugin",
            "prebuilds",
            "xcframework",
            "aar"
          ],
          "ecosystem": "npm",
          "matches_repo": true,
          "registry_url": "https://www.npmjs.com/package/@rnrepo/build-tools",
          "is_deprecated": false,
          "latest_version": "0.2.1",
          "repository_url": "https://github.com/software-mansion/rnrepo",
          "versions_count": 11,
          "total_downloads": null,
          "dependents_count": null,
          "deprecation_note": null,
          "maintainers_count": 2,
          "monthly_downloads": 89272,
          "first_published_at": "2026-02-25T10:42:48.281000Z",
          "latest_published_at": "2026-07-17T09:04:05.108000Z",
          "latest_version_yanked": null,
          "days_since_latest_publish": 4
        },
        {
          "name": "@rnrepo/expo-config-plugin",
          "exists": true,
          "license": "ISC",
          "keywords": [
            "react-native",
            "expo",
            "config",
            "plugin",
            "prebuilds",
            "rnrepo"
          ],
          "ecosystem": "npm",
          "matches_repo": true,
          "registry_url": "https://www.npmjs.com/package/@rnrepo/expo-config-plugin",
          "is_deprecated": false,
          "latest_version": "0.3.5",
          "repository_url": "https://github.com/software-mansion/rnrepo",
          "versions_count": 15,
          "total_downloads": null,
          "dependents_count": null,
          "deprecation_note": null,
          "maintainers_count": 2,
          "monthly_downloads": 86944,
          "first_published_at": "2025-12-01T10:17:00.871000Z",
          "latest_published_at": "2026-07-17T09:02:02.583000Z",
          "latest_version_yanked": null,
          "days_since_latest_publish": 4
        }
      ]
    },
    "popularity": {
      "forks": 12,
      "stars": 403,
      "watchers": 1,
      "fork_history": {
        "days": [
          {
            "date": "2025-12-04",
            "count": 2
          },
          {
            "date": "2025-12-05",
            "count": 1
          },
          {
            "date": "2025-12-11",
            "count": 1
          },
          {
            "date": "2026-02-05",
            "count": 1
          },
          {
            "date": "2026-03-09",
            "count": 1
          },
          {
            "date": "2026-04-25",
            "count": 1
          },
          {
            "date": "2026-05-29",
            "count": 1
          },
          {
            "date": "2026-05-30",
            "count": 1
          },
          {
            "date": "2026-06-11",
            "count": 1
          },
          {
            "date": "2026-06-16",
            "count": 1
          },
          {
            "date": "2026-07-13",
            "count": 1
          }
        ],
        "complete": true,
        "collected": 12,
        "total_forks": 12
      },
      "star_history": {
        "days": [
          {
            "date": "2025-12-03",
            "count": 61
          },
          {
            "date": "2025-12-04",
            "count": 82
          },
          {
            "date": "2025-12-05",
            "count": 20
          },
          {
            "date": "2025-12-06",
            "count": 4
          },
          {
            "date": "2025-12-07",
            "count": 3
          },
          {
            "date": "2025-12-08",
            "count": 10
          },
          {
            "date": "2025-12-09",
            "count": 2
          },
          {
            "date": "2025-12-10",
            "count": 6
          },
          {
            "date": "2025-12-11",
            "count": 6
          },
          {
            "date": "2025-12-12",
            "count": 11
          },
          {
            "date": "2025-12-13",
            "count": 6
          },
          {
            "date": "2025-12-15",
            "count": 3
          },
          {
            "date": "2025-12-16",
            "count": 1
          },
          {
            "date": "2025-12-17",
            "count": 3
          },
          {
            "date": "2025-12-18",
            "count": 2
          },
          {
            "date": "2025-12-19",
            "count": 2
          },
          {
            "date": "2025-12-20",
            "count": 2
          },
          {
            "date": "2025-12-21",
            "count": 1
          },
          {
            "date": "2025-12-22",
            "count": 2
          },
          {
            "date": "2025-12-25",
            "count": 1
          },
          {
            "date": "2025-12-29",
            "count": 1
          },
          {
            "date": "2025-12-31",
            "count": 3
          },
          {
            "date": "2026-01-02",
            "count": 3
          },
          {
            "date": "2026-01-04",
            "count": 1
          },
          {
            "date": "2026-01-05",
            "count": 3
          },
          {
            "date": "2026-01-06",
            "count": 2
          },
          {
            "date": "2026-01-07",
            "count": 1
          },
          {
            "date": "2026-01-08",
            "count": 2
          },
          {
            "date": "2026-01-12",
            "count": 2
          },
          {
            "date": "2026-01-19",
            "count": 1
          },
          {
            "date": "2026-01-23",
            "count": 2
          },
          {
            "date": "2026-02-01",
            "count": 1
          },
          {
            "date": "2026-02-04",
            "count": 1
          },
          {
            "date": "2026-02-07",
            "count": 1
          },
          {
            "date": "2026-02-08",
            "count": 1
          },
          {
            "date": "2026-02-23",
            "count": 1
          },
          {
            "date": "2026-02-25",
            "count": 1
          },
          {
            "date": "2026-02-27",
            "count": 3
          },
          {
            "date": "2026-02-28",
            "count": 1
          },
          {
            "date": "2026-03-03",
            "count": 12
          },
          {
            "date": "2026-03-04",
            "count": 11
          },
          {
            "date": "2026-03-05",
            "count": 6
          },
          {
            "date": "2026-03-06",
            "count": 3
          },
          {
            "date": "2026-03-07",
            "count": 1
          },
          {
            "date": "2026-03-08",
            "count": 1
          },
          {
            "date": "2026-03-09",
            "count": 2
          },
          {
            "date": "2026-03-10",
            "count": 8
          },
          {
            "date": "2026-03-11",
            "count": 13
          },
          {
            "date": "2026-03-16",
            "count": 1
          },
          {
            "date": "2026-03-17",
            "count": 2
          },
          {
            "date": "2026-03-20",
            "count": 1
          },
          {
            "date": "2026-03-24",
            "count": 1
          },
          {
            "date": "2026-03-26",
            "count": 1
          },
          {
            "date": "2026-03-27",
            "count": 1
          },
          {
            "date": "2026-04-04",
            "count": 1
          },
          {
            "date": "2026-04-12",
            "count": 1
          },
          {
            "date": "2026-04-20",
            "count": 1
          },
          {
            "date": "2026-04-21",
            "count": 2
          },
          {
            "date": "2026-04-22",
            "count": 1
          },
          {
            "date": "2026-05-07",
            "count": 1
          },
          {
            "date": "2026-05-21",
            "count": 6
          },
          {
            "date": "2026-05-23",
            "count": 1
          },
          {
            "date": "2026-05-25",
            "count": 2
          },
          {
            "date": "2026-05-26",
            "count": 1
          },
          {
            "date": "2026-05-28",
            "count": 3
          },
          {
            "date": "2026-05-29",
            "count": 1
          },
          {
            "date": "2026-06-01",
            "count": 23
          },
          {
            "date": "2026-06-02",
            "count": 4
          },
          {
            "date": "2026-06-03",
            "count": 4
          },
          {
            "date": "2026-06-05",
            "count": 4
          },
          {
            "date": "2026-06-06",
            "count": 1
          },
          {
            "date": "2026-06-14",
            "count": 1
          },
          {
            "date": "2026-06-16",
            "count": 1
          },
          {
            "date": "2026-06-17",
            "count": 2
          },
          {
            "date": "2026-06-20",
            "count": 1
          },
          {
            "date": "2026-06-22",
            "count": 3
          },
          {
            "date": "2026-06-23",
            "count": 4
          },
          {
            "date": "2026-06-24",
            "count": 2
          },
          {
            "date": "2026-06-29",
            "count": 3
          },
          {
            "date": "2026-07-02",
            "count": 1
          },
          {
            "date": "2026-07-06",
            "count": 1
          },
          {
            "date": "2026-07-07",
            "count": 1
          },
          {
            "date": "2026-07-08",
            "count": 1
          },
          {
            "date": "2026-07-17",
            "count": 1
          },
          {
            "date": "2026-07-21",
            "count": 1
          }
        ],
        "complete": true,
        "collected": 403,
        "total_stars": 403
      },
      "open_issues_and_prs": 8
    },
    "ai_readiness": {
      "has_nix": false,
      "example_dirs": [],
      "has_llms_txt": false,
      "has_dockerfile": false,
      "has_mcp_signal": false,
      "bootstrap_files": [],
      "api_schema_files": [],
      "has_devcontainer": false,
      "typecheck_configs": [
        "packages/expo-config-plugin/tsconfig.json",
        "packages/website/tsconfig.json",
        "tsconfig.json"
      ],
      "toolchain_manifests": [
        "packages/build-tools/gradle-plugin/build.gradle"
      ],
      "largest_source_bytes": 56925,
      "source_files_sampled": 60,
      "oversized_source_files": 0,
      "agent_instruction_files": [],
      "agent_instruction_max_bytes": null
    },
    "dependencies": {
      "manifests": [
        "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": [
        "npm"
      ],
      "dependencies": [
        {
          "name": "commander",
          "manifest": "package.json",
          "ecosystem": "npm",
          "version_constraint": "^13.1.0"
        },
        {
          "name": "semver",
          "manifest": "package.json",
          "ecosystem": "npm",
          "version_constraint": "^7.7.4"
        },
        {
          "name": "zx",
          "manifest": "package.json",
          "ecosystem": "npm",
          "version_constraint": "^8.6.0"
        },
        {
          "name": "commander",
          "manifest": "packages/builder/package.json",
          "ecosystem": "npm",
          "version_constraint": "^13.1.0"
        },
        {
          "name": "@rnrepo/config",
          "manifest": "packages/builder/package.json",
          "ecosystem": "npm",
          "version_constraint": "workspace:*"
        },
        {
          "name": "zx",
          "manifest": "packages/builder/package.json",
          "ecosystem": "npm",
          "version_constraint": "^8.6.0"
        },
        {
          "name": "@rnrepo/config",
          "manifest": "packages/database/package.json",
          "ecosystem": "npm",
          "version_constraint": "workspace:*"
        },
        {
          "name": "@supabase/supabase-js",
          "manifest": "packages/database/package.json",
          "ecosystem": "npm",
          "version_constraint": "^2.47.0"
        },
        {
          "name": "@expo/config-plugins",
          "manifest": "packages/expo-config-plugin/package.json",
          "ecosystem": "npm",
          "version_constraint": "*"
        },
        {
          "name": "@expo/config-types",
          "manifest": "packages/expo-config-plugin/package.json",
          "ecosystem": "npm",
          "version_constraint": "*"
        },
        {
          "name": "@rnrepo/build-tools",
          "manifest": "packages/expo-config-plugin/package.json",
          "ecosystem": "npm",
          "version_constraint": "0.2.1"
        },
        {
          "name": "@octokit/rest",
          "manifest": "packages/publisher/package.json",
          "ecosystem": "npm",
          "version_constraint": "^22.0.0"
        },
        {
          "name": "@rnrepo/config",
          "manifest": "packages/publisher/package.json",
          "ecosystem": "npm",
          "version_constraint": "workspace:*"
        },
        {
          "name": "@rnrepo/database",
          "manifest": "packages/publisher/package.json",
          "ecosystem": "npm",
          "version_constraint": "workspace:*"
        },
        {
          "name": "commander",
          "manifest": "packages/publisher/package.json",
          "ecosystem": "npm",
          "version_constraint": "^13.1.0"
        },
        {
          "name": "zx",
          "manifest": "packages/publisher/package.json",
          "ecosystem": "npm",
          "version_constraint": "^8.6.0"
        },
        {
          "name": "@octokit/plugin-paginate-rest",
          "manifest": "packages/scheduler/package.json",
          "ecosystem": "npm",
          "version_constraint": "^14.0.0"
        },
        {
          "name": "@octokit/rest",
          "manifest": "packages/scheduler/package.json",
          "ecosystem": "npm",
          "version_constraint": "^22.0.0"
        },
        {
          "name": "@rnrepo/config",
          "manifest": "packages/scheduler/package.json",
          "ecosystem": "npm",
          "version_constraint": "workspace:*"
        },
        {
          "name": "@rnrepo/database",
          "manifest": "packages/scheduler/package.json",
          "ecosystem": "npm",
          "version_constraint": "workspace:*"
        },
        {
          "name": "semver",
          "manifest": "packages/scheduler/package.json",
          "ecosystem": "npm",
          "version_constraint": "^7.7.3"
        },
        {
          "name": "astro",
          "manifest": "packages/website/package.json",
          "ecosystem": "npm",
          "version_constraint": "^4.16.6"
        },
        {
          "name": "lucide-astro",
          "manifest": "packages/website/package.json",
          "ecosystem": "npm",
          "version_constraint": "^0.555.0"
        },
        {
          "name": "shiki",
          "manifest": "packages/website/package.json",
          "ecosystem": "npm",
          "version_constraint": "^3.17.1"
        },
        {
          "name": "@rnrepo/database",
          "manifest": "packages/website/package.json",
          "ecosystem": "npm",
          "version_constraint": "workspace:*"
        }
      ],
      "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": 8,
        "merged_prs": 319,
        "open_issues": 0,
        "closed_ratio": 1,
        "closed_issues": 64,
        "closed_unmerged_prs": 27
      },
      "bus_factor": 1,
      "bot_contributors": 1,
      "top_contributors": [
        {
          "type": "User",
          "login": "radoslawrolka",
          "commits": 250,
          "avatar_url": "https://avatars.githubusercontent.com/u/128408457?v=4"
        },
        {
          "type": "User",
          "login": "kmagiera",
          "commits": 64,
          "avatar_url": "https://avatars.githubusercontent.com/u/726445?v=4"
        },
        {
          "type": "User",
          "login": "CDFN",
          "commits": 11,
          "avatar_url": "https://avatars.githubusercontent.com/u/41289688?v=4"
        },
        {
          "type": "User",
          "login": "sKrzysieK",
          "commits": 7,
          "avatar_url": "https://avatars.githubusercontent.com/u/64040819?v=4"
        },
        {
          "type": "User",
          "login": "konrad-armatys",
          "commits": 5,
          "avatar_url": "https://avatars.githubusercontent.com/u/109459018?v=4"
        },
        {
          "type": "User",
          "login": "mczernek",
          "commits": 3,
          "avatar_url": "https://avatars.githubusercontent.com/u/6090468?v=4"
        },
        {
          "type": "User",
          "login": "WoLewicki",
          "commits": 2,
          "avatar_url": "https://avatars.githubusercontent.com/u/32481228?v=4"
        },
        {
          "type": "User",
          "login": "gadcam",
          "commits": 1,
          "avatar_url": "https://avatars.githubusercontent.com/u/1693643?v=4"
        },
        {
          "type": "User",
          "login": "Insik-Han",
          "commits": 1,
          "avatar_url": "https://avatars.githubusercontent.com/u/63291908?v=4"
        },
        {
          "type": "User",
          "login": "pawicao",
          "commits": 1,
          "avatar_url": "https://avatars.githubusercontent.com/u/34246839?v=4"
        }
      ],
      "contributors_sampled": 14,
      "top_contributor_share": 0.716
    },
    "quality_signals": {
      "has_ci": true,
      "has_tests": true,
      "ci_workflows": [
        "build-example-expo-app.yml",
        "build-example-rn-app.yml",
        "build-library-android.yml",
        "build-library-ios.yml",
        "check-build-consistency.yml",
        "check-failed-builds.yml",
        "daily-react-native-version-check.yml",
        "deploy-website.yml",
        "lint-and-validate.yml",
        "publish-build-tools.yml",
        "publish-expo-config-plugin.yml",
        "publish-library-android.yml",
        "publish-library-ios.yml",
        "run-scheduler.yml"
      ],
      "has_docs_dir": false,
      "linter_configs": [
        ".eslintrc.js"
      ],
      "has_editorconfig": true,
      "has_linter_config": true,
      "has_precommit_config": false
    },
    "security_signals": {
      "lockfiles": [],
      "scorecard": {
        "checks": [
          {
            "name": "Binary-Artifacts",
            "score": 9,
            "reason": "binaries present in source code",
            "documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#binary-artifacts"
          },
          {
            "name": "Branch-Protection",
            "score": 6,
            "reason": "branch protection is not maximal on development and all release branches",
            "documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#branch-protection"
          },
          {
            "name": "CI-Tests",
            "score": 10,
            "reason": "30 out of 30 merged PRs checked by a CI test -- score normalized to 10",
            "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": 10,
            "reason": "all changesets reviewed",
            "documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#code-review"
          },
          {
            "name": "Contributors",
            "score": 10,
            "reason": "project has 7 contributing companies or organizations",
            "documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#contributors"
          },
          {
            "name": "Dangerous-Workflow",
            "score": 0,
            "reason": "dangerous workflow patterns detected",
            "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": 0,
            "reason": "license file not detected",
            "documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#license"
          },
          {
            "name": "Maintained",
            "score": 10,
            "reason": "30 commit(s) and 20 issue activity found in the last 90 days -- score normalized to 10",
            "documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#maintained"
          },
          {
            "name": "Packaging",
            "score": 10,
            "reason": "packaging workflow detected",
            "documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#packaging"
          },
          {
            "name": "Pinned-Dependencies",
            "score": 9,
            "reason": "dependency not pinned by hash detected -- score normalized to 9",
            "documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#pinned-dependencies"
          },
          {
            "name": "SAST",
            "score": 0,
            "reason": "SAST tool is not run on all commits -- score normalized to 0",
            "documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#sast"
          },
          {
            "name": "Security-Policy",
            "score": 0,
            "reason": "security policy file not detected",
            "documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#security-policy"
          },
          {
            "name": "Signed-Releases",
            "score": null,
            "reason": "no releases found",
            "documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#signed-releases"
          },
          {
            "name": "Token-Permissions",
            "score": 0,
            "reason": "detected GitHub workflow tokens with excessive permissions",
            "documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#token-permissions"
          },
          {
            "name": "Vulnerabilities",
            "score": 0,
            "reason": "100 existing vulnerabilities detected",
            "documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#vulnerabilities"
          }
        ],
        "commit": "d4af2edf88e5932f53d8ad4f64db5386dbe1091d",
        "ran_at": "2026-07-22T05:55:08Z",
        "aggregate_score": 4.2,
        "scorecard_version": "v5.5.0"
      },
      "has_codeql_workflow": false,
      "has_security_policy": false,
      "has_dependabot_config": false
    },
    "contribution_flow": {
      "collected": true,
      "ci_last_run_at": "2026-07-22T05:05:13Z",
      "oldest_open_prs": [
        {
          "number": 163,
          "created_at": "2025-12-09T17:27:01Z",
          "last_comment_at": null,
          "last_comment_author": null
        },
        {
          "number": 217,
          "created_at": "2026-01-19T09:25:20Z",
          "last_comment_at": null,
          "last_comment_author": null
        },
        {
          "number": 238,
          "created_at": "2026-01-28T11:14:00Z",
          "last_comment_at": null,
          "last_comment_author": null
        },
        {
          "number": 314,
          "created_at": "2026-04-09T13:49:47Z",
          "last_comment_at": null,
          "last_comment_author": null
        },
        {
          "number": 333,
          "created_at": "2026-05-06T11:51:52Z",
          "last_comment_at": null,
          "last_comment_author": null
        },
        {
          "number": 348,
          "created_at": "2026-05-21T10:55:29Z",
          "last_comment_at": "2026-05-22T13:03:25Z",
          "last_comment_author": "radoslawrolka"
        },
        {
          "number": 396,
          "created_at": "2026-06-26T03:19:47Z",
          "last_comment_at": "2026-07-06T14:38:24Z",
          "last_comment_author": "radoslawrolka"
        },
        {
          "number": 418,
          "created_at": "2026-07-21T11:23:23Z",
          "last_comment_at": null,
          "last_comment_author": null
        }
      ],
      "last_merged_pr_at": "2026-07-17T09:00:20Z",
      "ci_last_conclusion": "SUCCESS",
      "oldest_open_issues": []
    }
  },
  "config": {
    "disabled_metrics": [],
    "disabled_categories": [],
    "disabled_components": {}
  },
  "source": {
    "url": "https://github.com/software-mansion/rnrepo",
    "host": "github.com",
    "name": "rnrepo",
    "owner": "software-mansion"
  },
  "metrics": {
    "overall": {
      "key": "overall",
      "band": "moderate",
      "name": "Overall health",
      "note": null,
      "notes": [],
      "value": 62,
      "inputs": {
        "security": 42,
        "vitality": 56,
        "community": 53,
        "governance": 75,
        "engineering": 76
      },
      "components": []
    },
    "categories": [
      {
        "key": "vitality",
        "band": "moderate",
        "name": "Vitality",
        "value": 56,
        "weight": 0.22,
        "metrics": [
          {
            "key": "development_activity",
            "band": "excellent",
            "name": "Development activity",
            "note": null,
            "notes": [],
            "value": 92,
            "inputs": {
              "commits_last_year": 342,
              "human_commit_share": 0.92,
              "days_since_last_push": 0,
              "active_weeks_last_year": 40
            },
            "components": [
              {
                "key": "push_recency",
                "name": "Push recency",
                "detail": "last push 0 days ago",
                "points": 36,
                "status": "met",
                "details": [
                  {
                    "code": "push_recency",
                    "params": {
                      "days": 0
                    }
                  }
                ],
                "max_points": 36
              },
              {
                "key": "commit_cadence",
                "name": "Commit cadence",
                "detail": "40/52 weeks with commits",
                "points": 27.7,
                "status": "partial",
                "details": [
                  {
                    "code": "commit_cadence_weeks",
                    "params": {
                      "weeks": 40
                    }
                  }
                ],
                "max_points": 36
              },
              {
                "key": "commit_volume",
                "name": "Commit volume",
                "detail": "342 commits in the last year",
                "points": 18,
                "status": "met",
                "details": [
                  {
                    "code": "commits_last_year",
                    "params": {
                      "count": 342
                    }
                  }
                ],
                "max_points": 18
              },
              {
                "key": "openssf_scorecard_maintained",
                "name": "OpenSSF Scorecard: Maintained",
                "detail": "30 commit(s) and 20 issue activity found in the last 90 days -- score normalized to 10",
                "points": 10,
                "status": "met",
                "details": [],
                "max_points": 10
              }
            ]
          },
          {
            "key": "release_discipline",
            "band": "critical",
            "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": 1,
            "inputs": {
              "releases_count": 0
            },
            "components": [
              {
                "key": "ships_releases",
                "name": "Ships releases",
                "detail": "no releases published",
                "points": 0,
                "status": "missed",
                "details": [
                  {
                    "code": "no_releases_published",
                    "params": {}
                  }
                ],
                "max_points": 27
              },
              {
                "key": "release_recency",
                "name": "Release recency",
                "detail": "no releases",
                "points": 0,
                "status": "missed",
                "details": [
                  {
                    "code": "no_releases",
                    "params": {}
                  }
                ],
                "max_points": 36
              },
              {
                "key": "release_cadence",
                "name": "Release cadence",
                "detail": "no releases",
                "points": 0,
                "status": "missed",
                "details": [
                  {
                    "code": "no_releases",
                    "params": {}
                  }
                ],
                "max_points": 27
              },
              {
                "key": "openssf_scorecard_signed_releases",
                "name": "OpenSSF Scorecard: Signed-Releases",
                "detail": "no releases found",
                "points": 0,
                "status": "excluded",
                "details": [
                  {
                    "code": "no_data",
                    "params": {}
                  }
                ],
                "max_points": 10
              }
            ]
          },
          {
            "key": "abandonment",
            "band": "excellent",
            "name": "Abandonment",
            "note": null,
            "notes": [],
            "value": 100,
            "inputs": {
              "cap": null,
              "state": "maintained",
              "guards": [],
              "signals": [],
              "red_flag": false,
              "multiplier_pct": 100,
              "declared_reason": null,
              "unverified_reason": null,
              "unanswered_open_prs": null,
              "unanswered_open_issues": null,
              "days_since_last_merged_pr": null,
              "days_since_last_human_commit": 4,
              "days_since_last_human_commit_is_floor": false
            },
            "components": [
              {
                "key": "project_is_still_maintained",
                "name": "Project is still maintained",
                "detail": "last human commit 4 days ago",
                "points": 100,
                "status": "met",
                "details": [
                  {
                    "code": "abandonment_maintained",
                    "params": {
                      "days": 4
                    }
                  }
                ],
                "max_points": 100
              }
            ]
          }
        ],
        "description": "Is the project alive — is code being written and are releases shipping?"
      },
      {
        "key": "community",
        "band": "moderate",
        "name": "Community & Adoption",
        "value": 53,
        "weight": 0.18,
        "metrics": [
          {
            "key": "popularity",
            "band": "moderate",
            "name": "Popularity & adoption",
            "note": null,
            "notes": [],
            "value": 51,
            "inputs": {
              "forks": 12,
              "stars": 403,
              "watchers": 1,
              "growth_state": "organic",
              "growth_factor_pct": 100
            },
            "components": [
              {
                "key": "stars",
                "name": "Stars",
                "detail": "403 stars",
                "points": 42.2,
                "status": "partial",
                "details": [
                  {
                    "code": "stars",
                    "params": {
                      "count": 403
                    }
                  }
                ],
                "max_points": 60
              },
              {
                "key": "forks",
                "name": "Forks",
                "detail": "12 forks",
                "points": 8.7,
                "status": "partial",
                "details": [
                  {
                    "code": "forks",
                    "params": {
                      "count": 12
                    }
                  }
                ],
                "max_points": 25
              },
              {
                "key": "watchers",
                "name": "Watchers",
                "detail": "1 watchers",
                "points": 0,
                "status": "missed",
                "details": [
                  {
                    "code": "watchers",
                    "params": {
                      "count": 1
                    }
                  }
                ],
                "max_points": 15
              }
            ]
          },
          {
            "key": "community_health",
            "band": "at_risk",
            "name": "Community health",
            "note": null,
            "notes": [],
            "value": 32,
            "inputs": {
              "has_readme": true,
              "has_license": false,
              "has_contributing": false,
              "has_issue_template": false,
              "has_code_of_conduct": false,
              "has_pull_request_template": true
            },
            "components": [
              {
                "key": "readme",
                "name": "README",
                "detail": null,
                "points": 22.5,
                "status": "met",
                "details": [],
                "max_points": 22.5
              },
              {
                "key": "license",
                "name": "License",
                "detail": "no license file detected",
                "points": 0,
                "status": "missed",
                "details": [
                  {
                    "code": "license_absent",
                    "params": {}
                  }
                ],
                "max_points": 22.5
              },
              {
                "key": "contributing_guide",
                "name": "CONTRIBUTING guide",
                "detail": null,
                "points": 0,
                "status": "missed",
                "details": [],
                "max_points": 18
              },
              {
                "key": "code_of_conduct",
                "name": "Code of conduct",
                "detail": null,
                "points": 0,
                "status": "missed",
                "details": [],
                "max_points": 13.5
              },
              {
                "key": "issue_template",
                "name": "Issue template",
                "detail": null,
                "points": 0,
                "status": "missed",
                "details": [],
                "max_points": 7.2
              },
              {
                "key": "pr_template",
                "name": "PR template",
                "detail": null,
                "points": 6.3,
                "status": "met",
                "details": [],
                "max_points": 6.3
              }
            ]
          },
          {
            "key": "ecosystem_adoption",
            "band": "excellent",
            "name": "Ecosystem adoption (downloads)",
            "note": "Excluded from scoring (no data or not applicable): Registry dependents. Remaining weights renormalized.",
            "notes": [
              {
                "code": "excluded_no_data",
                "params": {
                  "components": [
                    "registry_dependents"
                  ]
                }
              },
              {
                "code": "weights_renormalized",
                "params": {}
              }
            ],
            "value": 87,
            "inputs": {
              "packages": [
                "@rnrepo/build-tools",
                "@rnrepo/expo-config-plugin"
              ],
              "dependents": null,
              "ecosystems": "npm",
              "total_downloads": null,
              "monthly_downloads": 176216
            },
            "components": [
              {
                "key": "monthly_downloads",
                "name": "Monthly downloads",
                "detail": "176,216 downloads/month across npm",
                "points": 69.9,
                "status": "partial",
                "details": [
                  {
                    "code": "downloads_monthly",
                    "params": {
                      "count": 176216,
                      "ecosystems": "npm"
                    }
                  }
                ],
                "max_points": 80
              },
              {
                "key": "registry_dependents",
                "name": "Registry dependents",
                "detail": "not reported by this ecosystem",
                "points": 0,
                "status": "excluded",
                "details": [
                  {
                    "code": "not_reported_by_this_ecosystem",
                    "params": {}
                  }
                ],
                "max_points": 20
              }
            ]
          }
        ],
        "description": "Does the project have users, downloads, attention, and a welcoming setup for contributors?"
      },
      {
        "key": "governance",
        "band": "good",
        "name": "Sustainability & Governance",
        "value": 75,
        "weight": 0.24,
        "metrics": [
          {
            "key": "maintainer_resilience",
            "band": "at_risk",
            "name": "Maintainer resilience (bus factor)",
            "note": null,
            "notes": [],
            "value": 39,
            "inputs": {
              "bus_factor": 1,
              "contributors_sampled": 14,
              "top_contributor_share": 0.716
            },
            "components": [
              {
                "key": "bus_factor",
                "name": "Bus factor",
                "detail": "1 contributor(s) cover half of all commits",
                "points": 9,
                "status": "partial",
                "details": [
                  {
                    "code": "bus_factor",
                    "params": {
                      "count": 1
                    }
                  }
                ],
                "max_points": 54
              },
              {
                "key": "commit_distribution",
                "name": "Commit distribution",
                "detail": "top contributor authored 72% of commits",
                "points": 6.4,
                "status": "partial",
                "details": [
                  {
                    "code": "top_contributor_share",
                    "params": {
                      "share": 72
                    }
                  }
                ],
                "max_points": 22.5
              },
              {
                "key": "contributor_breadth",
                "name": "Contributor breadth",
                "detail": "14 contributors",
                "points": 13.5,
                "status": "met",
                "details": [
                  {
                    "code": "contributors_sampled",
                    "params": {
                      "count": 14
                    }
                  }
                ],
                "max_points": 13.5
              },
              {
                "key": "openssf_scorecard_contributors",
                "name": "OpenSSF Scorecard: Contributors",
                "detail": "project has 7 contributing companies or organizations",
                "points": 10,
                "status": "met",
                "details": [],
                "max_points": 10
              }
            ]
          },
          {
            "key": "responsiveness",
            "band": "excellent",
            "name": "Issue & PR responsiveness",
            "note": null,
            "notes": [],
            "value": 97,
            "inputs": {
              "merged_prs": 319,
              "open_issues": 0,
              "closed_issues": 64,
              "issue_closed_ratio": 1,
              "closed_unmerged_prs": 27
            },
            "components": [
              {
                "key": "issue_resolution",
                "name": "Issue resolution",
                "detail": "100% of issues closed",
                "points": 46.8,
                "status": "met",
                "details": [
                  {
                    "code": "issues_closed_share",
                    "params": {
                      "share": 100
                    }
                  }
                ],
                "max_points": 46.75
              },
              {
                "key": "pr_acceptance",
                "name": "PR acceptance",
                "detail": "319/346 decided PRs merged",
                "points": 35.3,
                "status": "partial",
                "details": [
                  {
                    "code": "decided_prs_merged",
                    "params": {
                      "merged": 319,
                      "decided": 346
                    }
                  }
                ],
                "max_points": 38.25
              },
              {
                "key": "openssf_scorecard_code_review",
                "name": "OpenSSF Scorecard: Code-Review",
                "detail": "all changesets reviewed",
                "points": 15,
                "status": "met",
                "details": [],
                "max_points": 15
              }
            ]
          },
          {
            "key": "stewardship",
            "band": "good",
            "name": "Ownership & stewardship",
            "note": null,
            "notes": [],
            "value": 78,
            "inputs": {
              "followers": 1604,
              "owner_type": "Organization",
              "is_verified": null,
              "owner_login": "software-mansion",
              "public_repos": 59,
              "account_age_days": 2464
            },
            "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": "1,604 followers of software-mansion",
                "points": 23,
                "status": "partial",
                "details": [
                  {
                    "code": "owner_followers",
                    "params": {
                      "count": 1604,
                      "login": "software-mansion"
                    }
                  }
                ],
                "max_points": 25
              },
              {
                "key": "track_record",
                "name": "Track record",
                "detail": "59 public repos, account ~6 yr old",
                "points": 24.9,
                "status": "partial",
                "details": [
                  {
                    "code": "public_repos",
                    "params": {
                      "count": 59
                    }
                  },
                  {
                    "code": "account_age_years",
                    "params": {
                      "years": 6
                    }
                  }
                ],
                "max_points": 25
              }
            ]
          },
          {
            "key": "package_maintenance",
            "band": "excellent",
            "name": "Package maintenance",
            "note": null,
            "notes": [],
            "value": 100,
            "inputs": {
              "packages": [
                "@rnrepo/build-tools",
                "@rnrepo/expo-config-plugin"
              ],
              "ecosystems": "npm",
              "any_deprecated": false,
              "min_days_since_publish": 4
            },
            "components": [
              {
                "key": "published_resolvable",
                "name": "Published & resolvable",
                "detail": "2 package(s) on npm",
                "points": 25,
                "status": "met",
                "details": [
                  {
                    "code": "packages_published",
                    "params": {
                      "count": 2,
                      "ecosystems": "npm"
                    }
                  }
                ],
                "max_points": 25
              },
              {
                "key": "publish_recency",
                "name": "Publish recency",
                "detail": "latest publish 4 days ago",
                "points": 35,
                "status": "met",
                "details": [
                  {
                    "code": "publish_recency",
                    "params": {
                      "days": 4
                    }
                  }
                ],
                "max_points": 35
              },
              {
                "key": "version_history",
                "name": "Version history",
                "detail": "15 published versions",
                "points": 20,
                "status": "met",
                "details": [
                  {
                    "code": "published_versions",
                    "params": {
                      "count": 15
                    }
                  }
                ],
                "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": "good",
        "name": "Engineering Quality",
        "value": 76,
        "weight": 0.2,
        "metrics": [
          {
            "key": "engineering_practices",
            "band": "excellent",
            "name": "Engineering practices",
            "note": null,
            "notes": [],
            "value": 90,
            "inputs": {
              "has_ci": true,
              "has_tests": true,
              "has_editorconfig": true,
              "has_linter_config": true,
              "has_precommit_config": false
            },
            "components": [
              {
                "key": "ci_workflows",
                "name": "CI workflows",
                "detail": "14 workflow(s)",
                "points": 24,
                "status": "met",
                "details": [
                  {
                    "code": "ci_workflows",
                    "params": {
                      "count": 14
                    }
                  }
                ],
                "max_points": 24
              },
              {
                "key": "tests_present",
                "name": "Tests present",
                "detail": null,
                "points": 24,
                "status": "met",
                "details": [],
                "max_points": 24
              },
              {
                "key": "linter_config",
                "name": "Linter config",
                "detail": ".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": "30 out of 30 merged PRs checked by a CI test -- score normalized to 10",
                "points": 20,
                "status": "met",
                "details": [],
                "max_points": 20
              }
            ]
          },
          {
            "key": "documentation",
            "band": "moderate",
            "name": "Documentation",
            "note": null,
            "notes": [],
            "value": 55,
            "inputs": {
              "topics": [],
              "has_wiki": false,
              "homepage": "http://rnrepo.org/",
              "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": "http://rnrepo.org/",
                "points": 15,
                "status": "met",
                "details": [],
                "max_points": 15
              },
              {
                "key": "repository_description",
                "name": "Repository description",
                "detail": null,
                "points": 10,
                "status": "met",
                "details": [],
                "max_points": 10
              },
              {
                "key": "topics",
                "name": "Topics",
                "detail": null,
                "points": 0,
                "status": "missed",
                "details": [],
                "max_points": 10
              },
              {
                "key": "wiki",
                "name": "Wiki",
                "detail": null,
                "points": 0,
                "status": "missed",
                "details": [],
                "max_points": 10
              }
            ]
          }
        ],
        "description": "Are baseline engineering and documentation practices in place?"
      },
      {
        "key": "security",
        "band": "at_risk",
        "name": "Security",
        "value": 42,
        "weight": 0.16,
        "metrics": [
          {
            "key": "security_posture",
            "band": "at_risk",
            "name": "Security posture",
            "note": "Excluded from scoring (no data or not applicable): Signed-Releases. Remaining weights renormalized.",
            "notes": [
              {
                "code": "excluded_no_data",
                "params": {
                  "components": [
                    "signed_releases"
                  ]
                }
              },
              {
                "code": "weights_renormalized",
                "params": {}
              }
            ],
            "value": 42,
            "inputs": {
              "source": "openssf_scorecard",
              "checks_evaluated": 17,
              "scorecard_version": "v5.5.0",
              "checks_inconclusive": 1,
              "scorecard_aggregate": 4.2
            },
            "components": [
              {
                "key": "binary_artifacts",
                "name": "Binary-Artifacts",
                "detail": "binaries present in source code",
                "points": 6.8,
                "status": "partial",
                "details": [],
                "max_points": 7.5
              },
              {
                "key": "branch_protection",
                "name": "Branch-Protection",
                "detail": "branch protection is not maximal on development and all release branches",
                "points": 4.5,
                "status": "partial",
                "details": [],
                "max_points": 7.5
              },
              {
                "key": "ci_tests",
                "name": "CI-Tests",
                "detail": "30 out of 30 merged PRs checked by a CI test -- score normalized to 10",
                "points": 2.5,
                "status": "met",
                "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": "all changesets reviewed",
                "points": 7.5,
                "status": "met",
                "details": [],
                "max_points": 7.5
              },
              {
                "key": "contributors",
                "name": "Contributors",
                "detail": "project has 7 contributing companies or organizations",
                "points": 2.5,
                "status": "met",
                "details": [],
                "max_points": 2.5
              },
              {
                "key": "dangerous_workflow",
                "name": "Dangerous-Workflow",
                "detail": "dangerous workflow patterns detected",
                "points": 0,
                "status": "missed",
                "details": [],
                "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 not detected",
                "points": 0,
                "status": "missed",
                "details": [],
                "max_points": 2.5
              },
              {
                "key": "maintained",
                "name": "Maintained",
                "detail": "30 commit(s) and 20 issue activity found in the last 90 days -- score normalized to 10",
                "points": 7.5,
                "status": "met",
                "details": [],
                "max_points": 7.5
              },
              {
                "key": "packaging",
                "name": "Packaging",
                "detail": "packaging workflow detected",
                "points": 5,
                "status": "met",
                "details": [],
                "max_points": 5
              },
              {
                "key": "pinned_dependencies",
                "name": "Pinned-Dependencies",
                "detail": "dependency not pinned by hash detected -- score normalized to 9",
                "points": 4.5,
                "status": "partial",
                "details": [],
                "max_points": 5
              },
              {
                "key": "sast",
                "name": "SAST",
                "detail": "SAST tool is not run on all commits -- score normalized to 0",
                "points": 0,
                "status": "missed",
                "details": [],
                "max_points": 5
              },
              {
                "key": "security_policy",
                "name": "Security-Policy",
                "detail": "security policy file not detected",
                "points": 0,
                "status": "missed",
                "details": [],
                "max_points": 5
              },
              {
                "key": "signed_releases",
                "name": "Signed-Releases",
                "detail": "no releases found",
                "points": 0,
                "status": "excluded",
                "details": [
                  {
                    "code": "no_data",
                    "params": {}
                  }
                ],
                "max_points": 7.5
              },
              {
                "key": "token_permissions",
                "name": "Token-Permissions",
                "detail": "detected GitHub workflow tokens with excessive permissions",
                "points": 0,
                "status": "missed",
                "details": [],
                "max_points": 7.5
              },
              {
                "key": "vulnerabilities",
                "name": "Vulnerabilities",
                "detail": "100 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": "moderate",
        "name": "AI Readiness",
        "value": 68,
        "weight": 0,
        "metrics": [
          {
            "key": "ai_agent_context",
            "band": "at_risk",
            "name": "Agent context & guidance",
            "note": null,
            "notes": [],
            "value": 40,
            "inputs": {
              "has_llms_txt": false,
              "legible_history_share": 1,
              "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": "92 of 92 human commits state their intent (structured subject or explanatory body)",
                "points": 40,
                "status": "met",
                "details": [
                  {
                    "code": "legible_history",
                    "params": {
                      "legible": 92,
                      "sampled": 92
                    }
                  }
                ],
                "max_points": 40
              }
            ]
          },
          {
            "key": "ai_verify_loop",
            "band": "good",
            "name": "Verify loop (build / test / typecheck)",
            "note": null,
            "notes": [],
            "value": 76,
            "inputs": {
              "has_nix": false,
              "has_tests": true,
              "lockfiles": [],
              "has_dockerfile": false,
              "typed_language": true,
              "bootstrap_files": [],
              "has_devcontainer": false,
              "has_linter_config": true,
              "typecheck_configs": [
                "packages/expo-config-plugin/tsconfig.json",
                "packages/website/tsconfig.json",
                "tsconfig.json"
              ],
              "agent_commit_share": 0.13,
              "toolchain_manifests": [
                "packages/build-tools/gradle-plugin/build.gradle"
              ],
              "dependency_bot_commit_share": 0
            },
            "components": [
              {
                "key": "one_command_bootstrap",
                "name": "One-command bootstrap",
                "detail": "packages/build-tools/gradle-plugin/build.gradle (toolchain convention, no task runner)",
                "points": 12.6,
                "status": "partial",
                "details": [
                  {
                    "code": "toolchain_convention",
                    "params": {
                      "files": "packages/build-tools/gradle-plugin/build.gradle"
                    }
                  }
                ],
                "max_points": 18
              },
              {
                "key": "automated_tests",
                "name": "Automated tests",
                "detail": null,
                "points": 22,
                "status": "met",
                "details": [],
                "max_points": 22
              },
              {
                "key": "lint_format_config",
                "name": "Lint / format config",
                "detail": ".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": "packages/expo-config-plugin/tsconfig.json, packages/website/tsconfig.json, tsconfig.json",
                "points": 11,
                "status": "met",
                "details": [
                  {
                    "code": "file_list",
                    "params": {
                      "files": "packages/expo-config-plugin/tsconfig.json, packages/website/tsconfig.json, tsconfig.json"
                    }
                  }
                ],
                "max_points": 11
              },
              {
                "key": "reproducible_environment",
                "name": "Reproducible environment",
                "detail": null,
                "points": 0,
                "status": "missed",
                "details": [],
                "max_points": 10
              },
              {
                "key": "demonstrated_agent_practice",
                "name": "Demonstrated agent practice",
                "detail": "13 of the last 100 commits agent-authored or agent-credited",
                "points": 10,
                "status": "met",
                "details": [
                  {
                    "code": "agent_authored_commits",
                    "params": {
                      "count": 13,
                      "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 9",
                "points": 9,
                "status": "partial",
                "details": [],
                "max_points": 10
              }
            ]
          },
          {
            "key": "ai_code_legibility",
            "band": "excellent",
            "name": "Code legibility for models",
            "note": null,
            "notes": [],
            "value": 100,
            "inputs": {
              "primary_language": "TypeScript",
              "largest_source_bytes": 56925,
              "source_files_sampled": 60,
              "oversized_source_files": 0
            },
            "components": [
              {
                "key": "type_checkable_code",
                "name": "Type-checkable code",
                "detail": "TypeScript (statically typed)",
                "points": 45,
                "status": "met",
                "details": [
                  {
                    "code": "statically_typed_language",
                    "params": {
                      "language": "TypeScript"
                    }
                  }
                ],
                "max_points": 45
              },
              {
                "key": "manageable_file_sizes",
                "name": "Manageable file sizes",
                "detail": "0/60 source files over 60KB",
                "points": 55,
                "status": "met",
                "details": [
                  {
                    "code": "oversized_source_files",
                    "params": {
                      "kb": 60,
                      "sampled": 60,
                      "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": [
    "Could not fetch npm package '@rnrepo/builder' from its registry",
    "Could not fetch npm package '@rnrepo/publisher' from its registry",
    "GitHub dependency-graph SBOM unavailable (404); the dependency graph may be disabled for this repository",
    "deps.dev does not index npm:@rnrepo/build-tools@0.2.1; advisories assessed against the repository dependency graph instead"
  ],
  "report_type": "repository",
  "generated_at": "2026-07-22T05:55:30.046426Z",
  "schema_version": "0.26.0",
  "badge_url": "https://raw.githubusercontent.com/inspect-software/badges/main/v1/s/software-mansion/rnrepo.svg",
  "full_name": "software-mansion/rnrepo",
  "license_state": "absent",
  "license_spdx": null
}

Bewertungen sind Signale, keine Garantien. Sie spiegeln öffentlich sichtbare Praxis auf GitHub wider — kein Code-Audit und keine Sicherheitsgarantie.

Fehlende Daten werden ausgeschlossen und die Gewichte neu normiert, nie als null bewertet. Die Methodik ist versioniert und offen: Metriken v1.13.0, Schema v0.26.0 — vollständige Methodik · Metriken-Wiki.

Wie ein einzelnes Ergebnis im Gesamtregister steht: aggregierte Statistikennpm.