Öffentliches Register
Software-GesundheitsberichtSchema 0.27.0 · Metriken 2.5.0 · 2026-07-30 01:39 UTC

naxodev / oss

Open Source Software (OSS) projects by naxodev

TypeScriptMIT★ 48 Sterne⑂ 10 Forksseit Juli 2023Auf GitHub ansehen ↗
ArtBibliothekWeboberflächewie das ermittelt wird

naxodev/oss erreicht einen Gesundheitsindex von 87 von 100 und liegt damit im Bereich Exzellent. Am stärksten schneidet es bei Engineering Quality (94/100) ab, am schwächsten bei Sustainability & Governance (60/100). Zuletzt vor 5 Tagen aktualisiert. Ein einzelner Mitwirkender trägt den Großteil der jüngsten Arbeit.

87
gesamt / 100
Exzellent

Software-Gesundheitsindex

Metriken werden auf einer standardisierten Skala von 1–100 in gewichtete Kategorien gruppiert. Der Gesamtwert beginnt als ihr gewichtetes Mittel, kalibriert auf die Verteilung des öffentlichen Registers, sodass die Stufen Perzentilbedeutung tragen; sobald öffentliche Evidenz die Richtlinie für Hochrisikojurisdiktionen auslöst, wird die Bewertung angepasst und erhält die Obergrenze Gefährdet von 34.

87
Außergewöhnlich93-100Die Spitzengruppe des Registers (≈ obere 5 %); erfüllt im Wesentlichen alle geprüften Kriterien
Exzellent80-92Durchgehend stark; geringfügige Lücken
Gut65-79Gesund; Lücken sind begrenzt und beherrschbar
Mittel50-64Akzeptabel mit deutlichen Lücken; Überprüfung empfohlen
Schwach35-49Wesentliche Schwächen in mehreren Bereichen
Gefährdet20-34Erhebliche Schwächen; eine Übernahme erfordert Vorsicht
Kritisch1-19Schwerwiegende 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.

Der gewichtete Gesamtwert 73 wird auf der veröffentlichten Indexskala auf 87 kalibriert (Register-Kalibrierung 2026-08-02).

Eigentümerschaft

naxoOrganisation
0 Follower21 öffentliche Reposseit Juli 2023

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

Paket-Ökosysteme

RegistryPaketVersionDownloads / MonatVersionenZuletzt veröffentlichtTags
npm@naxodev/gonx4.1.1116.60754vor 5 Tagennxgolanggoplugin
npm@naxodev/nx-cloudflare7.1.07.29945vor 8 Tagennxcloudflareworkersplugin

Metriken nach Kategorie

Vitalität

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

83Exzellent · 21 % des Gesamtindex
Wie die Bewertung erfolgt
36/36Push-Aktualität — letzter Push vor 5 Tagen
8.3/36Commit-Rhythmus — 12/52 Wochen mit Commits
17/18Commit-Volumen — 78 Commits im letzten Jahr
10/10OpenSSF Scorecard: Maintained — 30 commit(s) and 0 issue activity found in the last 90 days -- score normalized to 10
Verwendete Eingangsdaten
commits_last_year78
human_commit_share1
days_since_last_push5
active_weeks_last_year12

Release-Disziplin

100Außergewöhnlich
Wie die Bewertung erfolgt
27/27Liefert Releases aus — 67 Releases veröffentlicht
36/36Release-Aktualität — letztes Release vor 5 Tagen
27/27Release-Rhythmus — ein Release etwa alle 35,2 Tage
0/10OpenSSF Scorecard: Signed-Releases — keine Daten
Verwendete Eingangsdaten
releases_count67
latest_release_taggonx@v4.1.1
releases_from_tagsnein
days_since_latest_release5
mean_days_between_releases35,2
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?

67Gut · 17 % des Gesamtindex
Wie die Bewertung erfolgt
27.1/60Stars — 48 Stars
8/25Forks — 10 Forks
0/15Watcher — 1 Watcher
Verwendete Eingangsdaten
forks10
stars48
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)
18/18CONTRIBUTING-Leitfaden
13.5/13.5Verhaltenskodex
0/7.2Issue-Vorlage
6.3/6.3PR-Vorlage
Verwendete Eingangsdaten
has_readmeja
has_licenseja
readme_badges
has_contributingja
has_issue_templatenein
has_code_of_conductja
readme_badge_services
has_pull_request_templateja
Wie die Bewertung erfolgt
67.9/80Downloads pro Monat — 123.906 Downloads/Monat über npm
0/20Abhängige in der Registry — von diesem Ökosystem nicht ausgewiesen
Verwendete Eingangsdaten
packages@naxodev/gonx, @naxodev/nx-cloudflare
dependents
ecosystemsnpm
total_downloads
monthly_downloads123.906
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?

60Mittel · 23 % des Gesamtindex
Wie die Bewertung erfolgt
9/54Bus-Faktor — 1 Beitragende decken die Hälfte aller Commits ab
5.3/22.5Commit-Verteilung — wichtigste beitragende Person verfasste 76 % der Commits
9.5/13.5Breite der Beitragenden — 7 Beitragende
6/10OpenSSF Scorecard: Contributors — project has 2 contributing companies or organizations -- score normalized to 6
Verwendete Eingangsdaten
bus_factor1
contributors_sampled7
top_contributor_share0,764
Wie die Bewertung erfolgt
39.9/42Issue-Lösungsquote — 95 % der Issues geschlossen
29.1/30PR-Annahme — 135/139 entschiedene PRs gemergt
0/13Newcomer PR acceptance — kein PR eines Erstbeitragenden in 30 Tagen entschieden
0/15OpenSSF Scorecard: Code-Review — Found 0/28 approved changesets -- score normalized to 0
Verwendete Eingangsdaten
merged_prs135
open_issues4
closed_issues75
prs_merged_7d
prs_decided_7d
prs_merged_30d
prs_decided_30d
issue_closed_ratio0,949
closed_unmerged_prs4
first_time_authors_30d
first_time_prs_merged_30d
first_time_prs_decided_30d
Von der Bewertung ausgeschlossen (keine Daten oder nicht anwendbar): newcomer_pr_acceptance. Die verbleibenden Gewichte wurden renormalisiert.
Wie die Bewertung erfolgt
30/30Organisatorische Trägerschaft — im Besitz einer Organisation
0/20Verifizierte Domain
0/25Reichweite des Inhabers — 0 Follower von naxodev
15.8/25Kontohistorie — 21 öffentliche Repos, Kontoalter ca. 3 Jahre
Verwendete Eingangsdaten
followers0
owner_typeOrganization
is_verified
owner_loginnaxodev
public_repos21
account_age_days1.096

Paketpflege

100Außergewöhnlich
Wie die Bewertung erfolgt
25/25Veröffentlicht & auflösbar — 2 Paket(e) auf npm
35/35Veröffentlichungsaktualität — letzte Veröffentlichung vor 5 Tagen
20/20Versionshistorie — 54 veröffentlichte Versionen
20/20Nicht veraltet — aktiv, nicht veraltet oder zurückgezogen
Verwendete Eingangsdaten
packages@naxodev/gonx, @naxodev/nx-cloudflare
ecosystemsnpm
any_deprecatednein
min_days_since_publish5

Engineering-Qualität

Sind grundlegende Engineering- und Dokumentationspraktiken vorhanden?

94Außergewöhnlich · 19 % des Gesamtindex
Wie die Bewertung erfolgt
24/24CI-Workflows — 2 Workflow(s)
24/24Tests vorhanden
16/16Linter-Konfiguration — .eslintrc.json
0/9.6Pre-Commit-Hooks
6.4/6.4.editorconfig
20/20OpenSSF Scorecard: CI-Tests — 23 out of 23 merged PRs checked by a CI test -- score normalized to 10
Verwendete Eingangsdaten
has_cija
has_testsja
has_editorconfigja
has_linter_configja
has_precommit_confignein

Dokumentation

100Außergewöhnlich
Wie die Bewertung erfolgt
30/30README
25/25Dokumentationsverzeichnis
15/15Dokumentations-/Homepage-Site — https://naxo.dev
10/10Repository-Beschreibung
10/10Topics — 6 Topics
10/10Wiki
Verwendete Eingangsdaten
topicscloudflare, nx, cloudflare-workers, nextjs, go, golang
has_wikija
homepagehttps://naxo.dev
has_readmeja
has_docs_dirja
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
0/7.5Branch-Protection — keine Daten
2.5/2.5CI-Tests — 23 out of 23 merged PRs checked by a CI test -- score normalized to 10
0/2.5CII-Best-Practices — no effort to earn an OpenSSF best practices badge detected
0/7.5Code-Review — Found 0/28 approved changesets -- score normalized to 0
1.5/2.5Contributors — project has 2 contributing companies or organizations -- score normalized to 6
10/10Dangerous-Workflow — no dangerous workflow patterns detected
0/7.5Dependency-Update-Tool — no update tool detected
0/5Fuzzing — project is not fuzzed
2.5/2.5Lizenz — license file detected
7.5/7.5Maintained — 30 commit(s) and 0 issue activity found in the last 90 days -- score normalized to 10
0/5Packaging — keine Daten
0/5Pinned-Dependencies — dependency not pinned by hash detected -- score normalized to 0
5/5SAST — SAST tool is run on all commits
0/5Security-Policy — security policy file not detected
0/7.5Signed-Releases — keine Daten
7.5/7.5Token-Permissions — GitHub workflow tokens follow principle of least privilege
0/7.5Vulnerabilities — 71 existing vulnerabilities detected
Verwendete Eingangsdaten
sourceopenssf_scorecard
checks_evaluated15
scorecard_versionv5.5.0
checks_inconclusive3
scorecard_aggregate5,2
Von der Bewertung ausgeschlossen (keine Daten oder nicht anwendbar): branch_protection, packaging, signed_releases. Die verbleibenden Gewichte wurden renormalisiert.

Abhängigkeits-Advisories

100Außergewöhnlich
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_packages22
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:@naxodev/gonx@4.1.1 — das, was die Installation des veröffentlichten Pakets nach sich zieht — mit 22 Paketen. Erreichbarkeit wird nicht analysiert.

AI Readiness

Wie gut ist das Repository dafür ausgestattet, mit KI-Coding-Agenten entwickelt und gepflegt zu werden? Trägt ein bewusst kleines Gewicht (4 %): Agenten-Tooling ist ein echtes Pflegesignal, doch ein Repository ohne jedes Signal kann weiterhin 100/100 erreichen.

69Gut · 4 % des Gesamtindex
Wie die Bewertung erfolgt
45/45Agentenanweisungen — CLAUDE.md
0/15Maschinenlesbare Doku (llms.txt)
40/40Lesbare Commit-Historie — 100 von 100 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_bytes8.809
Wie die Bewertung erfolgt
0/18Bootstrap mit einem Befehl
22/22Automatisierte Tests
11/11Lint-/Format-Konfiguration — .eslintrc.json
11/11Statische Typprüfung — docs/gonx-docs/tsconfig.json, docs/nx-cloudflare-docs/tsconfig.json, packages/bun-test-plugin/tsconfig.json, packages/e2e-utils/tsconfig.json, packages/gonx-e2e/tsconfig.json, packages/gonx/tsconfig.json, packages/nx-cloudflare-e2e/tsconfig.json, packages/nx-cloudflare/tsconfig.json, tsconfig.json
0/10Reproduzierbare Umgebung
2/10Belegte Agentenpraxis — 1 der letzten 100 Commits von Agenten verfasst oder ihnen zugeschrieben
0/8Automatisierte Wartung — keine automatisierten Abhängigkeits-Updates beobachtet
0/10OpenSSF Scorecard: Pinned-Dependencies — dependency not pinned by hash detected -- score normalized to 0
Verwendete Eingangsdaten
has_nixnein
has_testsja
lockfiles
has_dockerfilenein
typed_languageja
bootstrap_files
has_devcontainernein
has_linter_configja
typecheck_configsdocs/gonx-docs/tsconfig.json, docs/nx-cloudflare-docs/tsconfig.json, packages/bun-test-plugin/tsconfig.json, packages/e2e-utils/tsconfig.json, packages/gonx-e2e/tsconfig.json, packages/gonx/tsconfig.json, packages/nx-cloudflare-e2e/tsconfig.json, packages/nx-cloudflare/tsconfig.json, tsconfig.json
agent_commit_share0,01
toolchain_manifests
dependency_bot_commit_share0
Wie die Bewertung erfolgt
45/45Typprüfbarer Code — TypeScript (statisch typisiert)
55/55Handhabbare Dateigrößen — 0/167 Quelldateien über 60 KB
Verwendete Eingangsdaten
primary_languageTypeScript
largest_source_bytes30.882
source_files_sampled167
oversized_source_files0

Eckdaten

48GitHub-Sterne
7Mitwirkende
78Commits, letzte 12 Monate
5Tage seit letztem Push
67Releases
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 ★ / 10 ⇿
0Sterne
10Forks
43Releases

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.

02468101022024-052025-032026-01
Major 2Minor 1Patch 3

Jeder Punkt umfasst 2 Tage.

OpenSSF Scorecard 5.2 / 10
5.2Gesamtwert

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

10Binary-Artifactsno binaries found in the repo
k. A.Branch-Protectioninternal error: error during branchesHandler.setup: internal error: some github tokens can't read classic branch protection rules: https://github.com/ossf/scorecard-action/blob/main/docs/authentication/fine-grained-auth-token.md
10CI-Tests23 out of 23 merged PRs checked by a CI test -- score normalized to 10
0CII-Best-Practicesno effort to earn an OpenSSF best practices badge detected
0Code-ReviewFound 0/28 approved changesets -- score normalized to 0
6Contributorsproject has 2 contributing companies or organizations -- score normalized to 6
10Dangerous-Workflowno dangerous workflow patterns detected
0Dependency-Update-Toolno update tool detected
0Fuzzingproject is not fuzzed
10Licenselicense file detected
10Maintained30 commit(s) and 0 issue activity found in the last 90 days -- score normalized to 10
k. A.Packagingpackaging workflow not detected
0Pinned-Dependenciesdependency not pinned by hash detected -- score normalized to 0
10SASTSAST tool is run on all commits
0Security-Policysecurity policy file not detected
k. A.Signed-Releasesno releases found
10Token-PermissionsGitHub workflow tokens follow principle of least privilege
0Vulnerabilities71 existing vulnerabilities detected
Direkte Abhängigkeiten 29
RegistryPaketVersionsvorgabeManifest
npm@astrojs/reactcatalog:package.json
npm@astrojs/sitemapcatalog:package.json
npm@astrojs/starlightcatalog:package.json
npm@astrojs/starlight-tailwindcatalog:package.json
npm@naxodev/docs-themeworkspace:*package.json
npm@naxodev/gonxworkspace:*package.json
npm@naxodev/nx-cloudflareworkspace:*package.json
npm@tailwindcss/vitecatalog:package.json
npmastrocatalog:package.json
npmhonocatalog:package.json
npmreactcatalog:package.json
npmreact-domcatalog:package.json
npmsharpcatalog:package.json
npmstarlight-llms-txtcatalog:package.json
npmstarlight-typedoccatalog:package.json
npmtailwindcsscatalog:package.json
npmtslibcatalog:package.json
npmtypedoccatalog:package.json
npmtypedoc-plugin-markdowncatalog:package.json
npm@nx/devkit^23.0.0packages/bun-test-plugin/package.json
npmtslib^2.3.0packages/gonx/package.json
npmnpm-run-path4.0.1packages/gonx/package.json
npmchalk^4.1.2packages/gonx/package.json
npm@melkeydev/go-blueprint0.10.11packages/gonx/package.json
npmp-limit^6.2.0packages/gonx/package.json
npmweb-tree-sitter0.26.3packages/gonx/package.json
npmtree-sitter-go^0.25.0packages/gonx/package.json
npmtslib^2.3.0packages/nx-cloudflare/package.json
npmjsonc-parser^3.3.0packages/nx-cloudflare/package.json
Alle Abhängigkeiten 97

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

RegistryPaketVersionBeziehung
npm@astrojs/reactcatalog:direkt
npm@astrojs/sitemapcatalog:direkt
npm@astrojs/starlightcatalog:direkt
npm@astrojs/starlight-tailwindcatalog:direkt
npm@melkeydev/go-blueprint0.10.11direkt
npm@melkeydev/go-blueprintcatalog:direkt
npm@nx/devkit^23.0.0direkt
npm@nx/devkitcatalog:direkt
npm@tailwindcss/vitecatalog:direkt
npmastrocatalog:direkt
npmchalk^4.1.2direkt
npmchalkcatalog:direkt
npmhonocatalog:direkt
npmjsonc-parser^3.3.0direkt
npmnpm-run-path4.0.1direkt
npmnpm-run-pathcatalog:direkt
npmp-limit^6.2.0direkt
npmp-limitcatalog:direkt
npmreactcatalog:direkt
npmreact-domcatalog:direkt
npmsharpcatalog:direkt
npmstarlight-llms-txtcatalog:direkt
npmstarlight-typedoccatalog:direkt
npmtailwindcsscatalog:direkt
npmtree-sitter-go^0.25.0direkt
npmtree-sitter-gocatalog:direkt
npmtslib^2.3.0direkt
npmtslibcatalog:direkt
npmtypedoccatalog:direkt
npmtypedoc-plugin-markdowncatalog:direkt
npmweb-tree-sitter0.26.3direkt
npmweb-tree-sittercatalog:direkt
npm@angular-devkit/corecatalog:indirekt
npm@astrojs/checkcatalog:indirekt
npm@cloudflare/vitest-pool-workerscatalog:indirekt
npm@cloudflare/workers-typescatalog:indirekt
npm@commitlint/clicatalog:indirekt
npm@commitlint/config-conventionalcatalog:indirekt
npm@eslint/eslintrccatalog:indirekt
npm@eslint/jscatalog:indirekt
npm@nx/angularcatalog:indirekt
npm@nx/esbuildcatalog:indirekt
npm@nx/eslintcatalog:indirekt
npm@nx/eslint-plugincatalog:indirekt
npm@nx/jscatalog:indirekt
npm@nx/nodecatalog:indirekt
npm@nx/plugincatalog:indirekt
npm@nx/reactcatalog:indirekt
npm@nx/vitecatalog:indirekt
npm@nx/vitestcatalog:indirekt
npm@nx/webcatalog:indirekt
npm@nx/workspacecatalog:indirekt
npm@swc-node/registercatalog:indirekt
npm@swc/clicatalog:indirekt
npm@swc/corecatalog:indirekt
npm@swc/helperscatalog:indirekt
npm@testing-library/reactcatalog:indirekt
npm@types/buncatalog:indirekt
npm@types/fs-extracatalog:indirekt
npm@types/kill-portcatalog:indirekt
npm@types/nodecatalog:indirekt
npm@types/reactcatalog:indirekt
npm@types/react-domcatalog:indirekt
npm@types/semvercatalog:indirekt
npm@types/tcp-port-usedcatalog:indirekt
npm@typescript-eslint/eslint-plugincatalog:indirekt
npm@typescript-eslint/parsercatalog:indirekt
npm@vitest/coverage-v8catalog:indirekt
npm@vitest/uicatalog:indirekt
npmcli-spinnerscatalog:indirekt
npmdotenvcatalog:indirekt
npmesbuildcatalog:indirekt
npmeslintcatalog:indirekt
npmeslint-config-prettiercatalog:indirekt
npmeslint-plugin-importcatalog:indirekt
npmeslint-plugin-jsx-a11ycatalog:indirekt
npmeslint-plugin-reactcatalog:indirekt
npmeslint-plugin-react-hookscatalog:indirekt
npmfs-extracatalog:indirekt
npmjiticatalog:indirekt
npmjsdomcatalog:indirekt
npmjsonc-eslint-parsercatalog:indirekt
npmkill-portcatalog:indirekt
npmnxcatalog:indirekt
npmnx-cloudcatalog:indirekt
npmprettiercatalog:indirekt
npmsemvercatalog:indirekt
npmstrip-indentcatalog:indirekt
npmtcp-port-usedcatalog:indirekt
npmtree-killcatalog:indirekt
npmts-nodecatalog:indirekt
npmtsxcatalog:indirekt
npmtypescriptcatalog:indirekt
npmverdacciocatalog:indirekt
npmvitecatalog:indirekt
npmvitestcatalog:indirekt
npmwranglercatalog:indirekt
Abhängigkeits-Advisories 0

Die Installation von npm:@naxodev/gonx@4.1.1 zieht 22 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": [
        "cloudflare",
        "nx",
        "cloudflare-workers",
        "nextjs",
        "go",
        "golang"
      ],
      "is_fork": false,
      "size_kb": 2453,
      "has_wiki": true,
      "homepage": "https://naxo.dev",
      "languages": {
        "Shell": 80,
        "JavaScript": 14223,
        "TypeScript": 633700
      },
      "pushed_at": "2026-07-24T13:49:51Z",
      "created_at": "2023-07-30T15:09:14Z",
      "owner_type": "Organization",
      "updated_at": "2026-07-24T13:50:29Z",
      "description": "Open Source Software (OSS) projects by naxodev",
      "is_archived": false,
      "is_disabled": false,
      "license_spdx": "MIT",
      "default_branch": "main",
      "license_spdx_raw": "MIT",
      "primary_language": "TypeScript",
      "significant_languages": [
        "TypeScript"
      ]
    },
    "owner": {
      "blog": "naxo.dev",
      "name": "naxo",
      "type": "Organization",
      "login": "naxodev",
      "company": null,
      "location": null,
      "followers": 0,
      "avatar_url": "https://avatars.githubusercontent.com/u/140901219?v=4",
      "created_at": "2023-07-29T14:14:11Z",
      "is_verified": null,
      "public_repos": 21,
      "account_age_days": 1096
    },
    "license": {
      "state": "standard",
      "spdx_id": "MIT",
      "raw_spdx": "MIT",
      "file_present": true,
      "scorecard_found": true,
      "profile_has_license": true
    },
    "activity": {
      "releases": [
        {
          "tag": "gonx@v4.1.1",
          "kind": "other",
          "published_at": "2026-07-24T13:49:52Z"
        },
        {
          "tag": "nx-cloudflare@v7.1.0",
          "kind": "other",
          "published_at": "2026-07-21T14:41:04Z"
        },
        {
          "tag": "gonx@v4.1.0",
          "kind": "other",
          "published_at": "2026-07-21T14:41:03Z"
        },
        {
          "tag": "gonx@v4.0.2",
          "kind": "other",
          "published_at": "2026-07-21T01:44:23Z"
        },
        {
          "tag": "gonx@v4.0.1",
          "kind": "other",
          "published_at": "2026-07-07T19:35:48Z"
        },
        {
          "tag": "nx-cloudflare@v7.0.0",
          "kind": "other",
          "published_at": "2026-07-05T18:50:07Z"
        },
        {
          "tag": "gonx@v4.0.0",
          "kind": "other",
          "published_at": "2026-07-05T18:50:06Z"
        },
        {
          "tag": "nx-cloudflare@v6.0.0",
          "kind": "other",
          "published_at": "2026-01-15T16:23:53Z"
        },
        {
          "tag": "gonx@v3.0.0",
          "kind": "other",
          "published_at": "2026-01-15T16:20:43Z"
        },
        {
          "tag": "gonx@v2.1.0",
          "kind": "other",
          "published_at": "2025-09-10T21:00:44Z"
        },
        {
          "tag": "nx-cloudflare@v5.0.2",
          "kind": "other",
          "published_at": "2025-09-07T16:37:03Z"
        },
        {
          "tag": "nx-cloudflare@v5.0.1",
          "kind": "other",
          "published_at": "2025-08-24T01:50:09Z"
        },
        {
          "tag": "gonx@v2.0.2",
          "kind": "other",
          "published_at": "2025-07-28T03:07:20Z"
        },
        {
          "tag": "gonx@v2.0.1",
          "kind": "other",
          "published_at": "2025-07-23T15:46:05Z"
        },
        {
          "tag": "gonx@v2.0.0",
          "kind": "other",
          "published_at": "2025-07-20T13:29:26Z"
        },
        {
          "tag": "gonx@v2.0.0-beta.5",
          "kind": "other",
          "published_at": "2025-07-15T13:57:30Z"
        },
        {
          "tag": "gonx@v2.0.0-beta.4",
          "kind": "other",
          "published_at": "2025-06-19T20:37:04Z"
        },
        {
          "tag": "gonx@v2.0.0-beta.3",
          "kind": "other",
          "published_at": "2025-06-19T03:11:26Z"
        },
        {
          "tag": "gonx@v2.0.0-beta.2",
          "kind": "other",
          "published_at": "2025-06-19T02:38:00Z"
        },
        {
          "tag": "gonx@v2.0.0-beta.1",
          "kind": "other",
          "published_at": "2025-06-18T21:01:26Z"
        },
        {
          "tag": "gonx@v2.0.0-beta.0",
          "kind": "other",
          "published_at": "2025-06-17T02:57:36Z"
        },
        {
          "tag": "gonx@v1.2.0",
          "kind": "other",
          "published_at": "2025-06-04T01:38:01Z"
        },
        {
          "tag": "gonx@v1.1.1",
          "kind": "other",
          "published_at": "2025-05-22T18:49:07Z"
        },
        {
          "tag": "gonx@v1.1.0",
          "kind": "other",
          "published_at": "2025-05-19T13:21:34Z"
        },
        {
          "tag": "gonx@v1.0.1",
          "kind": "other",
          "published_at": "2025-05-07T13:15:52Z"
        },
        {
          "tag": "nx-cloudflare@v5.0.0",
          "kind": "other",
          "published_at": "2025-05-06T15:10:16Z"
        },
        {
          "tag": "gonx@v1.0.0",
          "kind": "other",
          "published_at": "2025-05-06T15:10:15Z"
        },
        {
          "tag": "gonx@v1.0.0-rc.15",
          "kind": "other",
          "published_at": "2025-05-06T14:49:15Z"
        },
        {
          "tag": "gonx@v1.0.0-rc.13",
          "kind": "other",
          "published_at": "2025-05-05T12:29:13Z"
        },
        {
          "tag": "gonx@v1.0.0-rc.12",
          "kind": "other",
          "published_at": "2025-05-05T12:27:27Z"
        },
        {
          "tag": "gonx@v1.0.0-rc.11",
          "kind": "other",
          "published_at": "2025-05-05T12:24:29Z"
        },
        {
          "tag": "gonx@v1.0.0-rc.10",
          "kind": "other",
          "published_at": "2025-05-05T12:20:24Z"
        },
        {
          "tag": "gonx@v1.0.0-rc.9",
          "kind": "other",
          "published_at": "2025-05-05T12:16:48Z"
        },
        {
          "tag": "gonx@v1.0.0-rc.8",
          "kind": "other",
          "published_at": "2025-05-05T12:01:04Z"
        },
        {
          "tag": "gonx@v1.0.0-rc.7",
          "kind": "other",
          "published_at": "2025-05-05T11:49:57Z"
        },
        {
          "tag": "gonx@v1.0.0-rc.6",
          "kind": "other",
          "published_at": "2025-05-05T11:43:06Z"
        },
        {
          "tag": "gonx@v1.0.0-rc.5",
          "kind": "other",
          "published_at": "2025-05-05T01:58:45Z"
        },
        {
          "tag": "gonx@v1.0.0-rc.4",
          "kind": "other",
          "published_at": "2025-05-05T01:47:36Z"
        },
        {
          "tag": "gonx@v1.0.0-rc.3",
          "kind": "other",
          "published_at": "2025-05-05T01:43:35Z"
        },
        {
          "tag": "nx-cloudflare@v5.0.0-rc.1",
          "kind": "other",
          "published_at": "2025-05-05T01:35:20Z"
        },
        {
          "tag": "gonx@v1.0.0-rc.2",
          "kind": "other",
          "published_at": "2025-05-05T01:32:38Z"
        },
        {
          "tag": "gonx@v1.0.0-rc.1",
          "kind": "other",
          "published_at": "2025-05-04T23:05:56Z"
        },
        {
          "tag": "nx-cloudflare@v5.0.0-rc.0",
          "kind": "other",
          "published_at": "2025-05-04T15:29:45Z"
        },
        {
          "tag": "gonx@v1.0.0-rc.0",
          "kind": "other",
          "published_at": "2025-05-04T15:29:45Z"
        },
        {
          "tag": "v4.0.2",
          "kind": "patch",
          "published_at": "2025-04-22T01:50:27Z"
        },
        {
          "tag": "v4.0.1",
          "kind": "patch",
          "published_at": "2025-04-10T22:04:27Z"
        },
        {
          "tag": "v4.0.0",
          "kind": "major",
          "published_at": "2025-02-15T14:54:07Z"
        },
        {
          "tag": "v3.1.1",
          "kind": "patch",
          "published_at": "2024-07-07T18:20:19Z"
        },
        {
          "tag": "v3.1.0",
          "kind": "minor",
          "published_at": "2024-07-07T16:45:04Z"
        },
        {
          "tag": "v3.0.0",
          "kind": "major",
          "published_at": "2024-05-18T23:39:08Z"
        },
        {
          "tag": "v2.2.0",
          "kind": "minor",
          "published_at": "2024-04-21T00:09:48Z"
        },
        {
          "tag": "v2.1.0",
          "kind": "minor",
          "published_at": "2024-04-12T12:57:42Z"
        },
        {
          "tag": "v2.0.1",
          "kind": "patch",
          "published_at": "2024-03-04T12:51:11Z"
        },
        {
          "tag": "v2.0.0",
          "kind": "major",
          "published_at": "2024-03-02T23:10:30Z"
        },
        {
          "tag": "v1.0.2",
          "kind": "patch",
          "published_at": "2023-12-02T14:29:48Z"
        },
        {
          "tag": "v1.0.1",
          "kind": "patch",
          "published_at": "2023-11-19T02:01:25Z"
        },
        {
          "tag": "v1.0.0",
          "kind": "major",
          "published_at": "2023-10-26T22:57:07Z"
        },
        {
          "tag": "v0.8.1",
          "kind": "patch",
          "published_at": "2023-10-26T22:32:43Z"
        },
        {
          "tag": "v0.8.0",
          "kind": "minor",
          "published_at": "2023-10-11T16:53:39Z"
        },
        {
          "tag": "v0.7.1",
          "kind": "patch",
          "published_at": "2023-10-11T00:39:45Z"
        },
        {
          "tag": "v0.7.0",
          "kind": "minor",
          "published_at": "2023-09-18T01:39:59Z"
        },
        {
          "tag": "v0.6.0",
          "kind": "minor",
          "published_at": "2023-09-10T17:26:40Z"
        },
        {
          "tag": "v0.5.0",
          "kind": "minor",
          "published_at": "2023-09-10T03:37:24Z"
        },
        {
          "tag": "v0.4.0",
          "kind": "minor",
          "published_at": "2023-09-01T21:50:02Z"
        },
        {
          "tag": "v0.3.0",
          "kind": "minor",
          "published_at": "2023-08-19T20:56:23Z"
        },
        {
          "tag": "v0.2.0",
          "kind": "minor",
          "published_at": "2023-08-07T13:14:59Z"
        },
        {
          "tag": "v0.1.0",
          "kind": "minor",
          "published_at": "2023-08-06T21:00:47Z"
        }
      ],
      "recent_commits": [
        {
          "oid": "4a7b96d7f0b96a824cde19977a1d8abe3f52bce8",
          "body": "- project: gonx 4.1.1",
          "is_bot": false,
          "headline": "chore(release): publish",
          "author_name": "Nacho Vazquez",
          "author_login": "NachoVazquez",
          "committed_at": "2026-07-24T13:49:48Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "f848eae86b8ffb4139b488a70676a747a85ec19d",
          "body": "## PR Checklist\n\nPlease check if your PR fulfills the following requirements:\n\n- [x] The commit message follows our guidelines: CONTRIBUTING.md#commit\n- [x] Tests for the changes have been added (for bug fixes / features)\n- [x] Docs have been added / updated (for bug fixes / features)\n\n## PR Type\n\nW\n[…]\nect for release purposes is the squash-merge\ntitle (`fix(gonx): ...` → patch release for gonx).\n\n---------\n\nSigned-off-by: Nacho Vazquez <nacho@naxo.dev>\nCo-authored-by: Claude <noreply@anthropic.com>",
          "is_bot": false,
          "headline": "fix(gonx): include dependency source in inferred target inputs (#218)",
          "author_name": "Nacho Vazquez",
          "author_login": "NachoVazquez",
          "committed_at": "2026-07-24T13:48:32Z",
          "body_truncated": true,
          "is_coding_agent": true
        },
        {
          "oid": "b83f3623fdf6a09914d8193dd17cae8e222d7022",
          "body": "- project: gonx 4.1.0\n\n- project: nx-cloudflare 7.1.0",
          "is_bot": false,
          "headline": "chore(release): publish",
          "author_name": "Nacho Vazquez",
          "author_login": "NachoVazquez",
          "committed_at": "2026-07-21T14:40:59Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "0f65415150481e997829cdec7f09721e8c844aa1",
          "body": "Stop shipping the Nx framework as nested runtime dependencies. `@nx/devkit`\nand `@nx/js` are now peerDependencies at ^23.0.0 (same range as before);\n`wrangler` was already a peer.\n\nEvery consumer is an Nx workspace that already provides these packages, and\nmodern package managers auto-install peers,\n[…]\nt a major.\n\n`packageJsonUpdates` at 7.1.0 uses alwaysAddToPackageJson: true so\n`nx migrate @naxodev/nx-cloudflare` still inserts the peers for consumers that\nrelied on the previous transitive install.",
          "is_bot": false,
          "headline": "feat(nx-cloudflare): move @nx/devkit and @nx/js to peerDependencies",
          "author_name": "Nacho Vazquez",
          "author_login": "NachoVazquez",
          "committed_at": "2026-07-21T14:24:09Z",
          "body_truncated": true,
          "is_coding_agent": false
        },
        {
          "oid": "d2df28bc1709b6a78a630bd045f4792774e9b7ed",
          "body": "Stop shipping the Nx framework as nested runtime dependencies. `nx` and\n`@nx/devkit` are now peerDependencies at ^23.0.0 (same range as before).\n\nEvery consumer is an Nx workspace that already provides these packages, and\nmodern package managers auto-install peers, so this is a minor — not a major.\n\n`packageJsonUpdates` at 4.1.0 uses alwaysAddToPackageJson: true so\n`nx migrate @naxodev/gonx` still inserts the peers for consumers that relied\non the previous transitive install.",
          "is_bot": false,
          "headline": "feat(gonx): move nx and @nx/devkit to peerDependencies",
          "author_name": "Nacho Vazquez",
          "author_login": "NachoVazquez",
          "committed_at": "2026-07-21T14:24:09Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "0d4c1a36e099b47e167db71a160c2998b050290a",
          "body": null,
          "is_bot": false,
          "headline": "ci: publish production releases via OIDC with provenance",
          "author_name": "Nacho Vazquez",
          "author_login": "NachoVazquez",
          "committed_at": "2026-07-21T14:24:09Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "23721e196c314a2e8a4188b1e8e91f06dc7f71db",
          "body": "- project: gonx 4.0.2",
          "is_bot": false,
          "headline": "chore(release): publish",
          "author_name": "Nacho Vazquez",
          "author_login": "NachoVazquez",
          "committed_at": "2026-07-21T01:44:19Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "2fa0dd31de6326f13447e7bfd2890a93fda41c02",
          "body": "…d (#214) (#215)\n\nFixes #214.\n\n## Problem\n\nIn gonx v4, `createDependencies` fails Nx project-graph construction in\nworkspaces where a non-Go project — most commonly the workspace root\nproject (`root: \".\"`, e.g. a named root `package.json` in pnpm/bun\nmonorepos) — is affected without any `.go` files \n[…]\ngo.mod`/`.go` files, real parser) is the acceptance surface for\nthis patch.\n\nOut of scope, deliberately: moving `nx` from `dependencies` to\n`peerDependencies` (side note in #214) — tracked separately.",
          "is_bot": false,
          "headline": "fix(gonx): skip the findGoFiles fallback for projects without a go.mo…",
          "author_name": "Nacho Vazquez",
          "author_login": "NachoVazquez",
          "committed_at": "2026-07-21T01:42:36Z",
          "body_truncated": true,
          "is_coding_agent": false
        },
        {
          "oid": "1428ab6bf12db9ee26314f049114a9af6af3d10f",
          "body": "…n (#213)\n\n## TL;DR\n\nChad McElligott (`chadxz`) authored the original static-analysis\ndependency detection feature (#100) but never appeared in the\nall-contributors table — the PR was opened under Nacho's GitHub account\nwhile the underlying commits carried Chad's authorship. This PR adds him\nto `pac\n[…]\nhored by\n`chad.mcelligott@convergint.com`, matching GitHub user `chadxz`. Every\nother author touching that path since is already listed.\n\n## Links\n\n- [PR #100](https://github.com/naxodev/oss/pull/100)",
          "is_bot": false,
          "headline": "docs(gonx): credit chadxz for the static-analysis dependency detectio…",
          "author_name": "Nacho Vazquez",
          "author_login": "NachoVazquez",
          "committed_at": "2026-07-09T00:21:00Z",
          "body_truncated": true,
          "is_coding_agent": false
        },
        {
          "oid": "f1826e379b303320f89cec78dea3468c8284dafe",
          "body": "- project: gonx 4.0.1",
          "is_bot": false,
          "headline": "chore(release): publish",
          "author_name": "Nacho Vazquez",
          "author_login": "NachoVazquez",
          "committed_at": "2026-07-07T19:35:45Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "1e597418789c1fe73bec180932e5f456148b5747",
          "body": "…nfig parsing (#212)\n\n## TL;DR\n\n`parseWranglerConfigStrict` always ran the text through `jsonc-parser`,\neven though most wrangler configs are plain JSON — @nx/devkit's own\n`parseJson` tries native `JSON.parse` first for exactly this reason.\nThis PR adds the same fast path: try `JSON.parse`, and fall\n[…]\nse\ngenerators delegate into `@nx/js`/`@nx/eslint` doesn't quietly get an\ninert mock.\n\n## Links\n\n- [#203](https://github.com/naxodev/oss/pull/203) — the wrangler-config\nconsolidation this follows up on",
          "is_bot": false,
          "headline": "perf(nx-cloudflare): add a JSON.parse fast-path to strict wrangler co…",
          "author_name": "Nacho Vazquez",
          "author_login": "NachoVazquez",
          "committed_at": "2026-07-07T19:32:39Z",
          "body_truncated": true,
          "is_coding_agent": false
        },
        {
          "oid": "196379f89ac771808746b09c360dba7394f39fbc",
          "body": "## TL;DR\n\nRoot `package.json` listed 11 packages (astro/starlight/tailwind/typedoc\nbuild inputs) in both `dependencies` and `devDependencies`, which `bun\ninstall` flags with \"Duplicate dependency\" warnings. Each entry now\nlives only in `dependencies`, matching where `astro`, `react`, and\n`hono` alre\n[…]\ntarlight-typedoc`,\n`tailwindcss`, `tslib`, `typedoc`, and `typedoc-plugin-markdown` for\nbeing declared twice. No version specifiers changed — this only removes\nthe redundant `devDependencies` entries.",
          "is_bot": false,
          "headline": "chore: remove duplicate root dependency declarations (#209)",
          "author_name": "Nacho Vazquez",
          "author_login": "NachoVazquez",
          "committed_at": "2026-07-07T19:31:48Z",
          "body_truncated": true,
          "is_coding_agent": false
        },
        {
          "oid": "bc932a719a7a94ba789040a4cb73e0d66d13ba8a",
          "body": "…t schema (#211)\n\n## TL;DR\n\n`go-blueprint/schema.json`'s `feature` property is `type: array` but\nputs its `enum` directly on the property instead of on `items` — an\ninvalid JSON Schema shape (an array's element constraint belongs under\n`items`, not the array itself). This PR moves it under `items`, \n[…]\nding\n`gonx-docs` and finding `docker</code>)[]` unchanged in the built\ngo-blueprint guide page. `schema.d.ts` already types `feature?:\nstring[]` (not a narrowed literal union), so it needed no change.",
          "is_bot": false,
          "headline": "fix(gonx): declare the feature enum on array items in the go-blueprin…",
          "author_name": "Nacho Vazquez",
          "author_login": "NachoVazquez",
          "committed_at": "2026-07-07T19:31:33Z",
          "body_truncated": true,
          "is_coding_agent": false
        },
        {
          "oid": "f7d6d061121068fe296d30d0d0a796d18a2b049d",
          "body": "…lease publish (#210)\n\n## TL;DR\n\n`parseGoMod` swallows every go.mod read failure and returns `null`, so\n`nx-release-publish` reported \"Could not find module name\" even when the\nreal cause was `EACCES` or `go.mod` being a directory — a\nrelease-blocking path that hid the actual error. The executor now\n[…]\nerting that an `EACCES`\nread failure surfaces its message via `output.error`'s `bodyLines` and\nis not mislabeled as \"Could not find module name in ...\". The existing\ninvalid-content case is unchanged.",
          "is_bot": false,
          "headline": "fix(gonx): surface the real error when go.mod is unreadable during re…",
          "author_name": "Nacho Vazquez",
          "author_login": "NachoVazquez",
          "committed_at": "2026-07-07T19:30:48Z",
          "body_truncated": true,
          "is_coding_agent": false
        },
        {
          "oid": "2a64993ed32b28b2f5e888199249e50d4844f456",
          "body": "…rnals (#208)\n\n## TL;DR\n\n`packages/gonx/docs/static-analysis.md` duplicated the user-facing\nexplanation on the docs site — two copies that drift apart on the next\ncode change. This PR replaces it with a 57-line contributor-scoped doc\ncovering only what the site page deliberately omits: module layout\n[…]\nthe drift-guard pointer)\n- #204 (deleted the duplicated file; this PR supersedes that with the\ncontributor-scoped version)\n- [Canonical site\npage](https://gonx.naxo.dev/understanding/static-analysis/)",
          "is_bot": false,
          "headline": "docs(gonx): scope the package static-analysis doc to contributor inte…",
          "author_name": "Nacho Vazquez",
          "author_login": "NachoVazquez",
          "committed_at": "2026-07-07T19:23:04Z",
          "body_truncated": true,
          "is_coding_agent": false
        },
        {
          "oid": "d474f9dfe18137c504514ec158b12554d446417c",
          "body": "… (#207)\n\n## TL;DR\n\nThe generator guide pages had noun titles (\"application generator\",\n\"init generator\") though they live under a sidebar group described as\n\"Task-oriented how-tos for the plugin's generators\". Each page now\ncarries a task title (e.g. \"Scaffold a Worker application\", \"Set up the\nplu\n[…]\nly got\ncasing fixes (\"D1 executor\", \"Secret executor\") rather than task titles.\n\n## Links\n\n- #205 (the review pass that deferred this)\n- #204 (the schema-driven tables conversion this is rebased over)",
          "is_bot": false,
          "headline": "docs(nx-cloudflare): retitle generator guides to task-oriented titles…",
          "author_name": "Nacho Vazquez",
          "author_login": "NachoVazquez",
          "committed_at": "2026-07-07T19:22:22Z",
          "body_truncated": true,
          "is_coding_agent": false
        },
        {
          "oid": "7cce63cca65ca00263478684bbac665591da7f89",
          "body": "…oject graph (#206)\n\n## TL;DR\n\nThe library generator spec still built the real Nx project graph:\n`addLint` (via `@nx/js`'s library generator, since the spec's default is\n`linter: 'eslint'`) unconditionally calls `@nx/eslint`'s\n`lintInitGenerator`, which calls the real `createProjectGraphAsync`\nagain\n[…]\noss/pull/198) — the prior fix for\nthe same disease in other nx-cloudflare generator specs.\n- [#204](https://github.com/naxodev/oss/pull/204) — the docs PR whose\nworkspace-level changes trip this spec.",
          "is_bot": false,
          "headline": "test(nx-cloudflare): stop library generator spec building the real pr…",
          "author_name": "Nacho Vazquez",
          "author_login": "NachoVazquez",
          "committed_at": "2026-07-07T02:16:16Z",
          "body_truncated": true,
          "is_coding_agent": false
        },
        {
          "oid": "bd94e1696ce1a882883e0df59a56fc1047b1c58f",
          "body": "…e (#204)\n\n## TL;DR\n\n21 generator/executor doc pages hand-transcribed their option tables\nfrom each schema.json, so they could (and did) drift — the nx-cloudflare\n`create-cloudflare` page documented `c3Version` defaulting to `2.70.0`,\na value the schema never actually carried. This PR replaces every\n[…]\nreconciles both\nrather than picking one verbatim.\n\n## Tests\n\nBoth sites' builds and `typecheck` (`astro check`) targets pass. No unit\ntests changed — this PR is docs-content and shared-component only.",
          "is_bot": false,
          "headline": "docs: drive option tables from schemas and extract a shared docs them…",
          "author_name": "Nacho Vazquez",
          "author_login": "NachoVazquez",
          "committed_at": "2026-07-07T02:14:57Z",
          "body_truncated": true,
          "is_coding_agent": false
        },
        {
          "oid": "e528b14126d7d612727be7bf5c34c9fb11686ff7",
          "body": "…seams (#203)\n\n## TL;DR\n\n\"Read a wrangler config and pull out a binding array\" was implemented\nfour separate times across `plugin.ts`, `wrangler-config.ts`,\n`provision.ts`, and the binding generator, each with its own copy of the\njsonc formatting options and its own array-lookup logic that only\nhand\n[…]\n nx-cloudflare:test`), including 11 new\ntests for `entrypoint-editor.ts` covering braces in\nstrings/comments/template interpolation. Lint (including\n`nx-plugin-checks`), build, and typecheck all pass.",
          "is_bot": false,
          "headline": "refactor(nx-cloudflare): consolidate wrangler config access and exec …",
          "author_name": "Nacho Vazquez",
          "author_login": "NachoVazquez",
          "committed_at": "2026-07-06T18:11:39Z",
          "body_truncated": true,
          "is_coding_agent": false
        },
        {
          "oid": "39f45f9b51f1afe9aa7d3770d3e938c39273745f",
          "body": "…nference (#202)\n\n## TL;DR\n\nThe shared executor runner mutated `process.env` on every call, joined\ncommands into an unquoted shell string, and two release paths parsed\n`go.mod` with a naive regex that mis-parses quoted module paths — all\ninside a long-lived Nx daemon where one bad run can leak into \n[…]\nt`), including 12 new tests on the\ntarget-inference path (`get-targets-by-project-type.spec.ts`) and the\nnew env-leak regression test in `execute-command.spec.ts`. Lint, build,\nand typecheck all pass.",
          "is_bot": false,
          "headline": "fix(gonx): harden executor command execution and consolidate target i…",
          "author_name": "Nacho Vazquez",
          "author_login": "NachoVazquez",
          "committed_at": "2026-07-06T18:07:23Z",
          "body_truncated": true,
          "is_coding_agent": false
        },
        {
          "oid": "e1d3f34564075e70689ae15531d88ca85f77739f",
          "body": "… (#205)\n\n## TL;DR\n\nTen published docs pages rendered `import { Steps } from\n'@astrojs/starlight/components';` as literal page text because Starlight\nonly processes component imports in `.mdx`, and several pages documented\nthe wrong major (gonx 3.x instead of 4.x) or omitted real plugin surface\n(`ve\n[…]\nheck` — clean.\n- Both sites build with `--skip-nx-cache` (25 + 30 pages).\n- Built HTML grep-verified for all 10 renamed pages: no leaked\n`astrojs/starlight/components` text, `sl-steps` markup present.",
          "is_bot": false,
          "headline": "docs: fix stale versions, missing targets, and broken Steps rendering…",
          "author_name": "Nacho Vazquez",
          "author_login": "NachoVazquez",
          "committed_at": "2026-07-06T18:01:49Z",
          "body_truncated": true,
          "is_coding_agent": false
        },
        {
          "oid": "aa9bbd6599414f8072e58376640348e6ef0e2216",
          "body": "… (#200)\n\n## TL;DR\n\nTwo robustness gaps surfaced while releasing gonx 4 / nx-cloudflare 7:\nthe release published a **stale `dist/` at the old version** (npm\nsilently re-tagged the already-published version instead of erroring),\nand the `nx-cloudflare` library generator spec **timed out on CI** when\n\n[…]\nrun nx-cloudflare:test` 16/16 files, `nx run gonx:test` 28/28 files,\n`nx format:check` clean. `manifestRootsToUpdate` validated via the\ndry-run above; full behavior exercised by the next real release.",
          "is_bot": false,
          "headline": "ci: publish the correct dist version and stabilize flaky test workers…",
          "author_name": "Nacho Vazquez",
          "author_login": "NachoVazquez",
          "committed_at": "2026-07-06T16:13:05Z",
          "body_truncated": true,
          "is_coding_agent": false
        },
        {
          "oid": "6bf7d2c298fb5d89ee416e1364b0e1f76f547796",
          "body": "…enerator (#201)\n\n## TL;DR\n\nThe generated TypeDoc reference for `nx-cloudflare` drifted from source\nafter the observability feature (#196) added `workerConfigGenerator`.\nThis syncs the two stale files: the reference index gains the new\ngenerator + schema, and the `createCloudflareGenerator` source l\n[…]\n already exist, so no dangling links.\n- `reference/functions/createCloudflareGenerator.md` — updates the\n\"Defined in\" source-line link (`L39` → `L43`).\n\nGenerated output only — no hand-authored prose.",
          "is_bot": false,
          "headline": "docs(nx-cloudflare): sync generated reference for the worker-config g…",
          "author_name": "Nacho Vazquez",
          "author_login": "NachoVazquez",
          "committed_at": "2026-07-05T19:18:11Z",
          "body_truncated": true,
          "is_coding_agent": false
        },
        {
          "oid": "bac4073e4f8d727f008fd3734719a709cde6f54b",
          "body": "- project: gonx 4.0.0\n\n- project: nx-cloudflare 7.0.0",
          "is_bot": false,
          "headline": "chore(release): publish",
          "author_name": "Nacho Vazquez",
          "author_login": "NachoVazquez",
          "committed_at": "2026-07-05T18:50:03Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "a8ecec7b75efc048ba44de52e0affa174ced5733",
          "body": "## TL;DR\n\nType errors in spec files land silently on `main` — `bun test` strips\ntypes at runtime and `build` (`tsconfig.lib.json`) never type-checks\nspecs, so nothing gates them. This adds `typecheck` to the affected CI\ntarget and fixes the two pre-existing failures enabling it surfaced.\n\n**Files to\n[…]\n— this is green only on top of it. Base retargets to\n`main` once #198 merges.\n\n## Tests\n\n`nx run-many -t typecheck --all` passes (8 projects); `nx format:check`\nand `lint` (nx-cloudflare, gonx) clean.",
          "is_bot": false,
          "headline": "ci: gate CI on typecheck and fix the failures it surfaces (#199)",
          "author_name": "Nacho Vazquez",
          "author_login": "NachoVazquez",
          "committed_at": "2026-07-05T18:48:54Z",
          "body_truncated": true,
          "is_coding_agent": false
        },
        {
          "oid": "0aef38374ea720c4632be187cdcd5b2f1c8044b9",
          "body": "…ect graph (#198)\n\n## TL;DR\n\n`worker-config`'s generator spec timed out on CI (`this test timed out\nafter 5000ms`) because its \"not found\" test builds the **real** Nx\nproject graph and daemon from the `/virtual` test workspace — an\nunbounded, environment-dependent call. This stubs\n`createProjectGrap\n[…]\n`'s live\nnamespace binding — no `@nx/devkit` re-export needed.\n\n## Tests\n\nThe three specs pass in ~300–540ms (previously hanging to the 5000ms\ntimeout); full `nx-cloudflare:test` is 16/16 files green.",
          "is_bot": false,
          "headline": "test(nx-cloudflare): stop generator unit tests building the real proj…",
          "author_name": "Nacho Vazquez",
          "author_login": "NachoVazquez",
          "committed_at": "2026-07-05T18:41:51Z",
          "body_truncated": true,
          "is_coding_agent": false
        },
        {
          "oid": "becd42bfbd836869d7c8cdd35f482cd98155bcb2",
          "body": "…ioned secrets (#132) (#196)\n\n## TL;DR\n\nProduction defaults that Workers users otherwise wire by hand —\nobservability logs, Smart Placement, and staged secrets for gradual\ndeployments — had no plugin support. This PR adds opt-in\n`--observability` / `--smartPlacement` flags (on the application\ngenera\n[…]\n green (15/15 spec files);\n`build`, `lint`, and the docs build pass.\n\n## Links\n\n- Closes #132 — surface observability, Smart Placement, and secrets DX\n- Part of #115 — nx-cloudflare modernization epic",
          "is_bot": false,
          "headline": "feat(nx-cloudflare): surface observability, Smart Placement, and vers…",
          "author_name": "Nacho Vazquez",
          "author_login": "NachoVazquez",
          "committed_at": "2026-07-05T17:57:32Z",
          "body_truncated": true,
          "is_coding_agent": false
        },
        {
          "oid": "08b863255ffc6d280b7d96d0821f6b8d54abd2ba",
          "body": "…ootOrThrow (#197)\n\n## TL;DR\n\n`resolveProjectRootOrThrow` caught **every** `createProjectGraphAsync`\nfailure and fell through to `Project \"x\" not found`, so a genuine\ngraph-build failure (a broken sibling project, a plugin failure) was\nreported as a missing project — sending users to debug the wrong\n[…]\ner, are unaffected. `build` and\n`lint` pass.\n\n## Links\n\n- Follow-up to #196 (surfaced during its review; refined by a second\nreview that flagged the raw-propagate papercut)\n- Helper introduced in #193",
          "is_bot": false,
          "headline": "fix(nx-cloudflare): propagate project-graph errors in resolveProjectR…",
          "author_name": "Nacho Vazquez",
          "author_login": "NachoVazquez",
          "committed_at": "2026-07-05T02:36:21Z",
          "body_truncated": true,
          "is_coding_agent": false
        },
        {
          "oid": "0c53acd4fb0a1b3b2d00dd0cffa256a4cde0d0c6",
          "body": "…h (#194)\n\n## TL;DR\n\nIn a mixed workspace, `nx show projects` (and every `nx build` / `nx\ntest`) printed one `WARN Failed to read go.mod file …: ENOENT` per\nnon-Go project — 5 lines in a workspace with 4 Cloudflare apps plus a JS\nlib. `parseGoMod` now treats an absent `go.mod` as the expected \"not a\n[…]\npackages: swapping in the compiled fix took `nx show projects`\nfrom 5 `Failed to read go.mod` warnings to 0, while the Go static import\nedge (`api → go-utils`) still resolves.\n\n## Links\n\n- Closes #195",
          "is_bot": false,
          "headline": "fix(gonx): skip missing go.mod files silently in static-analysis grap…",
          "author_name": "Nacho Vazquez",
          "author_login": "NachoVazquez",
          "committed_at": "2026-07-02T22:28:49Z",
          "body_truncated": true,
          "is_coding_agent": false
        },
        {
          "oid": "7da3796dd17593bd7b5168fc271cf73cea689cc8",
          "body": "…135) (#193)\n\n## TL;DR\n\nThere was no first-class way to put an existing Nx app on Cloudflare —\n`create-cloudflare` (C3) only scaffolds brand-new apps and `binding`\nonly edits a Worker that already has a `wrangler.jsonc`. This adds a\n`configuration` generator that authors a `wrangler.jsonc`, installs\n[…]\ning-entry\nwarning, and both the already-configured and unknown-project guards. Run\nwith `bunx nx test nx-cloudflare`. Lint, build, and both docs-site\nbuilds pass.\n\n## Links\n\n- Issue: #135\n- Epic: #115",
          "is_bot": false,
          "headline": "feat(nx-cloudflare): add configuration generator for existing apps (#…",
          "author_name": "Nacho Vazquez",
          "author_login": "NachoVazquez",
          "committed_at": "2026-07-02T22:27:19Z",
          "body_truncated": true,
          "is_coding_agent": false
        },
        {
          "oid": "568208d0b141ba49bea44700c3f5e10e71ffcf25",
          "body": "## TL;DR\n\nAdding a D1- or secrets-bearing Worker via the `binding` generator left\na \"Day 2\" gap: applying D1 migrations and managing Worker secrets meant\ndropping to raw `wrangler` commands. This PR adds two inference-driven\nexecutors, so `nx d1-apply <worker>`, `nx secret-put <worker>\n--name=API_KE\n[…]\nxecutorContext`\npath end-to-end.\n\n`nx test`, `nx lint`, `nx build` for `nx-cloudflare` and the new e2e all\npass.\n\n## Links\n\n- Partially addresses #132 (secrets DX)\n- Builds on #185 (binding generator)",
          "is_bot": false,
          "headline": "feat(nx-cloudflare): add D1 migrations and secrets executors (#190)",
          "author_name": "Nacho Vazquez",
          "author_login": "NachoVazquez",
          "committed_at": "2026-06-28T20:29:04Z",
          "body_truncated": true,
          "is_coding_agent": false
        },
        {
          "oid": "644c58939387771cd50bd742873de02664365cc6",
          "body": "Standardizes how target-run commands are written across the gonx docs\nsite and the root `CLAUDE.md`, matching the form already used in the\nnx-cloudflare docs: `nx run <project>:<target>` instead of `nx <target>\n<project>`.\n\nNon-target commands are intentionally left untouched — `nx add`, `nx g`,\n`nx\n[…]\nt, first-go-project tutorial, migration,\nand contributing guides\n- root `CLAUDE.md` — the Commands section and single-test example\n\nDocs-only; both docs sites build clean and `nx format:check` passes.",
          "is_bot": false,
          "headline": "docs: standardize nx commands on the run <project>:<target> form (#192)",
          "author_name": "Nacho Vazquez",
          "author_login": "NachoVazquez",
          "committed_at": "2026-06-28T20:27:54Z",
          "body_truncated": true,
          "is_coding_agent": false
        },
        {
          "oid": "68ea0ec5412ab379417b18bfaf030cc0ad2c5b15",
          "body": "…nts (#131) (#191)\n\n## TL;DR\n\nThe plugin infers a `version-upload` target (`wrangler versions upload`,\nwhich stages a Worker version at 0% traffic) but has no target for the\npromotion half of [gradual\ndeployments](https://developers.cloudflare.com/workers/configuration/versions-and-deployments/gradu\n[…]\ndeploy` → `wrangler versions deploy` with\n`cache` undefined, and the custom-names test exercises\n`versionDeployTargetName`. Run with `bunx nx test nx-cloudflare` (10/10\nspec files pass).\n\nCloses #131.",
          "is_bot": false,
          "headline": "feat(nx-cloudflare): infer version-deploy target for gradual deployme…",
          "author_name": "Nacho Vazquez",
          "author_login": "NachoVazquez",
          "committed_at": "2026-06-27T18:15:02Z",
          "body_truncated": true,
          "is_coding_agent": false
        },
        {
          "oid": "35d08c69fac644c1491f7631b6915b74f057b969",
          "body": "## TL;DR\n\nFinal go-live polish for the `gonx@4.0.0` / `nx-cloudflare@7.0.0`\nmajors: validate gonx's `migrations.json` under `@nx/nx-plugin-checks`\n(#149), add the missing 7.0.0 breaking-change note + fix the\ncompatibility table on the nx-cloudflare README (#155), point\nnx-cloudflare's npm `homepage`\n[…]\nth plugins and `nx format:check` is clean.\n\n## Links\n\n- Closes #149 — run nx-plugin-checks lint target\n- Closes #155 — document the removal of Next.js support\n- #115 — nx-cloudflare modernization epic",
          "is_bot": false,
          "headline": "chore: prep gonx 4 + nx-cloudflare 7 go-live (#149, #155) (#189)",
          "author_name": "Nacho Vazquez",
          "author_login": "NachoVazquez",
          "committed_at": "2026-06-25T12:33:09Z",
          "body_truncated": true,
          "is_coding_agent": false
        },
        {
          "oid": "8f34023fe797a469a76056768e6f65caf9c4b882",
          "body": "….0.0 (#188)\n\n## TL;DR\n\nNeither docs site had a place to announce a release, so the gonx 4.0.0\nand nx-cloudflare 7.0.0 majors would ship with only a migration guide.\nThis adds a **\"What's New\"** sidebar section to both Starlight sites and\nan announcement post for each upcoming major.\n\n**Files to rev\n[…]\n.\n\n## Tests\n\nNo code paths. Verified `bunx nx build gonx-docs` and `bunx nx build\nnx-cloudflare-docs` both succeed — the new pages and the `whats-new`\nllms.txt set emit — and `nx format:check` passes.",
          "is_bot": false,
          "headline": "docs: add What's New release posts for gonx 4.0.0 and nx-cloudflare 7…",
          "author_name": "Nacho Vazquez",
          "author_login": "NachoVazquez",
          "committed_at": "2026-06-24T14:37:49Z",
          "body_truncated": true,
          "is_coding_agent": false
        },
        {
          "oid": "2d37a996417e165840e3253ef941d97a2cf471a2",
          "body": "…es (#179) (#187)\n\n## TL;DR\n\nThe #179 audit found one 7.0.0 breaking change with no `nx migrate`\npath: #159, which turned the `application` generator into a\n`create-cloudflare` (C3) alias. This adds the missing migration\n(`update-7-0-0-application-aliases`) and codifies the rule that broke\ndown here\n[…]\nnks\n\n- [#179 — migration audit](https://github.com/naxodev/oss/issues/179)\n(audit table posted as a comment)\n- [#159 — application → create-cloudflare\naliases](https://github.com/naxodev/oss/pull/159)",
          "is_bot": false,
          "headline": "feat(nx-cloudflare): add migration for application generator C3 alias…",
          "author_name": "Nacho Vazquez",
          "author_login": "NachoVazquez",
          "committed_at": "2026-06-24T13:59:11Z",
          "body_truncated": true,
          "is_coding_agent": false
        },
        {
          "oid": "13337ec386cbc83f682c0b433f6ae5c72c4032c3",
          "body": "## TL;DR\n\n`CLAUDE.md` didn't say where issues are tracked, so an agent had no\nsignal to reach for GitHub Issues. This adds one line to the Overview\npointing at GitHub (and the `gh` CLI) for finding, referencing, and\ntriaging issues.",
          "is_bot": false,
          "headline": "docs: note that issues live on GitHub in CLAUDE.md (#186)",
          "author_name": "Nacho Vazquez",
          "author_login": "NachoVazquez",
          "committed_at": "2026-06-24T13:46:03Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "2e6636de6f466d5362f722999fba54dca7a846e8",
          "body": "…flow/Service (#185)\n\n## TL;DR\n\nWiring a binding's config block + `Env` field (+ class & migrations for\nDO/Workflow) by hand is the core daily friction in a Cloudflare Worker\nworkspace — exactly where an Nx generator shines. This PR adds `nx g\n@naxodev/nx-cloudflare:binding\n--type=kv|r2|d1|do|queue|\n[…]\nnfig support (if demand materializes)\n- `--remove` flag or a `remove-binding` generator\n\n## Links\n\n- [#133 — nx-cloudflare: add a binding/resource\ngenerator](https://github.com/naxodev/oss/issues/133)",
          "is_bot": false,
          "headline": "feat(nx-cloudflare): add binding generator for KV/R2/D1/DO/Queue/Work…",
          "author_name": "Nacho Vazquez",
          "author_login": "NachoVazquez",
          "committed_at": "2026-06-24T13:24:55Z",
          "body_truncated": true,
          "is_coding_agent": false
        },
        {
          "oid": "385fac1a4ed35a42fd2aa7ce183219aa8c822846",
          "body": "…ataxis, TypeDoc, and Tailwind design system (#156) (#184)\n\n## TL;DR\n\nBoth docs sites (`gonx-docs` and `nx-cloudflare-docs`) have been\nupgraded from basic Starlight setups to a maelstrom-level architecture:\nTailwind v4 + glassmorphism design system, custom component overrides\n(sidebar, theme toggle,\n[…]\nrmat:check` → clean\n\n## Links\n\n- Closes #156\n- Part of #115 (nx-cloudflare modernization epic)\n- Architecture adapted from\n[maelstrom-co/maelstrom](https://github.com/maelstrom-co/maelstrom) docs\nsite",
          "is_bot": false,
          "headline": "docs: upgrade both docs sites to maelstrom-level architecture with Di…",
          "author_name": "Nacho Vazquez",
          "author_login": "NachoVazquez",
          "committed_at": "2026-06-23T13:02:06Z",
          "body_truncated": true,
          "is_coding_agent": false
        },
        {
          "oid": "f839ae1e36fab684adb8119ebdefdfad77b59b3f",
          "body": "…(#182)\n\n## TL;DR\n\nThe bun migration (#175) left the unit `test` target uncached (`nx\naffected -t test` re-ran from scratch every time, no local or Nx Cloud\ncache) and the e2e Verdaccio harness carrying a bloated helper fork plus\ncross-process coordination inlined into the publish script. This PR ad\n[…]\nr the four essential\nworkarounds (version-restore, Nx-version pin, scoped-registry reset,\nbun-cache eviction).\n\n## Links\n\n- Closes #176\n- Follow-up to #175 (bun + TypeScript project linking migration)",
          "is_bot": false,
          "headline": "test: align bun test + e2e registry harness with Nx standards (#176) …",
          "author_name": "Nacho Vazquez",
          "author_login": "NachoVazquez",
          "committed_at": "2026-06-21T16:55:30Z",
          "body_truncated": true,
          "is_coding_agent": false
        },
        {
          "oid": "6b9f8103e90b7fc2cb0efc1650e107f32e141592",
          "body": "…s (#91) (#183)\n\n## TL;DR\n\n`nx release` on a release group of interdependent Go projects crashed\nwith `Method not implemented.` —\n`GoVersionActions.readCurrentVersionOfDependency` was never implemented.\nThis implements it to report no applicable dependency version, mirroring\nnx's own `NOOP_VERSION_A\n[…]\ned the\n`Method not implemented.` crash, and now asserts the `{ currentVersion:\nnull, dependencyCollection: null }` contract. Full suite: `bunx nx test\ngonx` (28/28 files pass).\n\n## Links\n\n- Closes #91",
          "is_bot": false,
          "headline": "fix(gonx): implement readCurrentVersionOfDependency for release group…",
          "author_name": "Nacho Vazquez",
          "author_login": "NachoVazquez",
          "committed_at": "2026-06-20T21:58:33Z",
          "body_truncated": true,
          "is_coding_agent": false
        },
        {
          "oid": "97dff0fc8ca0ef26f92e2278c9b1612d710ffd93",
          "body": "…rtifact (#128) (#181)\n\n## TL;DR\n\nA freshly scaffolded Worker committed its `worker-configuration.d.ts` —\nthe file `wrangler types` regenerates — so generated types landed in\nversion control and drifted from the `wrangler` config. The\n`create-cloudflare` generator now treats it as the build artifact\n[…]\nd a `.gitignore`\nis created when the scaffold ships none. Full suite green: `bunx nx test\nnx-cloudflare` (8 files, 98 tests).\n\n## Links\n\n- Closes #128\n- Part of #115 (nx-cloudflare modernization epic)",
          "is_bot": false,
          "headline": "feat(nx-cloudflare): treat worker-configuration.d.ts as a generated a…",
          "author_name": "Nacho Vazquez",
          "author_login": "NachoVazquez",
          "committed_at": "2026-06-20T21:22:56Z",
          "body_truncated": true,
          "is_coding_agent": false
        },
        {
          "oid": "88c8b18642b55eb99ffcde205fa9c037e776e23c",
          "body": "…#180)\n\n## TL;DR\n\nBoth plugins shipped `feat!` breaking changes with no `nx migrate` path\n— gonx had zero migrations before #178. Auditing the full `!`-history\n(see\n[#179](https://github.com/naxodev/oss/issues/179#issuecomment-4758732454))\nfound target inference absorbed nearly all of them, leaving \n[…]\nth plugins,\n`nx format:check` is clean, and both `.md` files plus the updated\n`migrations.json` land in `dist/`.\n\n## Links\n\n- [#179 — audit + findings\ntable](https://github.com/naxodev/oss/issues/179)",
          "is_bot": false,
          "headline": "feat: ship prompt migrations for unmigrated breaking changes (#179) (…",
          "author_name": "Nacho Vazquez",
          "author_login": "NachoVazquez",
          "committed_at": "2026-06-20T16:06:38Z",
          "body_truncated": true,
          "is_coding_agent": false
        },
        {
          "oid": "db009adba81daa81528fee5b60b5e1f15471aa60",
          "body": "## TL;DR\n\nNx 23 shipped, so this upgrades the workspace from **22.7.5 → 23.0.0**\nthrough the official `nx migrate` flow and moves both published plugins\nonto Nx 23. `@naxodev/nx-cloudflare` and `@naxodev/gonx` now require Nx\n23 (`nx`/`@nx/devkit`/`@nx/js` bumped to `^23.0.0`), and consumers get a\non\n[…]\nere, but earlier\n`feat(gonx)!:` releases never had an `nx migrate` path; that issue\ntracks backfilling the gaps (using Nx 23's prompt/hybrid/`documentation`\nshapes where deterministic isn't possible).",
          "is_bot": false,
          "headline": "feat!: migrate workspace and plugins to Nx 23 (#178)",
          "author_name": "Nacho Vazquez",
          "author_login": "NachoVazquez",
          "committed_at": "2026-06-20T13:09:51Z",
          "body_truncated": true,
          "is_coding_agent": false
        },
        {
          "oid": "f859023ba3c2c8ed99a744685749d6c355928c46",
          "body": "## TL;DR\n\nReworks npm publishing for the repo: PR-labeled **preview** packages\npublish to npm automatically via OIDC trusted publishing (tokenless),\nwhile **production** releases move to a documented, mostly-automated\nmanual flow. The token-based CI release workflow is removed — npm allows\nonly one \n[…]\nlabeled run published\n`@naxodev/gonx` and `@naxodev/nx-cloudflare` at `0.0.0-pr.174.*` under\n`pr-174` with SLSA provenance, and posted the install comment.\n`actionlint` clean, `nx format:check` clean.",
          "is_bot": false,
          "headline": "ci: add OIDC PR preview publishing and move releases to manual (#174)",
          "author_name": "Nacho Vazquez",
          "author_login": "NachoVazquez",
          "committed_at": "2026-06-19T16:29:50Z",
          "body_truncated": true,
          "is_coding_agent": false
        },
        {
          "oid": "1b9f4fb22c1dfcf5ad08de97135b67bbeef72ae3",
          "body": "…vitest (#172) (#173)\n\n## TL;DR\n\nA worker generated via `nx g @naxodev/nx-cloudflare:app\n--type=hello-world` has `serve`/`deploy`/`typegen`/`tail` targets but\n**no `test` target** — `nx test <app>` fails with *\"Cannot find\nconfiguration for task <app>:test\"*, even though C3 scaffolds a complete\nvite\n[…]\nipt is gone and the inferred `test` target resolves to vitest\n(`command`/`metadata.technologies`), alongside the existing\nserve/deploy/$schema/prune assertions.\n\n## Links\n\n- Closes #172\n- Part of #115",
          "is_bot": false,
          "headline": "feat(nx-cloudflare): infer test target for generated workers via @nx/…",
          "author_name": "Nacho Vazquez",
          "author_login": "NachoVazquez",
          "committed_at": "2026-06-19T16:16:51Z",
          "body_truncated": true,
          "is_coding_agent": false
        },
        {
          "oid": "ebdbcefdaf868c832b589f0861383facb5439c56",
          "body": "## TL;DR\n\nThe workspace ran on **pnpm + an integrated Nx layout** (tsconfig\n`paths`, Jest, a `vitest.workspace.ts`). This migrates it to **bun +\nTypeScript project linking**: bun workspaces with a single root version\n`catalog`, composite `tsconfig` project references managed by `nx sync`,\nand `bun t\n[…]\n6-06-07-phase-1-bun-catalog.md`,\n`docs/superpowers/plans/2026-06-08-phase-2-ts-project-linking.md` (in\nthis PR)\n- Nx TypeScript project linking:\nhttps://nx.dev/docs/concepts/typescript-project-linking",
          "is_bot": false,
          "headline": "build: migrate workspace to bun + TypeScript project linking (#175)",
          "author_name": "Nacho Vazquez",
          "author_login": "NachoVazquez",
          "committed_at": "2026-06-19T15:08:59Z",
          "body_truncated": true,
          "is_coding_agent": false
        },
        {
          "oid": "0d1c66b6f3341a348ab4f60a38c45efc3e680176",
          "body": "… (#138) (#170)\n\n## TL;DR\n\nThe plugin shipped **zero** migrations, so consumers couldn't run `nx\nmigrate @naxodev/nx-cloudflare@latest` — every breaking change in the\n7.0.0 cluster (#137 serve/deploy removal, #126 Next.js removal) was a\nmanual `project.json` edit. This adds `migrations.json` + the\n`\n[…]\nite exercises the tree transform\ndirectly.\n\n## Links\n\n- Closes #138\n- Pairs with #137 (#162) — same 7.0.0 release · Part of #115\n- Supersedes ~~#168~~ (closed) · Related: #172 (missing Nx test target)",
          "is_bot": false,
          "headline": "feat(nx-cloudflare): ship migrations.json and the nx-migrations field…",
          "author_name": "Nacho Vazquez",
          "author_login": "NachoVazquez",
          "committed_at": "2026-06-18T00:22:36Z",
          "body_truncated": true,
          "is_coding_agent": false
        },
        {
          "oid": "27577c10545ecf187600086b6605aab1b0432f57",
          "body": "…ripts from generated workers (#171)\n\n## TL;DR\n\n`create-cloudflare` imported config and scripts from C3 that clash with\nor duplicate the workspace and the plugin's inferred targets. This trims\nboth so generated workers rely on **workspace-level config + inferred\nWrangler targets** as the single sour\n[…]\noudflare.spec.ts`): the\nsame assertions against **real** C3 output, so a future C3 rename\nsurfaces.\n\n## Links\n\n- #159 (the create-cloudflare work this follows up; flagged there as an\noptional cleanup)",
          "is_bot": false,
          "headline": "fix(nx-cloudflare): drop C3 editor config and wrangler-duplicating sc…",
          "author_name": "Nacho Vazquez",
          "author_login": "NachoVazquez",
          "committed_at": "2026-06-17T14:15:51Z",
          "body_truncated": true,
          "is_coding_agent": false
        },
        {
          "oid": "0080fd97d2b26af18124e1d7fc91cd33fb7c8b38",
          "body": "…flare aliases (#159) (#169)\n\n## TL;DR\n\nThe `application` generator carried its own copies of Cloudflare's\nWorker templates (`fetch-handler`, `scheduled-handler`, `hono`) plus an\n`@nx/node` + `@nx/vitest` scaffolding path — a perpetual treadmill\nagainst C3's catalog. This PR makes **`application` an\n[…]\nc.ts` is now an `:app` alias smoke test (real C3).\nPackage: 80 tests, build, lint, format green; e2e green in CI.\n\n## Links\n\n- #159 (design + plan)\n- #167 (the create-cloudflare generator these alias)",
          "is_bot": false,
          "headline": "feat(nx-cloudflare)!: replace application generator with create-cloud…",
          "author_name": "Nacho Vazquez",
          "author_login": "NachoVazquez",
          "committed_at": "2026-06-17T12:47:53Z",
          "body_truncated": true,
          "is_coding_agent": false
        },
        {
          "oid": "31e782de443c89fb9f1aea67ba6ae132193ed477",
          "body": "## TL;DR\n\nThe `application` generator ships its own copies of Cloudflare's Worker\ntemplates (`fetch-handler`, `scheduled-handler`, `hono`) — a permanent\ntreadmill against C3's evolving catalog (see #145, #155). This PR adds a\n`create-cloudflare` generator that wraps the real `create-cloudflare`\n(C3)\n[…]\ng`, `.vscode/`,\n`AGENTS.md`) that may clash with workspace config.\n\n## Links\n\n- #159 (design + plan)\n- #140 (superseded — its `useProjectJson` / solution-setup branching is\nfolded into this generator)",
          "is_bot": false,
          "headline": "feat(nx-cloudflare): add create-cloudflare (C3) generator (#159) (#167)",
          "author_name": "Nacho Vazquez",
          "author_login": "NachoVazquez",
          "committed_at": "2026-06-17T00:29:05Z",
          "body_truncated": true,
          "is_coding_agent": false
        },
        {
          "oid": "348220e72501f3bad495e381721971184c8eaabf",
          "body": "…ing (#108, #113, #104) (#160)\n\n## TL;DR\n\nThree follow-ups from PR #106's review hardened the Go build-constraint\nanalyzer: policy (`cgo`, Go version) was hardcoded inside `matchTag` and\ninvisible from the type; the shared default `BuildContext` was mutable\nand mapped cygwin to a non-existent GOOS; \n[…]\ngithub.com/naxodev/oss/issues/113)\n- [#104 — harden WASM loading for tree-sitter under\nJest](https://github.com/naxodev/oss/issues/104)\n- Parent review: [#106](https://github.com/naxodev/oss/pull/106)",
          "is_bot": false,
          "headline": "feat(gonx): harden build-constraint context and tree-sitter WASM load…",
          "author_name": "Nacho Vazquez",
          "author_login": "NachoVazquez",
          "committed_at": "2026-06-09T02:35:14Z",
          "body_truncated": true,
          "is_coding_agent": false
        },
        {
          "oid": "2b61e80b61a415a9dcccdf5d1b2d54e21b1aef3e",
          "body": "…(#166)\n\n## TL;DR\n\nThe `createNodesV2` inference plugin memoized computed targets in a\n`.nx/cache` file keyed by config path+content and plugin options — but\n**not** the plugin's own code version. So upgrading\n`@naxodev/nx-cloudflare` to a version that changes the inferred targets\nserved stale targe\n[…]\nred by\nthe richer five-target test). No behavior change to the inferred targets\nthemselves.\n\n## Links\n\n- Closes #164\n- Cache originated in #136 (#158); staleness surfaced in #137 (#162) ·\nPart of #115",
          "is_bot": false,
          "headline": "refactor(nx-cloudflare): drop the createNodesV2 targets-cache (#164) …",
          "author_name": "Nacho Vazquez",
          "author_login": "NachoVazquez",
          "committed_at": "2026-06-09T02:34:40Z",
          "body_truncated": true,
          "is_coding_agent": false
        },
        {
          "oid": "c0df7b817d3d4d5e4030e381ddd8f908bc8c2fc1",
          "body": "…ted worker projects (#163) (#165)\n\n## TL;DR\n\nThe application generator already strips `@nx/node`'s `build`/`serve`\ntargets, but `@nx/node` *also* emits `prune`, `prune-lockfile`, and\n`copy-workspace-modules` — all `dependsOn: ['build']`. With `build`\ndeleted these dangle (`nx prune <app>` can't res\n[…]\nviving target `dependsOn` a\nstripped one — the future-`@nx/node` guard described above.\n\n30 unit tests pass; lint and format clean.\n\n## Links\n\n- Closes #163\n- Follow-up from #137 (#162) · Part of #115",
          "is_bot": false,
          "headline": "fix(nx-cloudflare): strip dangling @nx/node prune targets from genera…",
          "author_name": "Nacho Vazquez",
          "author_login": "NachoVazquez",
          "committed_at": "2026-06-09T02:32:25Z",
          "body_truncated": true,
          "is_coding_agent": false
        },
        {
          "oid": "070a79c23b6d5d3be37910b59b0deeb209059813",
          "body": "…rgets (#137) (#162)\n\n## TL;DR\n\nThe `serve`/`deploy` executors duplicated what the #136 inference plugin\nnow provides, and the generator still wrote explicit executor targets\ninto `project.json` that **shadowed** the inferred ones. This deletes\nboth executors and stops generating those targets, so\n`\n[…]\nesV2 targets-cache on plugin\nversion change (cache key omits the plugin code version, so upgrades\nneed `nx reset`; pre-existing from #136).\n\n## Links\n\n- Closes #137\n- Builds on #136 (#158)\n- Epic #115",
          "is_bot": false,
          "headline": "feat(nx-cloudflare)!: replace serve/deploy executors with inferred ta…",
          "author_name": "Nacho Vazquez",
          "author_login": "NachoVazquez",
          "committed_at": "2026-06-07T13:30:59Z",
          "body_truncated": true,
          "is_coding_agent": false
        },
        {
          "oid": "8e3d82109de6c15010a05a991bf5d692587a955b",
          "body": "## TL;DR\n\nThis repo had no `CLAUDE.md`, so Claude Code started each session blind\nto the monorepo's non-obvious shape — independent per-project releases,\nthe shared-Verdaccio e2e setup, and the `createNodesV2` inference\nplugins. This adds one at the root covering commands, architecture, the\nrelease/\n[…]\nh a\nsanity check against your mental model.\n- **No release impact.** The file is workspace-root only and touches no\npublished project, so it won't trigger a version bump for `gonx` or\n`nx-cloudflare`.",
          "is_bot": false,
          "headline": "docs: add CLAUDE.md with repo guidance for Claude Code (#161)",
          "author_name": "Nacho Vazquez",
          "author_login": "NachoVazquez",
          "committed_at": "2026-06-06T22:40:25Z",
          "body_truncated": true,
          "is_coding_agent": false
        },
        {
          "oid": "bf4d6c9d46a2ac70205cef3ed3980ca68dcc1de0",
          "body": "## TL;DR\n\nThe plugin had no Nx 22 inference, so every Cloudflare Worker project\nhad to hand-write its `serve`/`deploy` targets in `project.json` — the\nonly `plugins/` entry was a Next.js webpack helper, not Crystal. This\nadds a `createNodesV2` plugin that globs `wrangler.{toml,jsonc,json}`\nand infer\n[…]\nalid + one invalid in a single invocation), cross-run cache identity,\nand graceful skip when the project directory is unreadable. Run with `nx\ntest nx-cloudflare`.\n\n## Links\n\n- Closes #136\n- Epic #115",
          "is_bot": false,
          "headline": "feat(nx-cloudflare): add createNodesV2 inference plugin (#136) (#158)",
          "author_name": "Nacho Vazquez",
          "author_login": "NachoVazquez",
          "committed_at": "2026-06-06T21:19:28Z",
          "body_truncated": true,
          "is_coding_agent": false
        },
        {
          "oid": "af70c30a66deffcf0e0196db8b0e28dd4f41d06b",
          "body": "…st config to v4 (#157)\n\n## TL;DR\n\nThe init generator scaffolds worker projects with stale toolchain\nversions — `vitest ^3.2.4`, `@cloudflare/vitest-pool-workers ^0.12.0`,\n`wrangler ^4.26.0`. This bumps all five scaffolded dependencies to\nlatest, which drags `vitest` across a major (3 → 4) and `pool\n[…]\n's tests.\n\n## Follow-up\n\nThe e2e gap is worth closing: add a \"generate app → run its vitest\ntests\" case to `nx-cloudflare-e2e` so future vitest/pool-workers bumps\nare caught in CI rather than by hand.",
          "is_bot": false,
          "headline": "feat(nx-cloudflare)!: bump scaffolded deps to latest and migrate vite…",
          "author_name": "Nacho Vazquez",
          "author_login": "NachoVazquez",
          "committed_at": "2026-06-06T21:19:12Z",
          "body_truncated": true,
          "is_coding_agent": false
        },
        {
          "oid": "1717a9805c49df6650b3a92d2a8ecf5a8cb4f9cf",
          "body": "…p, drop deep @nx imports (#141, #142, #139) (#153)\n\n## TL;DR\n\nCorrects the published-package shape after the Next.js drop: `@nx/*`\nstay in `dependencies` (matching every official Nx plugin — see below),\n`wrangler` becomes a `peerDependencies` (the `@nx/vite`→`vite` pattern),\nan `exports` map is add\n[…]\nNx's generator/executor resolution from the installed\ntarball and that the `wrangler` peer is satisfied.\n- `pnpm install --frozen-lockfile` in sync.\n\n## Links\n\n- Closes #141, #142, #139\n- Part of #115",
          "is_bot": false,
          "headline": "fix(nx-cloudflare): correct dependency classification, add exports ma…",
          "author_name": "Nacho Vazquez",
          "author_login": "NachoVazquez",
          "committed_at": "2026-06-06T05:11:38Z",
          "body_truncated": true,
          "is_coding_agent": false
        },
        {
          "oid": "b600fba56d8810ccdbf347494f0f9bf02255060f",
          "body": "…rmat option (#127) (#154)\n\n## TL;DR\n\nThe application generator emitted `wrangler.toml`, but Cloudflare\nrecommends `wrangler.jsonc` (C3 scaffolds it, some features are\nJSON-only) and JSONC is far safer to edit programmatically — which the\nupcoming binding generator depends on. The generator now emit\n[…]\nll suite green — 101 tests, lint, and build all pass; both\ntemplate folders ship to `dist`. Run with `nx test nx-cloudflare`.\n\n## Links\n\n- Closes #127\n- Part of #115 (nx-cloudflare modernization epic)",
          "is_bot": false,
          "headline": "feat(nx-cloudflare): generate wrangler.jsonc by default with configFo…",
          "author_name": "Nacho Vazquez",
          "author_login": "NachoVazquez",
          "committed_at": "2026-06-06T04:21:36Z",
          "body_truncated": true,
          "is_coding_agent": false
        },
        {
          "oid": "712a9ab5748b092d8a3d1d0d81cc2f1b81f72037",
          "body": "…ck subsystem) (#126) (#152)\n\n## TL;DR\n\nThe Next.js integration was built on the deprecated\n`@cloudflare/next-on-pages`; rather than migrate to OpenNext, this drops\nit entirely. Removes the `next-build` executor, the vendored webpack\nsubsystem, the example app, and 14 now-dead dependencies — **46 fi\n[…]\nired checks)\nin the dashboard — it's not in the repo's control.\n- Orphaned React-ecosystem deps and `runs-on: ${{ matrix.os }}` in\n`ci.yml` — separate cleanups.\n\n## Links\n\n- Closes #126\n- Part of #115",
          "is_bot": false,
          "headline": "feat(nx-cloudflare)!: drop Next.js support (remove next-build + webpa…",
          "author_name": "Nacho Vazquez",
          "author_login": "NachoVazquez",
          "committed_at": "2026-06-05T14:28:17Z",
          "body_truncated": true,
          "is_coding_agent": false
        },
        {
          "oid": "36e21b6dc2f27cbaa24751389c35c8a968cfe386",
          "body": "…Verdaccio (#143) (#151)\n\nMigrates **both** the `nx-cloudflare-e2e` and `gonx-e2e` suites from the\nlegacy `ensureNxProject` fixture (which copies the built `dist` into a\nworkspace) to `createTestProject` — creating a real Nx workspace and\ninstalling the plugin from the local Verdaccio registry. This\n[…]\n: `ci.yml` hardcodes\n`runs-on: ubuntu-latest` instead of `${{ matrix.os }}`, so the\n`macos-latest`/`windows-latest` matrix entries actually run on ubuntu —\nthe cross-OS coverage is currently illusory.",
          "is_bot": false,
          "headline": "test(e2e): migrate nx-cloudflare and gonx e2e to createTestProject + …",
          "author_name": "Nacho Vazquez",
          "author_login": "NachoVazquez",
          "committed_at": "2026-06-05T12:55:46Z",
          "body_truncated": true,
          "is_coding_agent": false
        },
        {
          "oid": "dd2ca84639180a580ad5ac7e2d1bb718c5461b4b",
          "body": "…generators (#150)\n\nClears the Tier-0 correctness bugs from the nx-cloudflare modernization\nepic (#115). Each fix is its own commit and was developed test-first.\n\n## What's fixed\n\n**CLI / executors**\n- `createCliOptions` no longer drops `false`/`0`/`\"\"`, renders booleans\nas `--flag`/`--no-flag`, and\n[…]\n-options` (10), executor `schema-contract` (14),\n`project-paths` (4), public-API barrel (1), plus a\ncurrent-`compatibility_date` generator test. Package suite: **95\npassing**, lint clean, build green.",
          "is_bot": false,
          "headline": "fix(nx-cloudflare): correctness fixes for Wrangler v4, CLI args, and …",
          "author_name": "Nacho Vazquez",
          "author_login": "NachoVazquez",
          "committed_at": "2026-06-04T12:08:37Z",
          "body_truncated": true,
          "is_coding_agent": false
        },
        {
          "oid": "16864f968484190f3d66049089d807d054a4d660",
          "body": "## Summary\n\nBumps the Nx toolchain from **22.3.3 → 22.7.5** (all `@nx/*` packages\nand `nx`), along with related dev tooling, and applies the migrations\ngenerated by `nx migrate`.\n\n### Dependency bumps\n- `@nx/*` and `nx`: `22.3.3` → `22.7.5`\n- `nx-cloud`: `19.1.0` → `19.1.3`\n- `@swc-node/register`, `\n[…]\net default inputs\n- Disable Nx analytics in `nx.json`\n\n## Verification\n- `nx report` — loads cleanly at 22.7.5, all plugins register\n- `nx show projects` — project graph builds, all 8 projects resolve",
          "is_bot": false,
          "headline": "chore(core): migrate to nx 22.7.5 (#114)",
          "author_name": "Nacho Vazquez",
          "author_login": "NachoVazquez",
          "committed_at": "2026-06-03T01:33:37Z",
          "body_truncated": true,
          "is_coding_agent": false
        },
        {
          "oid": "5a507ee0184b5486a305c881ac8da116c2245a25",
          "body": "Closes #101, #107, #109, #110, #111, #112.\n\n## What\n\nAdds in-source Go build-constraint evaluation (`//go:build` and legacy\n`// +build`) to the gonx static-analysis pipeline. A file gated to a\ndifferent GOOS/GOARCH than the host no longer contributes edges to the\nproject graph.\n\nNow also includes th\n[…]\nass** (was 216 → 237 → 248 → 250 across\niterations)\n- `tsc --noEmit -p tsconfig.lib.json` → clean\n- `tsc --noEmit -p tsconfig.spec.json` → clean\n- `nx lint gonx` → 0 errors\n- `nx format:check` → clean",
          "is_bot": false,
          "headline": "feat(gonx): evaluate Go build tags during static analysis (#106)",
          "author_name": "Nacho Vazquez",
          "author_login": "NachoVazquez",
          "committed_at": "2026-06-01T12:47:43Z",
          "body_truncated": true,
          "is_coding_agent": false
        },
        {
          "oid": "c12c1d92e59f940ed2667864720d7b5fc954889d",
          "body": "Closes #103.\n\n## What\n\n- `packages/gonx/src/graph/static-analysis/index.ts` — replace `await\nimport('p-limit')` with a top-level static `import pLimit from\n'p-limit'`. Drop the workaround comment.\n- `packages/gonx/src/graph/create-dependencies.spec.ts` — replace the\nbare `jest.mock('./static-analysi\n[…]\ny\n\nNode 22.12+ supports `require()` of synchronous ESM modules, and the\nproject pins Node 22 (`.nvmrc`). Verified locally on Node 22.18 that\n`require('p-limit')` resolves the default export correctly.",
          "is_bot": false,
          "headline": "refactor(gonx): use static p-limit import (#105)",
          "author_name": "Nacho Vazquez",
          "author_login": "NachoVazquez",
          "committed_at": "2026-05-30T20:48:19Z",
          "body_truncated": true,
          "is_coding_agent": false
        },
        {
          "oid": "b9ba7679aefa406c38be12f1e9b77ec7e82d58c0",
          "body": "Continues and supersedes #99 by @chadxz, who authored the original\nimplementation. This branch carries his two commits unchanged and adds\none fix on top to get CI green so the work can land.\n\nAddresses #98.\n\n## What this does\n\nReplaces the Go-runtime dependency detection (`go list -m -json`) with a\n\n[…]\nng warnings only)\n- `nx build gonx` — pass\n- `nx test gonx` — 209/209 pass\n- `nx e2e gonx-e2e` (static-analysis) — 2/2 pass\n\n---------\n\nCo-authored-by: Chad McElligott <chad.mcelligott@convergint.com>",
          "is_bot": false,
          "headline": "feat(gonx): add static analysis dependency detection (#100)",
          "author_name": "Nacho Vazquez",
          "author_login": "NachoVazquez",
          "committed_at": "2026-05-30T12:53:07Z",
          "body_truncated": true,
          "is_coding_agent": false
        },
        {
          "oid": "3a4c42959367c5a15161e4f17e31e00f5af362c0",
          "body": "- project: nx-cloudflare 6.0.0",
          "is_bot": false,
          "headline": "chore(release): publish",
          "author_name": "Nacho Vazquez",
          "author_login": "NachoVazquez",
          "committed_at": "2026-01-15T16:23:29Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "6929e86fd3c003de55f9842cea4d619ef4280fbb",
          "body": "- project: gonx 3.0.0",
          "is_bot": false,
          "headline": "chore(release): publish",
          "author_name": "Nacho Vazquez",
          "author_login": "NachoVazquez",
          "committed_at": "2026-01-15T16:19:20Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "590a2fc92597e7554d66c819e747f4ac18c4b983",
          "body": "## PR Checklist\n\nPlease check if your PR fulfills the following requirements:\n\n- [x] The commit message follows our guidelines: CONTRIBUTING.md#commit\n- [x] Tests for the changes have been added (for bug fixes / features)\n- [x] Docs have been added / updated (for bug fixes / features)\n\n## PR Type\n\nW\n[…]\nhavior?\n\nWe are using Nx 21\n\n## What is the new behavior?\n\nWe are migrating to Nx 22\n\n## Does this PR introduce a breaking change?\n\n```\n[x] Yes\n[ ] No\n```\n\n\nThe minimum supported version will be Nx 22",
          "is_bot": false,
          "headline": "chore(core)!: update to nx 22 (#97)",
          "author_name": "Nacho Vazquez",
          "author_login": "NachoVazquez",
          "committed_at": "2026-01-15T16:09:09Z",
          "body_truncated": true,
          "is_coding_agent": false
        },
        {
          "oid": "9ee46a242d692ce1066919ec8706d9a55f4a8949",
          "body": "- project: gonx 2.1.0",
          "is_bot": false,
          "headline": "chore(release): publish",
          "author_name": "Nacho Vazquez",
          "author_login": "NachoVazquez",
          "committed_at": "2025-09-10T21:00:40Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "f28015b0c0dcd74e7a17cbab09d265ea74fe270c",
          "body": "## PR Checklist\n\nPlease check if your PR fulfills the following requirements:\n\n- [x] The commit message follows our guidelines: CONTRIBUTING.md#commit\n- [x] Tests for the changes have been added (for bug fixes / features)\n- [x] Docs have been added / updated (for bug fixes / features)\n\n## PR Type\n\nW\n[…]\n application generator meaning no restrictions or limitations for\nusers to keep using the generator without being aware of the changes, it\nwill keep using the standard templates.\n\n## Other information",
          "is_bot": false,
          "headline": "feat(gonx): CLI and TUI templates for Go applications (#92)",
          "author_name": "Abel Penton",
          "author_login": "abelpenton",
          "committed_at": "2025-09-09T21:23:28Z",
          "body_truncated": true,
          "is_coding_agent": false
        },
        {
          "oid": "aac8a55e6c61b03b54b6dcd2a005473647fa2975",
          "body": "- project: nx-cloudflare 5.0.2",
          "is_bot": false,
          "headline": "chore(release): publish",
          "author_name": "Nacho Vazquez",
          "author_login": "NachoVazquez",
          "committed_at": "2025-09-07T16:32:52Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "dd5aa7efafa925fc52ff4d78076adfeb387cf572",
          "body": "## PR Checklist\n\nPlease check if your PR fulfills the following requirements:\n\n- [x] The commit message follows our guidelines: CONTRIBUTING.md#commit\n- [ ] Tests for the changes have been added (for bug fixes / features)\n- [x] Docs have been added / updated (for bug fixes / features)\n\n## PR Type\n\nW\n[…]\nher... Please describe:\n```\n\n## What is the new behavior?\n\nWe have added @Destreyf  as a contributor in the all-contributor table.\n\n## Does this PR introduce a breaking change?\n\n```\n[ ] Yes\n[x] No\n```",
          "is_bot": false,
          "headline": "chore: add chris tunbridge as contributor (#96)",
          "author_name": "Nacho Vazquez",
          "author_login": "NachoVazquez",
          "committed_at": "2025-09-07T16:30:38Z",
          "body_truncated": true,
          "is_coding_agent": false
        },
        {
          "oid": "fc96bb6afb7855671588935c7f62cec9db69a313",
          "body": "…ng (#95)\n\nWrangler warns when PWD does not start with \"/\". In some shells/CI, PWD\nmay be unset or relative, triggering the warning.\n\nAlways provide an absolute PWD: prefer process.cwd(); if env.PWD is set\nbut not absolute, resolve it to an absolute path before passing to\nWrangler. This removes the \n[…]\ntroduce a breaking change?\n\n```\n[ ] Yes\n[X] No\n```\n\n<!-- If this PR contains a breaking change, please describe the impact\nand migration path for existing applications below. -->\n\n## Other information",
          "is_bot": false,
          "headline": "fix(nx-cloudflare/serve): make PWD absolute to silence Wrangler warni…",
          "author_name": "Chris Tunbridge",
          "author_login": "Destreyf",
          "committed_at": "2025-09-05T01:32:32Z",
          "body_truncated": true,
          "is_coding_agent": false
        },
        {
          "oid": "62084a6ccd6b22c39d06b9b1d538dd102e519be4",
          "body": "- project: nx-cloudflare 5.0.1",
          "is_bot": false,
          "headline": "chore(release): publish",
          "author_name": "Nacho Vazquez",
          "author_login": "nacho-vazquez",
          "committed_at": "2025-08-24T01:50:06Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "9c6ad793a77d399b9638d3508da8bfd8875f2a22",
          "body": "## PR Checklist\n\nPlease check if your PR fulfills the following requirements:\n\n- [x] The commit message follows our guidelines: CONTRIBUTING.md#commit\n- [ ] Tests for the changes have been added (for bug fixes / features)\n- [ ] Docs have been added / updated (for bug fixes / features)\n\n## PR Type\n\nW\n[…]\n execution\n- Removed an extra comma in the package.json file\n- Simplified the normalized options\n- Update Nx to the latest version\n\n## Does this PR introduce a breaking change?\n\n```\n[ ] Yes\n[x] No\n```",
          "is_bot": false,
          "headline": "fix(nx-cloudflare): nx cloudflare project generation (#94)",
          "author_name": "Nacho Vazquez",
          "author_login": "NachoVazquez",
          "committed_at": "2025-08-24T01:43:41Z",
          "body_truncated": true,
          "is_coding_agent": false
        },
        {
          "oid": "e5680b5b3f203f08fbe3945efec75e3aafda5f68",
          "body": "## PR Checklist\n\nPlease check if your PR fulfills the following requirements:\n\n- [x] The commit message follows our guidelines: CONTRIBUTING.md#commit\n- [x] Tests for the changes have been added (for bug fixes / features)\n- [ ] Docs have been added / updated (for bug fixes / features)\n\n## PR Type\n\nC\n[…]\ntroduce a breaking change?\n\n```\n[ ] Yes\n[x] No\n```\n\n<!-- If this PR contains a breaking change, please describe the impact\nand migration path for existing applications below. -->\n\n## Other information",
          "is_bot": false,
          "headline": "feat(gonx): cleanup go blueprint unnecessary files (#90)",
          "author_name": "Abel Penton",
          "author_login": "abelpenton",
          "committed_at": "2025-08-23T20:32:38Z",
          "body_truncated": true,
          "is_coding_agent": false
        },
        {
          "oid": "e52aa981084d9c43f3d050863db05a005c5b6459",
          "body": "- project: gonx 2.0.2",
          "is_bot": false,
          "headline": "chore(release): publish",
          "author_name": "Nacho Vazquez",
          "author_login": "NachoVazquez",
          "committed_at": "2025-07-28T03:07:16Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "d1c9471060a48c2c5a7c1fe618813b9d8febb548",
          "body": null,
          "is_bot": false,
          "headline": "fix: make gonx-docs an implicit dependency of gonx",
          "author_name": "Nacho Vazquez",
          "author_login": "NachoVazquez",
          "committed_at": "2025-07-28T03:03:43Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "89a1f73e8bfe64b764ad7e5f013091f2214f6b06",
          "body": null,
          "is_bot": false,
          "headline": "chore: make docs bump the version",
          "author_name": "Nacho Vazquez",
          "author_login": "NachoVazquez",
          "committed_at": "2025-07-28T02:57:15Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "defa90d427fbfdf75a438cd8136387a25090d5a1",
          "body": null,
          "is_bot": false,
          "headline": "docs(gonx): use the docs as the project page",
          "author_name": "Nacho Vazquez",
          "author_login": "NachoVazquez",
          "committed_at": "2025-07-28T02:52:34Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "2dc00e395365539688f568d2c2d1d7ad9b4fdff2",
          "body": "## PR Checklist\n\nPlease check if your PR fulfills the following requirements:\n\n- [x] The commit message follows our guidelines: CONTRIBUTING.md#commit\n- [ ] Tests for the changes have been added (for bug fixes / features)\n- [x] Docs have been added / updated (for bug fixes / features)\n\n## PR Type\n\nW\n[…]\n Other... Please describe:\n```\n\n## What is the new behavior?\n\nWe have added the cloudflare workers configuration for the gonx docs\n\n## Does this PR introduce a breaking change?\n\n```\n[ ] Yes\n[x] No\n```",
          "is_bot": false,
          "headline": "docs: create docs cloudflare workers configuration (#89)",
          "author_name": "Nacho Vazquez",
          "author_login": "NachoVazquez",
          "committed_at": "2025-07-28T02:05:15Z",
          "body_truncated": true,
          "is_coding_agent": false
        },
        {
          "oid": "5bb7d63676ac1c7006c43d0c3158e1176eedd0f9",
          "body": "## PR Checklist\n\nPlease check if your PR fulfills the following requirements:\n\n- [x] The commit message follows our guidelines: CONTRIBUTING.md#commit\n- [x] Tests for the changes have been added (for bug fixes / features)\n- [x] Docs have been added / updated (for bug fixes / features)\n\n## PR Type\n\nW\n[…]\ne.json` with a `project.json` and now nx is\nproperly detecting the project.\n\nWe have also update to the latest minor version of Nx\n\n## Does this PR introduce a breaking change?\n\n```\n[ ] Yes\n[x] No\n```",
          "is_bot": false,
          "headline": "docs: fix gonx-docs nx configuration (#88)",
          "author_name": "Nacho Vazquez",
          "author_login": "NachoVazquez",
          "committed_at": "2025-07-28T00:08:30Z",
          "body_truncated": true,
          "is_coding_agent": false
        },
        {
          "oid": "7cc2391360efb47d55d7dfeefe73fbe7b262d20a",
          "body": "## PR Checklist\n\nPlease check if your PR fulfills the following requirements:\n\n- [x] The commit message follows our guidelines: CONTRIBUTING.md#commit\n- [ ] Tests for the changes have been added (for bug fixes / features)\n- [x] Docs have been added / updated (for bug fixes / features)\n\n## PR Type\n\n<\n[…]\ntroduce a breaking change?\n\n```\n[ ] Yes\n[x] No\n```\n\n<!-- If this PR contains a breaking change, please describe the impact\nand migration path for existing applications below. -->\n\n## Other information",
          "is_bot": false,
          "headline": "docs: Oficial documentation for OSS (#87)",
          "author_name": "Abel Penton",
          "author_login": "abelpenton",
          "committed_at": "2025-07-27T21:04:59Z",
          "body_truncated": true,
          "is_coding_agent": false
        },
        {
          "oid": "f6b0e22f6e1bbe16cd7b8ff612eb86b7605dbc8a",
          "body": "## PR Checklist\n\nPlease check if your PR fulfills the following requirements:\n\n- [x] The commit message follows our guidelines: CONTRIBUTING.md#commit\n- [ ] Tests for the changes have been added (for bug fixes / features)\n- [ ] Docs have been added / updated (for bug fixes / features)\n\n## PR Type\n\nW\n[…]\non content changes\n[ ] Other... Please describe:\n```\n\n## What is the new behavior?\n\nAdd Abel Penton to the all contributors table.\n\n## Does this PR introduce a breaking change?\n\n```\n[ ] Yes\n[x] No\n```",
          "is_bot": false,
          "headline": "docs: add abel to all-contributors (#86)",
          "author_name": "Nacho Vazquez",
          "author_login": "NachoVazquez",
          "committed_at": "2025-07-24T13:13:48Z",
          "body_truncated": true,
          "is_coding_agent": false
        },
        {
          "oid": "8c87ad1c5b49d2a6fa3231298bf6df0c77335685",
          "body": "- project: gonx 2.0.1",
          "is_bot": false,
          "headline": "chore(release): publish",
          "author_name": "Nacho Vazquez",
          "author_login": "NachoVazquez",
          "committed_at": "2025-07-23T15:46:01Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "961e17a1d4db788ad3e34ac65921e7bb84d2f8d0",
          "body": "## PR Checklist\n\nPlease check if your PR fulfills the following requirements:\n\n- [x] The commit message follows our guidelines: CONTRIBUTING.md#commit\n- [x] Tests for the changes have been added (for bug fixes / features)\n- [ ] Docs have been added / updated (for bug fixes / features)\n\n## PR Type\n\nW\n[…]\n describe the impact\nand migration path for existing applications below. -->\n\n## Other information\n\nWill be good to run the unit test in other platforms to double checks no\nbreaking changes were added",
          "is_bot": false,
          "headline": "fix: improve windows support (#85)",
          "author_name": "Abel Penton",
          "author_login": "abelpenton",
          "committed_at": "2025-07-23T15:33:49Z",
          "body_truncated": true,
          "is_coding_agent": false
        },
        {
          "oid": "8f68a8794d518e5d2889797deb87e8eadc2ca8e5",
          "body": "- project: gonx 2.0.0",
          "is_bot": false,
          "headline": "chore(release): publish",
          "author_name": "Nacho Vazquez",
          "author_login": "NachoVazquez",
          "committed_at": "2025-07-20T13:29:23Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "540e90083ebd0f7268d71c282cbe487d386a260f",
          "body": "## PR Checklist\n\nPlease check if your PR fulfills the following requirements:\n\n- [x] The commit message follows our guidelines: CONTRIBUTING.md#commit\n- [x] Tests for the changes have been added (for bug fixes / features)\n- [ ] Docs have been added / updated (for bug fixes / features)\n\n## PR Type\n\nW\n[…]\ngo-blueprint.\n\nThis combines the best of both worlds, giving GoNx all the excellent\nblueprints developed by @Melkeydev and @ujstor\n\n## Does this PR introduce a breaking change?\n\n```\n[ ] Yes\n[x] No\n```",
          "is_bot": false,
          "headline": "feat: add go-blueprint generator (#84)",
          "author_name": "Nacho Vazquez",
          "author_login": "NachoVazquez",
          "committed_at": "2025-07-20T02:53:47Z",
          "body_truncated": true,
          "is_coding_agent": false
        },
        {
          "oid": "c821a554d586a219ed7af12ab9792d4f8a4648bd",
          "body": "- project: gonx 2.0.0-beta.5",
          "is_bot": false,
          "headline": "chore(release): publish",
          "author_name": "Nacho Vazquez",
          "author_login": "NachoVazquez",
          "committed_at": "2025-07-15T13:57:26Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "26f8cd5b69b85d9ca86f68b3c2286a6f83261531",
          "body": "## PR Checklist\n\nPlease check if your PR fulfills the following requirements:\n\n- [x] The commit message follows our guidelines: CONTRIBUTING.md#commit\n- [x] Tests for the changes have been added (for bug fixes / features)\n- [x] Docs have been added / updated (for bug fixes / features)\n\n## PR Type\n\nW\n[…]\nit a dependency for\nboth he test and build executors.\n\n## Does this PR introduce a breaking change?\n\n```\n[x] Yes\n[ ] No\n```\n\nNow the build and test executors could fail if the generate executor\nfails.",
          "is_bot": false,
          "headline": "feat: add generate executor (#83)",
          "author_name": "Nacho Vazquez",
          "author_login": "NachoVazquez",
          "committed_at": "2025-07-15T13:52:13Z",
          "body_truncated": true,
          "is_coding_agent": false
        },
        {
          "oid": "7a2b462b581a5e49a39622329c21286c9b63066a",
          "body": "- project: gonx 2.0.0-beta.4",
          "is_bot": false,
          "headline": "chore(release): publish",
          "author_name": "Nacho Vazquez",
          "author_login": "NachoVazquez",
          "committed_at": "2025-06-19T20:37:01Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "20813aaa19e6344d2c13ae46dafd2e9bbec47869",
          "body": "## PR Checklist\n\nPlease check if your PR fulfills the following requirements:\n\n- [x] The commit message follows our guidelines: CONTRIBUTING.md#commit\n- [x] Tests for the changes have been added (for bug fixes / features)\n- [x] Docs have been added / updated (for bug fixes / features)\n\n## PR Type\n\nW\n[…]\ne main option back for serve and build, but instead of\nrunning the executors on the file itself, we now run them over its\nfolder.\n\n## Does this PR introduce a breaking change?\n\n```\t\n[ ] Yes\n[x] No\n```",
          "is_bot": false,
          "headline": "feat(gonx): add the main option back (#81)",
          "author_name": "Nacho Vazquez",
          "author_login": "NachoVazquez",
          "committed_at": "2025-06-19T20:35:08Z",
          "body_truncated": true,
          "is_coding_agent": false
        },
        {
          "oid": "6d3fd5d3793c1270e976de55f461a0982132da36",
          "body": "- project: gonx 2.0.0-beta.3",
          "is_bot": false,
          "headline": "chore(release): publish",
          "author_name": "Nacho Vazquez",
          "author_login": "NachoVazquez",
          "committed_at": "2025-06-19T03:11:23Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "124d9f5e65de24f4fc1813d9c0009ff4eb47f89b",
          "body": "## PR Checklist\n\nPlease check if your PR fulfills the following requirements:\n\n- [x] The commit message follows our guidelines: CONTRIBUTING.md#commit\n- [x] Tests for the changes have been added (for bug fixes / features)\n- [x] Docs have been added / updated (for bug fixes / features)\n\n## PR Type\n\nW\n[…]\nes\n[ ] Other... Please describe:\n```\n\n## What is the new behavior?\n\nUse `./...` instead of `.` for running build and run commands.\n\n## Does this PR introduce a breaking change?\n\n```\n[ ] Yes\n[x] No\n```",
          "is_bot": false,
          "headline": "fix: use './...' for build and run (#80)",
          "author_name": "Nacho Vazquez",
          "author_login": "NachoVazquez",
          "committed_at": "2025-06-19T03:06:41Z",
          "body_truncated": true,
          "is_coding_agent": false
        },
        {
          "oid": "577da79d6ce460bb3eb257abee70d86d10870c13",
          "body": "- project: gonx 2.0.0-beta.2",
          "is_bot": false,
          "headline": "chore(release): publish",
          "author_name": "Nacho Vazquez",
          "author_login": "NachoVazquez",
          "committed_at": "2025-06-19T02:37:56Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "7165f4409288206f893d0e83c09f2eb2fb152054",
          "body": "…ds (#79)\n\n## PR Checklist\n\nPlease check if your PR fulfills the following requirements:\n\n- [x] The commit message follows our guidelines: CONTRIBUTING.md#commit\n- [x] Tests for the changes have been added (for bug fixes / features)\n- [x] Docs have been added / updated (for bug fixes / features)\n\n##\n[…]\nmands over the directory itself\nusing '.' relative path. This is the go way.\n\n## Does this PR introduce a breaking change?\n\n```\n[x] Yes\n[ ] No\n```\n\nThe `main` file configuration is no longer accepted.",
          "is_bot": false,
          "headline": "feat(gonx)!: remove main.go as the target of the build and run comman…",
          "author_name": "Nacho Vazquez",
          "author_login": "NachoVazquez",
          "committed_at": "2025-06-19T02:33:19Z",
          "body_truncated": true,
          "is_coding_agent": false
        },
        {
          "oid": "08bc3edd534fe5e96212a14b89cdd62233d5f4bd",
          "body": "- project: gonx 2.0.0-beta.1",
          "is_bot": false,
          "headline": "chore(release): publish",
          "author_name": "Nacho Vazquez",
          "author_login": "NachoVazquez",
          "committed_at": "2025-06-18T21:01:22Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "aa14607500f24dfdeb138df7b5ff34344587745c",
          "body": "… (#78)\n\n## PR Checklist\n\nPlease check if your PR fulfills the following requirements:\n\n- [x] The commit message follows our guidelines: CONTRIBUTING.md#commit\n- [x] Tests for the changes have been added (for bug fixes / features)\n- [ ] Docs have been added / updated (for bug fixes / features)\n\n## P\n[…]\n.\n- Remove the default `main` file from the server, and by default, it\nwill try to find the main file inside the project root.\n- Remove the `cwd` from the serve command to always use the project\nroot.",
          "is_bot": false,
          "headline": "fix(gonx)!: fix build and serve executors to work without the go.work…",
          "author_name": "Nacho Vazquez",
          "author_login": "NachoVazquez",
          "committed_at": "2025-06-18T15:18:22Z",
          "body_truncated": true,
          "is_coding_agent": false
        }
      ],
      "releases_count": 67,
      "commits_last_year": 78,
      "latest_release_at": "2026-07-24T13:49:52Z",
      "latest_release_tag": "gonx@v4.1.1",
      "releases_from_tags": false,
      "days_since_last_push": 5,
      "active_weeks_last_year": 12,
      "days_since_latest_release": 5,
      "mean_days_between_releases": 35.2
    },
    "community": {
      "has_readme": true,
      "has_license": true,
      "has_description": true,
      "has_contributing": true,
      "health_percentage": 87,
      "has_issue_template": false,
      "has_code_of_conduct": true,
      "has_pull_request_template": true
    },
    "ecosystem": {
      "packages": [
        {
          "name": "@naxodev/gonx",
          "exists": true,
          "license": "MIT",
          "keywords": [
            "nx",
            "golang",
            "go",
            "plugin"
          ],
          "ecosystem": "npm",
          "matches_repo": true,
          "registry_url": "https://www.npmjs.com/package/@naxodev/gonx",
          "is_deprecated": false,
          "latest_version": "4.1.1",
          "repository_url": "https://github.com/naxodev/oss",
          "versions_count": 54,
          "total_downloads": null,
          "dependents_count": null,
          "deprecation_note": null,
          "maintainers_count": 1,
          "monthly_downloads": 116607,
          "first_published_at": "2025-04-14T14:30:10.551000Z",
          "latest_published_at": "2026-07-24T13:50:37.729000Z",
          "latest_version_yanked": null,
          "days_since_latest_publish": 5
        },
        {
          "name": "@naxodev/nx-cloudflare",
          "exists": true,
          "license": "MIT",
          "keywords": [
            "nx",
            "cloudflare",
            "workers",
            "plugin"
          ],
          "ecosystem": "npm",
          "matches_repo": true,
          "registry_url": "https://www.npmjs.com/package/@naxodev/nx-cloudflare",
          "is_deprecated": false,
          "latest_version": "7.1.0",
          "repository_url": "https://github.com/naxodev/oss",
          "versions_count": 45,
          "total_downloads": null,
          "dependents_count": null,
          "deprecation_note": null,
          "maintainers_count": 1,
          "monthly_downloads": 7299,
          "first_published_at": "2023-08-06T12:38:23.857000Z",
          "latest_published_at": "2026-07-21T14:41:38.010000Z",
          "latest_version_yanked": null,
          "days_since_latest_publish": 8
        }
      ]
    },
    "popularity": {
      "forks": 10,
      "stars": 48,
      "watchers": 1,
      "fork_history": {
        "days": [
          {
            "date": "2024-05-08",
            "count": 1
          },
          {
            "date": "2025-01-20",
            "count": 1
          },
          {
            "date": "2025-02-04",
            "count": 1
          },
          {
            "date": "2025-04-04",
            "count": 1
          },
          {
            "date": "2025-05-19",
            "count": 2
          },
          {
            "date": "2025-05-22",
            "count": 1
          },
          {
            "date": "2025-07-21",
            "count": 1
          },
          {
            "date": "2025-09-03",
            "count": 1
          },
          {
            "date": "2026-01-26",
            "count": 1
          }
        ],
        "complete": true,
        "collected": 10,
        "total_forks": 10
      },
      "star_history": null,
      "open_issues_and_prs": 4
    },
    "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": [
        "docs/gonx-docs/tsconfig.json",
        "docs/nx-cloudflare-docs/tsconfig.json",
        "packages/bun-test-plugin/tsconfig.json",
        "packages/e2e-utils/tsconfig.json",
        "packages/gonx-e2e/tsconfig.json",
        "packages/gonx/tsconfig.json",
        "packages/nx-cloudflare-e2e/tsconfig.json",
        "packages/nx-cloudflare/tsconfig.json",
        "tsconfig.json"
      ],
      "toolchain_manifests": [],
      "largest_source_bytes": 30882,
      "source_files_sampled": 167,
      "oversized_source_files": 0,
      "agent_instruction_files": [
        "CLAUDE.md"
      ],
      "agent_instruction_max_bytes": 8809
    },
    "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": 22,
        "malicious_count": 0,
        "assessed_package": "npm:@naxodev/gonx@4.1.1",
        "unassessed_count": 0,
        "direct_affected_count": 0
      },
      "ecosystems": [
        "npm"
      ],
      "dependencies": [
        {
          "name": "@astrojs/react",
          "manifest": "package.json",
          "ecosystem": "npm",
          "version_constraint": "catalog:"
        },
        {
          "name": "@astrojs/sitemap",
          "manifest": "package.json",
          "ecosystem": "npm",
          "version_constraint": "catalog:"
        },
        {
          "name": "@astrojs/starlight",
          "manifest": "package.json",
          "ecosystem": "npm",
          "version_constraint": "catalog:"
        },
        {
          "name": "@astrojs/starlight-tailwind",
          "manifest": "package.json",
          "ecosystem": "npm",
          "version_constraint": "catalog:"
        },
        {
          "name": "@naxodev/docs-theme",
          "manifest": "package.json",
          "ecosystem": "npm",
          "version_constraint": "workspace:*"
        },
        {
          "name": "@naxodev/gonx",
          "manifest": "package.json",
          "ecosystem": "npm",
          "version_constraint": "workspace:*"
        },
        {
          "name": "@naxodev/nx-cloudflare",
          "manifest": "package.json",
          "ecosystem": "npm",
          "version_constraint": "workspace:*"
        },
        {
          "name": "@tailwindcss/vite",
          "manifest": "package.json",
          "ecosystem": "npm",
          "version_constraint": "catalog:"
        },
        {
          "name": "astro",
          "manifest": "package.json",
          "ecosystem": "npm",
          "version_constraint": "catalog:"
        },
        {
          "name": "hono",
          "manifest": "package.json",
          "ecosystem": "npm",
          "version_constraint": "catalog:"
        },
        {
          "name": "react",
          "manifest": "package.json",
          "ecosystem": "npm",
          "version_constraint": "catalog:"
        },
        {
          "name": "react-dom",
          "manifest": "package.json",
          "ecosystem": "npm",
          "version_constraint": "catalog:"
        },
        {
          "name": "sharp",
          "manifest": "package.json",
          "ecosystem": "npm",
          "version_constraint": "catalog:"
        },
        {
          "name": "starlight-llms-txt",
          "manifest": "package.json",
          "ecosystem": "npm",
          "version_constraint": "catalog:"
        },
        {
          "name": "starlight-typedoc",
          "manifest": "package.json",
          "ecosystem": "npm",
          "version_constraint": "catalog:"
        },
        {
          "name": "tailwindcss",
          "manifest": "package.json",
          "ecosystem": "npm",
          "version_constraint": "catalog:"
        },
        {
          "name": "tslib",
          "manifest": "package.json",
          "ecosystem": "npm",
          "version_constraint": "catalog:"
        },
        {
          "name": "typedoc",
          "manifest": "package.json",
          "ecosystem": "npm",
          "version_constraint": "catalog:"
        },
        {
          "name": "typedoc-plugin-markdown",
          "manifest": "package.json",
          "ecosystem": "npm",
          "version_constraint": "catalog:"
        },
        {
          "name": "@nx/devkit",
          "manifest": "packages/bun-test-plugin/package.json",
          "ecosystem": "npm",
          "version_constraint": "^23.0.0"
        },
        {
          "name": "tslib",
          "manifest": "packages/gonx/package.json",
          "ecosystem": "npm",
          "version_constraint": "^2.3.0"
        },
        {
          "name": "npm-run-path",
          "manifest": "packages/gonx/package.json",
          "ecosystem": "npm",
          "version_constraint": "4.0.1"
        },
        {
          "name": "chalk",
          "manifest": "packages/gonx/package.json",
          "ecosystem": "npm",
          "version_constraint": "^4.1.2"
        },
        {
          "name": "@melkeydev/go-blueprint",
          "manifest": "packages/gonx/package.json",
          "ecosystem": "npm",
          "version_constraint": "0.10.11"
        },
        {
          "name": "p-limit",
          "manifest": "packages/gonx/package.json",
          "ecosystem": "npm",
          "version_constraint": "^6.2.0"
        },
        {
          "name": "web-tree-sitter",
          "manifest": "packages/gonx/package.json",
          "ecosystem": "npm",
          "version_constraint": "0.26.3"
        },
        {
          "name": "tree-sitter-go",
          "manifest": "packages/gonx/package.json",
          "ecosystem": "npm",
          "version_constraint": "^0.25.0"
        },
        {
          "name": "tslib",
          "manifest": "packages/nx-cloudflare/package.json",
          "ecosystem": "npm",
          "version_constraint": "^2.3.0"
        },
        {
          "name": "jsonc-parser",
          "manifest": "packages/nx-cloudflare/package.json",
          "ecosystem": "npm",
          "version_constraint": "^3.3.0"
        }
      ],
      "all_dependencies": {
        "error": null,
        "source": "github-sbom",
        "packages": [
          {
            "name": "@astrojs/react",
            "direct": true,
            "version": "catalog:",
            "ecosystem": "npm"
          },
          {
            "name": "@astrojs/sitemap",
            "direct": true,
            "version": "catalog:",
            "ecosystem": "npm"
          },
          {
            "name": "@astrojs/starlight",
            "direct": true,
            "version": "catalog:",
            "ecosystem": "npm"
          },
          {
            "name": "@astrojs/starlight-tailwind",
            "direct": true,
            "version": "catalog:",
            "ecosystem": "npm"
          },
          {
            "name": "@melkeydev/go-blueprint",
            "direct": true,
            "version": "0.10.11",
            "ecosystem": "npm"
          },
          {
            "name": "@melkeydev/go-blueprint",
            "direct": true,
            "version": "catalog:",
            "ecosystem": "npm"
          },
          {
            "name": "@nx/devkit",
            "direct": true,
            "version": "^23.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "@nx/devkit",
            "direct": true,
            "version": "catalog:",
            "ecosystem": "npm"
          },
          {
            "name": "@tailwindcss/vite",
            "direct": true,
            "version": "catalog:",
            "ecosystem": "npm"
          },
          {
            "name": "astro",
            "direct": true,
            "version": "catalog:",
            "ecosystem": "npm"
          },
          {
            "name": "chalk",
            "direct": true,
            "version": "^4.1.2",
            "ecosystem": "npm"
          },
          {
            "name": "chalk",
            "direct": true,
            "version": "catalog:",
            "ecosystem": "npm"
          },
          {
            "name": "hono",
            "direct": true,
            "version": "catalog:",
            "ecosystem": "npm"
          },
          {
            "name": "jsonc-parser",
            "direct": true,
            "version": "^3.3.0",
            "ecosystem": "npm"
          },
          {
            "name": "npm-run-path",
            "direct": true,
            "version": "4.0.1",
            "ecosystem": "npm"
          },
          {
            "name": "npm-run-path",
            "direct": true,
            "version": "catalog:",
            "ecosystem": "npm"
          },
          {
            "name": "p-limit",
            "direct": true,
            "version": "^6.2.0",
            "ecosystem": "npm"
          },
          {
            "name": "p-limit",
            "direct": true,
            "version": "catalog:",
            "ecosystem": "npm"
          },
          {
            "name": "react",
            "direct": true,
            "version": "catalog:",
            "ecosystem": "npm"
          },
          {
            "name": "react-dom",
            "direct": true,
            "version": "catalog:",
            "ecosystem": "npm"
          },
          {
            "name": "sharp",
            "direct": true,
            "version": "catalog:",
            "ecosystem": "npm"
          },
          {
            "name": "starlight-llms-txt",
            "direct": true,
            "version": "catalog:",
            "ecosystem": "npm"
          },
          {
            "name": "starlight-typedoc",
            "direct": true,
            "version": "catalog:",
            "ecosystem": "npm"
          },
          {
            "name": "tailwindcss",
            "direct": true,
            "version": "catalog:",
            "ecosystem": "npm"
          },
          {
            "name": "tree-sitter-go",
            "direct": true,
            "version": "^0.25.0",
            "ecosystem": "npm"
          },
          {
            "name": "tree-sitter-go",
            "direct": true,
            "version": "catalog:",
            "ecosystem": "npm"
          },
          {
            "name": "tslib",
            "direct": true,
            "version": "^2.3.0",
            "ecosystem": "npm"
          },
          {
            "name": "tslib",
            "direct": true,
            "version": "catalog:",
            "ecosystem": "npm"
          },
          {
            "name": "typedoc",
            "direct": true,
            "version": "catalog:",
            "ecosystem": "npm"
          },
          {
            "name": "typedoc-plugin-markdown",
            "direct": true,
            "version": "catalog:",
            "ecosystem": "npm"
          },
          {
            "name": "web-tree-sitter",
            "direct": true,
            "version": "0.26.3",
            "ecosystem": "npm"
          },
          {
            "name": "web-tree-sitter",
            "direct": true,
            "version": "catalog:",
            "ecosystem": "npm"
          },
          {
            "name": "@angular-devkit/core",
            "direct": false,
            "version": "catalog:",
            "ecosystem": "npm"
          },
          {
            "name": "@astrojs/check",
            "direct": false,
            "version": "catalog:",
            "ecosystem": "npm"
          },
          {
            "name": "@cloudflare/vitest-pool-workers",
            "direct": false,
            "version": "catalog:",
            "ecosystem": "npm"
          },
          {
            "name": "@cloudflare/workers-types",
            "direct": false,
            "version": "catalog:",
            "ecosystem": "npm"
          },
          {
            "name": "@commitlint/cli",
            "direct": false,
            "version": "catalog:",
            "ecosystem": "npm"
          },
          {
            "name": "@commitlint/config-conventional",
            "direct": false,
            "version": "catalog:",
            "ecosystem": "npm"
          },
          {
            "name": "@eslint/eslintrc",
            "direct": false,
            "version": "catalog:",
            "ecosystem": "npm"
          },
          {
            "name": "@eslint/js",
            "direct": false,
            "version": "catalog:",
            "ecosystem": "npm"
          },
          {
            "name": "@nx/angular",
            "direct": false,
            "version": "catalog:",
            "ecosystem": "npm"
          },
          {
            "name": "@nx/esbuild",
            "direct": false,
            "version": "catalog:",
            "ecosystem": "npm"
          },
          {
            "name": "@nx/eslint",
            "direct": false,
            "version": "catalog:",
            "ecosystem": "npm"
          },
          {
            "name": "@nx/eslint-plugin",
            "direct": false,
            "version": "catalog:",
            "ecosystem": "npm"
          },
          {
            "name": "@nx/js",
            "direct": false,
            "version": "catalog:",
            "ecosystem": "npm"
          },
          {
            "name": "@nx/node",
            "direct": false,
            "version": "catalog:",
            "ecosystem": "npm"
          },
          {
            "name": "@nx/plugin",
            "direct": false,
            "version": "catalog:",
            "ecosystem": "npm"
          },
          {
            "name": "@nx/react",
            "direct": false,
            "version": "catalog:",
            "ecosystem": "npm"
          },
          {
            "name": "@nx/vite",
            "direct": false,
            "version": "catalog:",
            "ecosystem": "npm"
          },
          {
            "name": "@nx/vitest",
            "direct": false,
            "version": "catalog:",
            "ecosystem": "npm"
          },
          {
            "name": "@nx/web",
            "direct": false,
            "version": "catalog:",
            "ecosystem": "npm"
          },
          {
            "name": "@nx/workspace",
            "direct": false,
            "version": "catalog:",
            "ecosystem": "npm"
          },
          {
            "name": "@swc-node/register",
            "direct": false,
            "version": "catalog:",
            "ecosystem": "npm"
          },
          {
            "name": "@swc/cli",
            "direct": false,
            "version": "catalog:",
            "ecosystem": "npm"
          },
          {
            "name": "@swc/core",
            "direct": false,
            "version": "catalog:",
            "ecosystem": "npm"
          },
          {
            "name": "@swc/helpers",
            "direct": false,
            "version": "catalog:",
            "ecosystem": "npm"
          },
          {
            "name": "@testing-library/react",
            "direct": false,
            "version": "catalog:",
            "ecosystem": "npm"
          },
          {
            "name": "@types/bun",
            "direct": false,
            "version": "catalog:",
            "ecosystem": "npm"
          },
          {
            "name": "@types/fs-extra",
            "direct": false,
            "version": "catalog:",
            "ecosystem": "npm"
          },
          {
            "name": "@types/kill-port",
            "direct": false,
            "version": "catalog:",
            "ecosystem": "npm"
          },
          {
            "name": "@types/node",
            "direct": false,
            "version": "catalog:",
            "ecosystem": "npm"
          },
          {
            "name": "@types/react",
            "direct": false,
            "version": "catalog:",
            "ecosystem": "npm"
          },
          {
            "name": "@types/react-dom",
            "direct": false,
            "version": "catalog:",
            "ecosystem": "npm"
          },
          {
            "name": "@types/semver",
            "direct": false,
            "version": "catalog:",
            "ecosystem": "npm"
          },
          {
            "name": "@types/tcp-port-used",
            "direct": false,
            "version": "catalog:",
            "ecosystem": "npm"
          },
          {
            "name": "@typescript-eslint/eslint-plugin",
            "direct": false,
            "version": "catalog:",
            "ecosystem": "npm"
          },
          {
            "name": "@typescript-eslint/parser",
            "direct": false,
            "version": "catalog:",
            "ecosystem": "npm"
          },
          {
            "name": "@vitest/coverage-v8",
            "direct": false,
            "version": "catalog:",
            "ecosystem": "npm"
          },
          {
            "name": "@vitest/ui",
            "direct": false,
            "version": "catalog:",
            "ecosystem": "npm"
          },
          {
            "name": "cli-spinners",
            "direct": false,
            "version": "catalog:",
            "ecosystem": "npm"
          },
          {
            "name": "dotenv",
            "direct": false,
            "version": "catalog:",
            "ecosystem": "npm"
          },
          {
            "name": "esbuild",
            "direct": false,
            "version": "catalog:",
            "ecosystem": "npm"
          },
          {
            "name": "eslint",
            "direct": false,
            "version": "catalog:",
            "ecosystem": "npm"
          },
          {
            "name": "eslint-config-prettier",
            "direct": false,
            "version": "catalog:",
            "ecosystem": "npm"
          },
          {
            "name": "eslint-plugin-import",
            "direct": false,
            "version": "catalog:",
            "ecosystem": "npm"
          },
          {
            "name": "eslint-plugin-jsx-a11y",
            "direct": false,
            "version": "catalog:",
            "ecosystem": "npm"
          },
          {
            "name": "eslint-plugin-react",
            "direct": false,
            "version": "catalog:",
            "ecosystem": "npm"
          },
          {
            "name": "eslint-plugin-react-hooks",
            "direct": false,
            "version": "catalog:",
            "ecosystem": "npm"
          },
          {
            "name": "fs-extra",
            "direct": false,
            "version": "catalog:",
            "ecosystem": "npm"
          },
          {
            "name": "jiti",
            "direct": false,
            "version": "catalog:",
            "ecosystem": "npm"
          },
          {
            "name": "jsdom",
            "direct": false,
            "version": "catalog:",
            "ecosystem": "npm"
          },
          {
            "name": "jsonc-eslint-parser",
            "direct": false,
            "version": "catalog:",
            "ecosystem": "npm"
          },
          {
            "name": "kill-port",
            "direct": false,
            "version": "catalog:",
            "ecosystem": "npm"
          },
          {
            "name": "nx",
            "direct": false,
            "version": "catalog:",
            "ecosystem": "npm"
          },
          {
            "name": "nx-cloud",
            "direct": false,
            "version": "catalog:",
            "ecosystem": "npm"
          },
          {
            "name": "prettier",
            "direct": false,
            "version": "catalog:",
            "ecosystem": "npm"
          },
          {
            "name": "semver",
            "direct": false,
            "version": "catalog:",
            "ecosystem": "npm"
          },
          {
            "name": "strip-indent",
            "direct": false,
            "version": "catalog:",
            "ecosystem": "npm"
          },
          {
            "name": "tcp-port-used",
            "direct": false,
            "version": "catalog:",
            "ecosystem": "npm"
          },
          {
            "name": "tree-kill",
            "direct": false,
            "version": "catalog:",
            "ecosystem": "npm"
          },
          {
            "name": "ts-node",
            "direct": false,
            "version": "catalog:",
            "ecosystem": "npm"
          },
          {
            "name": "tsx",
            "direct": false,
            "version": "catalog:",
            "ecosystem": "npm"
          },
          {
            "name": "typescript",
            "direct": false,
            "version": "catalog:",
            "ecosystem": "npm"
          },
          {
            "name": "verdaccio",
            "direct": false,
            "version": "catalog:",
            "ecosystem": "npm"
          },
          {
            "name": "vite",
            "direct": false,
            "version": "catalog:",
            "ecosystem": "npm"
          },
          {
            "name": "vitest",
            "direct": false,
            "version": "catalog:",
            "ecosystem": "npm"
          },
          {
            "name": "wrangler",
            "direct": false,
            "version": "catalog:",
            "ecosystem": "npm"
          }
        ],
        "collected": true,
        "truncated": false,
        "total_count": 97,
        "direct_count": 32,
        "indirect_count": 65
      }
    },
    "maintainership": {
      "issues": {
        "open_prs": 0,
        "merged_prs": 135,
        "open_issues": 4,
        "closed_ratio": 0.949,
        "closed_issues": 75,
        "closed_unmerged_prs": 4
      },
      "bus_factor": 1,
      "bot_contributors": 1,
      "top_contributors": [
        {
          "type": "User",
          "login": "NachoVazquez",
          "commits": 175,
          "avatar_url": "https://avatars.githubusercontent.com/u/9338604?v=4"
        },
        {
          "type": "User",
          "login": "nacho-vazquez",
          "commits": 46,
          "avatar_url": "https://avatars.githubusercontent.com/u/149403662?v=4"
        },
        {
          "type": "User",
          "login": "abelpenton",
          "commits": 4,
          "avatar_url": "https://avatars.githubusercontent.com/u/32851047?v=4"
        },
        {
          "type": "User",
          "login": "Destreyf",
          "commits": 1,
          "avatar_url": "https://avatars.githubusercontent.com/u/967304?v=4"
        },
        {
          "type": "User",
          "login": "mpsanchis",
          "commits": 1,
          "avatar_url": "https://avatars.githubusercontent.com/u/33475618?v=4"
        },
        {
          "type": "User",
          "login": "terrxo",
          "commits": 1,
          "avatar_url": "https://avatars.githubusercontent.com/u/99985144?v=4"
        },
        {
          "type": "User",
          "login": "creadicted",
          "commits": 1,
          "avatar_url": "https://avatars.githubusercontent.com/u/1899013?v=4"
        }
      ],
      "contributors_sampled": 7,
      "top_contributor_share": 0.764
    },
    "quality_signals": {
      "has_ci": true,
      "has_tests": true,
      "ci_workflows": [
        "ci.yml",
        "publish.yml"
      ],
      "has_docs_dir": true,
      "linter_configs": [
        ".eslintrc.json"
      ],
      "has_editorconfig": true,
      "has_linter_config": true,
      "has_precommit_config": false
    },
    "security_signals": {
      "lockfiles": [],
      "scorecard": {
        "checks": [
          {
            "name": "Binary-Artifacts",
            "score": 10,
            "reason": "no binaries found in the repo",
            "documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#binary-artifacts"
          },
          {
            "name": "Branch-Protection",
            "score": null,
            "reason": "internal error: error during branchesHandler.setup: internal error: some github tokens can't read classic branch protection rules: https://github.com/ossf/scorecard-action/blob/main/docs/authentication/fine-grained-auth-token.md",
            "documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#branch-protection"
          },
          {
            "name": "CI-Tests",
            "score": 10,
            "reason": "23 out of 23 merged PRs checked by a CI test -- score normalized to 10",
            "documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#ci-tests"
          },
          {
            "name": "CII-Best-Practices",
            "score": 0,
            "reason": "no effort to earn an OpenSSF best practices badge detected",
            "documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#cii-best-practices"
          },
          {
            "name": "Code-Review",
            "score": 0,
            "reason": "Found 0/28 approved changesets -- score normalized to 0",
            "documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#code-review"
          },
          {
            "name": "Contributors",
            "score": 6,
            "reason": "project has 2 contributing companies or organizations -- score normalized to 6",
            "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": 0,
            "reason": "no update tool detected",
            "documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#dependency-update-tool"
          },
          {
            "name": "Fuzzing",
            "score": 0,
            "reason": "project is not fuzzed",
            "documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#fuzzing"
          },
          {
            "name": "License",
            "score": 10,
            "reason": "license file detected",
            "documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#license"
          },
          {
            "name": "Maintained",
            "score": 10,
            "reason": "30 commit(s) and 0 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": 0,
            "reason": "dependency not pinned by hash detected -- score normalized to 0",
            "documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#pinned-dependencies"
          },
          {
            "name": "SAST",
            "score": 10,
            "reason": "SAST tool is run on all commits",
            "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": 10,
            "reason": "GitHub workflow tokens follow principle of least privilege",
            "documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#token-permissions"
          },
          {
            "name": "Vulnerabilities",
            "score": 0,
            "reason": "71 existing vulnerabilities detected",
            "documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#vulnerabilities"
          }
        ],
        "commit": "4a7b96d7f0b96a824cde19977a1d8abe3f52bce8",
        "ran_at": "2026-07-30T01:39:15Z",
        "aggregate_score": 5.2,
        "scorecard_version": "v5.5.0"
      },
      "has_codeql_workflow": false,
      "has_security_policy": false,
      "has_dependabot_config": false
    },
    "contribution_flow": {
      "collected": true,
      "ci_last_run_at": "2026-07-25T04:07:20Z",
      "oldest_open_prs": [],
      "last_merged_pr_at": "2026-07-24T13:48:32Z",
      "ci_last_conclusion": "SUCCESS",
      "oldest_open_issues": [
        {
          "number": 42,
          "created_at": "2024-04-17T08:48:54Z",
          "last_comment_at": "2024-04-21T00:57:58Z",
          "last_comment_author": "NachoVazquez"
        },
        {
          "number": 115,
          "created_at": "2026-06-03T02:06:06Z",
          "last_comment_at": "2026-06-25T12:26:51Z",
          "last_comment_author": "NachoVazquez"
        },
        {
          "number": 147,
          "created_at": "2026-06-03T02:08:48Z",
          "last_comment_at": null,
          "last_comment_author": null
        },
        {
          "number": 148,
          "created_at": "2026-06-03T02:08:49Z",
          "last_comment_at": null,
          "last_comment_author": null
        }
      ]
    }
  },
  "config": {
    "disabled_metrics": [],
    "disabled_categories": [],
    "disabled_components": {}
  },
  "source": {
    "url": "https://github.com/naxodev/oss",
    "host": "github.com",
    "name": "oss",
    "owner": "naxodev"
  },
  "metrics": {
    "overall": {
      "key": "overall",
      "band": "excellent",
      "name": "Overall health",
      "note": "The weighted overall 73 is calibrated to 87 on the published index scale (record calibration 2026-08-02).",
      "notes": [
        {
          "code": "overall_calibration",
          "params": {
            "raw": 73,
            "calibrated": 87,
            "calibration": "2026-08-02"
          }
        }
      ],
      "value": 87,
      "inputs": {
        "security": 62,
        "vitality": 83,
        "community": 67,
        "governance": 60,
        "calibration": "2026-08-02",
        "engineering": 94,
        "ai_readiness": 69,
        "weighted_overall_raw": 73
      },
      "components": []
    },
    "categories": [
      {
        "key": "vitality",
        "band": "excellent",
        "name": "Vitality",
        "value": 83,
        "weight": 0.21,
        "metrics": [
          {
            "key": "development_activity",
            "band": "good",
            "name": "Development activity",
            "note": null,
            "notes": [],
            "value": 71,
            "inputs": {
              "commits_last_year": 78,
              "human_commit_share": 1,
              "days_since_last_push": 5,
              "active_weeks_last_year": 12
            },
            "components": [
              {
                "key": "push_recency",
                "name": "Push recency",
                "detail": "last push 5 days ago",
                "points": 36,
                "status": "met",
                "details": [
                  {
                    "code": "push_recency",
                    "params": {
                      "days": 5
                    }
                  }
                ],
                "max_points": 36
              },
              {
                "key": "commit_cadence",
                "name": "Commit cadence",
                "detail": "12/52 weeks with commits",
                "points": 8.3,
                "status": "partial",
                "details": [
                  {
                    "code": "commit_cadence_weeks",
                    "params": {
                      "weeks": 12
                    }
                  }
                ],
                "max_points": 36
              },
              {
                "key": "commit_volume",
                "name": "Commit volume",
                "detail": "78 commits in the last year",
                "points": 17,
                "status": "partial",
                "details": [
                  {
                    "code": "commits_last_year",
                    "params": {
                      "count": 78
                    }
                  }
                ],
                "max_points": 18
              },
              {
                "key": "openssf_scorecard_maintained",
                "name": "OpenSSF Scorecard: Maintained",
                "detail": "30 commit(s) and 0 issue activity found in the last 90 days -- score normalized to 10",
                "points": 10,
                "status": "met",
                "details": [],
                "max_points": 10
              }
            ]
          },
          {
            "key": "release_discipline",
            "band": "exceptional",
            "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": 67,
              "latest_release_tag": "gonx@v4.1.1",
              "releases_from_tags": false,
              "days_since_latest_release": 5,
              "mean_days_between_releases": 35.2
            },
            "components": [
              {
                "key": "ships_releases",
                "name": "Ships releases",
                "detail": "67 releases published",
                "points": 27,
                "status": "met",
                "details": [
                  {
                    "code": "releases_published",
                    "params": {
                      "count": 67
                    }
                  }
                ],
                "max_points": 27
              },
              {
                "key": "release_recency",
                "name": "Release recency",
                "detail": "latest release 5 days ago",
                "points": 36,
                "status": "met",
                "details": [
                  {
                    "code": "release_recency",
                    "params": {
                      "days": 5
                    }
                  }
                ],
                "max_points": 36
              },
              {
                "key": "release_cadence",
                "name": "Release cadence",
                "detail": "a release every ~35.2 days",
                "points": 27,
                "status": "met",
                "details": [
                  {
                    "code": "release_cadence",
                    "params": {
                      "gap": 35.2
                    }
                  }
                ],
                "max_points": 27
              },
              {
                "key": "openssf_scorecard_signed_releases",
                "name": "OpenSSF Scorecard: Signed-Releases",
                "detail": "no releases found",
                "points": 0,
                "status": "excluded",
                "details": [
                  {
                    "code": "no_data",
                    "params": {}
                  }
                ],
                "max_points": 10
              }
            ]
          },
          {
            "key": "abandonment",
            "band": "exceptional",
            "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": 11,
              "days_since_last_human_commit_is_floor": false
            },
            "components": [
              {
                "key": "project_is_still_maintained",
                "name": "Project is still maintained",
                "detail": "last human commit 11 days ago",
                "points": 100,
                "status": "met",
                "details": [
                  {
                    "code": "abandonment_maintained",
                    "params": {
                      "days": 11
                    }
                  }
                ],
                "max_points": 100
              }
            ]
          }
        ],
        "description": "Is the project alive — is code being written and are releases shipping?"
      },
      {
        "key": "community",
        "band": "good",
        "name": "Community & Adoption",
        "value": 67,
        "weight": 0.17,
        "metrics": [
          {
            "key": "popularity",
            "band": "weak",
            "name": "Popularity & adoption",
            "note": null,
            "notes": [],
            "value": 35,
            "inputs": {
              "forks": 10,
              "stars": 48,
              "watchers": 1,
              "growth_state": "unverified",
              "growth_factor_pct": 100,
              "growth_unverified_reason": "no_history"
            },
            "components": [
              {
                "key": "stars",
                "name": "Stars",
                "detail": "48 stars",
                "points": 27.1,
                "status": "partial",
                "details": [
                  {
                    "code": "stars",
                    "params": {
                      "count": 48
                    }
                  }
                ],
                "max_points": 60
              },
              {
                "key": "forks",
                "name": "Forks",
                "detail": "10 forks",
                "points": 8,
                "status": "partial",
                "details": [
                  {
                    "code": "forks",
                    "params": {
                      "count": 10
                    }
                  }
                ],
                "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": "excellent",
            "name": "Community health",
            "note": null,
            "notes": [],
            "value": 92,
            "inputs": {
              "has_readme": true,
              "has_license": true,
              "readme_badges": null,
              "has_contributing": true,
              "has_issue_template": false,
              "has_code_of_conduct": true,
              "readme_badge_services": [],
              "has_pull_request_template": true
            },
            "components": [
              {
                "key": "readme",
                "name": "README",
                "detail": null,
                "points": 22.5,
                "status": "met",
                "details": [],
                "max_points": 22.5
              },
              {
                "key": "license",
                "name": "License",
                "detail": "recognized license (MIT)",
                "points": 22.5,
                "status": "met",
                "details": [
                  {
                    "code": "license_standard",
                    "params": {}
                  },
                  {
                    "code": "license_spdx",
                    "params": {
                      "spdx": "MIT"
                    }
                  }
                ],
                "max_points": 22.5
              },
              {
                "key": "contributing_guide",
                "name": "CONTRIBUTING guide",
                "detail": null,
                "points": 18,
                "status": "met",
                "details": [],
                "max_points": 18
              },
              {
                "key": "code_of_conduct",
                "name": "Code of conduct",
                "detail": null,
                "points": 13.5,
                "status": "met",
                "details": [],
                "max_points": 13.5
              },
              {
                "key": "issue_template",
                "name": "Issue template",
                "detail": null,
                "points": 0,
                "status": "missed",
                "details": [],
                "max_points": 7.2
              },
              {
                "key": "pr_template",
                "name": "PR template",
                "detail": null,
                "points": 6.3,
                "status": "met",
                "details": [],
                "max_points": 6.3
              }
            ]
          },
          {
            "key": "ecosystem_adoption",
            "band": "excellent",
            "name": "Ecosystem adoption (downloads)",
            "note": "Excluded from scoring (no data or not applicable): Registry dependents. Remaining weights renormalized.",
            "notes": [
              {
                "code": "excluded_no_data",
                "params": {
                  "components": [
                    "registry_dependents"
                  ]
                }
              },
              {
                "code": "weights_renormalized",
                "params": {}
              }
            ],
            "value": 85,
            "inputs": {
              "packages": [
                "@naxodev/gonx",
                "@naxodev/nx-cloudflare"
              ],
              "dependents": null,
              "ecosystems": "npm",
              "total_downloads": null,
              "monthly_downloads": 123906
            },
            "components": [
              {
                "key": "monthly_downloads",
                "name": "Monthly downloads",
                "detail": "123,906 downloads/month across npm",
                "points": 67.9,
                "status": "partial",
                "details": [
                  {
                    "code": "downloads_monthly",
                    "params": {
                      "count": 123906,
                      "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": 60,
        "weight": 0.23,
        "metrics": [
          {
            "key": "maintainer_resilience",
            "band": "at_risk",
            "name": "Maintainer resilience (bus factor)",
            "note": null,
            "notes": [],
            "value": 30,
            "inputs": {
              "bus_factor": 1,
              "contributors_sampled": 7,
              "top_contributor_share": 0.764
            },
            "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 76% of commits",
                "points": 5.3,
                "status": "partial",
                "details": [
                  {
                    "code": "top_contributor_share",
                    "params": {
                      "share": 76
                    }
                  }
                ],
                "max_points": 22.5
              },
              {
                "key": "contributor_breadth",
                "name": "Contributor breadth",
                "detail": "7 contributors",
                "points": 9.5,
                "status": "partial",
                "details": [
                  {
                    "code": "contributors_sampled",
                    "params": {
                      "count": 7
                    }
                  }
                ],
                "max_points": 13.5
              },
              {
                "key": "openssf_scorecard_contributors",
                "name": "OpenSSF Scorecard: Contributors",
                "detail": "project has 2 contributing companies or organizations -- score normalized to 6",
                "points": 6,
                "status": "partial",
                "details": [],
                "max_points": 10
              }
            ]
          },
          {
            "key": "responsiveness",
            "band": "good",
            "name": "Issue & PR responsiveness",
            "note": "Excluded from scoring (no data or not applicable): Newcomer PR acceptance. Remaining weights renormalized.",
            "notes": [
              {
                "code": "excluded_no_data",
                "params": {
                  "components": [
                    "newcomer_pr_acceptance"
                  ]
                }
              },
              {
                "code": "weights_renormalized",
                "params": {}
              }
            ],
            "value": 79,
            "inputs": {
              "merged_prs": 135,
              "open_issues": 4,
              "closed_issues": 75,
              "prs_merged_7d": null,
              "prs_decided_7d": null,
              "prs_merged_30d": null,
              "prs_decided_30d": null,
              "issue_closed_ratio": 0.949,
              "closed_unmerged_prs": 4,
              "first_time_authors_30d": null,
              "first_time_prs_merged_30d": null,
              "first_time_prs_decided_30d": null
            },
            "components": [
              {
                "key": "issue_resolution",
                "name": "Issue resolution",
                "detail": "95% of issues closed",
                "points": 39.9,
                "status": "partial",
                "details": [
                  {
                    "code": "issues_closed_share",
                    "params": {
                      "share": 95
                    }
                  }
                ],
                "max_points": 42
              },
              {
                "key": "pr_acceptance",
                "name": "PR acceptance",
                "detail": "135/139 decided PRs merged",
                "points": 29.1,
                "status": "partial",
                "details": [
                  {
                    "code": "decided_prs_merged",
                    "params": {
                      "merged": 135,
                      "decided": 139
                    }
                  }
                ],
                "max_points": 30
              },
              {
                "key": "newcomer_pr_acceptance",
                "name": "Newcomer PR acceptance",
                "detail": "no first-time contributor's PR decided in 30d",
                "points": 0,
                "status": "excluded",
                "details": [
                  {
                    "code": "no_newcomer_prs",
                    "params": {
                      "days": 30
                    }
                  }
                ],
                "max_points": 13
              },
              {
                "key": "openssf_scorecard_code_review",
                "name": "OpenSSF Scorecard: Code-Review",
                "detail": "Found 0/28 approved changesets -- score normalized to 0",
                "points": 0,
                "status": "missed",
                "details": [],
                "max_points": 15
              }
            ]
          },
          {
            "key": "stewardship",
            "band": "weak",
            "name": "Ownership & stewardship",
            "note": null,
            "notes": [],
            "value": 46,
            "inputs": {
              "followers": 0,
              "owner_type": "Organization",
              "is_verified": null,
              "owner_login": "naxodev",
              "public_repos": 21,
              "account_age_days": 1096
            },
            "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": "0 followers of naxodev",
                "points": 0,
                "status": "missed",
                "details": [
                  {
                    "code": "owner_followers",
                    "params": {
                      "count": 0,
                      "login": "naxodev"
                    }
                  }
                ],
                "max_points": 25
              },
              {
                "key": "track_record",
                "name": "Track record",
                "detail": "21 public repos, account ~3 yr old",
                "points": 15.8,
                "status": "partial",
                "details": [
                  {
                    "code": "public_repos",
                    "params": {
                      "count": 21
                    }
                  },
                  {
                    "code": "account_age_years",
                    "params": {
                      "years": 3
                    }
                  }
                ],
                "max_points": 25
              }
            ]
          },
          {
            "key": "package_maintenance",
            "band": "exceptional",
            "name": "Package maintenance",
            "note": null,
            "notes": [],
            "value": 100,
            "inputs": {
              "packages": [
                "@naxodev/gonx",
                "@naxodev/nx-cloudflare"
              ],
              "ecosystems": "npm",
              "any_deprecated": false,
              "min_days_since_publish": 5
            },
            "components": [
              {
                "key": "published_resolvable",
                "name": "Published & resolvable",
                "detail": "2 package(s) on npm",
                "points": 25,
                "status": "met",
                "details": [
                  {
                    "code": "packages_published",
                    "params": {
                      "count": 2,
                      "ecosystems": "npm"
                    }
                  }
                ],
                "max_points": 25
              },
              {
                "key": "publish_recency",
                "name": "Publish recency",
                "detail": "latest publish 5 days ago",
                "points": 35,
                "status": "met",
                "details": [
                  {
                    "code": "publish_recency",
                    "params": {
                      "days": 5
                    }
                  }
                ],
                "max_points": 35
              },
              {
                "key": "version_history",
                "name": "Version history",
                "detail": "54 published versions",
                "points": 20,
                "status": "met",
                "details": [
                  {
                    "code": "published_versions",
                    "params": {
                      "count": 54
                    }
                  }
                ],
                "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": "exceptional",
        "name": "Engineering Quality",
        "value": 94,
        "weight": 0.19,
        "metrics": [
          {
            "key": "engineering_practices",
            "band": "excellent",
            "name": "Engineering practices",
            "note": null,
            "notes": [],
            "value": 90,
            "inputs": {
              "has_ci": true,
              "has_tests": true,
              "has_editorconfig": true,
              "has_linter_config": true,
              "has_precommit_config": false
            },
            "components": [
              {
                "key": "ci_workflows",
                "name": "CI workflows",
                "detail": "2 workflow(s)",
                "points": 24,
                "status": "met",
                "details": [
                  {
                    "code": "ci_workflows",
                    "params": {
                      "count": 2
                    }
                  }
                ],
                "max_points": 24
              },
              {
                "key": "tests_present",
                "name": "Tests present",
                "detail": null,
                "points": 24,
                "status": "met",
                "details": [],
                "max_points": 24
              },
              {
                "key": "linter_config",
                "name": "Linter config",
                "detail": ".eslintrc.json",
                "points": 16,
                "status": "met",
                "details": [
                  {
                    "code": "file_list",
                    "params": {
                      "files": ".eslintrc.json"
                    }
                  }
                ],
                "max_points": 16
              },
              {
                "key": "pre_commit_hooks",
                "name": "Pre-commit hooks",
                "detail": null,
                "points": 0,
                "status": "missed",
                "details": [],
                "max_points": 9.6
              },
              {
                "key": "editorconfig",
                "name": ".editorconfig",
                "detail": null,
                "points": 6.4,
                "status": "met",
                "details": [],
                "max_points": 6.4
              },
              {
                "key": "openssf_scorecard_ci_tests",
                "name": "OpenSSF Scorecard: CI-Tests",
                "detail": "23 out of 23 merged PRs checked by a CI test -- score normalized to 10",
                "points": 20,
                "status": "met",
                "details": [],
                "max_points": 20
              }
            ]
          },
          {
            "key": "documentation",
            "band": "exceptional",
            "name": "Documentation",
            "note": null,
            "notes": [],
            "value": 100,
            "inputs": {
              "topics": [
                "cloudflare",
                "nx",
                "cloudflare-workers",
                "nextjs",
                "go",
                "golang"
              ],
              "has_wiki": true,
              "homepage": "https://naxo.dev",
              "has_readme": true,
              "has_docs_dir": true,
              "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": 25,
                "status": "met",
                "details": [],
                "max_points": 25
              },
              {
                "key": "documentation_homepage_site",
                "name": "Documentation / homepage site",
                "detail": "https://naxo.dev",
                "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": "6 topics",
                "points": 10,
                "status": "met",
                "details": [
                  {
                    "code": "topics_count",
                    "params": {
                      "count": 6
                    }
                  }
                ],
                "max_points": 10
              },
              {
                "key": "wiki",
                "name": "Wiki",
                "detail": null,
                "points": 10,
                "status": "met",
                "details": [],
                "max_points": 10
              }
            ]
          }
        ],
        "description": "Are baseline engineering and documentation practices in place?"
      },
      {
        "key": "security",
        "band": "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): Branch-Protection, Packaging, Signed-Releases. Remaining weights renormalized.",
            "notes": [
              {
                "code": "excluded_no_data",
                "params": {
                  "components": [
                    "branch_protection",
                    "packaging",
                    "signed_releases"
                  ]
                }
              },
              {
                "code": "weights_renormalized",
                "params": {}
              }
            ],
            "value": 52,
            "inputs": {
              "source": "openssf_scorecard",
              "checks_evaluated": 15,
              "scorecard_version": "v5.5.0",
              "checks_inconclusive": 3,
              "scorecard_aggregate": 5.2
            },
            "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": "internal error: error during branchesHandler.setup: internal error: some github tokens can't read classic branch protection rules: https://github.com/ossf/scorecard-action/blob/main/docs/authentication/fine-grained-auth-token.md",
                "points": 0,
                "status": "excluded",
                "details": [
                  {
                    "code": "no_data",
                    "params": {}
                  }
                ],
                "max_points": 7.5
              },
              {
                "key": "ci_tests",
                "name": "CI-Tests",
                "detail": "23 out of 23 merged PRs checked by a CI test -- score normalized to 10",
                "points": 2.5,
                "status": "met",
                "details": [],
                "max_points": 2.5
              },
              {
                "key": "cii_best_practices",
                "name": "CII-Best-Practices",
                "detail": "no effort to earn an OpenSSF best practices badge detected",
                "points": 0,
                "status": "missed",
                "details": [],
                "max_points": 2.5
              },
              {
                "key": "code_review",
                "name": "Code-Review",
                "detail": "Found 0/28 approved changesets -- score normalized to 0",
                "points": 0,
                "status": "missed",
                "details": [],
                "max_points": 7.5
              },
              {
                "key": "contributors",
                "name": "Contributors",
                "detail": "project has 2 contributing companies or organizations -- score normalized to 6",
                "points": 1.5,
                "status": "partial",
                "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": "no update tool detected",
                "points": 0,
                "status": "missed",
                "details": [],
                "max_points": 7.5
              },
              {
                "key": "fuzzing",
                "name": "Fuzzing",
                "detail": "project is not fuzzed",
                "points": 0,
                "status": "missed",
                "details": [],
                "max_points": 5
              },
              {
                "key": "license",
                "name": "License",
                "detail": "license file detected",
                "points": 2.5,
                "status": "met",
                "details": [],
                "max_points": 2.5
              },
              {
                "key": "maintained",
                "name": "Maintained",
                "detail": "30 commit(s) and 0 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 0",
                "points": 0,
                "status": "missed",
                "details": [],
                "max_points": 5
              },
              {
                "key": "sast",
                "name": "SAST",
                "detail": "SAST tool is run on all commits",
                "points": 5,
                "status": "met",
                "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": "GitHub workflow tokens follow principle of least privilege",
                "points": 7.5,
                "status": "met",
                "details": [],
                "max_points": 7.5
              },
              {
                "key": "vulnerabilities",
                "name": "Vulnerabilities",
                "detail": "71 existing vulnerabilities detected",
                "points": 0,
                "status": "missed",
                "details": [],
                "max_points": 7.5
              }
            ]
          },
          {
            "key": "dependency_advisories",
            "band": "exceptional",
            "name": "Dependency advisories",
            "note": "Excluded from scoring (no data or not applicable): No advisories left outstanding. Remaining weights renormalized. Matched the npm:@naxodev/gonx@4.1.1 runtime dependency closure — what installing the published package pulls in — 22 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:@naxodev/gonx@4.1.1",
                  "assessed": 22
                }
              },
              {
                "code": "advisories_reachability",
                "params": {}
              }
            ],
            "value": 100,
            "inputs": {
              "source": "osv",
              "advisories": 0,
              "affected_packages": 0,
              "assessed_packages": 22,
              "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": "exceptional",
            "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": 22,
              "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": "exceptional",
            "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"
              ],
              "commit_weight_rule": {
                "min_commits": 50,
                "min_commit_share": 0.1
              },
              "review_only_matches": 0,
              "below_threshold_exposures": [],
              "assessed_self_published_locations": 5
            },
            "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": 69,
        "weight": 0.04,
        "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": 8809
            },
            "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": "100 of 100 human commits state their intent (structured subject or explanatory body)",
                "points": 40,
                "status": "met",
                "details": [
                  {
                    "code": "legible_history",
                    "params": {
                      "legible": 100,
                      "sampled": 100
                    }
                  }
                ],
                "max_points": 40
              }
            ]
          },
          {
            "key": "ai_verify_loop",
            "band": "weak",
            "name": "Verify loop (build / test / typecheck)",
            "note": null,
            "notes": [],
            "value": 46,
            "inputs": {
              "has_nix": false,
              "has_tests": true,
              "lockfiles": [],
              "has_dockerfile": false,
              "typed_language": true,
              "bootstrap_files": [],
              "has_devcontainer": false,
              "has_linter_config": true,
              "typecheck_configs": [
                "docs/gonx-docs/tsconfig.json",
                "docs/nx-cloudflare-docs/tsconfig.json",
                "packages/bun-test-plugin/tsconfig.json",
                "packages/e2e-utils/tsconfig.json",
                "packages/gonx-e2e/tsconfig.json",
                "packages/gonx/tsconfig.json",
                "packages/nx-cloudflare-e2e/tsconfig.json",
                "packages/nx-cloudflare/tsconfig.json",
                "tsconfig.json"
              ],
              "agent_commit_share": 0.01,
              "toolchain_manifests": [],
              "dependency_bot_commit_share": 0
            },
            "components": [
              {
                "key": "one_command_bootstrap",
                "name": "One-command bootstrap",
                "detail": null,
                "points": 0,
                "status": "missed",
                "details": [],
                "max_points": 18
              },
              {
                "key": "automated_tests",
                "name": "Automated tests",
                "detail": null,
                "points": 22,
                "status": "met",
                "details": [],
                "max_points": 22
              },
              {
                "key": "lint_format_config",
                "name": "Lint / format config",
                "detail": ".eslintrc.json",
                "points": 11,
                "status": "met",
                "details": [
                  {
                    "code": "file_list",
                    "params": {
                      "files": ".eslintrc.json"
                    }
                  }
                ],
                "max_points": 11
              },
              {
                "key": "static_type_checking",
                "name": "Static type checking",
                "detail": "docs/gonx-docs/tsconfig.json, docs/nx-cloudflare-docs/tsconfig.json, packages/bun-test-plugin/tsconfig.json, packages/e2e-utils/tsconfig.json, packages/gonx-e2e/tsconfig.json, packages/gonx/tsconfig.json, packages/nx-cloudflare-e2e/tsconfig.json, packages/nx-cloudflare/tsconfig.json, tsconfig.json",
                "points": 11,
                "status": "met",
                "details": [
                  {
                    "code": "file_list",
                    "params": {
                      "files": "docs/gonx-docs/tsconfig.json, docs/nx-cloudflare-docs/tsconfig.json, packages/bun-test-plugin/tsconfig.json, packages/e2e-utils/tsconfig.json, packages/gonx-e2e/tsconfig.json, packages/gonx/tsconfig.json, packages/nx-cloudflare-e2e/tsconfig.json, packages/nx-cloudflare/tsconfig.json, tsconfig.json"
                    }
                  }
                ],
                "max_points": 11
              },
              {
                "key": "reproducible_environment",
                "name": "Reproducible environment",
                "detail": null,
                "points": 0,
                "status": "missed",
                "details": [],
                "max_points": 10
              },
              {
                "key": "demonstrated_agent_practice",
                "name": "Demonstrated agent practice",
                "detail": "1 of the last 100 commits agent-authored or agent-credited",
                "points": 2,
                "status": "partial",
                "details": [
                  {
                    "code": "agent_authored_commits",
                    "params": {
                      "count": 1,
                      "sampled": 100
                    }
                  }
                ],
                "max_points": 10
              },
              {
                "key": "automated_maintenance",
                "name": "Automated maintenance",
                "detail": "no automated dependency updates observed",
                "points": 0,
                "status": "missed",
                "details": [
                  {
                    "code": "no_dependency_automation",
                    "params": {}
                  }
                ],
                "max_points": 8
              },
              {
                "key": "openssf_scorecard_pinned_dependencies",
                "name": "OpenSSF Scorecard: Pinned-Dependencies",
                "detail": "dependency not pinned by hash detected -- score normalized to 0",
                "points": 0,
                "status": "missed",
                "details": [],
                "max_points": 10
              }
            ]
          },
          {
            "key": "ai_code_legibility",
            "band": "exceptional",
            "name": "Code legibility for models",
            "note": null,
            "notes": [],
            "value": 100,
            "inputs": {
              "primary_language": "TypeScript",
              "largest_source_bytes": 30882,
              "source_files_sampled": 167,
              "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/167 source files over 60KB",
                "points": 55,
                "status": "met",
                "details": [
                  {
                    "code": "oversized_source_files",
                    "params": {
                      "kb": 60,
                      "sampled": 167,
                      "oversized": 0
                    }
                  }
                ],
                "max_points": 55
              }
            ]
          }
        ],
        "description": "How well is the repo equipped to be developed and maintained with AI coding agents? Carries a deliberately small weight: agent tooling is a real maintenance signal, but its absence must never gate the top of the scale (calibration saturates at raw 91, so 100/100 remains reachable with AI Readiness at zero)."
      }
    ],
    "classification": {
      "top": [
        "library",
        "application"
      ],
      "labels": [
        "library",
        "web-ui"
      ],
      "scores": {
        "plugin": 2,
        "web-ui": 4,
        "library": 6
      },
      "primary": "library",
      "evidence": [
        {
          "tier": "distribution",
          "label": "library",
          "source": "registry:npm",
          "weight": 6
        },
        {
          "tier": "dependencies",
          "label": "web-ui",
          "source": "dep:react-dom",
          "weight": 4
        },
        {
          "tier": "tags",
          "label": "plugin",
          "source": "tag:plugin",
          "weight": 2
        }
      ],
      "artifacts": [],
      "confidence": "medium",
      "host_extension": false,
      "runs_as_process": true,
      "consumed_by_code": true
    },
    "metrics_version": "2.5.0"
  },
  "warnings": [
    "Star history unavailable: GitHub GraphQL error: Resource not accessible by personal access token"
  ],
  "report_type": "repository",
  "generated_at": "2026-07-30T01:39:33.268811Z",
  "schema_version": "0.27.0",
  "badge_url": "https://raw.githubusercontent.com/inspect-software/badges/main/v1/n/naxodev/oss.svg",
  "full_name": "naxodev/oss",
  "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 v2.5.0, Schema v0.27.0 — vollständige Methodik · Metriken-Wiki.

Wie ein einzelnes Ergebnis im Gesamtregister steht: aggregierte Statistikennpm.