Öffentliches Register
Software-GesundheitsberichtSchema 0.27.0 · Metriken 1.13.0 · 2026-07-29 01:46 UTC

capawesome-team / cli

📟 The Capawesome Cloud CLI to manage Native Builds, Live Updates and more.

TypeScriptMIT★ 3 Sterne⑂ 2 Forksseit März 2024Auf GitHub ansehen ↗

capawesome-team/cli erreicht einen Gesundheitsindex von 66 von 100 und liegt damit im Bereich Mittel. Am stärksten schneidet es bei Vitality (95/100) ab, am schwächsten bei Community & Adoption (40/100). Zuletzt vor 2 Tagen aktualisiert. Ein einzelner Mitwirkender trägt den Großteil der jüngsten Arbeit.

66
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.

66
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

CapawesomeOrganisation
430 Follower68 öffentliche Reposseit Mai 2022

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

Paket-Ökosysteme

RegistryPaketVersionDownloads / MonatVersionenZuletzt veröffentlichtTags
npm@capawesome/cli4.17.365.643159vor 7 Tagencapawesomeclicapacitor

Metriken nach Kategorie

Vitalität

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

95Exzellent · 22 % des Gesamtindex
Wie die Bewertung erfolgt
36/36Push-Aktualität — letzter Push vor 2 Tagen
27.7/36Commit-Rhythmus — 40/52 Wochen mit Commits
18/18Commit-Volumen — 266 Commits im letzten Jahr
10/10OpenSSF Scorecard: Maintained — 30 commit(s) and 3 issue activity found in the last 90 days -- score normalized to 10
Verwendete Eingangsdaten
commits_last_year266
human_commit_share0,96
days_since_last_push2
active_weeks_last_year40

Release-Disziplin

100Exzellent
Wie die Bewertung erfolgt
27/27Liefert Releases aus — 100 Releases veröffentlicht
36/36Release-Aktualität — letztes Release vor 7 Tagen
27/27Release-Rhythmus — ein Release etwa alle 4,8 Tage
0/10OpenSSF Scorecard: Signed-Releases — keine Daten
Verwendete Eingangsdaten
releases_count100
latest_release_tagv4.17.3
releases_from_tagsnein
days_since_latest_release7
mean_days_between_releases4,8
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?

40Gefährdet · 18 % des Gesamtindex
Wie die Bewertung erfolgt
4.9/60Stars — 3 Stars
0/25Forks — 2 Forks
0/15Watcher — 1 Watcher
Verwendete Eingangsdaten
forks2
stars3
watchers1
growth_stateunverified
growth_factor_pct100
growth_unverified_reasonno_history
Wie die Bewertung erfolgt
22.5/22.5README
22.5/22.5Lizenz — anerkannte Lizenz (MIT)
0/18CONTRIBUTING-Leitfaden
0/13.5Verhaltenskodex
0/7.2Issue-Vorlage
0/6.3PR-Vorlage
Verwendete Eingangsdaten
has_readmeja
has_licenseja
has_contributingnein
has_issue_templatenein
has_code_of_conductnein
has_pull_request_templatenein
Wie die Bewertung erfolgt
64.2/80Downloads pro Monat — 65.643 Downloads/Monat über npm
0/20Abhängige in der Registry — von diesem Ökosystem nicht ausgewiesen
Verwendete Eingangsdaten
packages@capawesome/cli
dependents
ecosystemsnpm
total_downloads
monthly_downloads65.643
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?

64Mittel · 24 % des Gesamtindex
Wie die Bewertung erfolgt
9/54Bus-Faktor — 1 Beitragende decken die Hälfte aller Commits ab
0.5/22.5Commit-Verteilung — wichtigste beitragende Person verfasste 98 % der Commits
2.7/13.5Breite der Beitragenden — 2 Beitragende
10/10OpenSSF Scorecard: Contributors — project has 6 contributing companies or organizations
Verwendete Eingangsdaten
bus_factor1
contributors_sampled2
top_contributor_share0,977
Wie die Bewertung erfolgt
43.5/46.8Issue-Lösungsquote — 93 % der Issues geschlossen
36.5/38.3PR-Annahme — 124/130 entschiedene PRs gemergt
0/15OpenSSF Scorecard: Code-Review — Found 0/26 approved changesets -- score normalized to 0
Verwendete Eingangsdaten
merged_prs124
open_issues4
closed_issues53
issue_closed_ratio0,93
closed_unmerged_prs6
Wie die Bewertung erfolgt
30/30Organisatorische Trägerschaft — im Besitz einer Organisation
0/20Verifizierte Domain
18.9/25Reichweite des Inhabers — 430 Follower von capawesome-team
21.4/25Kontohistorie — 68 öffentliche Repos, Kontoalter ca. 4 Jahre
Verwendete Eingangsdaten
followers430
owner_typeOrganization
is_verified
owner_logincapawesome-team
public_repos68
account_age_days1.536

Paketpflege

100Exzellent
Wie die Bewertung erfolgt
25/25Veröffentlicht & auflösbar — 1 Paket(e) auf npm
35/35Veröffentlichungsaktualität — letzte Veröffentlichung vor 7 Tagen
20/20Versionshistorie — 159 veröffentlichte Versionen
20/20Nicht veraltet — aktiv, nicht veraltet oder zurückgezogen
Verwendete Eingangsdaten
packages@capawesome/cli
ecosystemsnpm
any_deprecatednein
min_days_since_publish7

Engineering-Qualität

Sind grundlegende Engineering- und Dokumentationspraktiken vorhanden?

64Mittel · 20 % des Gesamtindex
Wie die Bewertung erfolgt
24/24CI-Workflows — 7 Workflow(s)
24/24Tests vorhanden
0/16Linter-Konfiguration
0/9.6Pre-Commit-Hooks
0/6.4.editorconfig
16/20OpenSSF Scorecard: CI-Tests — 14 out of 17 merged PRs checked by a CI test -- score normalized to 8
Verwendete Eingangsdaten
has_cija
has_testsja
has_editorconfignein
has_linter_confignein
has_precommit_confignein
Wie die Bewertung erfolgt
30/30README
0/25Dokumentationsverzeichnis
15/15Dokumentations-/Homepage-Site — https://capawesome.io/cloud/cli/
10/10Repository-Beschreibung
10/10Topics — 8 Topics
0/10Wiki
Verwendete Eingangsdaten
topicscapacitor, capawesome, cli, android, capawesome-cloud, cordova, ios, node
has_wikinein
homepagehttps://capawesome.io/cloud/cli/
has_readmeja
has_docs_dirnein
has_descriptionja

Sicherheit

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

62Mittel · 16 % des Gesamtindex
Wie die Bewertung erfolgt
7.5/7.5Binary-Artifacts — no binaries found in the repo
2.2/7.5Branch-Protection — branch protection is not maximal on development and all release branches
2/2.5CI-Tests — 14 out of 17 merged PRs checked by a CI test -- score normalized to 8
0/2.5CII-Best-Practices — no effort to earn an OpenSSF best practices badge detected
0/7.5Code-Review — Found 0/26 approved changesets -- score normalized to 0
2.5/2.5Contributors — project has 6 contributing companies or organizations
10/10Dangerous-Workflow — no dangerous workflow patterns detected
7.5/7.5Dependency-Update-Tool — update tool detected
0/5Fuzzing — project is not fuzzed
2.5/2.5Lizenz — license file detected
7.5/7.5Maintained — 30 commit(s) and 3 issue activity found in the last 90 days -- score normalized to 10
0/5Packaging — keine Daten
1.5/5Pinned-Dependencies — dependency not pinned by hash detected -- score normalized to 3
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
6/7.5Vulnerabilities — 2 existing vulnerabilities detected
Verwendete Eingangsdaten
sourceopenssf_scorecard
checks_evaluated16
scorecard_versionv5.5.0
checks_inconclusive2
scorecard_aggregate5,3
Von der Bewertung ausgeschlossen (keine Daten oder nicht anwendbar): packaging, signed_releases. Die verbleibenden Gewichte wurden renormalisiert.
Wie die Bewertung erfolgt
35/35Direkte Abhängigkeiten ohne bekannte Advisories — keine direkte Abhängigkeit trägt ein bekanntes Advisory
25/25Indirekte Abhängigkeiten ohne bekannte Advisories — keine indirekte Abhängigkeit trägt ein bekanntes Advisory
0/40Keine offenen Advisories — kein Advisory trägt ein Veröffentlichungsdatum
Verwendete Eingangsdaten
sourceosv
advisories0
affected_packages0
assessed_packages133
unassessed_packages0
affected_by_severitynone
direct_affected_packages0
Von der Bewertung ausgeschlossen (keine Daten oder nicht anwendbar): Keine offenen Advisories. Die verbleibenden Gewichte wurden renormalisiert. Abgeglichen wurde die Laufzeit-Abhängigkeitshülle von npm:@capawesome/cli@4.17.3 — das, was die Installation des veröffentlichten Pakets nach sich zieht — mit 133 Paketen. Erreichbarkeit wird nicht analysiert.

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.

78Gut · 0 % des Gesamtindex
Wie die Bewertung erfolgt
45/45Agentenanweisungen — CLAUDE.md
0/15Maschinenlesbare Doku (llms.txt)
40/40Lesbare Commit-Historie — 96 von 96 menschlichen Commits benennen ihre Absicht (strukturierter Betreff oder erläuternder Text)
Verwendete Eingangsdaten
has_llms_txtnein
legible_history_share1
agent_instruction_filesCLAUDE.md
agent_instruction_max_bytes3.989
Wie die Bewertung erfolgt
0/18Bootstrap mit einem Befehl
22/22Automatisierte Tests
0/11Lint-/Format-Konfiguration
11/11Statische Typprüfung — tsconfig.json
10/10Reproduzierbare Umgebung — lockfile
10/10Belegte Agentenpraxis — 6 der letzten 100 Commits von Agenten verfasst oder ihnen zugeschrieben
8/8Automatisierte Wartung — 1 der letzten 100 Commits sind automatisierte Abhängigkeits-Updates
3/10OpenSSF Scorecard: Pinned-Dependencies — dependency not pinned by hash detected -- score normalized to 3
Verwendete Eingangsdaten
has_nixnein
has_testsja
lockfilespackage-lock.json
has_dockerfilenein
typed_languageja
bootstrap_files
has_devcontainernein
has_linter_confignein
typecheck_configstsconfig.json
agent_commit_share0,06
toolchain_manifests
dependency_bot_commit_share0,01
Wie die Bewertung erfolgt
45/45Typprüfbarer Code — TypeScript (statisch typisiert)
55/55Handhabbare Dateigrößen — 0/170 Quelldateien über 60 KB
Verwendete Eingangsdaten
primary_languageTypeScript
largest_source_bytes22.539
source_files_sampled170
oversized_source_files0

Eckdaten

3GitHub-Sterne
2Mitwirkende
266Commits, letzte 12 Monate
2Tage seit letztem Push
100Releases
1Bus-Faktor
4offene Issues
npmPaket-Ökosysteme

Warnungen zur Datenerhebung

  • Star history unavailable: GitHub GraphQL error: Resource not accessible by personal access token

Weitere Details

Stern- und Fork-Verlauf 0 ★ / 2 ⇿
0Sterne
2Forks
75Releases

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.

111222212024-112025-082026-06
Major 3Minor 36Patch 36

Jeder Punkt umfasst 2 Tage.

OpenSSF Scorecard 5.3 / 10
5.3Gesamtwert

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-29 01:46 UTC

10Binary-Artifactsno binaries found in the repo
3Branch-Protectionbranch protection is not maximal on development and all release branches
8CI-Tests14 out of 17 merged PRs checked by a CI test -- score normalized to 8
0CII-Best-Practicesno effort to earn an OpenSSF best practices badge detected
0Code-ReviewFound 0/26 approved changesets -- score normalized to 0
10Contributorsproject has 6 contributing companies or organizations
10Dangerous-Workflowno dangerous workflow patterns detected
10Dependency-Update-Toolupdate tool detected
0Fuzzingproject is not fuzzed
10Licenselicense file detected
10Maintained30 commit(s) and 3 issue activity found in the last 90 days -- score normalized to 10
k. A.Packagingpackaging workflow not detected
3Pinned-Dependenciesdependency not pinned by hash detected -- score normalized to 3
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
8Vulnerabilities2 existing vulnerabilities detected
Direkte Abhängigkeiten 19
RegistryPaketVersionsvorgabeManifest
npm@clack/prompts0.7.0package.json
npm@napi-rs/keyring1.3.0package.json
npm@robingenz/zli0.2.0package.json
npm@sentry/node10.58.0package.json
npmadm-zip0.6.0package.json
npmaxios1.18.1package.json
npmaxios-retry4.5.0package.json
npmc123.3.3package.json
npmconsola3.3.0package.json
npmform-data4.0.6package.json
npmglobby16.1.1package.json
npmhttp-proxy-agent7.0.2package.json
npmhttps-proxy-agent7.0.6package.json
npmmime4.0.7package.json
npmopen10.2.0package.json
npmrc92.1.2package.json
npmsemver7.6.3package.json
npmsysteminformation5.31.17package.json
npmzod4.0.17package.json
Alle Abhängigkeiten 296

Vollständig aufgelöster Abhängigkeitssatz aus dem GitHub-Abhängigkeitsgraphen: 22 direkte und 274 indirekte (transitive) Pakete. Die transitive Hülle ist vollständig, wenn das Repository eine Lockfile eincheckt.

RegistryPaketVersionBeziehung
npm@clack/prompts0.7.0direkt
npm@napi-rs/keyring1.3.0direkt
npm@robingenz/zli0.2.0direkt
npm@sentry/node10.58.0direkt
npmadm-zip0.6.0direkt
npmaxios1.18.1direkt
npmaxios-retry4.5.0direkt
npmc123.3.3direkt
npmconsola3.3.0direkt
npmconsola3.4.2direkt
npmform-data4.0.6direkt
npmglobby11.1.0direkt
npmglobby16.1.1direkt
npmhttp-proxy-agent7.0.2direkt
npmhttps-proxy-agent5.0.1direkt
npmhttps-proxy-agent7.0.6direkt
npmmime4.0.7direkt
npmopen10.2.0direkt
npmrc92.1.2direkt
npmsemver7.6.3direkt
npmsysteminformation5.31.17direkt
npmzod4.0.17direkt
npm@babel/helper-string-parser7.29.7indirekt
npm@babel/helper-validator-identifier7.29.7indirekt
npm@babel/parser7.29.7indirekt
npm@babel/types7.29.7indirekt
npm@bcoe/v8-coverage1.0.2indirekt
npm@clack/core0.3.4indirekt
npm@emnapi/core1.10.0indirekt
npm@emnapi/runtime1.10.0indirekt
npm@emnapi/wasi-threads1.2.1indirekt
npm@ionic/prettier-config4.0.0indirekt
npm@isaacs/cliui9.0.0indirekt
npm@jridgewell/resolve-uri3.1.2indirekt
npm@jridgewell/sourcemap-codec1.5.5indirekt
npm@jridgewell/trace-mapping0.3.31indirekt
npm@mswjs/interceptors0.39.6indirekt
npm@napi-rs/keyring-darwin-arm641.3.0indirekt
npm@napi-rs/keyring-darwin-x641.3.0indirekt
npm@napi-rs/keyring-freebsd-x641.3.0indirekt
npm@napi-rs/keyring-linux-arm-gnueabihf1.3.0indirekt
npm@napi-rs/keyring-linux-arm64-gnu1.3.0indirekt
npm@napi-rs/keyring-linux-arm64-musl1.3.0indirekt
npm@napi-rs/keyring-linux-riscv64-gnu1.3.0indirekt
npm@napi-rs/keyring-linux-x64-gnu1.3.0indirekt
npm@napi-rs/keyring-linux-x64-musl1.3.0indirekt
npm@napi-rs/keyring-win32-arm64-msvc1.3.0indirekt
npm@napi-rs/keyring-win32-ia32-msvc1.3.0indirekt
npm@napi-rs/keyring-win32-x64-msvc1.3.0indirekt
npm@napi-rs/wasm-runtime1.1.5indirekt
npm@nodelib/fs.scandir2.1.5indirekt
npm@nodelib/fs.stat2.0.5indirekt
npm@nodelib/fs.walk1.2.8indirekt
npm@open-draft/deferred-promise2.2.0indirekt
npm@open-draft/logger0.3.0indirekt
npm@open-draft/until2.1.0indirekt
npm@opentelemetry/api1.9.1indirekt
npm@opentelemetry/api-logs0.214.0indirekt
npm@opentelemetry/core2.8.0indirekt
npm@opentelemetry/instrumentation0.214.0indirekt
npm@opentelemetry/resources2.8.0indirekt
npm@opentelemetry/sdk-trace-base2.8.0indirekt
npm@opentelemetry/semantic-conventions1.41.1indirekt
npm@oxc-project/types0.133.0indirekt
npm@polka/url1.0.0-next.29indirekt
npm@rolldown/binding-android-arm641.0.3indirekt
npm@rolldown/binding-darwin-arm641.0.3indirekt
npm@rolldown/binding-darwin-x641.0.3indirekt
npm@rolldown/binding-freebsd-x641.0.3indirekt
npm@rolldown/binding-linux-arm-gnueabihf1.0.3indirekt
npm@rolldown/binding-linux-arm64-gnu1.0.3indirekt
npm@rolldown/binding-linux-arm64-musl1.0.3indirekt
npm@rolldown/binding-linux-ppc64-gnu1.0.3indirekt
npm@rolldown/binding-linux-s390x-gnu1.0.3indirekt
npm@rolldown/binding-linux-x64-gnu1.0.3indirekt
npm@rolldown/binding-linux-x64-musl1.0.3indirekt
npm@rolldown/binding-openharmony-arm641.0.3indirekt
npm@rolldown/binding-wasm32-wasi1.0.3indirekt
npm@rolldown/binding-win32-arm64-msvc1.0.3indirekt
npm@rolldown/binding-win32-x64-msvc1.0.3indirekt
npm@rolldown/pluginutils1.0.1indirekt
npm@sentry/cli2.52.0indirekt
npm@sentry/cli-darwin2.52.0indirekt
npm@sentry/cli-linux-arm2.52.0indirekt
npm@sentry/cli-linux-arm642.52.0indirekt
npm@sentry/cli-linux-i6862.52.0indirekt
npm@sentry/cli-linux-x642.52.0indirekt
npm@sentry/cli-win32-arm642.52.0indirekt
npm@sentry/cli-win32-i6862.52.0indirekt
npm@sentry/cli-win32-x642.52.0indirekt
npm@sentry/core10.58.0indirekt
npm@sentry/node-core10.58.0indirekt
npm@sentry/opentelemetry10.58.0indirekt
npm@sentry/server-utils10.58.0indirekt
npm@sindresorhus/merge-streams4.0.0indirekt
npm@standard-schema/spec1.1.0indirekt
npm@tybys/wasm-util0.10.2indirekt
npm@types/chai5.2.3indirekt
npm@types/deep-eql4.0.2indirekt
npm@types/estree1.0.9indirekt
npm@types/mime3.0.4indirekt
npm@types/node24.2.1indirekt
npm@types/semver7.5.8indirekt
npm@vitest/coverage-v84.1.7indirekt
npm@vitest/expect4.1.7indirekt
npm@vitest/mocker4.1.7indirekt
npm@vitest/pretty-format4.1.7indirekt
npm@vitest/runner4.1.7indirekt
npm@vitest/snapshot4.1.7indirekt
npm@vitest/spy4.1.7indirekt
npm@vitest/ui4.1.7indirekt
npm@vitest/utils4.1.7indirekt
npmacorn8.17.0indirekt
npmacorn-import-attributes1.9.5indirekt
npmagent-base6.0.2indirekt
npmagent-base7.1.4indirekt
npmanymatch3.1.3indirekt
npmarray-union2.1.0indirekt
npmassertion-error2.0.1indirekt
npmast-v8-to-istanbul1.0.4indirekt
npmasynckit0.4.0indirekt
npmbalanced-match4.0.3indirekt
npmbinary-extensions2.3.0indirekt
npmbrace-expansion5.0.7indirekt
npmbraces3.0.3indirekt
npmbundle-name4.1.0indirekt
npmcall-bind-apply-helpers1.0.1indirekt
npmchai6.2.2indirekt
npmchokidar3.6.0indirekt
npmchokidar5.0.0indirekt
npmcitty0.1.6indirekt
npmcitty0.2.0indirekt
npmcjs-module-lexer2.2.0indirekt
npmcombined-stream1.0.8indirekt
npmcommander9.5.0indirekt
npmconfbox0.2.2indirekt
npmconvert-source-map2.0.0indirekt
npmcross-spawn7.0.6indirekt
npmdebug4.4.1indirekt
npmdefault-browser5.2.1indirekt
npmdefault-browser-id5.0.0indirekt
npmdefine-lazy-prop3.0.0indirekt
npmdefu6.1.6indirekt
npmdelayed-stream1.0.0indirekt
npmdestr2.0.3indirekt
npmdetect-libc2.1.2indirekt
npmdir-glob3.0.1indirekt
npmdotenv17.2.3indirekt
npmdunder-proto1.0.1indirekt
npmes-define-property1.0.1indirekt
npmes-errors1.3.0indirekt
npmes-module-lexer2.1.0indirekt
npmes-object-atoms1.0.0indirekt
npmes-set-tostringtag2.1.0indirekt
npmestree-walker3.0.3indirekt
npmexpect-type1.3.0indirekt
npmexsolve1.0.8indirekt
npmfast-glob3.3.3indirekt
npmfastq1.19.1indirekt
npmfdir6.5.0indirekt
npmfflate0.8.2indirekt
npmfill-range7.1.1indirekt
npmflatted3.4.2indirekt
npmfollow-redirects1.16.0indirekt
npmforeground-child3.3.1indirekt
npmfsevents2.3.3indirekt
npmfunction-bind1.1.2indirekt
npmget-intrinsic1.2.6indirekt
npmget-tsconfig4.10.1indirekt
npmgiget2.0.0indirekt
npmglob11.1.0indirekt
npmglob-parent5.1.2indirekt
npmgopd1.2.0indirekt
npmhas-flag4.0.0indirekt
npmhas-symbols1.1.0indirekt
npmhas-tostringtag1.0.2indirekt
npmhasown2.0.4indirekt
npmhtml-escaper2.0.2indirekt
npmignore5.3.2indirekt
npmignore7.0.5indirekt
npmimport-in-the-middle3.0.2indirekt
npmis-binary-path2.1.0indirekt
npmis-docker3.0.0indirekt
npmis-extglob2.1.1indirekt
npmis-glob4.0.3indirekt
npmis-inside-container1.0.0indirekt
npmis-node-process1.2.0indirekt
npmis-number7.0.0indirekt
npmis-path-inside4.0.0indirekt
npmis-retry-allowed2.2.0indirekt
npmis-unicode-supported1.3.0indirekt
npmis-wsl3.1.0indirekt
npmisexe2.0.0indirekt
npmistanbul-lib-coverage3.2.2indirekt
npmistanbul-lib-report3.0.1indirekt
npmistanbul-reports3.2.0indirekt
npmjackspeak4.2.3indirekt
npmjiti2.6.1indirekt
npmjs-tokens10.0.0indirekt
npmjson-stringify-safe5.0.1indirekt
npmlightningcss1.32.0indirekt
npmlightningcss-android-arm641.32.0indirekt
npmlightningcss-darwin-arm641.32.0indirekt
npmlightningcss-darwin-x641.32.0indirekt
npmlightningcss-freebsd-x641.32.0indirekt
npmlightningcss-linux-arm-gnueabihf1.32.0indirekt
npmlightningcss-linux-arm64-gnu1.32.0indirekt
npmlightningcss-linux-arm64-musl1.32.0indirekt
npmlightningcss-linux-x64-gnu1.32.0indirekt
npmlightningcss-linux-x64-musl1.32.0indirekt
npmlightningcss-win32-arm64-msvc1.32.0indirekt
npmlightningcss-win32-x64-msvc1.32.0indirekt
npmlru-cache11.2.6indirekt
npmmagic-string0.30.21indirekt
npmmagicast0.5.3indirekt
npmmake-dir4.0.0indirekt
npmmath-intrinsics1.1.0indirekt
npmmerge21.4.1indirekt
npmmicromatch4.0.8indirekt
npmmime-db1.52.0indirekt
npmmime-types2.1.35indirekt
npmminimatch10.2.4indirekt
npmminipass7.1.3indirekt
npmmodule-details-from-path1.0.4indirekt
npmmrmime2.0.1indirekt
npmms2.1.3indirekt
npmmylas2.1.13indirekt
npmnanoid3.3.12indirekt
npmnock14.0.10indirekt
npmnode-fetch2.7.0indirekt
npmnode-fetch-native1.6.7indirekt
npmnormalize-path3.0.0indirekt
npmnypm0.6.4indirekt
npmobug2.1.1indirekt
npmohash2.0.11indirekt
npmoutvariant1.4.3indirekt
npmpackage-json-from-dist1.0.1indirekt
npmpath-key3.1.1indirekt
npmpath-scurry2.0.2indirekt
npmpath-type4.0.0indirekt
npmpathe2.0.3indirekt
npmperfect-debounce2.1.0indirekt
npmpicocolors1.1.1indirekt
npmpicomatch2.3.2indirekt
npmpicomatch4.0.4indirekt
npmpkg-types2.3.0indirekt
npmplimit-lit1.6.1indirekt
npmpostcss8.5.15indirekt
npmprettier3.3.3indirekt
npmprogress2.0.3indirekt
npmpropagate2.0.1indirekt
npmproxy-from-env1.1.0indirekt
npmproxy-from-env2.1.0indirekt
npmqueue-lit1.5.2indirekt
npmqueue-microtask1.2.3indirekt
npmreaddirp3.6.0indirekt
npmreaddirp5.0.0indirekt
npmrequire-in-the-middle8.0.1indirekt
npmresolve-pkg-maps1.0.0indirekt
npmreusify1.1.0indirekt
npmrimraf6.0.1indirekt
npmrolldown1.0.3indirekt
npmrun-applescript7.0.0indirekt
npmrun-parallel1.2.0indirekt
npmshebang-command2.0.0indirekt
npmshebang-regex3.0.0indirekt
npmsiginfo2.0.0indirekt
npmsignal-exit4.1.0indirekt
npmsirv3.0.2indirekt
npmsisteransi1.0.5indirekt
npmslash3.0.0indirekt
npmslash5.1.0indirekt
npmsource-map-js1.2.1indirekt
npmstackback0.0.2indirekt
npmstd-env4.1.0indirekt
npmstrict-event-emitter0.5.1indirekt
npmsupports-color7.2.0indirekt
npmtinybench2.9.0indirekt
npmtinyexec1.2.3indirekt
npmtinyglobby0.2.17indirekt
npmtinyrainbow3.1.0indirekt
npmto-regex-range5.0.1indirekt
npmtotalist3.0.1indirekt
npmtr460.0.3indirekt
npmtsc-alias1.8.16indirekt
npmtslib2.8.1indirekt
npmtypescript5.6.3indirekt
npmundici-types7.10.0indirekt
npmunicorn-magic0.4.0indirekt
npmvite8.0.16indirekt
npmvitest4.1.7indirekt
npmwebidl-conversions3.0.1indirekt
npmwhatwg-url5.0.0indirekt
npmwhich2.0.2indirekt
npmwhy-is-node-running2.3.0indirekt
npmwsl-utils0.1.0indirekt
Abhängigkeits-Advisories 0

Die Installation von npm:@capawesome/cli@4.17.3 zieht 133 Pakete nach sich, direkt und transitiv: 0 tragen bekannte Advisories, davon 0 direkte Abhängigkeiten.

Keine bekannten Advisories betreffen die bewerteten Abhängigkeiten.

Ein Advisory bedeutet, dass die im Abhängigkeitsgraphen erfasste Version in den betroffenen Bereich eines Advisories fällt. Erreichbarkeit wird nicht analysiert, und der Graph enthält Entwicklungs- und Test-Pins — ein Fund kann das Werkzeug betreffen und nicht die ausgelieferte Software.

JSON-Rohbericht maschinenlesbar
{
  "data": {
    "repo": {
      "topics": [
        "capacitor",
        "capawesome",
        "cli",
        "android",
        "capawesome-cloud",
        "cordova",
        "ios",
        "node"
      ],
      "is_fork": false,
      "size_kb": 1411,
      "has_wiki": false,
      "homepage": "https://capawesome.io/cloud/cli/",
      "languages": {
        "JavaScript": 10253,
        "TypeScript": 540761
      },
      "pushed_at": "2026-07-26T07:06:08Z",
      "created_at": "2024-03-30T17:09:51Z",
      "owner_type": "Organization",
      "updated_at": "2026-07-21T04:58:45Z",
      "description": "📟 The Capawesome Cloud CLI to manage Native Builds, Live Updates and more.",
      "is_archived": false,
      "is_disabled": false,
      "license_spdx": "MIT",
      "default_branch": "main",
      "license_spdx_raw": "MIT",
      "primary_language": "TypeScript",
      "significant_languages": [
        "TypeScript"
      ]
    },
    "owner": {
      "blog": "https://capawesome.io",
      "name": "Capawesome",
      "type": "Organization",
      "login": "capawesome-team",
      "company": null,
      "location": "Germany",
      "followers": 430,
      "avatar_url": "https://avatars.githubusercontent.com/u/105555861?v=4",
      "created_at": "2022-05-14T15:24:50Z",
      "is_verified": null,
      "public_repos": 68,
      "account_age_days": 1536
    },
    "license": {
      "state": "standard",
      "spdx_id": "MIT",
      "raw_spdx": "MIT",
      "file_present": true,
      "scorecard_found": true,
      "profile_has_license": true
    },
    "activity": {
      "releases": [
        {
          "tag": "v4.17.3",
          "kind": "patch",
          "published_at": "2026-07-21T04:58:45Z"
        },
        {
          "tag": "v4.17.2",
          "kind": "patch",
          "published_at": "2026-07-18T06:37:47Z"
        },
        {
          "tag": "v4.17.1",
          "kind": "patch",
          "published_at": "2026-07-16T05:02:35Z"
        },
        {
          "tag": "v4.17.0",
          "kind": "minor",
          "published_at": "2026-07-12T13:56:31Z"
        },
        {
          "tag": "v4.16.1",
          "kind": "patch",
          "published_at": "2026-07-12T12:44:53Z"
        },
        {
          "tag": "v4.16.0",
          "kind": "minor",
          "published_at": "2026-07-12T11:43:43Z"
        },
        {
          "tag": "v4.15.0",
          "kind": "minor",
          "published_at": "2026-06-23T19:40:53Z"
        },
        {
          "tag": "v4.14.0",
          "kind": "minor",
          "published_at": "2026-06-23T06:26:08Z"
        },
        {
          "tag": "v4.13.0",
          "kind": "minor",
          "published_at": "2026-06-09T16:08:15Z"
        },
        {
          "tag": "v4.12.0",
          "kind": "minor",
          "published_at": "2026-06-08T05:58:41Z"
        },
        {
          "tag": "v4.11.0",
          "kind": "minor",
          "published_at": "2026-06-02T06:00:20Z"
        },
        {
          "tag": "v4.10.0",
          "kind": "minor",
          "published_at": "2026-05-18T20:23:50Z"
        },
        {
          "tag": "v4.9.3",
          "kind": "patch",
          "published_at": "2026-05-14T09:25:02Z"
        },
        {
          "tag": "v4.9.2",
          "kind": "patch",
          "published_at": "2026-05-13T18:45:08Z"
        },
        {
          "tag": "v4.9.1",
          "kind": "patch",
          "published_at": "2026-05-13T18:44:54Z"
        },
        {
          "tag": "v4.9.0",
          "kind": "minor",
          "published_at": "2026-05-01T17:03:16Z"
        },
        {
          "tag": "v4.8.3",
          "kind": "patch",
          "published_at": "2026-04-20T17:49:59Z"
        },
        {
          "tag": "v4.8.2",
          "kind": "patch",
          "published_at": "2026-04-20T17:33:31Z"
        },
        {
          "tag": "v4.8.1",
          "kind": "patch",
          "published_at": "2026-04-12T13:49:04Z"
        },
        {
          "tag": "v4.8.0",
          "kind": "minor",
          "published_at": "2026-04-08T06:32:30Z"
        },
        {
          "tag": "v4.7.0",
          "kind": "minor",
          "published_at": "2026-04-04T16:01:40Z"
        },
        {
          "tag": "v4.6.0",
          "kind": "minor",
          "published_at": "2026-03-18T08:45:54Z"
        },
        {
          "tag": "v4.5.0",
          "kind": "minor",
          "published_at": "2026-03-15T08:11:44Z"
        },
        {
          "tag": "v4.4.0",
          "kind": "minor",
          "published_at": "2026-03-13T09:47:47Z"
        },
        {
          "tag": "v4.3.0",
          "kind": "minor",
          "published_at": "2026-03-07T12:50:32Z"
        },
        {
          "tag": "v4.2.1",
          "kind": "patch",
          "published_at": "2026-03-01T07:40:20Z"
        },
        {
          "tag": "v4.2.0",
          "kind": "minor",
          "published_at": "2026-02-20T13:39:02Z"
        },
        {
          "tag": "v4.1.0",
          "kind": "minor",
          "published_at": "2026-02-12T12:24:26Z"
        },
        {
          "tag": "v4.0.5",
          "kind": "patch",
          "published_at": "2026-02-12T05:02:00Z"
        },
        {
          "tag": "v4.0.4",
          "kind": "patch",
          "published_at": "2026-02-05T11:37:06Z"
        },
        {
          "tag": "v4.0.3",
          "kind": "patch",
          "published_at": "2026-02-05T10:59:35Z"
        },
        {
          "tag": "v4.0.2",
          "kind": "patch",
          "published_at": "2026-02-03T16:12:10Z"
        },
        {
          "tag": "v4.0.1",
          "kind": "patch",
          "published_at": "2026-01-27T21:20:25Z"
        },
        {
          "tag": "v4.0.0",
          "kind": "major",
          "published_at": "2026-01-24T15:44:52Z"
        },
        {
          "tag": "v3.11.0",
          "kind": "minor",
          "published_at": "2026-01-08T19:32:21Z"
        },
        {
          "tag": "v3.10.2",
          "kind": "patch",
          "published_at": "2025-12-30T10:52:36Z"
        },
        {
          "tag": "v3.10.1",
          "kind": "patch",
          "published_at": "2025-12-29T20:33:32Z"
        },
        {
          "tag": "v3.10.0",
          "kind": "minor",
          "published_at": "2025-12-20T15:32:35Z"
        },
        {
          "tag": "v3.9.0",
          "kind": "minor",
          "published_at": "2025-12-20T09:35:30Z"
        },
        {
          "tag": "v3.8.0",
          "kind": "minor",
          "published_at": "2025-12-04T11:16:08Z"
        },
        {
          "tag": "v3.7.0",
          "kind": "minor",
          "published_at": "2025-12-02T19:59:24Z"
        },
        {
          "tag": "v3.6.0",
          "kind": "minor",
          "published_at": "2025-11-29T05:41:34Z"
        },
        {
          "tag": "v3.5.0",
          "kind": "minor",
          "published_at": "2025-11-24T16:09:21Z"
        },
        {
          "tag": "v3.4.2",
          "kind": "patch",
          "published_at": "2025-11-22T12:11:51Z"
        },
        {
          "tag": "v3.4.1",
          "kind": "patch",
          "published_at": "2025-11-22T12:11:38Z"
        },
        {
          "tag": "v3.4.0",
          "kind": "minor",
          "published_at": "2025-11-19T09:43:40Z"
        },
        {
          "tag": "v3.3.0",
          "kind": "minor",
          "published_at": "2025-10-03T07:12:29Z"
        },
        {
          "tag": "v3.2.2",
          "kind": "patch",
          "published_at": "2025-09-29T18:48:19Z"
        },
        {
          "tag": "v3.2.1",
          "kind": "patch",
          "published_at": "2025-09-26T06:16:39Z"
        },
        {
          "tag": "v3.2.0",
          "kind": "minor",
          "published_at": "2025-09-21T09:28:40Z"
        },
        {
          "tag": "v3.1.0",
          "kind": "minor",
          "published_at": "2025-09-17T11:40:23Z"
        },
        {
          "tag": "v3.0.0",
          "kind": "major",
          "published_at": "2025-09-11T16:08:26Z"
        },
        {
          "tag": "v2.1.5",
          "kind": "patch",
          "published_at": "2025-09-08T15:42:37Z"
        },
        {
          "tag": "v2.1.4",
          "kind": "patch",
          "published_at": "2025-08-31T20:41:43Z"
        },
        {
          "tag": "v2.1.3",
          "kind": "patch",
          "published_at": "2025-08-28T09:22:37Z"
        },
        {
          "tag": "v2.1.2",
          "kind": "patch",
          "published_at": "2025-08-27T18:43:40Z"
        },
        {
          "tag": "v2.1.1",
          "kind": "patch",
          "published_at": "2025-08-26T15:23:25Z"
        },
        {
          "tag": "v2.1.0",
          "kind": "minor",
          "published_at": "2025-08-26T04:52:11Z"
        },
        {
          "tag": "v2.0.3",
          "kind": "patch",
          "published_at": "2025-08-26T04:38:01Z"
        },
        {
          "tag": "v2.0.2",
          "kind": "patch",
          "published_at": "2025-08-24T09:26:04Z"
        },
        {
          "tag": "v2.0.1",
          "kind": "patch",
          "published_at": "2025-08-24T08:58:44Z"
        },
        {
          "tag": "v2.0.0",
          "kind": "major",
          "published_at": "2025-08-23T07:35:14Z"
        },
        {
          "tag": "v1.14.0",
          "kind": "minor",
          "published_at": "2025-08-11T13:07:23Z"
        },
        {
          "tag": "v1.13.2",
          "kind": "patch",
          "published_at": "2025-07-28T20:32:08Z"
        },
        {
          "tag": "v1.13.1",
          "kind": "patch",
          "published_at": "2025-06-02T15:21:11Z"
        },
        {
          "tag": "v1.13.0",
          "kind": "minor",
          "published_at": "2025-06-01T16:28:47Z"
        },
        {
          "tag": "v1.12.0",
          "kind": "minor",
          "published_at": "2025-05-22T17:17:57Z"
        },
        {
          "tag": "v1.11.1",
          "kind": "patch",
          "published_at": "2025-05-05T04:33:40Z"
        },
        {
          "tag": "v1.11.0",
          "kind": "minor",
          "published_at": "2025-05-04T12:55:29Z"
        },
        {
          "tag": "v1.10.0",
          "kind": "minor",
          "published_at": "2025-05-02T07:25:36Z"
        },
        {
          "tag": "v1.9.0",
          "kind": "minor",
          "published_at": "2025-04-17T18:05:40Z"
        },
        {
          "tag": "v1.8.1",
          "kind": "patch",
          "published_at": "2025-04-07T12:11:12Z"
        },
        {
          "tag": "v1.8.0",
          "kind": "minor",
          "published_at": "2025-04-06T14:53:37Z"
        },
        {
          "tag": "v1.7.0",
          "kind": "minor",
          "published_at": "2025-03-24T19:52:05Z"
        },
        {
          "tag": "v1.6.3",
          "kind": "patch",
          "published_at": "2025-03-20T14:06:39Z"
        },
        {
          "tag": "v1.6.2",
          "kind": "patch",
          "published_at": "2025-03-18T20:48:27Z"
        },
        {
          "tag": "v1.6.1",
          "kind": "patch",
          "published_at": "2025-03-16T10:53:22Z"
        },
        {
          "tag": "v1.6.0",
          "kind": "minor",
          "published_at": "2025-03-03T09:09:00Z"
        },
        {
          "tag": "v1.5.0",
          "kind": "minor",
          "published_at": "2025-02-21T12:44:04Z"
        },
        {
          "tag": "v1.4.1",
          "kind": "patch",
          "published_at": "2025-02-16T08:34:47Z"
        },
        {
          "tag": "v1.4.0",
          "kind": "minor",
          "published_at": "2025-01-29T14:13:49Z"
        },
        {
          "tag": "v1.3.2",
          "kind": "patch",
          "published_at": "2024-12-30T16:51:20Z"
        },
        {
          "tag": "v1.3.1",
          "kind": "patch",
          "published_at": "2024-12-30T09:19:04Z"
        },
        {
          "tag": "v1.3.0",
          "kind": "minor",
          "published_at": "2024-12-21T20:44:38Z"
        },
        {
          "tag": "v1.2.0",
          "kind": "minor",
          "published_at": "2024-12-21T14:39:17Z"
        },
        {
          "tag": "v1.1.0",
          "kind": "minor",
          "published_at": "2024-11-01T13:47:06Z"
        },
        {
          "tag": "v1.0.1",
          "kind": "patch",
          "published_at": "2024-11-01T06:42:28Z"
        },
        {
          "tag": "v1.0.0",
          "kind": "major",
          "published_at": "2024-11-01T06:03:10Z"
        },
        {
          "tag": "v0.0.17",
          "kind": "patch",
          "published_at": "2024-10-24T11:48:27Z"
        },
        {
          "tag": "v0.0.16",
          "kind": "patch",
          "published_at": "2024-10-20T20:20:39Z"
        },
        {
          "tag": "v0.0.15",
          "kind": "patch",
          "published_at": "2024-10-20T15:38:19Z"
        },
        {
          "tag": "v0.0.14",
          "kind": "patch",
          "published_at": "2024-09-30T05:50:05Z"
        },
        {
          "tag": "v0.0.13",
          "kind": "patch",
          "published_at": "2024-08-20T12:01:47Z"
        },
        {
          "tag": "v0.0.12",
          "kind": "patch",
          "published_at": "2024-08-20T12:01:32Z"
        },
        {
          "tag": "v0.0.11",
          "kind": "patch",
          "published_at": "2024-07-12T07:40:58Z"
        },
        {
          "tag": "v0.0.10",
          "kind": "patch",
          "published_at": "2024-07-10T08:52:31Z"
        },
        {
          "tag": "v0.0.9",
          "kind": "patch",
          "published_at": "2024-07-04T18:13:08Z"
        },
        {
          "tag": "v0.0.8",
          "kind": "patch",
          "published_at": "2024-06-10T15:14:59Z"
        },
        {
          "tag": "v0.0.7",
          "kind": "patch",
          "published_at": "2024-05-27T18:30:32Z"
        },
        {
          "tag": "v0.0.6",
          "kind": "patch",
          "published_at": "2024-05-04T13:16:37Z"
        }
      ],
      "recent_commits": [
        {
          "oid": "69037a23f4e763d60387f6c6797c8a9edc9a49dc",
          "body": "Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>",
          "is_bot": true,
          "headline": "chore(main): release 4.17.3 (#193)",
          "author_name": "github-actions[bot]",
          "author_login": "github-actions[bot]",
          "committed_at": "2026-07-21T04:58:33Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "1757368e7eb796a0cc9a6975e460e340f51fd48a",
          "body": "Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>",
          "is_bot": false,
          "headline": "fix(deps): update `brace-expansion` to `5.0.7`",
          "author_name": "Robin Genz",
          "author_login": "robingenz",
          "committed_at": "2026-07-21T04:57:33Z",
          "body_truncated": false,
          "is_coding_agent": true
        },
        {
          "oid": "10d7a7d9fc5c652321e392085c0c04def5b1d9bf",
          "body": null,
          "is_bot": false,
          "headline": "chore: update `package-lock.json`",
          "author_name": "Robin Genz",
          "author_login": "robingenz",
          "committed_at": "2026-07-21T04:56:40Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "a6b5481546f5af1c01105d8eb5831276fa0d601d",
          "body": "…(#192)\n\nBumps the npm_and_yarn group with 1 update in the / directory: [axios](https://github.com/axios/axios).\n\n\nUpdates `axios` from 1.16.0 to 1.18.1\n- [Release notes](https://github.com/axios/axios/releases)\n- [Changelog](https://github.com/axios/axios/blob/v1.x/CHANGELOG.md)\n- [Commits](https:/\n[…]\ncy-type: direct:production\n  dependency-group: npm_and_yarn\n...\n\nSigned-off-by: dependabot[bot] <support@github.com>\nCo-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>",
          "is_bot": true,
          "headline": "chore(deps): bump axios in the npm_and_yarn group across 1 directory …",
          "author_name": "dependabot[bot]",
          "author_login": "dependabot[bot]",
          "committed_at": "2026-07-21T04:52:16Z",
          "body_truncated": true,
          "is_coding_agent": false
        },
        {
          "oid": "4be59d79de0532967e72e83ef5195daacaa6da8c",
          "body": "Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>",
          "is_bot": true,
          "headline": "chore(main): release 4.17.2 (#191)",
          "author_name": "github-actions[bot]",
          "author_login": "github-actions[bot]",
          "committed_at": "2026-07-18T06:37:36Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "6511f17fafc2c42cc0028833360abb076933d123",
          "body": null,
          "is_bot": false,
          "headline": "fix(deps): update `adm-zip` to `0.6.0` (#190)",
          "author_name": "Robin Genz",
          "author_login": "robingenz",
          "committed_at": "2026-07-18T06:33:10Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "c285291b3e8f8b04444a67d676bca22755afda94",
          "body": null,
          "is_bot": true,
          "headline": "chore(main): release 4.17.1 (#188)",
          "author_name": "github-actions[bot]",
          "author_login": "github-actions[bot]",
          "committed_at": "2026-07-16T05:02:24Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "2aca30cd0c48f27ffc8cd44d400efec9763a58ac",
          "body": null,
          "is_bot": false,
          "headline": "fix(deps): update `systeminformation` to `5.31.17` (#187)",
          "author_name": "Robin Genz",
          "author_login": "robingenz",
          "committed_at": "2026-07-16T03:49:05Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "af4704f701da17588733885457030f23fee2c045",
          "body": null,
          "is_bot": false,
          "headline": "ci: set up release-please for automated releases (#186)",
          "author_name": "Robin Genz",
          "author_login": "robingenz",
          "committed_at": "2026-07-14T13:03:57Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "6dfe1f8b4554b82525d827e06cf89aa4b56839ca",
          "body": null,
          "is_bot": false,
          "headline": "chore(release): 4.17.0",
          "author_name": "Robin Genz",
          "author_login": "robingenz",
          "committed_at": "2026-07-12T13:55:45Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "55ecd8e7892da4a70a6438b90b6e9db3470c315f",
          "body": null,
          "is_bot": false,
          "headline": "feat: add `apps:builds:unshare` command (#184)",
          "author_name": "Robin Genz",
          "author_login": "robingenz",
          "committed_at": "2026-07-12T13:06:56Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "678bfab6146e69c3f0b6ffaeea3e343ec2184e4f",
          "body": null,
          "is_bot": false,
          "headline": "chore(release): 4.16.1",
          "author_name": "Robin Genz",
          "author_login": "robingenz",
          "committed_at": "2026-07-12T12:44:15Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "32d8bd8460c40cd78d3417849007e8394ead35fd",
          "body": null,
          "is_bot": false,
          "headline": "fix: rename share JSON output to `appBuildShare` with `webUrl` (#183)",
          "author_name": "Robin Genz",
          "author_login": "robingenz",
          "committed_at": "2026-07-12T12:44:01Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "2399b52617ec64c18c600d0ad88788ff936ec26b",
          "body": null,
          "is_bot": false,
          "headline": "chore(release): 4.16.0",
          "author_name": "Robin Genz",
          "author_login": "robingenz",
          "committed_at": "2026-07-12T11:42:53Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "1d693fb1cafccd02237dd61c94b81e9e62b79f36",
          "body": "…182)",
          "is_bot": false,
          "headline": "fix: run deployment before `--json` output in `apps:builds:create` (#…",
          "author_name": "Robin Genz",
          "author_login": "robingenz",
          "committed_at": "2026-07-12T11:42:33Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "05588c3db4fab2843f54fa1180de9e37c0d9b518",
          "body": "…lds:create` (#178)\n\n* feat: add `apps:builds:share` command and `--share` flag on `apps:builds:create`\n\n* fix: validate share expiry days and reject share sub-flags without `--share`\n\n* feat: use PNG format for share QR code URLs\n\n* feat: add `--build-number` option to `apps:builds:share`",
          "is_bot": false,
          "headline": "feat: add `apps:builds:share` command and `--share` flag on `apps:bui…",
          "author_name": "Robin Genz",
          "author_login": "robingenz",
          "committed_at": "2026-07-12T11:35:19Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "33cd33b5266353fe62b8ba9858f58c7f13dd9e78",
          "body": null,
          "is_bot": false,
          "headline": "fix: correct success message when using `--detached` (#179)",
          "author_name": "Robin Genz",
          "author_login": "robingenz",
          "committed_at": "2026-07-08T08:04:00Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "2da8b175e3b3ca35353f78f0ef41e79603c872f8",
          "body": null,
          "is_bot": false,
          "headline": "chore(release): 4.15.0",
          "author_name": "Robin Genz",
          "author_login": "robingenz",
          "committed_at": "2026-06-23T19:38:56Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "e941408bf879f393337bb129a987a0a7fa7748a2",
          "body": null,
          "is_bot": false,
          "headline": "ci: remove Codecov upload step",
          "author_name": "Robin Genz",
          "author_login": "robingenz",
          "committed_at": "2026-06-23T19:03:07Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "ec6019d58476abda2c12646fd434b77636095355",
          "body": "* fix(login): fall back to file storage when keyring write fails\n\n* refactor(login): drop keyring read-probe in favor of disable-on-failure\n\n* fix(login): disable keyring on delete failure",
          "is_bot": false,
          "headline": "fix(login): fall back to file storage when keyring write fails (#177)",
          "author_name": "Robin Genz",
          "author_login": "robingenz",
          "committed_at": "2026-06-23T19:02:15Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "195922d60e9a035143f236aeaaeea6e9aa842c52",
          "body": "* feat(login): support the new session token field\n\nCo-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>\n\n* Resolve comments\n\n---------\n\nCo-authored-by: Claude Opus 4.8 (1M context) <noreply@anthropic.com>",
          "is_bot": false,
          "headline": "feat(login): support the new session token field (#176)",
          "author_name": "Robin Genz",
          "author_login": "robingenz",
          "committed_at": "2026-06-23T18:13:27Z",
          "body_truncated": false,
          "is_coding_agent": true
        },
        {
          "oid": "7511971df1f706a6f63621929bbaabbee8f2697c",
          "body": null,
          "is_bot": false,
          "headline": "chore(release): 4.14.0",
          "author_name": "Robin Genz",
          "author_login": "robingenz",
          "committed_at": "2026-06-22T12:27:58Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "9a8f3507a917b838c35c99329ba9205872ad13c3",
          "body": null,
          "is_bot": false,
          "headline": "ci: upload coverage reports to Codecov",
          "author_name": "Robin Genz",
          "author_login": "robingenz",
          "committed_at": "2026-06-17T11:40:24Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "c16810e20f9caf2c78c1da88c0e0b2d4439ff8c1",
          "body": null,
          "is_bot": false,
          "headline": "chore(deps): npm audit fix",
          "author_name": "Robin Genz",
          "author_login": "robingenz",
          "committed_at": "2026-06-17T11:39:30Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "9e75e4f211aedae075a9509059a8fd2c7fb5c1f5",
          "body": "Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>",
          "is_bot": false,
          "headline": "feat: hint that failure summary can take up to a minute",
          "author_name": "Robin Genz",
          "author_login": "robingenz",
          "committed_at": "2026-06-17T11:38:00Z",
          "body_truncated": false,
          "is_coding_agent": true
        },
        {
          "oid": "337213d4de900fef6ac52b9c0ae0166cdeded630",
          "body": "* feat(auth): store authentication token in OS secure storage\n\n* test(auth): assert login preserves config flags and replaces user ID",
          "is_bot": false,
          "headline": "feat: store authentication token in OS secure storage (#175)",
          "author_name": "Robin Genz",
          "author_login": "robingenz",
          "committed_at": "2026-06-13T14:17:12Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "9dcc52598595656b861283ee21955c9d81248172",
          "body": null,
          "is_bot": false,
          "headline": "chore: print empty line",
          "author_name": "Robin Genz",
          "author_login": "robingenz",
          "committed_at": "2026-06-13T14:07:40Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "eeef34a1aadbdd2a9b8f013e765155cdb1ea9b44",
          "body": "* feat(telemetry): attach user ID to crash reports\n\n* fix(telemetry): preserve config fields and clear prior `userId` on login",
          "is_bot": false,
          "headline": "feat(telemetry): attach user ID to crash reports (#174)",
          "author_name": "Robin Genz",
          "author_login": "robingenz",
          "committed_at": "2026-06-13T13:54:33Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "0027ff258ef18a293646330fd3d46b29e7b0c324",
          "body": "* feat(telemetry): add crash report notice and opt-out\n\n* refactor(telemetry): read user config once in `showNoticeIfNeeded`",
          "is_bot": false,
          "headline": "feat(telemetry): add crash report notice and opt-out (#173)",
          "author_name": "Robin Genz",
          "author_login": "robingenz",
          "committed_at": "2026-06-13T13:37:13Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "a2dcef5f9a402095b5075c7cbe19bc0fd473f7aa",
          "body": null,
          "is_bot": false,
          "headline": "chore(release): 4.13.0",
          "author_name": "Robin Genz",
          "author_login": "robingenz",
          "committed_at": "2026-06-09T16:07:47Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "b75098b1f206e4896be1c225b0d04551f37cd35b",
          "body": "…output (#172)\n\n* feat(environments): include variable and secret keys in get and list output\n\n* wip",
          "is_bot": false,
          "headline": "feat(environments): include variable and secret keys in get and list …",
          "author_name": "Robin Genz",
          "author_login": "robingenz",
          "committed_at": "2026-06-09T16:07:27Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "aa84e81b9dcf564f9196af3c2b2d72ab7ccd755c",
          "body": null,
          "is_bot": false,
          "headline": "feat(cli): add `--json` output to create and register commands (#171)",
          "author_name": "Robin Genz",
          "author_login": "robingenz",
          "committed_at": "2026-06-09T15:15:03Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "d257dd4bf87260bd703e7d26fb33509ef71227a5",
          "body": "…tput (#170)",
          "is_bot": false,
          "headline": "feat(deployments): include app build data in `list` and `get` JSON ou…",
          "author_name": "Robin Genz",
          "author_login": "robingenz",
          "committed_at": "2026-06-09T13:42:25Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "e671294770495aab06792cac354663f70c92a7b9",
          "body": "…s in `create` (#169)",
          "is_bot": false,
          "headline": "feat(liveupdates): add `--json` output to `upload` and align JSON key…",
          "author_name": "Robin Genz",
          "author_login": "robingenz",
          "committed_at": "2026-06-09T13:31:38Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "5398bc69bae2ced302fd5a4663d038a59c5ca764",
          "body": null,
          "is_bot": false,
          "headline": "chore(release): 4.12.0",
          "author_name": "Robin Genz",
          "author_login": "robingenz",
          "committed_at": "2026-06-08T05:57:51Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "64fe273b2db3533f7d7929c6db4806720f1d9e50",
          "body": "…nset` (#168)\n\n* feat(environments): add `get` command and `--name` option to `set`/`unset`\n\n* refactor(environments): remove redundant environment lookup in `unset`",
          "is_bot": false,
          "headline": "feat(environments): add `get` command and `--name` option to `set`/`u…",
          "author_name": "Robin Genz",
          "author_login": "robingenz",
          "committed_at": "2026-06-05T05:57:59Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "ff876683036f884cbe453bc6c00fe964d035f57c",
          "body": "* feat: add AI-powered failure summary for builds and deployments\n\n* refactor(job): rename `onFailure` to `onFailed` and guard handler errors",
          "is_bot": false,
          "headline": "feat: add AI-powered failure summary for builds and deployments (#167)",
          "author_name": "Robin Genz",
          "author_login": "robingenz",
          "committed_at": "2026-06-03T11:04:08Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "ea81c0fc86d89f1c81a18b3c59e9f642eee03f07",
          "body": "… (#166)",
          "is_bot": false,
          "headline": "feat(liveupdates): support Cordova app type in `generate-signing-key`…",
          "author_name": "Robin Genz",
          "author_login": "robingenz",
          "committed_at": "2026-06-02T14:38:49Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "fdfce05f0aeaffdb0522c0939757710cda8c15e1",
          "body": null,
          "is_bot": false,
          "headline": "chore(release): 4.11.0",
          "author_name": "Robin Genz",
          "author_login": "robingenz",
          "committed_at": "2026-06-02T05:59:49Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "75ce02f14a8cef5066c4110397f3a7cae79f66aa",
          "body": "…sory\n\nResolves GHSA-5xrq-8626-4rwp (CVSS 9.8). Vitest 4 dropped `dist` from\nits default test exclude, so restore it in vitest.config.ts to avoid\nrunning compiled test files.\n\nCo-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>",
          "is_bot": false,
          "headline": "chore(deps): upgrade vitest and @vitest/ui to v4 to fix critical advi…",
          "author_name": "Robin Genz",
          "author_login": "robingenz",
          "committed_at": "2026-06-02T05:59:22Z",
          "body_truncated": false,
          "is_coding_agent": true
        },
        {
          "oid": "c14efd607190c7dc8dbc6f2550fde20bd90faeb4",
          "body": "…165)\n\n* feat(apps): derive platform from app type for single-platform apps\n\n* Resolve comments",
          "is_bot": false,
          "headline": "feat(apps): derive platform from app type for single-platform apps (#…",
          "author_name": "Robin Genz",
          "author_login": "robingenz",
          "committed_at": "2026-05-29T09:31:24Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "7c37bcfd3bd6d286acdc0674082aea35ec45115b",
          "body": "…o long` (#164)",
          "is_bot": false,
          "headline": "fix: hash and sign buffers in chunks to avoid `RangeError: data is to…",
          "author_name": "Robin Genz",
          "author_login": "robingenz",
          "committed_at": "2026-05-23T10:37:28Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "43a6ad08b0023877d5310d99848f8d1101f6ebfe",
          "body": null,
          "is_bot": false,
          "headline": "ci(lock): update `dessant/lock-threads` action to v6",
          "author_name": "Robin Genz",
          "author_login": "robingenz",
          "committed_at": "2026-05-23T10:34:25Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "a3e930ea0d16b6f7f4724d06c25c7b41ff793a06",
          "body": null,
          "is_bot": false,
          "headline": "chore(release): 4.10.0",
          "author_name": "Robin Genz",
          "author_login": "robingenz",
          "committed_at": "2026-05-18T20:23:23Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "2636c0260095e0d7e13934d58e7a12e646a3ec43",
          "body": "…ction errors (#163)\n\n* fix(apps:liveupdates): clear zip entry attrs to prevent Android extraction errors\n\n* wip",
          "is_bot": false,
          "headline": "fix(apps:liveupdates): clear zip entry attrs to prevent Android extra…",
          "author_name": "Robin Genz",
          "author_login": "robingenz",
          "committed_at": "2026-05-18T20:22:53Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "6417f028ff030b08b971d76bf2aaf983663bbb3c",
          "body": "…#148)\n\n* feat(apps): support zip files in `apps:builds:create --path` option\n\n* refactor(apps): use `isDirectory` to detect zip path in `apps:builds:create`\n\n* wip\n\n* Resolve comments",
          "is_bot": false,
          "headline": "feat(apps): support zip files in `apps:builds:create --path` option (…",
          "author_name": "Robin Genz",
          "author_login": "robingenz",
          "committed_at": "2026-05-15T19:09:24Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "491ee15aaaca19d3a765c85a53f0c09852c66c00",
          "body": null,
          "is_bot": false,
          "headline": "chore(release): 4.9.3",
          "author_name": "Robin Genz",
          "author_login": "robingenz",
          "committed_at": "2026-05-14T09:23:29Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "4c2a7048d59d9e966f48d7c05af2e0f2d8d75379",
          "body": "…en zipping source (#159)",
          "is_bot": false,
          "headline": "fix(apps:builds:create): exclude native build artifact directories wh…",
          "author_name": "Robin Genz",
          "author_login": "robingenz",
          "committed_at": "2026-05-14T07:10:38Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "242189a21f19ecbab72a34d8ce13f23824f1a4bf",
          "body": "* fix: check file read access to surface permission errors\n\n* fix(bundle): use existence check for overwrite safeguard and output dir",
          "is_bot": false,
          "headline": "fix: check file read access to surface permission errors (#158)",
          "author_name": "Robin Genz",
          "author_login": "robingenz",
          "committed_at": "2026-05-14T06:41:27Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "e7873ff0a4d5737b7a2370bcb88dc6220f7f274b",
          "body": null,
          "is_bot": false,
          "headline": "chore(release): 4.9.2",
          "author_name": "Robin Genz",
          "author_login": "robingenz",
          "committed_at": "2026-05-13T18:42:23Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "5fdadfba00ef8334ddd4c8022e9af935c6888f03",
          "body": null,
          "is_bot": false,
          "headline": "chore(deps): npm audit fix",
          "author_name": "Robin Genz",
          "author_login": "robingenz",
          "committed_at": "2026-05-13T18:41:54Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "8322a83cce66a2fb4524df8acbcfaf73dbc9239a",
          "body": null,
          "is_bot": false,
          "headline": "chore(release): 4.9.1",
          "author_name": "Robin Genz",
          "author_login": "robingenz",
          "committed_at": "2026-05-07T08:32:44Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "cadd6cf56dbad22d82423810152d43d0e970f82a",
          "body": "Close #157",
          "is_bot": false,
          "headline": "chreo(deps): npm audit fix",
          "author_name": "Robin Genz",
          "author_login": "robingenz",
          "committed_at": "2026-05-07T08:32:17Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "e1782eb7836916e4ed94ede79f6776d0284a5efb",
          "body": null,
          "is_bot": false,
          "headline": "chore(release): 4.9.0",
          "author_name": "Robin Genz",
          "author_login": "robingenz",
          "committed_at": "2026-05-01T17:02:19Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "32363d4f7d44bc0d7036f9062a1d74c01e15dfed",
          "body": "…ganizations (#156)\n\nAdds 8 new read-only CLI commands so users (and AI agents) can inspect\ntheir resources from the terminal:\n\n- `apps:get`, `apps:list`\n- `apps:builds:get`, `apps:builds:list`\n- `apps:deployments:get`, `apps:deployments:list`\n- `organizations:get`, `organizations:list`\n\nAll command\n[…]\nupport `--json` for structured output. The builds and\ndeployments commands include the related `job` entity (status, logs,\ntiming) when `--json` is set so failed runs can be debugged\nprogrammatically.",
          "is_bot": false,
          "headline": "feat: add `get`/`list` commands for apps, builds, deployments, and or…",
          "author_name": "Robin Genz",
          "author_login": "robingenz",
          "committed_at": "2026-05-01T16:57:35Z",
          "body_truncated": true,
          "is_coding_agent": false
        },
        {
          "oid": "c23c8775359de0841ce57904dc4c75b9420fad04",
          "body": "Adds a new optional `--type` flag to specify the app type.\nSupported values: `android`, `capacitor`, `cordova`, `ios`.\nDefaults to `capacitor` to preserve existing behavior.",
          "is_bot": false,
          "headline": "feat(apps): add `--type` option to `apps:create` (#154)",
          "author_name": "Robin Genz",
          "author_login": "robingenz",
          "committed_at": "2026-05-01T16:25:01Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "ab8ed4cb33ab02c5e5db62140ca3501b02e263b4",
          "body": "* fix: surface actionable error when `.capawesome` config file is not writable\n\n* Resolve comments\n\n* Resolve comments",
          "is_bot": false,
          "headline": "fix: surface actionable error when config file is not writable (#153)",
          "author_name": "Robin Genz",
          "author_login": "robingenz",
          "committed_at": "2026-04-23T05:46:43Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "f92189d166d15f0e0499461effc77a55c6b9c173",
          "body": null,
          "is_bot": false,
          "headline": "chore(release): 4.8.3",
          "author_name": "Robin Genz",
          "author_login": "robingenz",
          "committed_at": "2026-04-20T17:49:14Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "b029bc984544de56b6ad6a9fdd4c3fe5ec2be5ab",
          "body": null,
          "is_bot": false,
          "headline": "chore(deps): npm audit fix",
          "author_name": "Robin Genz",
          "author_login": "robingenz",
          "committed_at": "2026-04-20T17:48:50Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "f95523e63a7731ceb0a8dc97ab47ed1b8831d968",
          "body": "* fix: validate file existence before reading in `apps:builds:create`\n\nCo-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>\n\n* fix: validate file existence before reading in `apps:liveupdates:create` and `apps:environments:set`\n\nCo-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>\n\n---------\n\nCo-authored-by: Claude Opus 4.7 (1M context) <noreply@anthropic.com>",
          "is_bot": false,
          "headline": "fix: validate file existence before reading user-provided files (#152)",
          "author_name": "Robin Genz",
          "author_login": "robingenz",
          "committed_at": "2026-04-20T17:45:45Z",
          "body_truncated": false,
          "is_coding_agent": true
        },
        {
          "oid": "9241af093505ae803eb9595d0df1972e2a129099",
          "body": null,
          "is_bot": false,
          "headline": "chore(release): 4.8.2",
          "author_name": "Robin Genz",
          "author_login": "robingenz",
          "committed_at": "2026-04-20T13:08:00Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "5e9e4055bce3f91026daba576c0c7a97b581c1ae",
          "body": "…ate` and `apps:destinations:create` (#151)\n\n* fix: validate file existence before reading in `apps:certificates:create` and `apps:destinations:create`\n\n* Resolve comments\n\n* style: format",
          "is_bot": false,
          "headline": "fix: validate file existence before reading in `apps:certificates:cre…",
          "author_name": "Robin Genz",
          "author_login": "robingenz",
          "committed_at": "2026-04-14T04:23:59Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "c4fdf9e9343348113385e080b09982de21ff23a5",
          "body": null,
          "is_bot": false,
          "headline": "chore(release): 4.8.1",
          "author_name": "Robin Genz",
          "author_login": "robingenz",
          "committed_at": "2026-04-12T13:48:31Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "9f3a8014f4bd468ede3e40add3e98b79bec76634",
          "body": null,
          "is_bot": false,
          "headline": "fix(deps): update `axios` to version 1.15.0",
          "author_name": "Robin Genz",
          "author_login": "robingenz",
          "committed_at": "2026-04-12T13:46:23Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "ca7be4bcf75c7d6cb78eb39997b0b101e7e3eef7",
          "body": "* fix: improve error message handling for Axios v4 errors\n\n* style: format",
          "is_bot": false,
          "headline": "fix: improve error message handling for Axios v4 errors (#150)",
          "author_name": "Robin Genz",
          "author_login": "robingenz",
          "committed_at": "2026-04-12T10:05:32Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "75c20f3716097c23f1698d000f04646fd93201a1",
          "body": "… (#149)",
          "is_bot": false,
          "headline": "fix(apps): validate file count before zipping in `apps:builds:create`…",
          "author_name": "Robin Genz",
          "author_login": "robingenz",
          "committed_at": "2026-04-08T14:37:44Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "3fd64a1563c0120a045a29d008471d91b8fac79b",
          "body": null,
          "is_bot": false,
          "headline": "chore(release): 4.8.0",
          "author_name": "Robin Genz",
          "author_login": "robingenz",
          "committed_at": "2026-04-08T06:31:16Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "3573d6021574111e12a6758d212b41002a357ae8",
          "body": null,
          "is_bot": false,
          "headline": "feat(apps): add `--json` option to `apps:create` (#147)",
          "author_name": "Robin Genz",
          "author_login": "robingenz",
          "committed_at": "2026-04-08T06:30:43Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "ed7e04a5b379187d8c69856d180256f246931571",
          "body": null,
          "is_bot": false,
          "headline": "feat(apps): print app URL after `apps:create` (#146)",
          "author_name": "Robin Genz",
          "author_login": "robingenz",
          "committed_at": "2026-04-08T06:04:57Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "c9e38b8e3e360bc856cbff4bf66b68fadedd3b04",
          "body": null,
          "is_bot": false,
          "headline": "feat(apps): add `--link` option to `apps:create` (#145)",
          "author_name": "Robin Genz",
          "author_login": "robingenz",
          "committed_at": "2026-04-08T06:02:17Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "f7728d0849cf4883c761de5bfd673eb5c3c37409",
          "body": null,
          "is_bot": false,
          "headline": "feat(error): add `UserError` class to skip user errors in Sentry (#144)",
          "author_name": "Robin Genz",
          "author_login": "robingenz",
          "committed_at": "2026-04-08T05:57:56Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "884ed899f7458707bb590b530b9f07e5782c1b42",
          "body": null,
          "is_bot": false,
          "headline": "chore(deps): npm audit fix",
          "author_name": "Robin Genz",
          "author_login": "robingenz",
          "committed_at": "2026-04-07T06:51:03Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "3427e6da277fa61902dac5b9045c433535188142",
          "body": "…#143)\n\n* feat(apps): add prompt to connect git repository after app creation\n\n* style: format\n\n* feat(apps): add `-y` alias for `--yes` and use `options.yes` style",
          "is_bot": false,
          "headline": "feat(apps): add prompt to connect git repository after app creation (…",
          "author_name": "Robin Genz",
          "author_login": "robingenz",
          "committed_at": "2026-04-05T05:07:47Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "ac4763cbe41c7eb1b920c55118c4f5514ef0943b",
          "body": null,
          "is_bot": false,
          "headline": "chore(release): 4.7.0",
          "author_name": "Robin Genz",
          "author_login": "robingenz",
          "committed_at": "2026-04-04T15:55:02Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "e37e2fe8c8d80845e92379a7f859564f78725052",
          "body": "* feat(apps): add `apps:link` and `apps:unlink` commands\n\n* fix(utils): support GitLab subgroup paths in git remote parser\n\n* fix(utils): set `projectSlug` for GitLab subgroup paths\n\n* fix(utils): support HTTPS URLs with credentials and redact secrets from errors",
          "is_bot": false,
          "headline": "feat(apps): add `apps:link` and `apps:unlink` commands (#141)",
          "author_name": "Robin Genz",
          "author_login": "robingenz",
          "committed_at": "2026-04-04T15:53:26Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "b6f6b57943075ac3ab04d52a9a2d62deda85482e",
          "body": "* feat(apps): add `apps:transfer` command\n\n* fix(apps): distinguish source and target org prompts in `apps:transfer`",
          "is_bot": false,
          "headline": "feat(apps): add `apps:transfer` command (#142)",
          "author_name": "Robin Genz",
          "author_login": "robingenz",
          "committed_at": "2026-04-04T15:51:05Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "5854aa517dc5140235eda03a2ec2152da5bd94e5",
          "body": null,
          "is_bot": false,
          "headline": "chore(deps): npm audit fix",
          "author_name": "Robin Genz",
          "author_login": "robingenz",
          "committed_at": "2026-04-04T09:44:56Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "ef3ab540416553f71047a0400a6af4e28da32568",
          "body": null,
          "is_bot": false,
          "headline": "fix(utils): use error instead of warn for canceled build status",
          "author_name": "Robin Genz",
          "author_login": "robingenz",
          "committed_at": "2026-04-01T10:48:01Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "12df3ca100cb53196064ca18c3f5970b7326b1a2",
          "body": "…te` command (#140)",
          "is_bot": false,
          "headline": "feat(apps:liveupdates): support multiple `--channel` options in `crea…",
          "author_name": "Robin Genz",
          "author_login": "robingenz",
          "committed_at": "2026-04-01T09:59:52Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "8ae803e38b74634be3eb32333aca072f722c1bf4",
          "body": "* feat(apps:builds): add `--path` option to upload local source files\n\n* fix: use kebab-case `--git-ref` in error message and add `isFile()` check\n\n* feat: add `--path` and `--url` options to `liveupdates:create`, add `--url` option to `builds:create`\n\nAdd `--path` option to `apps:liveupdates:create\n[…]\nupdate test expectation for git ref error message\n\nCo-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>\n\n---------\n\nCo-authored-by: Claude Opus 4.6 (1M context) <noreply@anthropic.com>",
          "is_bot": false,
          "headline": "feat(apps): add `--path` and `--url` options (#131)",
          "author_name": "Robin Genz",
          "author_login": "robingenz",
          "committed_at": "2026-04-01T08:38:21Z",
          "body_truncated": true,
          "is_coding_agent": true
        },
        {
          "oid": "244c0b0f785548083c555453c63941584135bc17",
          "body": "* feat: add `apps:liveupdates:create` command\n\n* Resolve comments\n\n* refactoring\n\n* wip\n\n* style: format\n\n* wip: add missing param\n\n* wip\n\n* wip\n\n* wip\n\n* style: format\n\n* Resolve comments",
          "is_bot": false,
          "headline": "feat(apps:liveupdates): add `apps:liveupdates:create` command (#133)",
          "author_name": "Robin Genz",
          "author_login": "robingenz",
          "committed_at": "2026-04-01T08:16:52Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "e1ad83592ea0e6fdf21ea888f39b5dce66a63e29",
          "body": "…ive update commands (#139)\n\n* fix: skip symlinks and validate directory path in live update commands\n\n* style: fix formatting\n\n* fix: address PR review comments\n\n* refactor: revert `directoryContainsSymlinks` to simple approach for consistency\n\n* revert: remove unnecessary error handling in `isDirectory`",
          "is_bot": false,
          "headline": "fix(apps:liveupdates): skip symlinks and validate directory path in l…",
          "author_name": "Robin Genz",
          "author_login": "robingenz",
          "committed_at": "2026-04-01T06:17:43Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "7752df3fc94f61555d07f7e2e9488d51fca0ae9b",
          "body": "… (#138)\n\n* fix(signature): improve error message for invalid private keys\n\n* fix(signature): preserve original error as cause\n\n* fix(signature): catch private key error at command layer",
          "is_bot": false,
          "headline": "fix(apps:liveupdates): improve error message for invalid private keys…",
          "author_name": "Robin Genz",
          "author_login": "robingenz",
          "committed_at": "2026-04-01T06:06:58Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "d49d4104c4392d32bfc0fb351e5837a74e02b6b3",
          "body": "…ters (#137)\n\n* fix(login): trim authorization token to prevent invalid header characters\n\n* fix(authorization): return `null` for whitespace-only tokens\n\n* wip",
          "is_bot": false,
          "headline": "fix(login): trim authorization token to prevent invalid header charac…",
          "author_name": "Robin Genz",
          "author_login": "robingenz",
          "committed_at": "2026-04-01T05:45:26Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "2a10cb2e1dd1da7858ff1fdb4a55f2c89fc86ecb",
          "body": null,
          "is_bot": false,
          "headline": "chore(deps): npm audit fix",
          "author_name": "Robin Genz",
          "author_login": "robingenz",
          "committed_at": "2026-03-29T05:48:13Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "b9bdc5190a7a19b82589876cc798a30a83a4c5f2",
          "body": "…mmands (#135)\n\n* feat(apps:certificates): add `--type` option to `get` and `delete` commands\n\n* refactor(apps:certificates): make `--type` required alongside `--platform`\n\n* style: format\n\n* fix(apps:certificates): pass `name` in interactive `findAll` and improve error messages\n\n* style: format\n\n* docs: add formatting instructions to CLAUDE.md\n\n* refactor(apps:certificates): keep `--type` optional for backward compatibility",
          "is_bot": false,
          "headline": "feat(apps:certificates): add `--type` option to `get` and `delete` co…",
          "author_name": "Robin Genz",
          "author_login": "robingenz",
          "committed_at": "2026-03-27T10:07:00Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "80c962abbc7548d32a7c0782860632117817d62b",
          "body": null,
          "is_bot": false,
          "headline": "feat(apps:builds:create): support ad hoc environment variables (#134)",
          "author_name": "Robin Genz",
          "author_login": "robingenz",
          "committed_at": "2026-03-26T16:11:53Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "f61b8126d862eb44c1c1989692e823fdb95b0635",
          "body": "…annel` and `unforcechannel` (#132)",
          "is_bot": false,
          "headline": "feat(apps:devices): support multiple `--device-id` flags for `forcech…",
          "author_name": "Robin Genz",
          "author_login": "robingenz",
          "committed_at": "2026-03-24T13:17:49Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "c53b76697189e40c9b96f8ad679e058775c23cd9",
          "body": "* feat(apps:certificates): deprecate `--type` option\n\n* Resolve comments",
          "is_bot": false,
          "headline": "feat(apps:certificates): deprecate `--type` option (#130)",
          "author_name": "Robin Genz",
          "author_login": "robingenz",
          "committed_at": "2026-03-22T07:57:37Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "4779d1062951b59ba3f5328793e1cbbe0da8b30d",
          "body": null,
          "is_bot": false,
          "headline": "style: format",
          "author_name": "Robin Genz",
          "author_login": "robingenz",
          "committed_at": "2026-03-18T10:22:58Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "f90427c0f1d9a691f609f481c4b098c51f6adb1f",
          "body": null,
          "is_bot": false,
          "headline": "feat(apps:liveupdates): add source map detection and warning",
          "author_name": "Robin Genz",
          "author_login": "robingenz",
          "committed_at": "2026-03-18T10:20:28Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "2f6e8fd41cfb79bcb61938e90fea94df4c686846",
          "body": null,
          "is_bot": false,
          "headline": "chore(release): 4.6.0",
          "author_name": "Robin Genz",
          "author_login": "robingenz",
          "committed_at": "2026-03-18T08:44:56Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "33607cdb2e65e26c48d114d694b876db3762b8ec",
          "body": "* feat: add `apps:devices:probe` command\n\n* Resolve comment\n\n* Resolve comment\n\n* style: format",
          "is_bot": false,
          "headline": "feat: add `apps:devices:probe` command (#129)",
          "author_name": "Robin Genz",
          "author_login": "robingenz",
          "committed_at": "2026-03-18T08:43:18Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "99e1681dad6552e8c1daa6b4e7ad80ae0647ed28",
          "body": null,
          "is_bot": false,
          "headline": "chore(deps): npm audit fix",
          "author_name": "Robin Genz",
          "author_login": "robingenz",
          "committed_at": "2026-03-18T06:30:40Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "66287f4a0beb344447d99a40436a300d9be159b6",
          "body": null,
          "is_bot": false,
          "headline": "chore(release): 4.5.0",
          "author_name": "Robin Genz",
          "author_login": "robingenz",
          "committed_at": "2026-03-15T08:00:01Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "2d5e3cfc80518fc1237dbc926a57c4a2eddf2b31",
          "body": "* feat: add certificate and destination CRUD commands\n\n* style: format\n\n* Resolve comments\n\n* Resolve comment\n\n* wip\n\n* style: format",
          "is_bot": false,
          "headline": "feat: add certificate and destination CRUD commands (#126)",
          "author_name": "Robin Genz",
          "author_login": "robingenz",
          "committed_at": "2026-03-15T07:55:47Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "baab841d330c7bf230dbbf8e0819f3aaf248867b",
          "body": "… (#127)\n\n* feat(apps:builds:create): add `--channel` and `--destination` options\n\n* wip\n\n* fix\n\n* style: format",
          "is_bot": false,
          "headline": "feat(apps:builds:create): add `--channel` and `--destination` options…",
          "author_name": "Robin Genz",
          "author_login": "robingenz",
          "committed_at": "2026-03-15T07:39:34Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "50040958cd2a873ff296981b0950b3a799505a93",
          "body": "* feat(update): add dev version detection in update check\n\n* remove console log\n\n* wip",
          "is_bot": false,
          "headline": "feat(update): add dev version detection in update check (#128)",
          "author_name": "Robin Genz",
          "author_login": "robingenz",
          "committed_at": "2026-03-15T07:30:09Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "a03825128b8380f86dcf85e8d3507b3a41d9f775",
          "body": null,
          "is_bot": false,
          "headline": "fix(apps:builds:create): allow certificate selection for web platform",
          "author_name": "Robin Genz",
          "author_login": "robingenz",
          "committed_at": "2026-03-14T21:48:05Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "e152606d1d9c1758e922379e5bbda0764261c711",
          "body": null,
          "is_bot": false,
          "headline": "fix: create parent directories before writing signing key files (#125)",
          "author_name": "Robin Genz",
          "author_login": "robingenz",
          "committed_at": "2026-03-13T14:23:41Z",
          "body_truncated": false,
          "is_coding_agent": false
        }
      ],
      "releases_count": 100,
      "commits_last_year": 266,
      "latest_release_at": "2026-07-21T04:58:45Z",
      "latest_release_tag": "v4.17.3",
      "releases_from_tags": false,
      "days_since_last_push": 2,
      "active_weeks_last_year": 40,
      "days_since_latest_release": 7,
      "mean_days_between_releases": 4.8
    },
    "community": {
      "has_readme": true,
      "has_license": true,
      "has_description": true,
      "has_contributing": false,
      "health_percentage": 37,
      "has_issue_template": false,
      "has_code_of_conduct": false,
      "has_pull_request_template": false
    },
    "ecosystem": {
      "packages": [
        {
          "name": "@capawesome/cli",
          "exists": true,
          "license": "MIT",
          "keywords": [
            "capawesome",
            "cli",
            "capacitor"
          ],
          "ecosystem": "npm",
          "matches_repo": true,
          "registry_url": "https://www.npmjs.com/package/@capawesome/cli",
          "is_deprecated": false,
          "latest_version": "4.17.3",
          "repository_url": "https://github.com/capawesome-team/cli",
          "versions_count": 159,
          "total_downloads": null,
          "dependents_count": null,
          "deprecation_note": null,
          "maintainers_count": 1,
          "monthly_downloads": 65643,
          "first_published_at": "2024-04-25T14:40:35.667000Z",
          "latest_published_at": "2026-07-21T04:59:09.405000Z",
          "latest_version_yanked": null,
          "days_since_latest_publish": 7
        }
      ]
    },
    "popularity": {
      "forks": 2,
      "stars": 3,
      "watchers": 1,
      "fork_history": {
        "days": [
          {
            "date": "2024-11-05",
            "count": 1
          },
          {
            "date": "2026-06-07",
            "count": 1
          }
        ],
        "complete": true,
        "collected": 2,
        "total_forks": 2
      },
      "star_history": null,
      "open_issues_and_prs": 6
    },
    "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": [
        "tsconfig.json"
      ],
      "toolchain_manifests": [],
      "largest_source_bytes": 22539,
      "source_files_sampled": 170,
      "oversized_source_files": 0,
      "agent_instruction_files": [
        "CLAUDE.md"
      ],
      "agent_instruction_max_bytes": 3989
    },
    "dependencies": {
      "manifests": [
        "package.json"
      ],
      "advisories": {
        "error": null,
        "scope": "published_package",
        "source": "osv",
        "findings": [],
        "collected": true,
        "malicious": [],
        "truncated": false,
        "by_severity": {},
        "advisory_count": 0,
        "affected_count": 0,
        "assessed_count": 133,
        "malicious_count": 0,
        "assessed_package": "npm:@capawesome/cli@4.17.3",
        "unassessed_count": 0,
        "direct_affected_count": 0
      },
      "ecosystems": [
        "npm"
      ],
      "dependencies": [
        {
          "name": "@clack/prompts",
          "manifest": "package.json",
          "ecosystem": "npm",
          "version_constraint": "0.7.0"
        },
        {
          "name": "@napi-rs/keyring",
          "manifest": "package.json",
          "ecosystem": "npm",
          "version_constraint": "1.3.0"
        },
        {
          "name": "@robingenz/zli",
          "manifest": "package.json",
          "ecosystem": "npm",
          "version_constraint": "0.2.0"
        },
        {
          "name": "@sentry/node",
          "manifest": "package.json",
          "ecosystem": "npm",
          "version_constraint": "10.58.0"
        },
        {
          "name": "adm-zip",
          "manifest": "package.json",
          "ecosystem": "npm",
          "version_constraint": "0.6.0"
        },
        {
          "name": "axios",
          "manifest": "package.json",
          "ecosystem": "npm",
          "version_constraint": "1.18.1"
        },
        {
          "name": "axios-retry",
          "manifest": "package.json",
          "ecosystem": "npm",
          "version_constraint": "4.5.0"
        },
        {
          "name": "c12",
          "manifest": "package.json",
          "ecosystem": "npm",
          "version_constraint": "3.3.3"
        },
        {
          "name": "consola",
          "manifest": "package.json",
          "ecosystem": "npm",
          "version_constraint": "3.3.0"
        },
        {
          "name": "form-data",
          "manifest": "package.json",
          "ecosystem": "npm",
          "version_constraint": "4.0.6"
        },
        {
          "name": "globby",
          "manifest": "package.json",
          "ecosystem": "npm",
          "version_constraint": "16.1.1"
        },
        {
          "name": "http-proxy-agent",
          "manifest": "package.json",
          "ecosystem": "npm",
          "version_constraint": "7.0.2"
        },
        {
          "name": "https-proxy-agent",
          "manifest": "package.json",
          "ecosystem": "npm",
          "version_constraint": "7.0.6"
        },
        {
          "name": "mime",
          "manifest": "package.json",
          "ecosystem": "npm",
          "version_constraint": "4.0.7"
        },
        {
          "name": "open",
          "manifest": "package.json",
          "ecosystem": "npm",
          "version_constraint": "10.2.0"
        },
        {
          "name": "rc9",
          "manifest": "package.json",
          "ecosystem": "npm",
          "version_constraint": "2.1.2"
        },
        {
          "name": "semver",
          "manifest": "package.json",
          "ecosystem": "npm",
          "version_constraint": "7.6.3"
        },
        {
          "name": "systeminformation",
          "manifest": "package.json",
          "ecosystem": "npm",
          "version_constraint": "5.31.17"
        },
        {
          "name": "zod",
          "manifest": "package.json",
          "ecosystem": "npm",
          "version_constraint": "4.0.17"
        }
      ],
      "all_dependencies": {
        "error": null,
        "source": "github-sbom",
        "packages": [
          {
            "name": "@clack/prompts",
            "direct": true,
            "version": "0.7.0",
            "ecosystem": "npm"
          },
          {
            "name": "@napi-rs/keyring",
            "direct": true,
            "version": "1.3.0",
            "ecosystem": "npm"
          },
          {
            "name": "@robingenz/zli",
            "direct": true,
            "version": "0.2.0",
            "ecosystem": "npm"
          },
          {
            "name": "@sentry/node",
            "direct": true,
            "version": "10.58.0",
            "ecosystem": "npm"
          },
          {
            "name": "adm-zip",
            "direct": true,
            "version": "0.6.0",
            "ecosystem": "npm"
          },
          {
            "name": "axios",
            "direct": true,
            "version": "1.18.1",
            "ecosystem": "npm"
          },
          {
            "name": "axios-retry",
            "direct": true,
            "version": "4.5.0",
            "ecosystem": "npm"
          },
          {
            "name": "c12",
            "direct": true,
            "version": "3.3.3",
            "ecosystem": "npm"
          },
          {
            "name": "consola",
            "direct": true,
            "version": "3.3.0",
            "ecosystem": "npm"
          },
          {
            "name": "consola",
            "direct": true,
            "version": "3.4.2",
            "ecosystem": "npm"
          },
          {
            "name": "form-data",
            "direct": true,
            "version": "4.0.6",
            "ecosystem": "npm"
          },
          {
            "name": "globby",
            "direct": true,
            "version": "11.1.0",
            "ecosystem": "npm"
          },
          {
            "name": "globby",
            "direct": true,
            "version": "16.1.1",
            "ecosystem": "npm"
          },
          {
            "name": "http-proxy-agent",
            "direct": true,
            "version": "7.0.2",
            "ecosystem": "npm"
          },
          {
            "name": "https-proxy-agent",
            "direct": true,
            "version": "5.0.1",
            "ecosystem": "npm"
          },
          {
            "name": "https-proxy-agent",
            "direct": true,
            "version": "7.0.6",
            "ecosystem": "npm"
          },
          {
            "name": "mime",
            "direct": true,
            "version": "4.0.7",
            "ecosystem": "npm"
          },
          {
            "name": "open",
            "direct": true,
            "version": "10.2.0",
            "ecosystem": "npm"
          },
          {
            "name": "rc9",
            "direct": true,
            "version": "2.1.2",
            "ecosystem": "npm"
          },
          {
            "name": "semver",
            "direct": true,
            "version": "7.6.3",
            "ecosystem": "npm"
          },
          {
            "name": "systeminformation",
            "direct": true,
            "version": "5.31.17",
            "ecosystem": "npm"
          },
          {
            "name": "zod",
            "direct": true,
            "version": "4.0.17",
            "ecosystem": "npm"
          },
          {
            "name": "@babel/helper-string-parser",
            "direct": false,
            "version": "7.29.7",
            "ecosystem": "npm"
          },
          {
            "name": "@babel/helper-validator-identifier",
            "direct": false,
            "version": "7.29.7",
            "ecosystem": "npm"
          },
          {
            "name": "@babel/parser",
            "direct": false,
            "version": "7.29.7",
            "ecosystem": "npm"
          },
          {
            "name": "@babel/types",
            "direct": false,
            "version": "7.29.7",
            "ecosystem": "npm"
          },
          {
            "name": "@bcoe/v8-coverage",
            "direct": false,
            "version": "1.0.2",
            "ecosystem": "npm"
          },
          {
            "name": "@clack/core",
            "direct": false,
            "version": "0.3.4",
            "ecosystem": "npm"
          },
          {
            "name": "@emnapi/core",
            "direct": false,
            "version": "1.10.0",
            "ecosystem": "npm"
          },
          {
            "name": "@emnapi/runtime",
            "direct": false,
            "version": "1.10.0",
            "ecosystem": "npm"
          },
          {
            "name": "@emnapi/wasi-threads",
            "direct": false,
            "version": "1.2.1",
            "ecosystem": "npm"
          },
          {
            "name": "@ionic/prettier-config",
            "direct": false,
            "version": "4.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "@isaacs/cliui",
            "direct": false,
            "version": "9.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "@jridgewell/resolve-uri",
            "direct": false,
            "version": "3.1.2",
            "ecosystem": "npm"
          },
          {
            "name": "@jridgewell/sourcemap-codec",
            "direct": false,
            "version": "1.5.5",
            "ecosystem": "npm"
          },
          {
            "name": "@jridgewell/trace-mapping",
            "direct": false,
            "version": "0.3.31",
            "ecosystem": "npm"
          },
          {
            "name": "@mswjs/interceptors",
            "direct": false,
            "version": "0.39.6",
            "ecosystem": "npm"
          },
          {
            "name": "@napi-rs/keyring-darwin-arm64",
            "direct": false,
            "version": "1.3.0",
            "ecosystem": "npm"
          },
          {
            "name": "@napi-rs/keyring-darwin-x64",
            "direct": false,
            "version": "1.3.0",
            "ecosystem": "npm"
          },
          {
            "name": "@napi-rs/keyring-freebsd-x64",
            "direct": false,
            "version": "1.3.0",
            "ecosystem": "npm"
          },
          {
            "name": "@napi-rs/keyring-linux-arm-gnueabihf",
            "direct": false,
            "version": "1.3.0",
            "ecosystem": "npm"
          },
          {
            "name": "@napi-rs/keyring-linux-arm64-gnu",
            "direct": false,
            "version": "1.3.0",
            "ecosystem": "npm"
          },
          {
            "name": "@napi-rs/keyring-linux-arm64-musl",
            "direct": false,
            "version": "1.3.0",
            "ecosystem": "npm"
          },
          {
            "name": "@napi-rs/keyring-linux-riscv64-gnu",
            "direct": false,
            "version": "1.3.0",
            "ecosystem": "npm"
          },
          {
            "name": "@napi-rs/keyring-linux-x64-gnu",
            "direct": false,
            "version": "1.3.0",
            "ecosystem": "npm"
          },
          {
            "name": "@napi-rs/keyring-linux-x64-musl",
            "direct": false,
            "version": "1.3.0",
            "ecosystem": "npm"
          },
          {
            "name": "@napi-rs/keyring-win32-arm64-msvc",
            "direct": false,
            "version": "1.3.0",
            "ecosystem": "npm"
          },
          {
            "name": "@napi-rs/keyring-win32-ia32-msvc",
            "direct": false,
            "version": "1.3.0",
            "ecosystem": "npm"
          },
          {
            "name": "@napi-rs/keyring-win32-x64-msvc",
            "direct": false,
            "version": "1.3.0",
            "ecosystem": "npm"
          },
          {
            "name": "@napi-rs/wasm-runtime",
            "direct": false,
            "version": "1.1.5",
            "ecosystem": "npm"
          },
          {
            "name": "@nodelib/fs.scandir",
            "direct": false,
            "version": "2.1.5",
            "ecosystem": "npm"
          },
          {
            "name": "@nodelib/fs.stat",
            "direct": false,
            "version": "2.0.5",
            "ecosystem": "npm"
          },
          {
            "name": "@nodelib/fs.walk",
            "direct": false,
            "version": "1.2.8",
            "ecosystem": "npm"
          },
          {
            "name": "@open-draft/deferred-promise",
            "direct": false,
            "version": "2.2.0",
            "ecosystem": "npm"
          },
          {
            "name": "@open-draft/logger",
            "direct": false,
            "version": "0.3.0",
            "ecosystem": "npm"
          },
          {
            "name": "@open-draft/until",
            "direct": false,
            "version": "2.1.0",
            "ecosystem": "npm"
          },
          {
            "name": "@opentelemetry/api",
            "direct": false,
            "version": "1.9.1",
            "ecosystem": "npm"
          },
          {
            "name": "@opentelemetry/api-logs",
            "direct": false,
            "version": "0.214.0",
            "ecosystem": "npm"
          },
          {
            "name": "@opentelemetry/core",
            "direct": false,
            "version": "2.8.0",
            "ecosystem": "npm"
          },
          {
            "name": "@opentelemetry/instrumentation",
            "direct": false,
            "version": "0.214.0",
            "ecosystem": "npm"
          },
          {
            "name": "@opentelemetry/resources",
            "direct": false,
            "version": "2.8.0",
            "ecosystem": "npm"
          },
          {
            "name": "@opentelemetry/sdk-trace-base",
            "direct": false,
            "version": "2.8.0",
            "ecosystem": "npm"
          },
          {
            "name": "@opentelemetry/semantic-conventions",
            "direct": false,
            "version": "1.41.1",
            "ecosystem": "npm"
          },
          {
            "name": "@oxc-project/types",
            "direct": false,
            "version": "0.133.0",
            "ecosystem": "npm"
          },
          {
            "name": "@polka/url",
            "direct": false,
            "version": "1.0.0-next.29",
            "ecosystem": "npm"
          },
          {
            "name": "@rolldown/binding-android-arm64",
            "direct": false,
            "version": "1.0.3",
            "ecosystem": "npm"
          },
          {
            "name": "@rolldown/binding-darwin-arm64",
            "direct": false,
            "version": "1.0.3",
            "ecosystem": "npm"
          },
          {
            "name": "@rolldown/binding-darwin-x64",
            "direct": false,
            "version": "1.0.3",
            "ecosystem": "npm"
          },
          {
            "name": "@rolldown/binding-freebsd-x64",
            "direct": false,
            "version": "1.0.3",
            "ecosystem": "npm"
          },
          {
            "name": "@rolldown/binding-linux-arm-gnueabihf",
            "direct": false,
            "version": "1.0.3",
            "ecosystem": "npm"
          },
          {
            "name": "@rolldown/binding-linux-arm64-gnu",
            "direct": false,
            "version": "1.0.3",
            "ecosystem": "npm"
          },
          {
            "name": "@rolldown/binding-linux-arm64-musl",
            "direct": false,
            "version": "1.0.3",
            "ecosystem": "npm"
          },
          {
            "name": "@rolldown/binding-linux-ppc64-gnu",
            "direct": false,
            "version": "1.0.3",
            "ecosystem": "npm"
          },
          {
            "name": "@rolldown/binding-linux-s390x-gnu",
            "direct": false,
            "version": "1.0.3",
            "ecosystem": "npm"
          },
          {
            "name": "@rolldown/binding-linux-x64-gnu",
            "direct": false,
            "version": "1.0.3",
            "ecosystem": "npm"
          },
          {
            "name": "@rolldown/binding-linux-x64-musl",
            "direct": false,
            "version": "1.0.3",
            "ecosystem": "npm"
          },
          {
            "name": "@rolldown/binding-openharmony-arm64",
            "direct": false,
            "version": "1.0.3",
            "ecosystem": "npm"
          },
          {
            "name": "@rolldown/binding-wasm32-wasi",
            "direct": false,
            "version": "1.0.3",
            "ecosystem": "npm"
          },
          {
            "name": "@rolldown/binding-win32-arm64-msvc",
            "direct": false,
            "version": "1.0.3",
            "ecosystem": "npm"
          },
          {
            "name": "@rolldown/binding-win32-x64-msvc",
            "direct": false,
            "version": "1.0.3",
            "ecosystem": "npm"
          },
          {
            "name": "@rolldown/pluginutils",
            "direct": false,
            "version": "1.0.1",
            "ecosystem": "npm"
          },
          {
            "name": "@sentry/cli",
            "direct": false,
            "version": "2.52.0",
            "ecosystem": "npm"
          },
          {
            "name": "@sentry/cli-darwin",
            "direct": false,
            "version": "2.52.0",
            "ecosystem": "npm"
          },
          {
            "name": "@sentry/cli-linux-arm",
            "direct": false,
            "version": "2.52.0",
            "ecosystem": "npm"
          },
          {
            "name": "@sentry/cli-linux-arm64",
            "direct": false,
            "version": "2.52.0",
            "ecosystem": "npm"
          },
          {
            "name": "@sentry/cli-linux-i686",
            "direct": false,
            "version": "2.52.0",
            "ecosystem": "npm"
          },
          {
            "name": "@sentry/cli-linux-x64",
            "direct": false,
            "version": "2.52.0",
            "ecosystem": "npm"
          },
          {
            "name": "@sentry/cli-win32-arm64",
            "direct": false,
            "version": "2.52.0",
            "ecosystem": "npm"
          },
          {
            "name": "@sentry/cli-win32-i686",
            "direct": false,
            "version": "2.52.0",
            "ecosystem": "npm"
          },
          {
            "name": "@sentry/cli-win32-x64",
            "direct": false,
            "version": "2.52.0",
            "ecosystem": "npm"
          },
          {
            "name": "@sentry/core",
            "direct": false,
            "version": "10.58.0",
            "ecosystem": "npm"
          },
          {
            "name": "@sentry/node-core",
            "direct": false,
            "version": "10.58.0",
            "ecosystem": "npm"
          },
          {
            "name": "@sentry/opentelemetry",
            "direct": false,
            "version": "10.58.0",
            "ecosystem": "npm"
          },
          {
            "name": "@sentry/server-utils",
            "direct": false,
            "version": "10.58.0",
            "ecosystem": "npm"
          },
          {
            "name": "@sindresorhus/merge-streams",
            "direct": false,
            "version": "4.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "@standard-schema/spec",
            "direct": false,
            "version": "1.1.0",
            "ecosystem": "npm"
          },
          {
            "name": "@tybys/wasm-util",
            "direct": false,
            "version": "0.10.2",
            "ecosystem": "npm"
          },
          {
            "name": "@types/chai",
            "direct": false,
            "version": "5.2.3",
            "ecosystem": "npm"
          },
          {
            "name": "@types/deep-eql",
            "direct": false,
            "version": "4.0.2",
            "ecosystem": "npm"
          },
          {
            "name": "@types/estree",
            "direct": false,
            "version": "1.0.9",
            "ecosystem": "npm"
          },
          {
            "name": "@types/mime",
            "direct": false,
            "version": "3.0.4",
            "ecosystem": "npm"
          },
          {
            "name": "@types/node",
            "direct": false,
            "version": "24.2.1",
            "ecosystem": "npm"
          },
          {
            "name": "@types/semver",
            "direct": false,
            "version": "7.5.8",
            "ecosystem": "npm"
          },
          {
            "name": "@vitest/coverage-v8",
            "direct": false,
            "version": "4.1.7",
            "ecosystem": "npm"
          },
          {
            "name": "@vitest/expect",
            "direct": false,
            "version": "4.1.7",
            "ecosystem": "npm"
          },
          {
            "name": "@vitest/mocker",
            "direct": false,
            "version": "4.1.7",
            "ecosystem": "npm"
          },
          {
            "name": "@vitest/pretty-format",
            "direct": false,
            "version": "4.1.7",
            "ecosystem": "npm"
          },
          {
            "name": "@vitest/runner",
            "direct": false,
            "version": "4.1.7",
            "ecosystem": "npm"
          },
          {
            "name": "@vitest/snapshot",
            "direct": false,
            "version": "4.1.7",
            "ecosystem": "npm"
          },
          {
            "name": "@vitest/spy",
            "direct": false,
            "version": "4.1.7",
            "ecosystem": "npm"
          },
          {
            "name": "@vitest/ui",
            "direct": false,
            "version": "4.1.7",
            "ecosystem": "npm"
          },
          {
            "name": "@vitest/utils",
            "direct": false,
            "version": "4.1.7",
            "ecosystem": "npm"
          },
          {
            "name": "acorn",
            "direct": false,
            "version": "8.17.0",
            "ecosystem": "npm"
          },
          {
            "name": "acorn-import-attributes",
            "direct": false,
            "version": "1.9.5",
            "ecosystem": "npm"
          },
          {
            "name": "agent-base",
            "direct": false,
            "version": "6.0.2",
            "ecosystem": "npm"
          },
          {
            "name": "agent-base",
            "direct": false,
            "version": "7.1.4",
            "ecosystem": "npm"
          },
          {
            "name": "anymatch",
            "direct": false,
            "version": "3.1.3",
            "ecosystem": "npm"
          },
          {
            "name": "array-union",
            "direct": false,
            "version": "2.1.0",
            "ecosystem": "npm"
          },
          {
            "name": "assertion-error",
            "direct": false,
            "version": "2.0.1",
            "ecosystem": "npm"
          },
          {
            "name": "ast-v8-to-istanbul",
            "direct": false,
            "version": "1.0.4",
            "ecosystem": "npm"
          },
          {
            "name": "asynckit",
            "direct": false,
            "version": "0.4.0",
            "ecosystem": "npm"
          },
          {
            "name": "balanced-match",
            "direct": false,
            "version": "4.0.3",
            "ecosystem": "npm"
          },
          {
            "name": "binary-extensions",
            "direct": false,
            "version": "2.3.0",
            "ecosystem": "npm"
          },
          {
            "name": "brace-expansion",
            "direct": false,
            "version": "5.0.7",
            "ecosystem": "npm"
          },
          {
            "name": "braces",
            "direct": false,
            "version": "3.0.3",
            "ecosystem": "npm"
          },
          {
            "name": "bundle-name",
            "direct": false,
            "version": "4.1.0",
            "ecosystem": "npm"
          },
          {
            "name": "call-bind-apply-helpers",
            "direct": false,
            "version": "1.0.1",
            "ecosystem": "npm"
          },
          {
            "name": "chai",
            "direct": false,
            "version": "6.2.2",
            "ecosystem": "npm"
          },
          {
            "name": "chokidar",
            "direct": false,
            "version": "3.6.0",
            "ecosystem": "npm"
          },
          {
            "name": "chokidar",
            "direct": false,
            "version": "5.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "citty",
            "direct": false,
            "version": "0.1.6",
            "ecosystem": "npm"
          },
          {
            "name": "citty",
            "direct": false,
            "version": "0.2.0",
            "ecosystem": "npm"
          },
          {
            "name": "cjs-module-lexer",
            "direct": false,
            "version": "2.2.0",
            "ecosystem": "npm"
          },
          {
            "name": "combined-stream",
            "direct": false,
            "version": "1.0.8",
            "ecosystem": "npm"
          },
          {
            "name": "commander",
            "direct": false,
            "version": "9.5.0",
            "ecosystem": "npm"
          },
          {
            "name": "confbox",
            "direct": false,
            "version": "0.2.2",
            "ecosystem": "npm"
          },
          {
            "name": "convert-source-map",
            "direct": false,
            "version": "2.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "cross-spawn",
            "direct": false,
            "version": "7.0.6",
            "ecosystem": "npm"
          },
          {
            "name": "debug",
            "direct": false,
            "version": "4.4.1",
            "ecosystem": "npm"
          },
          {
            "name": "default-browser",
            "direct": false,
            "version": "5.2.1",
            "ecosystem": "npm"
          },
          {
            "name": "default-browser-id",
            "direct": false,
            "version": "5.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "define-lazy-prop",
            "direct": false,
            "version": "3.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "defu",
            "direct": false,
            "version": "6.1.6",
            "ecosystem": "npm"
          },
          {
            "name": "delayed-stream",
            "direct": false,
            "version": "1.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "destr",
            "direct": false,
            "version": "2.0.3",
            "ecosystem": "npm"
          },
          {
            "name": "detect-libc",
            "direct": false,
            "version": "2.1.2",
            "ecosystem": "npm"
          },
          {
            "name": "dir-glob",
            "direct": false,
            "version": "3.0.1",
            "ecosystem": "npm"
          },
          {
            "name": "dotenv",
            "direct": false,
            "version": "17.2.3",
            "ecosystem": "npm"
          },
          {
            "name": "dunder-proto",
            "direct": false,
            "version": "1.0.1",
            "ecosystem": "npm"
          },
          {
            "name": "es-define-property",
            "direct": false,
            "version": "1.0.1",
            "ecosystem": "npm"
          },
          {
            "name": "es-errors",
            "direct": false,
            "version": "1.3.0",
            "ecosystem": "npm"
          },
          {
            "name": "es-module-lexer",
            "direct": false,
            "version": "2.1.0",
            "ecosystem": "npm"
          },
          {
            "name": "es-object-atoms",
            "direct": false,
            "version": "1.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "es-set-tostringtag",
            "direct": false,
            "version": "2.1.0",
            "ecosystem": "npm"
          },
          {
            "name": "estree-walker",
            "direct": false,
            "version": "3.0.3",
            "ecosystem": "npm"
          },
          {
            "name": "expect-type",
            "direct": false,
            "version": "1.3.0",
            "ecosystem": "npm"
          },
          {
            "name": "exsolve",
            "direct": false,
            "version": "1.0.8",
            "ecosystem": "npm"
          },
          {
            "name": "fast-glob",
            "direct": false,
            "version": "3.3.3",
            "ecosystem": "npm"
          },
          {
            "name": "fastq",
            "direct": false,
            "version": "1.19.1",
            "ecosystem": "npm"
          },
          {
            "name": "fdir",
            "direct": false,
            "version": "6.5.0",
            "ecosystem": "npm"
          },
          {
            "name": "fflate",
            "direct": false,
            "version": "0.8.2",
            "ecosystem": "npm"
          },
          {
            "name": "fill-range",
            "direct": false,
            "version": "7.1.1",
            "ecosystem": "npm"
          },
          {
            "name": "flatted",
            "direct": false,
            "version": "3.4.2",
            "ecosystem": "npm"
          },
          {
            "name": "follow-redirects",
            "direct": false,
            "version": "1.16.0",
            "ecosystem": "npm"
          },
          {
            "name": "foreground-child",
            "direct": false,
            "version": "3.3.1",
            "ecosystem": "npm"
          },
          {
            "name": "fsevents",
            "direct": false,
            "version": "2.3.3",
            "ecosystem": "npm"
          },
          {
            "name": "function-bind",
            "direct": false,
            "version": "1.1.2",
            "ecosystem": "npm"
          },
          {
            "name": "get-intrinsic",
            "direct": false,
            "version": "1.2.6",
            "ecosystem": "npm"
          },
          {
            "name": "get-tsconfig",
            "direct": false,
            "version": "4.10.1",
            "ecosystem": "npm"
          },
          {
            "name": "giget",
            "direct": false,
            "version": "2.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "glob",
            "direct": false,
            "version": "11.1.0",
            "ecosystem": "npm"
          },
          {
            "name": "glob-parent",
            "direct": false,
            "version": "5.1.2",
            "ecosystem": "npm"
          },
          {
            "name": "gopd",
            "direct": false,
            "version": "1.2.0",
            "ecosystem": "npm"
          },
          {
            "name": "has-flag",
            "direct": false,
            "version": "4.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "has-symbols",
            "direct": false,
            "version": "1.1.0",
            "ecosystem": "npm"
          },
          {
            "name": "has-tostringtag",
            "direct": false,
            "version": "1.0.2",
            "ecosystem": "npm"
          },
          {
            "name": "hasown",
            "direct": false,
            "version": "2.0.4",
            "ecosystem": "npm"
          },
          {
            "name": "html-escaper",
            "direct": false,
            "version": "2.0.2",
            "ecosystem": "npm"
          },
          {
            "name": "ignore",
            "direct": false,
            "version": "5.3.2",
            "ecosystem": "npm"
          },
          {
            "name": "ignore",
            "direct": false,
            "version": "7.0.5",
            "ecosystem": "npm"
          },
          {
            "name": "import-in-the-middle",
            "direct": false,
            "version": "3.0.2",
            "ecosystem": "npm"
          },
          {
            "name": "is-binary-path",
            "direct": false,
            "version": "2.1.0",
            "ecosystem": "npm"
          },
          {
            "name": "is-docker",
            "direct": false,
            "version": "3.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "is-extglob",
            "direct": false,
            "version": "2.1.1",
            "ecosystem": "npm"
          },
          {
            "name": "is-glob",
            "direct": false,
            "version": "4.0.3",
            "ecosystem": "npm"
          },
          {
            "name": "is-inside-container",
            "direct": false,
            "version": "1.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "is-node-process",
            "direct": false,
            "version": "1.2.0",
            "ecosystem": "npm"
          },
          {
            "name": "is-number",
            "direct": false,
            "version": "7.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "is-path-inside",
            "direct": false,
            "version": "4.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "is-retry-allowed",
            "direct": false,
            "version": "2.2.0",
            "ecosystem": "npm"
          },
          {
            "name": "is-unicode-supported",
            "direct": false,
            "version": "1.3.0",
            "ecosystem": "npm"
          },
          {
            "name": "is-wsl",
            "direct": false,
            "version": "3.1.0",
            "ecosystem": "npm"
          },
          {
            "name": "isexe",
            "direct": false,
            "version": "2.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "istanbul-lib-coverage",
            "direct": false,
            "version": "3.2.2",
            "ecosystem": "npm"
          },
          {
            "name": "istanbul-lib-report",
            "direct": false,
            "version": "3.0.1",
            "ecosystem": "npm"
          },
          {
            "name": "istanbul-reports",
            "direct": false,
            "version": "3.2.0",
            "ecosystem": "npm"
          },
          {
            "name": "jackspeak",
            "direct": false,
            "version": "4.2.3",
            "ecosystem": "npm"
          },
          {
            "name": "jiti",
            "direct": false,
            "version": "2.6.1",
            "ecosystem": "npm"
          },
          {
            "name": "js-tokens",
            "direct": false,
            "version": "10.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "json-stringify-safe",
            "direct": false,
            "version": "5.0.1",
            "ecosystem": "npm"
          },
          {
            "name": "lightningcss",
            "direct": false,
            "version": "1.32.0",
            "ecosystem": "npm"
          },
          {
            "name": "lightningcss-android-arm64",
            "direct": false,
            "version": "1.32.0",
            "ecosystem": "npm"
          },
          {
            "name": "lightningcss-darwin-arm64",
            "direct": false,
            "version": "1.32.0",
            "ecosystem": "npm"
          },
          {
            "name": "lightningcss-darwin-x64",
            "direct": false,
            "version": "1.32.0",
            "ecosystem": "npm"
          },
          {
            "name": "lightningcss-freebsd-x64",
            "direct": false,
            "version": "1.32.0",
            "ecosystem": "npm"
          },
          {
            "name": "lightningcss-linux-arm-gnueabihf",
            "direct": false,
            "version": "1.32.0",
            "ecosystem": "npm"
          },
          {
            "name": "lightningcss-linux-arm64-gnu",
            "direct": false,
            "version": "1.32.0",
            "ecosystem": "npm"
          },
          {
            "name": "lightningcss-linux-arm64-musl",
            "direct": false,
            "version": "1.32.0",
            "ecosystem": "npm"
          },
          {
            "name": "lightningcss-linux-x64-gnu",
            "direct": false,
            "version": "1.32.0",
            "ecosystem": "npm"
          },
          {
            "name": "lightningcss-linux-x64-musl",
            "direct": false,
            "version": "1.32.0",
            "ecosystem": "npm"
          },
          {
            "name": "lightningcss-win32-arm64-msvc",
            "direct": false,
            "version": "1.32.0",
            "ecosystem": "npm"
          },
          {
            "name": "lightningcss-win32-x64-msvc",
            "direct": false,
            "version": "1.32.0",
            "ecosystem": "npm"
          },
          {
            "name": "lru-cache",
            "direct": false,
            "version": "11.2.6",
            "ecosystem": "npm"
          },
          {
            "name": "magic-string",
            "direct": false,
            "version": "0.30.21",
            "ecosystem": "npm"
          },
          {
            "name": "magicast",
            "direct": false,
            "version": "0.5.3",
            "ecosystem": "npm"
          },
          {
            "name": "make-dir",
            "direct": false,
            "version": "4.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "math-intrinsics",
            "direct": false,
            "version": "1.1.0",
            "ecosystem": "npm"
          },
          {
            "name": "merge2",
            "direct": false,
            "version": "1.4.1",
            "ecosystem": "npm"
          },
          {
            "name": "micromatch",
            "direct": false,
            "version": "4.0.8",
            "ecosystem": "npm"
          },
          {
            "name": "mime-db",
            "direct": false,
            "version": "1.52.0",
            "ecosystem": "npm"
          },
          {
            "name": "mime-types",
            "direct": false,
            "version": "2.1.35",
            "ecosystem": "npm"
          },
          {
            "name": "minimatch",
            "direct": false,
            "version": "10.2.4",
            "ecosystem": "npm"
          },
          {
            "name": "minipass",
            "direct": false,
            "version": "7.1.3",
            "ecosystem": "npm"
          },
          {
            "name": "module-details-from-path",
            "direct": false,
            "version": "1.0.4",
            "ecosystem": "npm"
          },
          {
            "name": "mrmime",
            "direct": false,
            "version": "2.0.1",
            "ecosystem": "npm"
          },
          {
            "name": "ms",
            "direct": false,
            "version": "2.1.3",
            "ecosystem": "npm"
          },
          {
            "name": "mylas",
            "direct": false,
            "version": "2.1.13",
            "ecosystem": "npm"
          },
          {
            "name": "nanoid",
            "direct": false,
            "version": "3.3.12",
            "ecosystem": "npm"
          },
          {
            "name": "nock",
            "direct": false,
            "version": "14.0.10",
            "ecosystem": "npm"
          },
          {
            "name": "node-fetch",
            "direct": false,
            "version": "2.7.0",
            "ecosystem": "npm"
          },
          {
            "name": "node-fetch-native",
            "direct": false,
            "version": "1.6.7",
            "ecosystem": "npm"
          },
          {
            "name": "normalize-path",
            "direct": false,
            "version": "3.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "nypm",
            "direct": false,
            "version": "0.6.4",
            "ecosystem": "npm"
          },
          {
            "name": "obug",
            "direct": false,
            "version": "2.1.1",
            "ecosystem": "npm"
          },
          {
            "name": "ohash",
            "direct": false,
            "version": "2.0.11",
            "ecosystem": "npm"
          },
          {
            "name": "outvariant",
            "direct": false,
            "version": "1.4.3",
            "ecosystem": "npm"
          },
          {
            "name": "package-json-from-dist",
            "direct": false,
            "version": "1.0.1",
            "ecosystem": "npm"
          },
          {
            "name": "path-key",
            "direct": false,
            "version": "3.1.1",
            "ecosystem": "npm"
          },
          {
            "name": "path-scurry",
            "direct": false,
            "version": "2.0.2",
            "ecosystem": "npm"
          },
          {
            "name": "path-type",
            "direct": false,
            "version": "4.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "pathe",
            "direct": false,
            "version": "2.0.3",
            "ecosystem": "npm"
          },
          {
            "name": "perfect-debounce",
            "direct": false,
            "version": "2.1.0",
            "ecosystem": "npm"
          },
          {
            "name": "picocolors",
            "direct": false,
            "version": "1.1.1",
            "ecosystem": "npm"
          },
          {
            "name": "picomatch",
            "direct": false,
            "version": "2.3.2",
            "ecosystem": "npm"
          },
          {
            "name": "picomatch",
            "direct": false,
            "version": "4.0.4",
            "ecosystem": "npm"
          },
          {
            "name": "pkg-types",
            "direct": false,
            "version": "2.3.0",
            "ecosystem": "npm"
          },
          {
            "name": "plimit-lit",
            "direct": false,
            "version": "1.6.1",
            "ecosystem": "npm"
          },
          {
            "name": "postcss",
            "direct": false,
            "version": "8.5.15",
            "ecosystem": "npm"
          },
          {
            "name": "prettier",
            "direct": false,
            "version": "3.3.3",
            "ecosystem": "npm"
          },
          {
            "name": "progress",
            "direct": false,
            "version": "2.0.3",
            "ecosystem": "npm"
          },
          {
            "name": "propagate",
            "direct": false,
            "version": "2.0.1",
            "ecosystem": "npm"
          },
          {
            "name": "proxy-from-env",
            "direct": false,
            "version": "1.1.0",
            "ecosystem": "npm"
          },
          {
            "name": "proxy-from-env",
            "direct": false,
            "version": "2.1.0",
            "ecosystem": "npm"
          },
          {
            "name": "queue-lit",
            "direct": false,
            "version": "1.5.2",
            "ecosystem": "npm"
          },
          {
            "name": "queue-microtask",
            "direct": false,
            "version": "1.2.3",
            "ecosystem": "npm"
          },
          {
            "name": "readdirp",
            "direct": false,
            "version": "3.6.0",
            "ecosystem": "npm"
          },
          {
            "name": "readdirp",
            "direct": false,
            "version": "5.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "require-in-the-middle",
            "direct": false,
            "version": "8.0.1",
            "ecosystem": "npm"
          },
          {
            "name": "resolve-pkg-maps",
            "direct": false,
            "version": "1.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "reusify",
            "direct": false,
            "version": "1.1.0",
            "ecosystem": "npm"
          },
          {
            "name": "rimraf",
            "direct": false,
            "version": "6.0.1",
            "ecosystem": "npm"
          },
          {
            "name": "rolldown",
            "direct": false,
            "version": "1.0.3",
            "ecosystem": "npm"
          },
          {
            "name": "run-applescript",
            "direct": false,
            "version": "7.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "run-parallel",
            "direct": false,
            "version": "1.2.0",
            "ecosystem": "npm"
          },
          {
            "name": "shebang-command",
            "direct": false,
            "version": "2.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "shebang-regex",
            "direct": false,
            "version": "3.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "siginfo",
            "direct": false,
            "version": "2.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "signal-exit",
            "direct": false,
            "version": "4.1.0",
            "ecosystem": "npm"
          },
          {
            "name": "sirv",
            "direct": false,
            "version": "3.0.2",
            "ecosystem": "npm"
          },
          {
            "name": "sisteransi",
            "direct": false,
            "version": "1.0.5",
            "ecosystem": "npm"
          },
          {
            "name": "slash",
            "direct": false,
            "version": "3.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "slash",
            "direct": false,
            "version": "5.1.0",
            "ecosystem": "npm"
          },
          {
            "name": "source-map-js",
            "direct": false,
            "version": "1.2.1",
            "ecosystem": "npm"
          },
          {
            "name": "stackback",
            "direct": false,
            "version": "0.0.2",
            "ecosystem": "npm"
          },
          {
            "name": "std-env",
            "direct": false,
            "version": "4.1.0",
            "ecosystem": "npm"
          },
          {
            "name": "strict-event-emitter",
            "direct": false,
            "version": "0.5.1",
            "ecosystem": "npm"
          },
          {
            "name": "supports-color",
            "direct": false,
            "version": "7.2.0",
            "ecosystem": "npm"
          },
          {
            "name": "tinybench",
            "direct": false,
            "version": "2.9.0",
            "ecosystem": "npm"
          },
          {
            "name": "tinyexec",
            "direct": false,
            "version": "1.2.3",
            "ecosystem": "npm"
          },
          {
            "name": "tinyglobby",
            "direct": false,
            "version": "0.2.17",
            "ecosystem": "npm"
          },
          {
            "name": "tinyrainbow",
            "direct": false,
            "version": "3.1.0",
            "ecosystem": "npm"
          },
          {
            "name": "to-regex-range",
            "direct": false,
            "version": "5.0.1",
            "ecosystem": "npm"
          },
          {
            "name": "totalist",
            "direct": false,
            "version": "3.0.1",
            "ecosystem": "npm"
          },
          {
            "name": "tr46",
            "direct": false,
            "version": "0.0.3",
            "ecosystem": "npm"
          },
          {
            "name": "tsc-alias",
            "direct": false,
            "version": "1.8.16",
            "ecosystem": "npm"
          },
          {
            "name": "tslib",
            "direct": false,
            "version": "2.8.1",
            "ecosystem": "npm"
          },
          {
            "name": "typescript",
            "direct": false,
            "version": "5.6.3",
            "ecosystem": "npm"
          },
          {
            "name": "undici-types",
            "direct": false,
            "version": "7.10.0",
            "ecosystem": "npm"
          },
          {
            "name": "unicorn-magic",
            "direct": false,
            "version": "0.4.0",
            "ecosystem": "npm"
          },
          {
            "name": "vite",
            "direct": false,
            "version": "8.0.16",
            "ecosystem": "npm"
          },
          {
            "name": "vitest",
            "direct": false,
            "version": "4.1.7",
            "ecosystem": "npm"
          },
          {
            "name": "webidl-conversions",
            "direct": false,
            "version": "3.0.1",
            "ecosystem": "npm"
          },
          {
            "name": "whatwg-url",
            "direct": false,
            "version": "5.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "which",
            "direct": false,
            "version": "2.0.2",
            "ecosystem": "npm"
          },
          {
            "name": "why-is-node-running",
            "direct": false,
            "version": "2.3.0",
            "ecosystem": "npm"
          },
          {
            "name": "wsl-utils",
            "direct": false,
            "version": "0.1.0",
            "ecosystem": "npm"
          }
        ],
        "collected": true,
        "truncated": false,
        "total_count": 296,
        "direct_count": 22,
        "indirect_count": 274
      }
    },
    "maintainership": {
      "issues": {
        "open_prs": 2,
        "merged_prs": 124,
        "open_issues": 4,
        "closed_ratio": 0.93,
        "closed_issues": 53,
        "closed_unmerged_prs": 6
      },
      "bus_factor": 1,
      "bot_contributors": 2,
      "top_contributors": [
        {
          "type": "User",
          "login": "robingenz",
          "commits": 419,
          "avatar_url": "https://avatars.githubusercontent.com/u/13857929?v=4"
        },
        {
          "type": "User",
          "login": "nicogenz",
          "commits": 10,
          "avatar_url": "https://avatars.githubusercontent.com/u/34741282?v=4"
        }
      ],
      "contributors_sampled": 2,
      "top_contributor_share": 0.977
    },
    "quality_signals": {
      "has_ci": true,
      "has_tests": true,
      "ci_workflows": [
        "ci.yml",
        "invalid.yml",
        "lock.yml",
        "needs-reply-remove.yml",
        "needs-reply.yml",
        "release.yml",
        "test.yml"
      ],
      "has_docs_dir": false,
      "linter_configs": [],
      "has_editorconfig": false,
      "has_linter_config": false,
      "has_precommit_config": false
    },
    "security_signals": {
      "lockfiles": [
        "package-lock.json"
      ],
      "scorecard": {
        "checks": [
          {
            "name": "Binary-Artifacts",
            "score": 10,
            "reason": "no binaries found in the repo",
            "documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#binary-artifacts"
          },
          {
            "name": "Branch-Protection",
            "score": 3,
            "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": 8,
            "reason": "14 out of 17 merged PRs checked by a CI test -- score normalized to 8",
            "documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#ci-tests"
          },
          {
            "name": "CII-Best-Practices",
            "score": 0,
            "reason": "no effort to earn an OpenSSF best practices badge detected",
            "documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#cii-best-practices"
          },
          {
            "name": "Code-Review",
            "score": 0,
            "reason": "Found 0/26 approved changesets -- score normalized to 0",
            "documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#code-review"
          },
          {
            "name": "Contributors",
            "score": 10,
            "reason": "project has 6 contributing companies or organizations",
            "documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#contributors"
          },
          {
            "name": "Dangerous-Workflow",
            "score": 10,
            "reason": "no dangerous workflow patterns detected",
            "documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#dangerous-workflow"
          },
          {
            "name": "Dependency-Update-Tool",
            "score": 10,
            "reason": "update tool detected",
            "documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#dependency-update-tool"
          },
          {
            "name": "Fuzzing",
            "score": 0,
            "reason": "project is not fuzzed",
            "documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#fuzzing"
          },
          {
            "name": "License",
            "score": 10,
            "reason": "license file detected",
            "documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#license"
          },
          {
            "name": "Maintained",
            "score": 10,
            "reason": "30 commit(s) and 3 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": null,
            "reason": "packaging workflow not detected",
            "documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#packaging"
          },
          {
            "name": "Pinned-Dependencies",
            "score": 3,
            "reason": "dependency not pinned by hash detected -- score normalized to 3",
            "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": 8,
            "reason": "2 existing vulnerabilities detected",
            "documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#vulnerabilities"
          }
        ],
        "commit": "69037a23f4e763d60387f6c6797c8a9edc9a49dc",
        "ran_at": "2026-07-29T01:46:44Z",
        "aggregate_score": 5.3,
        "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-29T00:33:46Z",
      "oldest_open_prs": [
        {
          "number": 185,
          "created_at": "2026-07-13T11:17:37Z",
          "last_comment_at": null,
          "last_comment_author": null
        },
        {
          "number": 194,
          "created_at": "2026-07-26T07:06:19Z",
          "last_comment_at": null,
          "last_comment_author": null
        }
      ],
      "last_merged_pr_at": "2026-07-21T04:58:34Z",
      "ci_last_conclusion": "SUCCESS",
      "oldest_open_issues": [
        {
          "number": 24,
          "created_at": "2025-01-05T09:52:40Z",
          "last_comment_at": null,
          "last_comment_author": null
        },
        {
          "number": 70,
          "created_at": "2025-08-29T02:45:07Z",
          "last_comment_at": "2025-08-29T05:04:44Z",
          "last_comment_author": "tellisnz"
        },
        {
          "number": 136,
          "created_at": "2026-03-27T10:07:23Z",
          "last_comment_at": null,
          "last_comment_author": null
        },
        {
          "number": 155,
          "created_at": "2026-05-01T16:25:12Z",
          "last_comment_at": null,
          "last_comment_author": null
        }
      ]
    }
  },
  "config": {
    "disabled_metrics": [],
    "disabled_categories": [],
    "disabled_components": {}
  },
  "source": {
    "url": "https://github.com/capawesome-team/cli",
    "host": "github.com",
    "name": "cli",
    "owner": "capawesome-team"
  },
  "metrics": {
    "overall": {
      "key": "overall",
      "band": "moderate",
      "name": "Overall health",
      "note": null,
      "notes": [],
      "value": 66,
      "inputs": {
        "security": 62,
        "vitality": 95,
        "community": 40,
        "governance": 64,
        "engineering": 64
      },
      "components": []
    },
    "categories": [
      {
        "key": "vitality",
        "band": "excellent",
        "name": "Vitality",
        "value": 95,
        "weight": 0.22,
        "metrics": [
          {
            "key": "development_activity",
            "band": "excellent",
            "name": "Development activity",
            "note": null,
            "notes": [],
            "value": 92,
            "inputs": {
              "commits_last_year": 266,
              "human_commit_share": 0.96,
              "days_since_last_push": 2,
              "active_weeks_last_year": 40
            },
            "components": [
              {
                "key": "push_recency",
                "name": "Push recency",
                "detail": "last push 2 days ago",
                "points": 36,
                "status": "met",
                "details": [
                  {
                    "code": "push_recency",
                    "params": {
                      "days": 2
                    }
                  }
                ],
                "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": "266 commits in the last year",
                "points": 18,
                "status": "met",
                "details": [
                  {
                    "code": "commits_last_year",
                    "params": {
                      "count": 266
                    }
                  }
                ],
                "max_points": 18
              },
              {
                "key": "openssf_scorecard_maintained",
                "name": "OpenSSF Scorecard: Maintained",
                "detail": "30 commit(s) and 3 issue activity found in the last 90 days -- score normalized to 10",
                "points": 10,
                "status": "met",
                "details": [],
                "max_points": 10
              }
            ]
          },
          {
            "key": "release_discipline",
            "band": "excellent",
            "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": 100,
            "inputs": {
              "releases_count": 100,
              "latest_release_tag": "v4.17.3",
              "releases_from_tags": false,
              "days_since_latest_release": 7,
              "mean_days_between_releases": 4.8
            },
            "components": [
              {
                "key": "ships_releases",
                "name": "Ships releases",
                "detail": "100 releases published",
                "points": 27,
                "status": "met",
                "details": [
                  {
                    "code": "releases_published",
                    "params": {
                      "count": 100
                    }
                  }
                ],
                "max_points": 27
              },
              {
                "key": "release_recency",
                "name": "Release recency",
                "detail": "latest release 7 days ago",
                "points": 36,
                "status": "met",
                "details": [
                  {
                    "code": "release_recency",
                    "params": {
                      "days": 7
                    }
                  }
                ],
                "max_points": 36
              },
              {
                "key": "release_cadence",
                "name": "Release cadence",
                "detail": "a release every ~4.8 days",
                "points": 27,
                "status": "met",
                "details": [
                  {
                    "code": "release_cadence",
                    "params": {
                      "gap": 4.8
                    }
                  }
                ],
                "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": 7,
              "days_since_last_human_commit_is_floor": false
            },
            "components": [
              {
                "key": "project_is_still_maintained",
                "name": "Project is still maintained",
                "detail": "last human commit 7 days ago",
                "points": 100,
                "status": "met",
                "details": [
                  {
                    "code": "abandonment_maintained",
                    "params": {
                      "days": 7
                    }
                  }
                ],
                "max_points": 100
              }
            ]
          }
        ],
        "description": "Is the project alive — is code being written and are releases shipping?"
      },
      {
        "key": "community",
        "band": "at_risk",
        "name": "Community & Adoption",
        "value": 40,
        "weight": 0.18,
        "metrics": [
          {
            "key": "popularity",
            "band": "critical",
            "name": "Popularity & adoption",
            "note": null,
            "notes": [],
            "value": 5,
            "inputs": {
              "forks": 2,
              "stars": 3,
              "watchers": 1,
              "growth_state": "unverified",
              "growth_factor_pct": 100,
              "growth_unverified_reason": "no_history"
            },
            "components": [
              {
                "key": "stars",
                "name": "Stars",
                "detail": "3 stars",
                "points": 4.9,
                "status": "partial",
                "details": [
                  {
                    "code": "stars",
                    "params": {
                      "count": 3
                    }
                  }
                ],
                "max_points": 60
              },
              {
                "key": "forks",
                "name": "Forks",
                "detail": "2 forks",
                "points": 0,
                "status": "missed",
                "details": [
                  {
                    "code": "forks",
                    "params": {
                      "count": 2
                    }
                  }
                ],
                "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": "moderate",
            "name": "Community health",
            "note": null,
            "notes": [],
            "value": 50,
            "inputs": {
              "has_readme": true,
              "has_license": true,
              "has_contributing": false,
              "has_issue_template": false,
              "has_code_of_conduct": false,
              "has_pull_request_template": false
            },
            "components": [
              {
                "key": "readme",
                "name": "README",
                "detail": null,
                "points": 22.5,
                "status": "met",
                "details": [],
                "max_points": 22.5
              },
              {
                "key": "license",
                "name": "License",
                "detail": "recognized license (MIT)",
                "points": 22.5,
                "status": "met",
                "details": [
                  {
                    "code": "license_standard",
                    "params": {}
                  },
                  {
                    "code": "license_spdx",
                    "params": {
                      "spdx": "MIT"
                    }
                  }
                ],
                "max_points": 22.5
              },
              {
                "key": "contributing_guide",
                "name": "CONTRIBUTING guide",
                "detail": null,
                "points": 0,
                "status": "missed",
                "details": [],
                "max_points": 18
              },
              {
                "key": "code_of_conduct",
                "name": "Code of conduct",
                "detail": null,
                "points": 0,
                "status": "missed",
                "details": [],
                "max_points": 13.5
              },
              {
                "key": "issue_template",
                "name": "Issue template",
                "detail": null,
                "points": 0,
                "status": "missed",
                "details": [],
                "max_points": 7.2
              },
              {
                "key": "pr_template",
                "name": "PR template",
                "detail": null,
                "points": 0,
                "status": "missed",
                "details": [],
                "max_points": 6.3
              }
            ]
          },
          {
            "key": "ecosystem_adoption",
            "band": "good",
            "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": 80,
            "inputs": {
              "packages": [
                "@capawesome/cli"
              ],
              "dependents": null,
              "ecosystems": "npm",
              "total_downloads": null,
              "monthly_downloads": 65643
            },
            "components": [
              {
                "key": "monthly_downloads",
                "name": "Monthly downloads",
                "detail": "65,643 downloads/month across npm",
                "points": 64.2,
                "status": "partial",
                "details": [
                  {
                    "code": "downloads_monthly",
                    "params": {
                      "count": 65643,
                      "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": "moderate",
        "name": "Sustainability & Governance",
        "value": 64,
        "weight": 0.24,
        "metrics": [
          {
            "key": "maintainer_resilience",
            "band": "critical",
            "name": "Maintainer resilience (bus factor)",
            "note": null,
            "notes": [],
            "value": 22,
            "inputs": {
              "bus_factor": 1,
              "contributors_sampled": 2,
              "top_contributor_share": 0.977
            },
            "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 98% of commits",
                "points": 0.5,
                "status": "partial",
                "details": [
                  {
                    "code": "top_contributor_share",
                    "params": {
                      "share": 98
                    }
                  }
                ],
                "max_points": 22.5
              },
              {
                "key": "contributor_breadth",
                "name": "Contributor breadth",
                "detail": "2 contributors",
                "points": 2.7,
                "status": "partial",
                "details": [
                  {
                    "code": "contributors_sampled",
                    "params": {
                      "count": 2
                    }
                  }
                ],
                "max_points": 13.5
              },
              {
                "key": "openssf_scorecard_contributors",
                "name": "OpenSSF Scorecard: Contributors",
                "detail": "project has 6 contributing companies or organizations",
                "points": 10,
                "status": "met",
                "details": [],
                "max_points": 10
              }
            ]
          },
          {
            "key": "responsiveness",
            "band": "good",
            "name": "Issue & PR responsiveness",
            "note": null,
            "notes": [],
            "value": 80,
            "inputs": {
              "merged_prs": 124,
              "open_issues": 4,
              "closed_issues": 53,
              "issue_closed_ratio": 0.93,
              "closed_unmerged_prs": 6
            },
            "components": [
              {
                "key": "issue_resolution",
                "name": "Issue resolution",
                "detail": "93% of issues closed",
                "points": 43.5,
                "status": "partial",
                "details": [
                  {
                    "code": "issues_closed_share",
                    "params": {
                      "share": 93
                    }
                  }
                ],
                "max_points": 46.75
              },
              {
                "key": "pr_acceptance",
                "name": "PR acceptance",
                "detail": "124/130 decided PRs merged",
                "points": 36.5,
                "status": "partial",
                "details": [
                  {
                    "code": "decided_prs_merged",
                    "params": {
                      "merged": 124,
                      "decided": 130
                    }
                  }
                ],
                "max_points": 38.25
              },
              {
                "key": "openssf_scorecard_code_review",
                "name": "OpenSSF Scorecard: Code-Review",
                "detail": "Found 0/26 approved changesets -- score normalized to 0",
                "points": 0,
                "status": "missed",
                "details": [],
                "max_points": 15
              }
            ]
          },
          {
            "key": "stewardship",
            "band": "good",
            "name": "Ownership & stewardship",
            "note": null,
            "notes": [],
            "value": 70,
            "inputs": {
              "followers": 430,
              "owner_type": "Organization",
              "is_verified": null,
              "owner_login": "capawesome-team",
              "public_repos": 68,
              "account_age_days": 1536
            },
            "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": "430 followers of capawesome-team",
                "points": 18.9,
                "status": "partial",
                "details": [
                  {
                    "code": "owner_followers",
                    "params": {
                      "count": 430,
                      "login": "capawesome-team"
                    }
                  }
                ],
                "max_points": 25
              },
              {
                "key": "track_record",
                "name": "Track record",
                "detail": "68 public repos, account ~4 yr old",
                "points": 21.4,
                "status": "partial",
                "details": [
                  {
                    "code": "public_repos",
                    "params": {
                      "count": 68
                    }
                  },
                  {
                    "code": "account_age_years",
                    "params": {
                      "years": 4
                    }
                  }
                ],
                "max_points": 25
              }
            ]
          },
          {
            "key": "package_maintenance",
            "band": "excellent",
            "name": "Package maintenance",
            "note": null,
            "notes": [],
            "value": 100,
            "inputs": {
              "packages": [
                "@capawesome/cli"
              ],
              "ecosystems": "npm",
              "any_deprecated": false,
              "min_days_since_publish": 7
            },
            "components": [
              {
                "key": "published_resolvable",
                "name": "Published & resolvable",
                "detail": "1 package(s) on npm",
                "points": 25,
                "status": "met",
                "details": [
                  {
                    "code": "packages_published",
                    "params": {
                      "count": 1,
                      "ecosystems": "npm"
                    }
                  }
                ],
                "max_points": 25
              },
              {
                "key": "publish_recency",
                "name": "Publish recency",
                "detail": "latest publish 7 days ago",
                "points": 35,
                "status": "met",
                "details": [
                  {
                    "code": "publish_recency",
                    "params": {
                      "days": 7
                    }
                  }
                ],
                "max_points": 35
              },
              {
                "key": "version_history",
                "name": "Version history",
                "detail": "159 published versions",
                "points": 20,
                "status": "met",
                "details": [
                  {
                    "code": "published_versions",
                    "params": {
                      "count": 159
                    }
                  }
                ],
                "max_points": 20
              },
              {
                "key": "not_deprecated",
                "name": "Not deprecated",
                "detail": "active, not deprecated or yanked",
                "points": 20,
                "status": "met",
                "details": [
                  {
                    "code": "package_not_deprecated",
                    "params": {}
                  }
                ],
                "max_points": 20
              }
            ]
          }
        ],
        "description": "Will the project survive its people — bus factor, responsiveness, who backs it, and package upkeep?"
      },
      {
        "key": "engineering",
        "band": "moderate",
        "name": "Engineering Quality",
        "value": 64,
        "weight": 0.2,
        "metrics": [
          {
            "key": "engineering_practices",
            "band": "moderate",
            "name": "Engineering practices",
            "note": null,
            "notes": [],
            "value": 64,
            "inputs": {
              "has_ci": true,
              "has_tests": true,
              "has_editorconfig": false,
              "has_linter_config": false,
              "has_precommit_config": false
            },
            "components": [
              {
                "key": "ci_workflows",
                "name": "CI workflows",
                "detail": "7 workflow(s)",
                "points": 24,
                "status": "met",
                "details": [
                  {
                    "code": "ci_workflows",
                    "params": {
                      "count": 7
                    }
                  }
                ],
                "max_points": 24
              },
              {
                "key": "tests_present",
                "name": "Tests present",
                "detail": null,
                "points": 24,
                "status": "met",
                "details": [],
                "max_points": 24
              },
              {
                "key": "linter_config",
                "name": "Linter config",
                "detail": null,
                "points": 0,
                "status": "missed",
                "details": [],
                "max_points": 16
              },
              {
                "key": "pre_commit_hooks",
                "name": "Pre-commit hooks",
                "detail": null,
                "points": 0,
                "status": "missed",
                "details": [],
                "max_points": 9.6
              },
              {
                "key": "editorconfig",
                "name": ".editorconfig",
                "detail": null,
                "points": 0,
                "status": "missed",
                "details": [],
                "max_points": 6.4
              },
              {
                "key": "openssf_scorecard_ci_tests",
                "name": "OpenSSF Scorecard: CI-Tests",
                "detail": "14 out of 17 merged PRs checked by a CI test -- score normalized to 8",
                "points": 16,
                "status": "partial",
                "details": [],
                "max_points": 20
              }
            ]
          },
          {
            "key": "documentation",
            "band": "moderate",
            "name": "Documentation",
            "note": null,
            "notes": [],
            "value": 65,
            "inputs": {
              "topics": [
                "capacitor",
                "capawesome",
                "cli",
                "android",
                "capawesome-cloud",
                "cordova",
                "ios",
                "node"
              ],
              "has_wiki": false,
              "homepage": "https://capawesome.io/cloud/cli/",
              "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": "https://capawesome.io/cloud/cli/",
                "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": "8 topics",
                "points": 10,
                "status": "met",
                "details": [
                  {
                    "code": "topics_count",
                    "params": {
                      "count": 8
                    }
                  }
                ],
                "max_points": 10
              },
              {
                "key": "wiki",
                "name": "Wiki",
                "detail": null,
                "points": 0,
                "status": "missed",
                "details": [],
                "max_points": 10
              }
            ]
          }
        ],
        "description": "Are baseline engineering and documentation practices in place?"
      },
      {
        "key": "security",
        "band": "moderate",
        "name": "Security",
        "value": 62,
        "weight": 0.16,
        "metrics": [
          {
            "key": "security_posture",
            "band": "moderate",
            "name": "Security posture",
            "note": "Excluded from scoring (no data or not applicable): Packaging, Signed-Releases. Remaining weights renormalized.",
            "notes": [
              {
                "code": "excluded_no_data",
                "params": {
                  "components": [
                    "packaging",
                    "signed_releases"
                  ]
                }
              },
              {
                "code": "weights_renormalized",
                "params": {}
              }
            ],
            "value": 53,
            "inputs": {
              "source": "openssf_scorecard",
              "checks_evaluated": 16,
              "scorecard_version": "v5.5.0",
              "checks_inconclusive": 2,
              "scorecard_aggregate": 5.3
            },
            "components": [
              {
                "key": "binary_artifacts",
                "name": "Binary-Artifacts",
                "detail": "no binaries found in the repo",
                "points": 7.5,
                "status": "met",
                "details": [],
                "max_points": 7.5
              },
              {
                "key": "branch_protection",
                "name": "Branch-Protection",
                "detail": "branch protection is not maximal on development and all release branches",
                "points": 2.2,
                "status": "partial",
                "details": [],
                "max_points": 7.5
              },
              {
                "key": "ci_tests",
                "name": "CI-Tests",
                "detail": "14 out of 17 merged PRs checked by a CI test -- score normalized to 8",
                "points": 2,
                "status": "partial",
                "details": [],
                "max_points": 2.5
              },
              {
                "key": "cii_best_practices",
                "name": "CII-Best-Practices",
                "detail": "no effort to earn an OpenSSF best practices badge detected",
                "points": 0,
                "status": "missed",
                "details": [],
                "max_points": 2.5
              },
              {
                "key": "code_review",
                "name": "Code-Review",
                "detail": "Found 0/26 approved changesets -- score normalized to 0",
                "points": 0,
                "status": "missed",
                "details": [],
                "max_points": 7.5
              },
              {
                "key": "contributors",
                "name": "Contributors",
                "detail": "project has 6 contributing companies or organizations",
                "points": 2.5,
                "status": "met",
                "details": [],
                "max_points": 2.5
              },
              {
                "key": "dangerous_workflow",
                "name": "Dangerous-Workflow",
                "detail": "no dangerous workflow patterns detected",
                "points": 10,
                "status": "met",
                "details": [],
                "max_points": 10
              },
              {
                "key": "dependency_update_tool",
                "name": "Dependency-Update-Tool",
                "detail": "update tool detected",
                "points": 7.5,
                "status": "met",
                "details": [],
                "max_points": 7.5
              },
              {
                "key": "fuzzing",
                "name": "Fuzzing",
                "detail": "project is not fuzzed",
                "points": 0,
                "status": "missed",
                "details": [],
                "max_points": 5
              },
              {
                "key": "license",
                "name": "License",
                "detail": "license file detected",
                "points": 2.5,
                "status": "met",
                "details": [],
                "max_points": 2.5
              },
              {
                "key": "maintained",
                "name": "Maintained",
                "detail": "30 commit(s) and 3 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 not detected",
                "points": 0,
                "status": "excluded",
                "details": [
                  {
                    "code": "no_data",
                    "params": {}
                  }
                ],
                "max_points": 5
              },
              {
                "key": "pinned_dependencies",
                "name": "Pinned-Dependencies",
                "detail": "dependency not pinned by hash detected -- score normalized to 3",
                "points": 1.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": "2 existing vulnerabilities detected",
                "points": 6,
                "status": "partial",
                "details": [],
                "max_points": 7.5
              }
            ]
          },
          {
            "key": "dependency_advisories",
            "band": "excellent",
            "name": "Dependency advisories",
            "note": "Excluded from scoring (no data or not applicable): No advisories left outstanding. Remaining weights renormalized. Matched the npm:@capawesome/cli@4.17.3 runtime dependency closure — what installing the published package pulls in — 133 packages. Reachability is not analyzed.",
            "notes": [
              {
                "code": "excluded_no_data",
                "params": {
                  "components": [
                    "no_advisories_left_outstanding"
                  ]
                }
              },
              {
                "code": "weights_renormalized",
                "params": {}
              },
              {
                "code": "advisories_scope_published",
                "params": {
                  "package": "npm:@capawesome/cli@4.17.3",
                  "assessed": 133
                }
              },
              {
                "code": "advisories_reachability",
                "params": {}
              }
            ],
            "value": 100,
            "inputs": {
              "source": "osv",
              "advisories": 0,
              "affected_packages": 0,
              "assessed_packages": 133,
              "unassessed_packages": 0,
              "affected_by_severity": "none",
              "direct_affected_packages": 0
            },
            "components": [
              {
                "key": "direct_dependencies_free_of_known_advisories",
                "name": "Direct dependencies free of known advisories",
                "detail": "no direct dependency carries a known advisory",
                "points": 35,
                "status": "met",
                "details": [
                  {
                    "code": "no_direct_advisories",
                    "params": {}
                  }
                ],
                "max_points": 35
              },
              {
                "key": "indirect_dependencies_free_of_known_advisories",
                "name": "Indirect dependencies free of known advisories",
                "detail": "no indirect dependency carries a known advisory",
                "points": 25,
                "status": "met",
                "details": [
                  {
                    "code": "no_indirect_advisories",
                    "params": {}
                  }
                ],
                "max_points": 25
              },
              {
                "key": "no_advisories_left_outstanding",
                "name": "No advisories left outstanding",
                "detail": "no advisory carries a publication date",
                "points": 0,
                "status": "excluded",
                "details": [
                  {
                    "code": "advisories_no_publication_date",
                    "params": {}
                  }
                ],
                "max_points": 40
              }
            ]
          },
          {
            "key": "malicious_dependencies",
            "band": "excellent",
            "name": "Malicious dependencies",
            "note": null,
            "notes": [],
            "value": 100,
            "inputs": {
              "source": "osv",
              "meaning": "reported as a malicious package by the OpenSSF corpus; the remedy is removal or moving off the compromised name, never an upgrade of the same artifact. Versions the registry has since pulled are listed but not scored",
              "packages": [],
              "red_flag": false,
              "assessed_packages": 133,
              "malicious_packages": 0,
              "direct_malicious_packages": 0,
              "withdrawn_malicious_packages": 0,
              "installable_malicious_packages": 0
            },
            "components": [
              {
                "key": "no_dependency_reported_as_a_malicious_package",
                "name": "No dependency reported as a malicious package",
                "detail": "no dependency is reported as a malicious package",
                "points": 100,
                "status": "met",
                "details": [
                  {
                    "code": "no_malicious_dependencies",
                    "params": {}
                  }
                ],
                "max_points": 100
              }
            ]
          },
          {
            "key": "high_risk_jurisdiction_exposure",
            "band": "excellent",
            "name": "High-Risk Jurisdiction Exposure",
            "note": "Only high-confidence self-published location evidence affects this multiplier. Ambiguous matches are review-only; country evidence is not proof of nationality, citizenship, legal registration, malicious intent, or sanctions status.",
            "notes": [
              {
                "code": "jurisdiction_evidence_limits",
                "params": {}
              }
            ],
            "value": 100,
            "inputs": {
              "meaning": "self-published location evidence; not nationality or citizenship",
              "red_flag": false,
              "exposures": [],
              "policy_countries": [
                "Russia",
                "Iran",
                "North Korea"
              ],
              "review_only_matches": 0,
              "assessed_self_published_locations": 6
            },
            "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": "good",
        "name": "AI Readiness",
        "value": 78,
        "weight": 0,
        "metrics": [
          {
            "key": "ai_agent_context",
            "band": "excellent",
            "name": "Agent context & guidance",
            "note": null,
            "notes": [],
            "value": 85,
            "inputs": {
              "has_llms_txt": false,
              "legible_history_share": 1,
              "agent_instruction_files": [
                "CLAUDE.md"
              ],
              "agent_instruction_max_bytes": 3989
            },
            "components": [
              {
                "key": "agent_instructions",
                "name": "Agent instructions",
                "detail": "CLAUDE.md",
                "points": 45,
                "status": "met",
                "details": [
                  {
                    "code": "file_list",
                    "params": {
                      "files": "CLAUDE.md"
                    }
                  }
                ],
                "max_points": 45
              },
              {
                "key": "machine_readable_docs_llms_txt",
                "name": "Machine-readable docs (llms.txt)",
                "detail": null,
                "points": 0,
                "status": "missed",
                "details": [],
                "max_points": 15
              },
              {
                "key": "legible_commit_history",
                "name": "Legible commit history",
                "detail": "96 of 96 human commits state their intent (structured subject or explanatory body)",
                "points": 40,
                "status": "met",
                "details": [
                  {
                    "code": "legible_history",
                    "params": {
                      "legible": 96,
                      "sampled": 96
                    }
                  }
                ],
                "max_points": 40
              }
            ]
          },
          {
            "key": "ai_verify_loop",
            "band": "moderate",
            "name": "Verify loop (build / test / typecheck)",
            "note": null,
            "notes": [],
            "value": 64,
            "inputs": {
              "has_nix": false,
              "has_tests": true,
              "lockfiles": [
                "package-lock.json"
              ],
              "has_dockerfile": false,
              "typed_language": true,
              "bootstrap_files": [],
              "has_devcontainer": false,
              "has_linter_config": false,
              "typecheck_configs": [
                "tsconfig.json"
              ],
              "agent_commit_share": 0.06,
              "toolchain_manifests": [],
              "dependency_bot_commit_share": 0.01
            },
            "components": [
              {
                "key": "one_command_bootstrap",
                "name": "One-command bootstrap",
                "detail": null,
                "points": 0,
                "status": "missed",
                "details": [],
                "max_points": 18
              },
              {
                "key": "automated_tests",
                "name": "Automated tests",
                "detail": null,
                "points": 22,
                "status": "met",
                "details": [],
                "max_points": 22
              },
              {
                "key": "lint_format_config",
                "name": "Lint / format config",
                "detail": null,
                "points": 0,
                "status": "missed",
                "details": [],
                "max_points": 11
              },
              {
                "key": "static_type_checking",
                "name": "Static type checking",
                "detail": "tsconfig.json",
                "points": 11,
                "status": "met",
                "details": [
                  {
                    "code": "file_list",
                    "params": {
                      "files": "tsconfig.json"
                    }
                  }
                ],
                "max_points": 11
              },
              {
                "key": "reproducible_environment",
                "name": "Reproducible environment",
                "detail": "lockfile",
                "points": 10,
                "status": "met",
                "details": [
                  {
                    "code": "file_list",
                    "params": {
                      "files": "lockfile"
                    }
                  }
                ],
                "max_points": 10
              },
              {
                "key": "demonstrated_agent_practice",
                "name": "Demonstrated agent practice",
                "detail": "6 of the last 100 commits agent-authored or agent-credited",
                "points": 10,
                "status": "met",
                "details": [
                  {
                    "code": "agent_authored_commits",
                    "params": {
                      "count": 6,
                      "sampled": 100
                    }
                  }
                ],
                "max_points": 10
              },
              {
                "key": "automated_maintenance",
                "name": "Automated maintenance",
                "detail": "1 of the last 100 commits are automated dependency updates",
                "points": 8,
                "status": "met",
                "details": [
                  {
                    "code": "dependency_bot_commits",
                    "params": {
                      "count": 1,
                      "sampled": 100
                    }
                  }
                ],
                "max_points": 8
              },
              {
                "key": "openssf_scorecard_pinned_dependencies",
                "name": "OpenSSF Scorecard: Pinned-Dependencies",
                "detail": "dependency not pinned by hash detected -- score normalized to 3",
                "points": 3,
                "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": 22539,
              "source_files_sampled": 170,
              "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/170 source files over 60KB",
                "points": 55,
                "status": "met",
                "details": [
                  {
                    "code": "oversized_source_files",
                    "params": {
                      "kb": 60,
                      "sampled": 170,
                      "oversized": 0
                    }
                  }
                ],
                "max_points": 55
              }
            ]
          }
        ],
        "description": "How well is the repo equipped to be developed and maintained with AI coding agents? An independent, experimental badge — weight 0.0, so it is surfaced on its own and does not affect the overall health score."
      }
    ],
    "metrics_version": "1.13.0"
  },
  "warnings": [
    "Star history unavailable: GitHub GraphQL error: Resource not accessible by personal access token"
  ],
  "report_type": "repository",
  "generated_at": "2026-07-29T01:46:58.600781Z",
  "schema_version": "0.27.0",
  "badge_url": "https://raw.githubusercontent.com/inspect-software/badges/main/v1/c/capawesome-team/cli.svg",
  "full_name": "capawesome-team/cli",
  "license_state": "standard",
  "license_spdx": "MIT"
}

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.27.0 — vollständige Methodik · Metriken-Wiki.

Wie ein einzelnes Ergebnis im Gesamtregister steht: aggregierte Statistikennpm.