Registro público
Informe de salud del softwareesquema 0.27.0 · métricas 2.3.1 · 2026-07-30 11:41 UTC

hydraulic-software / conveyor

Gradle plugin, user guide and discussion forums for Conveyor

Kotlin · JavaScript · HTMLApache-2.0★ 175 estrellas⑂ 16 forksdesde feb 2022Ver en GitHub ↗
TipoBibliotecacómo se determina

hydraulic-software/conveyor tiene un índice de salud de 41 sobre 100, lo que lo sitúa en la banda Débil. Su puntuación más alta es Sustainability & Governance (57/100) y la más baja, Security (32/100). Se actualizó por última vez hace 8 días. Una sola persona concentra la mayor parte del trabajo reciente.

41
global / 100
Débil

Índice de salud del software

Las métricas se agrupan en categorías ponderadas sobre una escala estandarizada de 1 a 100. El resultado global parte de su media ponderada, calibrada contra la distribución del registro público para que las bandas tengan significado percentil; cuando la evidencia pública activa la Política de Jurisdicciones de Alto Riesgo, la calificación se ajusta y recibe un límite «En riesgo» de 34.

41
Excepcional93-100El nivel más alto del registro (≈ el 5% superior); cumple prácticamente todos los criterios evaluados
Excelente80-92Sólido en todos los frentes; carencias menores
Bueno65-79Saludable; carencias limitadas y manejables
Moderado50-64Aceptable con carencias notables; se recomienda revisión
Débil35-49Debilidades sustanciales en varias áreas
En riesgo20-34Debilidades significativas; su adopción exige cautela
Crítico1-19Problemas graves (proyecto abandonado, un solo mantenedor, sin higiene)
VitalidadComunidad yAdopciónSostenibilidady GobernanzaCalidad deIngenieríaSeguridadPreparaciónpara IA

Perfil de puntuación

Cada eje es una categoría. La forma importa más que la media: un proyecto sano llena toda la figura, mientras que un perfil de picos y cráteres indica que la fortaleza en una dimensión enmascara el riesgo en otra.

El resultado global ponderado 44 se calibra a 41 en la escala publicada del índice (calibración del registro 2026-08-02).

Titularidad

HydraulicOrganización
34 seguidores16 repositorios públicosdesde may 2021

Este repositorio está respaldado por una organización: una custodia compartida y responsable que puede sobrevivir a cualquier mantenedor individual.

Ecosistemas de paquetes

Métricas por categoría

Vitalidad

¿Está vivo el proyecto: se escribe código y se publican versiones?

33En riesgo · 21% del índice global
Cómo se puntúa
28.8/36Recencia de push — último push hace 8 días
9.7/36Cadencia de commits — 14/52 semanas con commits
12.6/18Volumen de commits — 24 commits en el último año
4/10OpenSSF Scorecard: Maintained — 3 commit(s) and 2 issue activity found in the last 90 days -- score normalized to 4
Datos de entrada utilizados
commits_last_year24
human_commit_share1
days_since_last_push8
active_weeks_last_year14
Cómo se puntúa
0/27Publica versiones — sin versiones publicadas
0/36Recencia de las versiones — sin versiones
0/27Cadencia de publicación — sin versiones
0/10OpenSSF Scorecard: Signed-Releases — sin datos
Datos de entrada utilizados
releases_count0
Excluidos de la puntuación (sin datos o no aplicable): OpenSSF Scorecard: Signed-Releases. Los pesos restantes se han renormalizado.

Comunidad y Adopción

¿Tiene el proyecto usuarios, descargas, atención y unas condiciones acogedoras para quienes contribuyen?

52Moderado · 17% del índice global
Cómo se puntúa
36.3/60Estrellas — 175 estrellas
9.8/25Forks — 16 forks
1.7/15Observadores — 3 observadores
Datos de entrada utilizados
forks16
stars175
watchers3
growth_stateunverified
growth_factor_pct100
growth_unverified_reasonno_history
Cómo se puntúa
22.5/22.5README
22.5/22.5Licencia — licencia reconocida (Apache-2.0)
0/18Guía CONTRIBUTING
0/13.5Código de conducta
0/7.2Plantilla de issues
0/6.3Plantilla de PR
Datos de entrada utilizados
has_readme
has_license
readme_badges
has_contributingno
has_issue_templateno
has_code_of_conductno
readme_badge_services
has_pull_request_templateno
Cómo se puntúa
49.7/80Descargas mensuales — 5307 descargas/mes en npm
0/20Dependientes en el registro — no lo informa este ecosistema
Datos de entrada utilizados
packages@hydraulic/override-zip, @hydraulic/conveyor-control, @hydraulic/migrate-to-conveyor
dependents
ecosystemsnpm
total_downloads
monthly_downloads5307
Excluidos de la puntuación (sin datos o no aplicable): Dependientes en el registro. Los pesos restantes se han renormalizado.

Sostenibilidad y Gobernanza

¿Sobrevivirá el proyecto a sus personas: factor bus, capacidad de respuesta, quién lo respalda y mantenimiento del paquete?

57Moderado · 23% del índice global
Cómo se puntúa
9/54Factor bus — la mitad de los commits recae en 1 contribuyente(s)
3.2/22.5Distribución de commits — el principal contribuyente firma el 86% de los commits
9.5/13.5Amplitud de contribuyentes — 7 contribuyentes
10/10OpenSSF Scorecard: Contributors — project has 4 contributing companies or organizations
Datos de entrada utilizados
bus_factor1
contributors_sampled7
top_contributor_share0,86
Cómo se puntúa
30.3/42Resolución de issues — 72% de issues cerradas
13.3/30Aceptación de PR — 4/9 PR decididos fusionados
0/13Newcomer PR acceptance — ningún PR de un contribuyente primerizo decidido en 30 d
0/15OpenSSF Scorecard: Code-Review — Found 0/30 approved changesets -- score normalized to 0
Datos de entrada utilizados
merged_prs4
open_issues25
closed_issues65
prs_merged_7d
prs_decided_7d
prs_merged_30d
prs_decided_30d
issue_closed_ratio0,722
closed_unmerged_prs5
first_time_authors_30d
first_time_prs_merged_30d
first_time_prs_decided_30d
Excluidos de la puntuación (sin datos o no aplicable): newcomer_pr_acceptance. Los pesos restantes se han renormalizado.
Cómo se puntúa
30/30Respaldo de la propiedad — propiedad de una organización
0/20Dominio verificado
11.1/25Alcance del propietario — 34 seguidores de hydraulic-software
19.4/25Trayectoria — 16 repos públicos, cuenta de ~5 años
Datos de entrada utilizados
followers34
owner_typeOrganization
is_verified
owner_loginhydraulic-software
public_repos16
account_age_days1905
Cómo se puntúa
25/25Publicado y resoluble — 3 paquete(s) en npm
35/35Recencia de publicación — última publicación hace 8 días
20/20Historial de versiones — 20 versiones en el registro
20/20No obsoleto — activo, ni obsoleto ni retirado
Datos de entrada utilizados
packages@hydraulic/override-zip, @hydraulic/conveyor-control, @hydraulic/migrate-to-conveyor
ecosystemsnpm
any_deprecatedno
min_days_since_publish8

Calidad de Ingeniería

¿Existen unas prácticas mínimas de ingeniería y documentación?

40Débil · 19% del índice global
Cómo se puntúa
0/24Flujos de trabajo de CI
24/24Pruebas presentes
0/16Configuración de linter
0/9.6Hooks de pre-commit
0/6.4.editorconfig
0/20OpenSSF Scorecard: CI-Tests — sin datos
Datos de entrada utilizados
has_cino
has_tests
has_editorconfigno
has_linter_configno
has_precommit_configno
Excluidos de la puntuación (sin datos o no aplicable): OpenSSF Scorecard: CI-Tests. Los pesos restantes se han renormalizado.

Documentación

55Moderado
Cómo se puntúa
30/30README
0/25Directorio de documentación
15/15Sitio de documentación / página del proyecto — https://conveyor.hydraulic.dev
10/10Descripción del repositorio
0/10Topics
0/10Wiki
Datos de entrada utilizados
topics
has_wikino
homepagehttps://conveyor.hydraulic.dev
has_readme
has_docs_dirno
has_description

Seguridad

¿Son sólidas las prácticas visibles de seguridad y de cadena de suministro, sin exposición jurisdiccional de alto riesgo sin resolver?

32En riesgo · 16% del índice global
Cómo se puntúa
6.8/7.5Binary-Artifacts — binaries present in source code
0/7.5Branch-Protection — branch protection not enabled on development/release branches
0/2.5CI-Tests — sin datos
0/2.5CII-Best-Practices — no effort to earn an OpenSSF best practices badge detected
0/7.5Code-Review — Found 0/30 approved changesets -- score normalized to 0
2.5/2.5Contributors — project has 4 contributing companies or organizations
0/10Dangerous-Workflow — sin datos
0/7.5Dependency-Update-Tool — no update tool detected
0/5Fuzzing — project is not fuzzed
2.5/2.5Licencia — license file detected
3/7.5Maintained — 3 commit(s) and 2 issue activity found in the last 90 days -- score normalized to 4
0/5Packaging — sin datos
0/5Pinned-Dependencies — sin datos
0/5SAST — no SAST tool detected
0/5Security-Policy — security policy file not detected
0/7.5Signed-Releases — sin datos
0/7.5Token-Permissions — sin datos
0/7.5Vulnerabilities — 59 existing vulnerabilities detected
Datos de entrada utilizados
sourceopenssf_scorecard
checks_evaluated12
scorecard_versionv5.5.0
checks_inconclusive6
scorecard_aggregate2,2
Excluidos de la puntuación (sin datos o no aplicable): ci_tests, dangerous_workflow, packaging, pinned_dependencies, signed_releases, token_permissions. Los pesos restantes se han renormalizado.
Cómo se puntúa
35/35Dependencias directas libres de avisos conocidos — ninguna dependencia directa tiene un aviso conocido
6.2/25Dependencias indirectas libres de avisos conocidos — 2 afectados: brace-expansion 1.1.16 (high 7.5), tar 6.2.1 (high 8.8)
32.8/40Sin avisos pendientes — 1 paquete(s) con avisos sin atender más allá de 90 días; el más antiguo publicado hace 194 días
Datos de entrada utilizados
sourceosv
advisories13
affected_packages2
assessed_packages227
unassessed_packages0
affected_by_severityhigh 2
direct_affected_packages0
Se cotejó el cierre de dependencias en tiempo de ejecución de npm:@hydraulic/override-zip@22.1.0 —lo que arrastra la instalación del paquete publicado—: 227 paquetes. No se analiza la alcanzabilidad.

Preparación para IA

¿Hasta qué punto está el repositorio preparado para desarrollarse y mantenerse con agentes de codificación de IA? Tiene un peso deliberadamente pequeño (4%): las herramientas para agentes son una señal real de mantenimiento, pero un repositorio sin ninguna puede alcanzar igualmente 100/100.

49Débil · 4% del índice global
Cómo se puntúa
0/45Instrucciones para agentes — sin CLAUDE.md / AGENTS.md / reglas de editor
0/15Documentación legible por máquinas (llms.txt)
4.3/40Historial de commits legible — 8 de 100 commits humanos declaran su intención (asunto estructurado o cuerpo explicativo)
Datos de entrada utilizados
has_llms_txtno
legible_history_share0,08
agent_instruction_files
agent_instruction_max_bytes
Cómo se puntúa
12.6/18Arranque con un solo comando — build.gradle.kts, gradle-plugin/build.gradle.kts (convención del toolchain, sin ejecutor de tareas)
22/22Pruebas automatizadas
0/11Configuración de lint / formato
11/11Verificación estática de tipos — Kotlin (tipado estático)
10/10Entorno reproducible — lockfile
2/10Práctica demostrada con agentes — 1 de los últimos 100 commits con autoría o crédito de agente
0/8Mantenimiento automatizado — no se observan actualizaciones automáticas de dependencias
0/10OpenSSF Scorecard: Pinned-Dependencies — sin datos
Datos de entrada utilizados
has_nixno
has_tests
lockfilesPipfile.lock, package-lock.json
has_dockerfileno
typed_language
bootstrap_files
has_devcontainerno
has_linter_configno
typecheck_configs
agent_commit_share0,01
toolchain_manifestsbuild.gradle.kts, gradle-plugin/build.gradle.kts
dependency_bot_commit_share0
Excluidos de la puntuación (sin datos o no aplicable): OpenSSF Scorecard: Pinned-Dependencies. Los pesos restantes se han renormalizado.
Cómo se puntúa
45/45Código verificable por tipos — Kotlin (tipado estático)
55/55Tamaños de archivo manejables — 0/10 archivos fuente de más de 60 KB
Datos de entrada utilizados
primary_languageKotlin
largest_source_bytes18.444
source_files_sampled10
oversized_source_files0

Datos clave

175estrellas de GitHub
7contribuidores
24commits en los últimos 12 meses
8días desde el último push
0versiones publicadas
1factor bus
25issues abiertas
Maven, PyPIecosistemas de paquetes

Advertencias de recopilación de datos

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

Más detalle

Historial de estrellas y forks 0 ★ / 16 ⇿
0Estrellas
16Forks

Cuándo se añadió cada estrella y fork, recopilado de GitHub y agrupado por día. El crecimiento acumulado se sitúa justo encima de las adiciones diarias que lo componen, de modo que ambos se leen en conjunto: la acumulación orgánica sostenida no se parece en nada a un pico abrupto y efímero. Cuando esa diferencia es medible, se informa como autenticidad del crecimiento.

04812161612022-072024-062026-04

Cada punto abarca 4 días.

OpenSSF Scorecard 2.2 / 10
2.2agregado

Evaluación de seguridad independiente y agnóstica en cuanto a herramientas, procedente del proyecto de código abierto OpenSSF Scorecard. Cada comprobación premia una práctica de seguridad, no la herramienta de un proveedor concreto. Las comprobaciones que Scorecard no pudo determinar se marcan como n/d y se excluyen de la puntuación de seguridad (nunca se cuentan como cero).Scorecard v5.5.0 · 2026-07-30 11:41 UTC

9Binary-Artifactsbinaries present in source code
0Branch-Protectionbranch protection not enabled on development/release branches
n/dCI-Testsno pull request found
0CII-Best-Practicesno effort to earn an OpenSSF best practices badge detected
0Code-ReviewFound 0/30 approved changesets -- score normalized to 0
10Contributorsproject has 4 contributing companies or organizations
n/dDangerous-Workflowno workflows found
0Dependency-Update-Toolno update tool detected
0Fuzzingproject is not fuzzed
10Licenselicense file detected
4Maintained3 commit(s) and 2 issue activity found in the last 90 days -- score normalized to 4
n/dPackagingpackaging workflow not detected
n/dPinned-Dependenciesno dependencies found
0SASTno SAST tool detected
0Security-Policysecurity policy file not detected
n/dSigned-Releasesno releases found
n/dToken-PermissionsNo tokens found
0Vulnerabilities59 existing vulnerabilities detected
Dependencias directas 5
RegistroPaqueteRestricción de versiónManifiesto
npmkoffi^2.5.8electron/conveyor-control/package.json
npmdebug^4.3.4electron/migrate-to-conveyor/package.json
npmelectron-is-dev^2.0.0electron/migrate-to-conveyor/package.json
npmelectron-squirrel-startup^1.0.0electron/migrate-to-conveyor/package.json
npm@electron-forge/plugin-base^6.4.2electron/override-zip/package.json
Todas las dependencias 335

Conjunto completo de dependencias resueltas según el grafo de dependencias de GitHub: 6 paquetes directos y 329 indirectos (transitivos). El cierre transitivo es completo cuando el repositorio incluye un lockfile.

RegistroPaqueteVersiónRelación
npm@electron-forge/plugin-base6.4.2directa
npmdebug2.6.9directa
npmdebug4.3.4directa
npmelectron-is-dev2.0.0directa
npmelectron-squirrel-startup1.0.0directa
npmkoffi^2.5.8directa
npm@electron-forge/shared-types6.4.2indirecta
npm@electron/asar3.2.7indirecta
npm@electron/get2.0.3indirecta
npm@electron/notarize1.2.4indirecta
npm@electron/osx-sign1.0.5indirecta
npm@electron/rebuild3.3.0indirecta
npm@electron/universal1.4.2indirecta
npm@isaacs/cliui8.0.2indirecta
npm@malept/cross-spawn-promise1.1.1indirecta
npm@malept/cross-spawn-promise2.0.0indirecta
npm@npmcli/fs3.1.0indirecta
npm@pkgjs/parseargs0.11.0indirecta
npm@sindresorhus/is4.6.0indirecta
npm@szmarczak/http-timer4.0.6indirecta
npm@tootallnate/once2.0.0indirecta
npm@types/cacheable-request6.0.3indirecta
npm@types/http-cache-semantics4.0.2indirecta
npm@types/keyv3.1.4indirecta
npm@types/node20.8.6indirecta
npm@types/responselike1.0.1indirecta
npm@types/yauzl2.10.1indirecta
npm@xmldom/xmldom0.8.10indirecta
npmabbrev1.1.1indirecta
npmagent-base6.0.2indirecta
npmagentkeepalive4.5.0indirecta
npmaggregate-error3.1.0indirecta
npmansi-escapes4.3.2indirecta
npmansi-regex5.0.1indirecta
npmansi-regex6.0.1indirecta
npmansi-styles4.3.0indirecta
npmansi-styles6.2.1indirecta
npmaproba2.0.0indirecta
npmare-we-there-yet3.0.1indirecta
npmastral-regex2.0.0indirecta
npmat-least-node1.0.0indirecta
npmauthor-regex1.0.0indirecta
npmbalanced-match1.0.2indirecta
npmbase64-js1.5.1indirecta
npmbl4.1.0indirecta
npmbluebird3.7.2indirecta
npmboolean3.2.0indirecta
npmbrace-expansion1.1.11indirecta
npmbrace-expansion2.0.1indirecta
npmbuffer5.7.1indirecta
npmbuffer-crc320.2.13indirecta
npmbuffer-equal1.0.1indirecta
npmcacache17.1.4indirecta
npmcacheable-lookup5.0.4indirecta
npmcacheable-request7.0.4indirecta
npmchalk4.1.2indirecta
npmchownr2.0.0indirecta
npmclean-stack2.2.0indirecta
npmcli-cursor3.1.0indirecta
npmcli-spinners2.9.1indirecta
npmcli-truncate2.1.0indirecta
npmcliui8.0.1indirecta
npmclone1.0.4indirecta
npmclone-response1.0.3indirecta
npmcolor-convert2.0.1indirecta
npmcolor-name1.1.4indirecta
npmcolor-support1.1.3indirecta
npmcolorette2.0.20indirecta
npmcommander5.1.0indirecta
npmcompare-version0.1.2indirecta
npmconcat-map0.0.1indirecta
npmconsole-control-strings1.1.0indirecta
npmcross-spawn7.0.3indirecta
npmcross-spawn-windows-exe1.2.0indirecta
npmdecompress-response6.0.0indirecta
npmdefaults1.0.4indirecta
npmdefer-to-connect2.0.1indirecta
npmdefine-data-property1.1.1indirecta
npmdefine-properties1.2.1indirecta
npmdelegates1.0.0indirecta
npmdetect-libc2.0.2indirecta
npmdetect-node2.1.0indirecta
npmdir-compare3.3.0indirecta
npmeastasianwidth0.2.0indirecta
npmelectron-packager17.1.2indirecta
npmemoji-regex8.0.0indirecta
npmemoji-regex9.2.2indirecta
npmencoding0.1.13indirecta
npmend-of-stream1.4.4indirecta
npmenv-paths2.2.1indirecta
npmerr-code2.0.3indirecta
npmerror-ex1.3.2indirecta
npmes6-error4.1.1indirecta
npmescalade3.1.1indirecta
npmescape-string-regexp1.0.5indirecta
npmescape-string-regexp4.0.0indirecta
npmexponential-backoff3.1.1indirecta
npmextract-zip2.0.1indirecta
npmfd-slicer1.1.0indirecta
npmfilename-reserved-regex2.0.0indirecta
npmfilenamify4.3.0indirecta
npmfind-up2.1.0indirecta
npmflora-colossus2.0.0indirecta
npmforeground-child3.1.1indirecta
npmfs-extra10.1.0indirecta
npmfs-extra11.1.1indirecta
npmfs-extra8.1.0indirecta
npmfs-extra9.1.0indirecta
npmfs-minipass2.1.0indirecta
npmfs-minipass3.0.3indirecta
npmfs.realpath1.0.0indirecta
npmfunction-bind1.1.2indirecta
npmgalactus1.0.0indirecta
npmgauge4.0.4indirecta
npmget-caller-file2.0.5indirecta
npmget-intrinsic1.2.1indirecta
npmget-package-info1.0.0indirecta
npmget-stream5.2.0indirecta
npmglob10.3.10indirecta
npmglob7.2.3indirecta
npmglobal-agent3.0.0indirecta
npmglobalthis1.0.3indirecta
npmgopd1.0.1indirecta
npmgot11.8.6indirecta
npmgraceful-fs4.2.11indirecta
npmhas1.0.4indirecta
npmhas-flag4.0.0indirecta
npmhas-property-descriptors1.0.0indirecta
npmhas-proto1.0.1indirecta
npmhas-symbols1.0.3indirecta
npmhas-unicode2.0.1indirecta
npmhosted-git-info2.8.9indirecta
npmhttp-cache-semantics4.1.1indirecta
npmhttp-proxy-agent5.0.0indirecta
npmhttp2-wrapper1.0.3indirecta
npmhttps-proxy-agent5.0.1indirecta
npmhumanize-ms1.2.1indirecta
npmiconv-lite0.6.3indirecta
npmieee7541.2.1indirecta
npmimurmurhash0.1.4indirecta
npmindent-string4.0.0indirecta
npminflight1.0.6indirecta
npminherits2.0.4indirecta
npmip2.0.0indirecta
npmis-arrayish0.2.1indirecta
npmis-core-module2.13.0indirecta
npmis-docker2.2.1indirecta
npmis-fullwidth-code-point3.0.0indirecta
npmis-interactive1.0.0indirecta
npmis-lambda1.0.1indirecta
npmis-unicode-supported0.1.0indirecta
npmis-wsl2.2.0indirecta
npmisbinaryfile4.0.10indirecta
npmisexe2.0.0indirecta
npmjackspeak2.3.6indirecta
npmjson-buffer3.0.1indirecta
npmjson-stringify-safe5.0.1indirecta
npmjsonfile4.0.0indirecta
npmjsonfile6.1.0indirecta
npmjunk3.1.0indirecta
npmkeyv4.5.4indirecta
npmlistr25.0.8indirecta
npmload-json-file2.0.0indirecta
npmlocate-path2.0.0indirecta
npmlodash.get4.4.2indirecta
npmlog-symbols4.1.0indirecta
npmlog-update4.0.0indirecta
npmlowercase-keys2.0.0indirecta
npmlru-cache10.0.1indirecta
npmlru-cache6.0.0indirecta
npmlru-cache7.18.3indirecta
npmmake-fetch-happen11.1.1indirecta
npmmatcher3.0.0indirecta
npmmimic-fn2.1.0indirecta
npmmimic-response1.0.1indirecta
npmmimic-response3.1.0indirecta
npmminimatch3.1.2indirecta
npmminimatch9.0.3indirecta
npmminimist1.2.8indirecta
npmminipass3.3.6indirecta
npmminipass5.0.0indirecta
npmminipass7.0.4indirecta
npmminipass-collect1.0.2indirecta
npmminipass-fetch3.0.4indirecta
npmminipass-flush1.0.5indirecta
npmminipass-pipeline1.2.4indirecta
npmminipass-sized1.0.3indirecta
npmminizlib2.1.2indirecta
npmmkdirp1.0.4indirecta
npmms2.0.0indirecta
npmms2.1.2indirecta
npmnegotiator0.6.3indirecta
npmnode-abi3.51.0indirecta
npmnode-api-version0.1.4indirecta
npmnode-gyp9.4.0indirecta
npmnopt6.0.0indirecta
npmnormalize-package-data2.5.0indirecta
npmnormalize-url6.1.0indirecta
npmnpmlog6.0.2indirecta
npmobject-keys1.1.1indirecta
npmonce1.4.0indirecta
npmonetime5.1.2indirecta
npmora5.4.1indirecta
npmp-cancelable2.1.1indirecta
npmp-limit1.3.0indirecta
npmp-locate2.0.0indirecta
npmp-map4.0.0indirecta
npmp-try1.0.0indirecta
npmparse-author2.0.0indirecta
npmparse-json2.2.0indirecta
npmpath-exists3.0.0indirecta
npmpath-is-absolute1.0.1indirecta
npmpath-key3.1.1indirecta
npmpath-parse1.0.7indirecta
npmpath-scurry1.10.1indirecta
npmpath-type2.0.0indirecta
npmpend1.2.0indirecta
npmpify2.3.0indirecta
npmplist3.1.0indirecta
npmprogress2.0.3indirecta
npmpromise-retry2.0.1indirecta
npmpump3.0.0indirecta
npmquick-lru5.1.1indirecta
npmrcedit3.1.0indirecta
npmread-pkg2.0.0indirecta
npmread-pkg-up2.0.0indirecta
npmreadable-stream3.6.2indirecta
npmrequire-directory2.1.1indirecta
npmresolve1.22.8indirecta
npmresolve-alpn1.2.1indirecta
npmresponselike2.0.1indirecta
npmrestore-cursor3.1.0indirecta
npmretry0.12.0indirecta
npmrfdc1.3.0indirecta
npmrimraf3.0.2indirecta
npmroarr2.15.4indirecta
npmrxjs7.8.1indirecta
npmsafe-buffer5.2.1indirecta
npmsafer-buffer2.1.2indirecta
npmsemver5.7.2indirecta
npmsemver6.3.1indirecta
npmsemver7.5.4indirecta
npmsemver-compare1.0.0indirecta
npmserialize-error7.0.1indirecta
npmset-blocking2.0.0indirecta
npmshebang-command2.0.0indirecta
npmshebang-regex3.0.0indirecta
npmsignal-exit3.0.7indirecta
npmsignal-exit4.1.0indirecta
npmslice-ansi3.0.0indirecta
npmslice-ansi4.0.0indirecta
npmsmart-buffer4.2.0indirecta
npmsocks2.7.1indirecta
npmsocks-proxy-agent7.0.0indirecta
npmspdx-correct3.2.0indirecta
npmspdx-exceptions2.3.0indirecta
npmspdx-expression-parse3.0.1indirecta
npmspdx-license-ids3.0.16indirecta
npmsprintf-js1.1.3indirecta
npmssri10.0.5indirecta
npmstring-width4.2.3indirecta
npmstring-width5.1.2indirecta
npmstring_decoder1.3.0indirecta
npmstrip-ansi6.0.1indirecta
npmstrip-ansi7.1.0indirecta
npmstrip-bom3.0.0indirecta
npmstrip-outer1.0.1indirecta
npmsumchecker3.0.1indirecta
npmsupports-color7.2.0indirecta
npmsupports-preserve-symlinks-flag1.0.0indirecta
npmtar6.2.0indirecta
npmthrough2.3.8indirecta
npmtrim-repeated1.0.0indirecta
npmtslib2.6.2indirecta
npmtype-fest0.13.1indirecta
npmtype-fest0.21.3indirecta
npmundici-types5.25.3indirecta
npmunique-filename3.0.0indirecta
npmunique-slug4.0.0indirecta
npmuniversalify0.1.2indirecta
npmuniversalify2.0.0indirecta
npmutil-deprecate1.0.2indirecta
npmvalidate-npm-package-license3.0.4indirecta
npmwcwidth1.0.1indirecta
npmwhich2.0.2indirecta
npmwide-align1.1.5indirecta
npmwrap-ansi6.2.0indirecta
npmwrap-ansi7.0.0indirecta
npmwrap-ansi8.1.0indirecta
npmwrappy1.0.2indirecta
npmxmlbuilder15.1.1indirecta
npmy18n5.0.8indirecta
npmyallist4.0.0indirecta
npmyargs17.7.2indirecta
npmyargs-parser21.1.1indirecta
npmyauzl2.10.0indirecta
PyPIbabel2.17.0indirecta
PyPIbackrefs5.9indirecta
PyPIcairocffi1.7.1indirecta
PyPIcairosvg2.8.2indirecta
PyPIcertifi2025.6.15indirecta
PyPIcffi1.17.1indirecta
PyPIcharset-normalizer3.4.2indirecta
PyPIclick8.2.1indirecta
PyPIcolorama0.4.6indirecta
PyPIcssselect20.8.0indirecta
PyPIdefusedxml0.7.1indirecta
PyPIghp-import2.1.0indirecta
PyPIidna3.10indirecta
PyPIjinja23.1.6indirecta
PyPImarkdown3.8.2indirecta
PyPImarkdown-include0.8.1indirecta
PyPImarkupsafe3.0.2indirecta
PyPImergedeep1.3.4indirecta
PyPImkdocs1.6.1indirecta
PyPImkdocs-get-deps0.2.0indirecta
PyPImkdocs-material9.6.15indirecta
PyPImkdocs-material-extensions1.3.1indirecta
PyPIpackaging25.0indirecta
PyPIpaginate0.5.7indirecta
PyPIpathspec0.12.1indirecta
PyPIpillow10.4.0indirecta
PyPIplatformdirs4.3.8indirecta
PyPIpycparser2.22indirecta
PyPIpygments2.19.2indirecta
PyPIpymdown-extensions10.16indirecta
PyPIpython-dateutil2.9.0.post0indirecta
PyPIpyyaml6.0.2indirecta
PyPIpyyaml-env-tag1.1indirecta
PyPIrequests2.32.4indirecta
PyPIsix1.17.0indirecta
PyPItinycss21.4.0indirecta
PyPIurllib32.5.0indirecta
PyPIwatchdog6.0.0indirecta
PyPIwebencodings0.5.1indirecta
Avisos de dependencias 2

Instalar npm:@hydraulic/override-zip@22.1.0 arrastra 227 paquetes, directos y transitivos: 2 tienen avisos conocidos, de los cuales 0 son dependencias directas.

PaqueteVersiónRelaciónGravedadAvisosCorregido en
brace-expansion1.1.16indirectaalta15.0.8
tar6.2.1indirectaalta127.5.21

Un aviso significa que la versión registrada en el grafo de dependencias cae dentro del rango afectado de un aviso. No se analiza la alcanzabilidad, y el grafo incluye fijaciones de desarrollo y prueba: un hallazgo puede referirse al utillaje y no al software distribuido.

Informe JSON sin procesar legible por máquina
{
  "data": {
    "repo": {
      "topics": [],
      "is_fork": false,
      "size_kb": 4893,
      "has_wiki": false,
      "homepage": "https://conveyor.hydraulic.dev",
      "languages": {
        "CSS": 953,
        "HTML": 6905,
        "Kotlin": 25334,
        "JavaScript": 13266
      },
      "pushed_at": "2026-07-21T17:59:44Z",
      "created_at": "2022-02-08T16:56:04Z",
      "owner_type": "Organization",
      "updated_at": "2026-07-28T19:42:27Z",
      "description": "Gradle plugin, user guide and discussion forums for Conveyor",
      "is_archived": false,
      "is_disabled": false,
      "license_spdx": "Apache-2.0",
      "default_branch": "master",
      "license_spdx_raw": "Apache-2.0",
      "primary_language": "Kotlin",
      "significant_languages": [
        "Kotlin",
        "JavaScript",
        "HTML"
      ]
    },
    "owner": {
      "blog": null,
      "name": "Hydraulic",
      "type": "Organization",
      "login": "hydraulic-software",
      "company": null,
      "location": null,
      "followers": 34,
      "avatar_url": "https://avatars.githubusercontent.com/u/84073196?v=4",
      "created_at": "2021-05-12T09:40:44Z",
      "is_verified": null,
      "public_repos": 16,
      "account_age_days": 1905
    },
    "license": {
      "state": "standard",
      "spdx_id": "Apache-2.0",
      "raw_spdx": "Apache-2.0",
      "file_present": true,
      "scorecard_found": true,
      "profile_has_license": true
    },
    "activity": {
      "releases": [],
      "recent_commits": [
        {
          "oid": "5011cc412f9c3a67d8f72f9ea5db5f34c4a68e36",
          "body": null,
          "is_bot": false,
          "headline": "Update GH Action version to 22.1",
          "author_name": "Mike Hearn",
          "author_login": "mikehearn",
          "committed_at": "2026-07-21T17:51:57Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "d1b0869b58046c5a57fe22462254409739dcb34f",
          "body": null,
          "is_bot": false,
          "headline": "Merge branch 'master' into release/22",
          "author_name": "Mike Hearn",
          "author_login": "mikehearn",
          "committed_at": "2026-07-21T16:41:52Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "eafcafcbda2965997240438f4ef3ea91e0c181e1",
          "body": null,
          "is_bot": false,
          "headline": "Update release notes.",
          "author_name": "Mike Hearn",
          "author_login": "mikehearn",
          "committed_at": "2026-07-21T16:18:54Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "e14488581d9ed58a7b1a92c21c60544ea351de7a",
          "body": null,
          "is_bot": false,
          "headline": "Update NPM packages version to 22.0",
          "author_name": "Mike Hearn",
          "author_login": "mikehearn",
          "committed_at": "2026-03-21T17:16:13Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "9e90ce7c2a4356c99d68c63f41e4bc497da279c8",
          "body": null,
          "is_bot": false,
          "headline": "Update GH Action version to 22.0",
          "author_name": "Mike Hearn",
          "author_login": "mikehearn",
          "committed_at": "2026-03-21T17:09:48Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "a473471b3cf1912bff115c1c87218c70ac82ad1e",
          "body": null,
          "is_bot": false,
          "headline": "Set version to 21.100.1 and update release notes for 22",
          "author_name": "Mike Hearn",
          "author_login": "mikehearn",
          "committed_at": "2026-03-21T13:48:59Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "4a94ba30d44ac47497021979a1686b135dbeaf42",
          "body": "A major version bump is required because this version takes away some properties that are likely to be rarely used.\n\nThis version:\n\n - Fixes a regression introduced by the new approach needed in Gradle 9.\n - Marks the plugin as incompatible with the configuration cache.\n - Ensures dependency configurations aren't resolved at configuration time.",
          "is_bot": false,
          "headline": "Gradle plugin: v2.0",
          "author_name": "Mike Hearn",
          "author_login": "mikehearn",
          "committed_at": "2026-03-01T19:34:50Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "d7953de8c0705884a21461fccc9233f25f57de99",
          "body": "The 1.13 Gradle 9 compatibility fix replaced extendsFrom() with a\nmanual file-set union when combining the common classpath with each\nmachine-specific configuration. This bypassed Gradle's dependency\nconflict resolution, causing multiple versions of the same library\n(e.g. kotlin-stdlib, kotlinx-coro\n[…]\need on versions.\n\nFix by resolving common and machine-specific dependencies together in\na single detachedConfiguration(), restoring the unified resolution\ngraph that extendsFrom() previously provided.",
          "is_bot": false,
          "headline": "gradle-plugin: fix duplicate JAR versions in packaged builds",
          "author_name": "Sean Proctor",
          "author_login": "sproctor",
          "committed_at": "2026-02-24T15:27:50Z",
          "body_truncated": true,
          "is_coding_agent": false
        },
        {
          "oid": "2ac3ac7e9b1e42a28135f30606f875232470a1fd",
          "body": null,
          "is_bot": false,
          "headline": "Conveyor: make the list of allowed jvm options configurable.",
          "author_name": "Mike Hearn",
          "author_login": "mikehearn",
          "committed_at": "2026-01-27T15:16:45Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "37dae4da9e1d6eebe9eb82f26bbf9d94569dcaa0",
          "body": null,
          "is_bot": false,
          "headline": "Conveyor: bump Gradle plugin version to v1.13",
          "author_name": "Mike Hearn",
          "author_login": "mikehearn",
          "committed_at": "2026-01-20T15:27:40Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "303d21ee6f4521fd7a8b36e69d5c0d09f2c71a66",
          "body": null,
          "is_bot": false,
          "headline": "Gradle plugin: v1.13: support Gradle 9",
          "author_name": "Mike Hearn",
          "author_login": "mikehearn",
          "committed_at": "2026-01-20T15:27:27Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "683fe69fdf903518bb6cbd89291d082a8fb3e041",
          "body": null,
          "is_bot": false,
          "headline": "Guidebook: update release notes for 21.1",
          "author_name": "Mike Hearn",
          "author_login": "mikehearn",
          "committed_at": "2026-01-16T19:26:33Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "a8c0249db123c22fd4319de42cc58ad4e54f2175",
          "body": null,
          "is_bot": false,
          "headline": "Guidebook: improved Maven command suggestion, courtesy of Wim Deblauwe",
          "author_name": "Mike Hearn",
          "author_login": "mikehearn",
          "committed_at": "2025-12-02T11:26:42Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "11aae462fc6ad90e6c2082d27e6e6bf46f7931ca",
          "body": null,
          "is_bot": false,
          "headline": "Guidebook: add level 21 to the compatibility-levels.md doc.",
          "author_name": "Mike Hearn",
          "author_login": "mikehearn",
          "committed_at": "2025-11-18T11:33:20Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "35d09a19db7d104de7d7f0dd267d477c745e9276",
          "body": null,
          "is_bot": false,
          "headline": "Update release notes for Conveyor 21",
          "author_name": "Mike Hearn",
          "author_login": "mikehearn",
          "committed_at": "2025-11-14T15:35:48Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "5846b5c35d7dbe3da5aa2daef520fdeb96b0d4aa",
          "body": null,
          "is_bot": false,
          "headline": "Conveyor: upgrade to Sparkle 2.8.0",
          "author_name": "Mike Hearn",
          "author_login": "mikehearn",
          "committed_at": "2025-10-14T17:08:20Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "e4fc719cdae944c10c03176495f1d5b4484b7acb",
          "body": null,
          "is_bot": false,
          "headline": "Gudiebook: fix a 404 as the Sparkle homepage changed",
          "author_name": "Mike Hearn",
          "author_login": "mikehearn",
          "committed_at": "2025-10-14T15:54:56Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "43f8651355c751d2526dcb600084fd1fc9b68985",
          "body": "…y from the right place.",
          "is_bot": false,
          "headline": "Conveyor: add another JNA property to encourage it to load the librar…",
          "author_name": "Mike Hearn",
          "author_login": "mikehearn",
          "committed_at": "2025-10-14T15:54:56Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "cea939a9d8796f49ff9cf10b92cf244c2909be64",
          "body": null,
          "is_bot": false,
          "headline": "Conveyor: infer MSIX caps for elevation and uiAccess from EXE manifests.",
          "author_name": "Mike Hearn",
          "author_login": "mikehearn",
          "committed_at": "2025-10-07T14:55:20Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "3abf1d16f82c254cded6b155bd5dc519e08bf94e",
          "body": "^CO-682 State Fixed",
          "is_bot": false,
          "headline": "Conveyor: add support for elevation to the installer.",
          "author_name": "Mike Hearn",
          "author_login": "mikehearn",
          "committed_at": "2025-09-30T18:22:17Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "e3bbec29240b501474d68a2a3c80fcdb4b2cb47f",
          "body": null,
          "is_bot": false,
          "headline": "Refresh release notes.",
          "author_name": "Mike Hearn",
          "author_login": "mikehearn",
          "committed_at": "2025-09-19T18:44:36Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "359a5d1bef5993dae2635ec2319da9d30ac15df4",
          "body": null,
          "is_bot": false,
          "headline": "Update release notes.",
          "author_name": "Mike Hearn",
          "author_login": "mikehearn",
          "committed_at": "2025-09-13T20:17:29Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "87590f062039984166145b13c97b8aedb9195d04",
          "body": null,
          "is_bot": false,
          "headline": "Conveyor: implement a new aggressive-if-possible mode for Windows.",
          "author_name": "Mike Hearn",
          "author_login": "mikehearn",
          "committed_at": "2025-08-09T19:57:04Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "515a8e1f7880e37dd1ca193e9a423bf19abecc29",
          "body": null,
          "is_bot": false,
          "headline": "Conveyor: implement a new aggressive-if-possible mode for macOS.",
          "author_name": "Mike Hearn",
          "author_login": "mikehearn",
          "committed_at": "2025-08-09T13:44:43Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "cf1fdf6a2a897d79f7b0b1aeff985e80cbf64248",
          "body": null,
          "is_bot": false,
          "headline": "Guidebook: update compatibility-levels.md",
          "author_name": "Mike Hearn",
          "author_login": "mikehearn",
          "committed_at": "2025-07-29T14:44:40Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "61896d27c6bf16a28dea6d4e44032418cb3a1a73",
          "body": null,
          "is_bot": false,
          "headline": "Guidebook: update release notes.",
          "author_name": "Mike Hearn",
          "author_login": "mikehearn",
          "committed_at": "2025-07-22T13:19:38Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "fc89eeb43d13f98f5eb06c68d701a3582c128c88",
          "body": null,
          "is_bot": false,
          "headline": "Conveyor: allow packages to support >1 debian distribution.",
          "author_name": "Mike Hearn",
          "author_login": "mikehearn",
          "committed_at": "2025-07-15T17:15:24Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "831d9973f14a07aaf8ebd120a36ff3e621611691",
          "body": null,
          "is_bot": false,
          "headline": "Guidebook: fix broken links.",
          "author_name": "Mike Hearn",
          "author_login": "mikehearn",
          "committed_at": "2025-07-08T10:14:23Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "a9086edb4aa90c4aac6bb3c9cb023ea8fd6829a1",
          "body": null,
          "is_bot": false,
          "headline": "Guidebook: bump mkdocs-material version and update release notes.",
          "author_name": "Mike Hearn",
          "author_login": "mikehearn",
          "committed_at": "2025-07-08T09:54:01Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "b03aa8496ca685a992153ee42684e541201af34a",
          "body": null,
          "is_bot": false,
          "headline": "Guidebook: move ATS section up.",
          "author_name": "Mike Hearn",
          "author_login": "mikehearn",
          "committed_at": "2025-07-08T09:54:01Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "8559b07b5274381ff41144b8fdd53f5952150175",
          "body": null,
          "is_bot": false,
          "headline": "Guidebook: fix a mistake in the description of what && does",
          "author_name": "Mike Hearn",
          "author_login": "mikehearn",
          "committed_at": "2025-06-28T14:24:59Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "9a2f5c2749feeadf3c6ffe382e01b4b466aa24ba",
          "body": "…ons.\n\n^CO-672 State Fixed",
          "is_bot": false,
          "headline": "Conveyor: make API triggered updates on macOS skip all user interacti…",
          "author_name": "Mike Hearn",
          "author_login": "mikehearn",
          "committed_at": "2025-06-24T17:23:43Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "df788982bc53064a585c6505098e161786105fdf",
          "body": null,
          "is_bot": false,
          "headline": "Guidebook: fix name of the Sparkle input definition object.",
          "author_name": "Mike Hearn",
          "author_login": "mikehearn",
          "committed_at": "2025-06-24T17:23:43Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "ad88d89dd820f44b6dfae9d265f6d72eaaaff5b8",
          "body": null,
          "is_bot": false,
          "headline": "Conveyor: generate access token using the az CLI tool.",
          "author_name": "Mike Hearn",
          "author_login": "mikehearn",
          "committed_at": "2025-05-27T10:14:11Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "c4bf0eac3739afd49cd985a044ea02244e01114b",
          "body": "Add comprehensive documentation for Azure Trusted Signing to the user guide in the cloud remote signing section. The documentation includes:\n\n- Configuration syntax and examples\n- Setup requirements (Azure account, certificate profile, API token)\n- Azure CLI token acquisition instructions\n- Alias fo\n[…]\n users with clear step-by-step instructions for configuring Azure Trusted Signing with Conveyor.\n\n🤖 Generated with [Claude Code](https://claude.ai/code)\n\nCo-Authored-By: Claude <noreply@anthropic.com>",
          "is_bot": false,
          "headline": "Docs: add Azure Trusted Signing configuration guide",
          "author_name": "Mike Hearn",
          "author_login": "mikehearn",
          "committed_at": "2025-05-25T13:05:15Z",
          "body_truncated": true,
          "is_coding_agent": true
        },
        {
          "oid": "7176bf47e3df21cd34e560d16ec405b8d23cceec",
          "body": null,
          "is_bot": false,
          "headline": "Guidebook: update compatibility-levels.md",
          "author_name": "Mike Hearn",
          "author_login": "mikehearn",
          "committed_at": "2025-04-29T20:18:53Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "a56a8c7324eeb755a54985890a3d759b59dc8540",
          "body": null,
          "is_bot": false,
          "headline": "Guidebook: update release notes.",
          "author_name": "Mike Hearn",
          "author_login": "mikehearn",
          "committed_at": "2025-04-29T10:44:51Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "0ad291214a27db651b99e0c6d0f47937141692b5",
          "body": null,
          "is_bot": false,
          "headline": "Configure JDK toolchain download in Gradle.",
          "author_name": "Mike Hearn",
          "author_login": "mikehearn",
          "committed_at": "2025-04-13T11:25:41Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "65580db05b2d01d4211a71eab9978db07e2ece60",
          "body": null,
          "is_bot": false,
          "headline": "Guidebook: adjust default min sys requirements docs.",
          "author_name": "Mike Hearn",
          "author_login": "mikehearn",
          "committed_at": "2025-04-08T16:17:17Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "d951efead3661665a35c3298ef9756ec71d2fcd7",
          "body": "More trouble than it was worth.\n\n^CO-627 State Fixed",
          "is_bot": false,
          "headline": "Conveyor: Delete the framework symlink removal feature.",
          "author_name": "Mike Hearn",
          "author_login": "mikehearn",
          "committed_at": "2025-04-08T14:58:06Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "6c37a9707f8bc21e74e9524fe3ba5bdb3f1bd4a8",
          "body": null,
          "is_bot": false,
          "headline": "Conveyor: add Truffle specific JVM options.",
          "author_name": "Mike Hearn",
          "author_login": "mikehearn",
          "committed_at": "2025-04-06T14:07:44Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "4448a3d3b7d1ed264cf5f955213b5991e8af4a1f",
          "body": "…ng \"steps\" to use proguard. Also it re-orders the `[PLATFORM_NAME].inputs` paths.\n\nAuthor: Colton Idle.",
          "is_bot": false,
          "headline": "Guidebook: Trims down some of the ProGuard-related copy while providi…",
          "author_name": "Mike Hearn",
          "author_login": "mikehearn",
          "committed_at": "2025-04-06T14:07:44Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "f63af56c90b6c82d62e6b9cc733fa143098a3ac5",
          "body": null,
          "is_bot": false,
          "headline": "Guidebook: update release notes.",
          "author_name": "Mike Hearn",
          "author_login": "mikehearn",
          "committed_at": "2025-04-04T20:24:26Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "ebe1ddef55158767ec8771a10e61ec4717845cfc",
          "body": null,
          "is_bot": false,
          "headline": "Conveyor: allow force-path-style on s3",
          "author_name": "Mike Hearn",
          "author_login": "mikehearn",
          "committed_at": "2025-04-03T19:53:02Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "a0802f0d2892733e53dabc3347a0d4197c107b9f",
          "body": "This reverts commit 46706b79aa497a3288571e3c27d8f70922b67605.",
          "is_bot": false,
          "headline": "Revert \"Conveyor: allow force-path-style on s3 endpoints\"",
          "author_name": "Mike Hearn",
          "author_login": "mikehearn",
          "committed_at": "2025-04-03T19:50:53Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "63cab8018dc93bb62ba461bb543af4c02e2e1bc8",
          "body": null,
          "is_bot": false,
          "headline": "Guidebook: update GH action version.",
          "author_name": "Mike Hearn",
          "author_login": "mikehearn",
          "committed_at": "2025-03-25T19:33:56Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "85456cde72298b0200d41fcab3954093ffce3859",
          "body": "^CO-651 State Fixed",
          "is_bot": false,
          "headline": "Conveyor: allow force-path-style on s3 endpoints",
          "author_name": "Mike Hearn",
          "author_login": "mikehearn",
          "committed_at": "2025-03-25T17:20:45Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "63f1cbcc2a11f00c9f067b7ee387de903a87f515",
          "body": "This makes applying it easier and means we can tell what the user's intent is from code, should we need that.\n\nAlso, set Mac distribution to MAS when using Squirrel migration.",
          "is_bot": false,
          "headline": "Conveyor: make squirrel migration config be a separate stdlib file.",
          "author_name": "Mike Hearn",
          "author_login": "mikehearn",
          "committed_at": "2025-03-23T14:57:39Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "8f3d22eab8f0cdde4c4093a83409ec8faeddaafa",
          "body": "…win build.\n\n^CO-649",
          "is_bot": false,
          "headline": "Conveyor: don't crash when using the squirrel migration code with Dar…",
          "author_name": "Mike Hearn",
          "author_login": "mikehearn",
          "committed_at": "2025-03-23T14:47:28Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "d82ef64dd822c44f0d073b13958a59ddab2f3357",
          "body": "…ilde expansion in JVM options and the classpath.",
          "is_bot": false,
          "headline": "Conveyor: improve the launcher rebuild process, and add support for t…",
          "author_name": "Mike Hearn",
          "author_login": "mikehearn",
          "committed_at": "2025-03-23T13:57:36Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "b06e8e1400fef1f4cb1b42b9f902e83d38701434",
          "body": null,
          "is_bot": false,
          "headline": "Guidebook: reset release notes for v17",
          "author_name": "Mike Hearn",
          "author_login": "mikehearn",
          "committed_at": "2025-03-16T20:58:53Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "122234b0833fa30d28157d67f615f1e023bf84a2",
          "body": null,
          "is_bot": false,
          "headline": "Guidebook: move docs on uploads and add a tip for configuring Fastly",
          "author_name": "Mike Hearn",
          "author_login": "mikehearn",
          "committed_at": "2025-03-15T23:00:30Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "2b033360aa5e1b183bc673e60cffca1325538f79",
          "body": null,
          "is_bot": false,
          "headline": "Fix typo in platform specific file-associations keys in docs.",
          "author_name": "Michael Whapples",
          "author_login": null,
          "committed_at": "2025-03-09T18:35:30Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "daee02eb0f583d726c48a1ff4e82196a1b2dd75c",
          "body": null,
          "is_bot": false,
          "headline": "Link to the KMP sample repo.",
          "author_name": "Mike Hearn",
          "author_login": "mikehearn",
          "committed_at": "2025-03-09T18:34:52Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "05d91669f4ea921dbfb9e91ed9cabe8dbc15547b",
          "body": null,
          "is_bot": false,
          "headline": "Conveyor: Update Compose template app to latest Multiplatform standards.",
          "author_name": "Mike Hearn",
          "author_login": "mikehearn",
          "committed_at": "2025-03-09T15:49:41Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "483cc8a24aa16fef7f7a15198eba92d2c6a1c09c",
          "body": null,
          "is_bot": false,
          "headline": "Guidebook: update old Gradle plugin version numbers.",
          "author_name": "Mike Hearn",
          "author_login": "mikehearn",
          "committed_at": "2025-03-09T15:49:41Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "4133db9d8949919572e4c74fde48ac720ca5ef54",
          "body": null,
          "is_bot": false,
          "headline": "Guidebook: update compatibility-levels.md page",
          "author_name": "Mike Hearn",
          "author_login": "mikehearn",
          "committed_at": "2025-02-18T12:28:15Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "bacb2be71c0042ac7fadecdd2ed6a8014cf51b60",
          "body": null,
          "is_bot": false,
          "headline": "Refresh release notes.",
          "author_name": "Mike Hearn",
          "author_login": "mikehearn",
          "committed_at": "2025-02-16T17:09:48Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "4db9f1d6f404f9aa95c9faf3d9548431c4314806",
          "body": null,
          "is_bot": false,
          "headline": "Conveyor: allow the AWS SDK to use default environment credentials.",
          "author_name": "Mike Hearn",
          "author_login": "mikehearn",
          "committed_at": "2025-02-16T14:58:10Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "9f86482a4048373f564e5802ec4b1a045c2ef9f0",
          "body": null,
          "is_bot": false,
          "headline": "Factory: Add --silent flag to disable progress tracking output",
          "author_name": "Mike Hearn",
          "author_login": "mikehearn",
          "committed_at": "2025-02-16T14:27:14Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "af5b5862713823aed6e2b467c92846a4985ace44",
          "body": "…ogging of diffs independently of the trace level logging.",
          "is_bot": false,
          "headline": "DiskCache: Improve robustness to deleted directories and enable the l…",
          "author_name": "Mike Hearn",
          "author_login": "mikehearn",
          "committed_at": "2025-02-11T15:37:13Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "5b539dcef6b0849669453ce089d2d733172dfd71",
          "body": null,
          "is_bot": false,
          "headline": "Refresh release notes.",
          "author_name": "Mike Hearn",
          "author_login": "mikehearn",
          "committed_at": "2025-02-11T15:37:13Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "6bca4363577ccaf2a5b53f7716576f0d92f22b5d",
          "body": "This reverts commit df846252.\n\nThe approach caused a bad regression that's awkward to fix (we assume the JAR file names don't change after ProcessedJarsTask). And overall it's just not a good fix: version numbers in JARs can be useful when interpreting stack traces.",
          "is_bot": false,
          "headline": "Revert \"Conveyor: strip version numbers from JARs.\"",
          "author_name": "Mike Hearn",
          "author_login": "mikehearn",
          "committed_at": "2025-02-09T14:03:11Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "1cddb799bc5475e850d05dabb399e3e5d9a78448",
          "body": "^CO-631 State Fixed",
          "is_bot": false,
          "headline": "Conveyor: strip version numbers from JARs.",
          "author_name": "Mike Hearn",
          "author_login": "mikehearn",
          "committed_at": "2025-01-25T18:32:06Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "37141968b63749239f2e8a039a13b3c4bf30cca5",
          "body": null,
          "is_bot": false,
          "headline": "Conveyor: build a newly generated project automatically.",
          "author_name": "Mike Hearn",
          "author_login": "mikehearn",
          "committed_at": "2025-01-21T09:54:10Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "e79a8fc4174222069aa7b77f6a8005edbbd85cb6",
          "body": "^CO-548 State Fixed",
          "is_bot": false,
          "headline": "Conveyor: document the S3 retries option.",
          "author_name": "Mike Hearn",
          "author_login": "mikehearn",
          "committed_at": "2025-01-14T10:17:34Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "19acd079346fca256357d167a2a3bd4e17a10da3",
          "body": "…release.",
          "is_bot": false,
          "headline": "Guidebook: remove release notes for things that will go into a point …",
          "author_name": "Mike Hearn",
          "author_login": "mikehearn",
          "committed_at": "2024-12-30T15:22:27Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "5500e37101583ecee803f719073fcc243dcc235c",
          "body": null,
          "is_bot": false,
          "headline": "Conveyor: allow ARM only builds for Mac.",
          "author_name": "Mike Hearn",
          "author_login": "mikehearn",
          "committed_at": "2024-12-30T13:11:32Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "00835edf9e2a9dc429caa13ca32495365135bc92",
          "body": "…to detect path.",
          "is_bot": false,
          "headline": "Conveyor: make it easier to configure a YubiKey too, and unify the au…",
          "author_name": "Mike Hearn",
          "author_login": "mikehearn",
          "committed_at": "2024-12-12T15:58:57Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "88324c8e6c2533c6ab5e89204aea4acea16d228a",
          "body": "… scanning code from JSign.",
          "is_bot": false,
          "headline": "Conveyor: make it easier to configure a SafeNet eToken using the path…",
          "author_name": "Mike Hearn",
          "author_login": "mikehearn",
          "committed_at": "2024-12-12T15:40:28Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "531c5e79493b947a260e26f2c2d24d99a42ed23d",
          "body": null,
          "is_bot": false,
          "headline": "Guidebook: add cargo.rs snippet for preparing native binaries.",
          "author_name": "Mike Hearn",
          "author_login": "mikehearn",
          "committed_at": "2024-12-12T09:51:11Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "f1b2abaf069e06a41032e1581466b3260c40721e",
          "body": null,
          "is_bot": false,
          "headline": "Guidebook: add date to the release in the release notes.",
          "author_name": "Mike Hearn",
          "author_login": "mikehearn",
          "committed_at": "2024-12-12T09:49:05Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "6d52e712fac8fd5604e0296b4d36e8d54c08b54e",
          "body": null,
          "is_bot": false,
          "headline": "Guidebook: refresh release notes.",
          "author_name": "Mike Hearn",
          "author_login": "mikehearn",
          "committed_at": "2024-12-08T16:58:29Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "c40dad141c5df2e06caf416c00755d7f795788f2",
          "body": null,
          "is_bot": false,
          "headline": "Guidebook: update compatibility-levels.md",
          "author_name": "Mike Hearn",
          "author_login": "mikehearn",
          "committed_at": "2024-12-08T16:55:49Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "51a7610518aae557e58a09e633c3a45f829831b8",
          "body": null,
          "is_bot": false,
          "headline": "Guidebook: refresh known issues list.",
          "author_name": "Mike Hearn",
          "author_login": "mikehearn",
          "committed_at": "2024-12-03T16:37:33Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "9c34448e1ae3653febd4eec0a2c67f9e57e24503",
          "body": null,
          "is_bot": false,
          "headline": "Guidebook: update release notes.",
          "author_name": "Mike Hearn",
          "author_login": "mikehearn",
          "committed_at": "2024-12-03T16:25:19Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "4105275ca02a819b7d7832ec263a30626d64f353",
          "body": "… the user guide.",
          "is_bot": false,
          "headline": "Guidebook: update release notes and mention `app.updates = manual` in…",
          "author_name": "Mike Hearn",
          "author_login": "mikehearn",
          "committed_at": "2024-12-03T15:50:45Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "87e2951fe1b942068354bff9e67c80665cd1d087",
          "body": null,
          "is_bot": false,
          "headline": "Update release notes.",
          "author_name": "Mike Hearn",
          "author_login": "mikehearn",
          "committed_at": "2024-12-01T18:44:58Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "68ed204baec6caaa62d022e831fc0448354d7282",
          "body": null,
          "is_bot": false,
          "headline": "Conveyor: add AUMID to package.json",
          "author_name": "Mike Hearn",
          "author_login": "mikehearn",
          "committed_at": "2024-12-01T18:20:33Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "4ee5aba532027faff85d3b9b2ec2edf53dfa7189",
          "body": "^CO-614 State Fixed",
          "is_bot": false,
          "headline": "Conveyor: expose the Windows AUMID in a JVM system property.",
          "author_name": "Mike Hearn",
          "author_login": "mikehearn",
          "committed_at": "2024-12-01T16:49:56Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "57585d703b3702f2ef9a615bd3d3895b3d5879fb",
          "body": null,
          "is_bot": false,
          "headline": "Merge open with upstream",
          "author_name": "Mike Hearn",
          "author_login": "mikehearn",
          "committed_at": "2024-11-26T14:50:37Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "84bde3d856f2ba47ac22184c038d60dbeed0da17",
          "body": "…n-type-declarations\n\nAdd Typescript type declaration file to conveyor-control; Missing error message",
          "is_bot": false,
          "headline": "Merge pull request #133 from bonnyrivers/bonnyrivers/conveyor-electro…",
          "author_name": "Mike Hearn",
          "author_login": "mikehearn",
          "committed_at": "2024-11-26T14:46:23Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "7b0e76fb17a25d630e768d6335ba5dfbd6a81b98",
          "body": null,
          "is_bot": false,
          "headline": "fix spacing",
          "author_name": "Bonny Rivers",
          "author_login": "bonnyrivers",
          "committed_at": "2024-11-19T17:46:56Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "84d7b5fca5bc84c9063a126cb3f4164086ef58e7",
          "body": null,
          "is_bot": false,
          "headline": "fix spacing",
          "author_name": "Bonny Rivers",
          "author_login": "bonnyrivers",
          "committed_at": "2024-11-19T17:40:40Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "4fe29c307e2813e0c4d2cd5ea0d73d0176c9c0b3",
          "body": null,
          "is_bot": false,
          "headline": "fix spacing",
          "author_name": "Bonny Rivers",
          "author_login": "bonnyrivers",
          "committed_at": "2024-11-19T17:40:02Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "a88b429dec12f48a93aef348ef62a7c1e0ba4105",
          "body": "…rror messaging from canTriggerUpdateCheckUI()",
          "is_bot": false,
          "headline": "Add type declaration file for typescript applications. Adds missing e…",
          "author_name": "Bonny Rivers",
          "author_login": "bonnyrivers",
          "committed_at": "2024-11-19T17:35:56Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "dc966930ebb8a0507bd8c461aed8d9663862e163",
          "body": null,
          "is_bot": false,
          "headline": "Update release notes.",
          "author_name": "Mike Hearn",
          "author_login": "mikehearn",
          "committed_at": "2024-11-14T22:15:30Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "e5189cc82c065799df1d809616498b37cac6bf92",
          "body": null,
          "is_bot": false,
          "headline": "Update release notes.",
          "author_name": "Mike Hearn",
          "author_login": "mikehearn",
          "committed_at": "2024-11-14T22:00:41Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "f712e052ab179a5931f5d0f05508a24024a9a8fc",
          "body": "^CO-541 State Fixed",
          "is_bot": false,
          "headline": "Conveyor: Add support for creating draft GitHub releases.",
          "author_name": "Mike Hearn",
          "author_login": "mikehearn",
          "committed_at": "2024-11-12T18:05:22Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "c5584ce4a401f57036d43f846b6df19285e1d57e",
          "body": null,
          "is_bot": false,
          "headline": "Guidebook: mention stapling time limits in the performance docs.",
          "author_name": "Mike Hearn",
          "author_login": "mikehearn",
          "committed_at": "2024-10-26T20:14:34Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "a9d7563bed34f9837eb919670b454676370e2afd",
          "body": null,
          "is_bot": false,
          "headline": "Gradle plugin: make it compatible with Gradle 8.10",
          "author_name": "Mike Hearn",
          "author_login": "mikehearn",
          "committed_at": "2024-10-26T20:14:34Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "dbd060bd832c21baa6639a73810f3222157c1b56",
          "body": null,
          "is_bot": false,
          "headline": "Docs: mention that S3 buckets have to be public.",
          "author_name": "Mike Hearn",
          "author_login": "mikehearn",
          "committed_at": "2024-10-26T20:14:34Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "4a11ff33e050f8bd6725efab8a6f87fb5db7d265",
          "body": null,
          "is_bot": false,
          "headline": "Update cache action to v4 from v3",
          "author_name": "Mark Burch",
          "author_login": "mark-burch",
          "committed_at": "2024-10-26T19:48:34Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "74da19530d4cd0b5f0ae57d1bc7f323756f8d311",
          "body": "Update cache action to v4 from v3",
          "is_bot": false,
          "headline": "Merge pull request #131 from alwaysbemark/master",
          "author_name": "Mike Hearn",
          "author_login": "mikehearn",
          "committed_at": "2024-10-26T19:27:19Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "d948e37cbac646547db6d4318dccc46be1721c1f",
          "body": null,
          "is_bot": false,
          "headline": "Update cache action to v4 from v3",
          "author_name": "Mark Burch",
          "author_login": "mark-burch",
          "committed_at": "2024-10-25T05:55:55Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "c25f3b3cfb92891e355d44f0e7bc25d457888a31",
          "body": null,
          "is_bot": false,
          "headline": "Guidebook: mention stapling time limits in the performance docs.",
          "author_name": "Mike Hearn",
          "author_login": "mikehearn",
          "committed_at": "2024-10-19T13:51:11Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "cb4f51b069b9385dbf49daa35a5eb354aceb6bdb",
          "body": null,
          "is_bot": false,
          "headline": "Gradle plugin: make it compatible with Gradle 8.10",
          "author_name": "Mike Hearn",
          "author_login": "mikehearn",
          "committed_at": "2024-10-19T12:06:43Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "ab9615021118e39615b44924782a0172b3f0d84d",
          "body": null,
          "is_bot": false,
          "headline": "Docs: mention that S3 buckets have to be public.",
          "author_name": "Mike Hearn",
          "author_login": "mikehearn",
          "committed_at": "2024-10-16T21:10:01Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "d1a7d7d5506a526a84183fc470b0b058089c0edb",
          "body": "Fixes #124",
          "is_bot": false,
          "headline": "Electron Control API: fix running outside of packaged context.",
          "author_name": "Mike Hearn (aider)",
          "author_login": "mikehearn",
          "committed_at": "2024-09-25T18:48:05Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "01b786b2475aae39768307c1daff4ef05c8ef825",
          "body": "Fixes #124",
          "is_bot": false,
          "headline": "Electron Control API: fix running outside of packaged context.",
          "author_name": "Mike Hearn (aider)",
          "author_login": "mikehearn",
          "committed_at": "2024-09-25T18:47:29Z",
          "body_truncated": false,
          "is_coding_agent": false
        }
      ],
      "releases_count": 0,
      "commits_last_year": 24,
      "latest_release_at": null,
      "latest_release_tag": null,
      "releases_from_tags": false,
      "days_since_last_push": 8,
      "active_weeks_last_year": 14,
      "days_since_latest_release": null,
      "mean_days_between_releases": null
    },
    "community": {
      "has_readme": true,
      "has_license": true,
      "has_description": true,
      "has_contributing": false,
      "health_percentage": 50,
      "has_issue_template": false,
      "has_code_of_conduct": false,
      "has_pull_request_template": false
    },
    "ecosystem": {
      "packages": [
        {
          "name": "@hydraulic/override-zip",
          "exists": true,
          "license": "Apache-2.0",
          "keywords": [
            "packaging",
            "deployment",
            "electron",
            "macos",
            "windows",
            "desktop",
            "squirrel"
          ],
          "ecosystem": "npm",
          "matches_repo": null,
          "registry_url": "https://www.npmjs.com/package/@hydraulic/override-zip",
          "is_deprecated": false,
          "latest_version": "22.1.0",
          "repository_url": null,
          "versions_count": 20,
          "total_downloads": null,
          "dependents_count": null,
          "deprecation_note": null,
          "maintainers_count": 2,
          "monthly_downloads": 264,
          "first_published_at": "2023-10-18T14:30:55.464000Z",
          "latest_published_at": "2026-07-21T18:07:32.117000Z",
          "latest_version_yanked": null,
          "days_since_latest_publish": 8
        },
        {
          "name": "@hydraulic/conveyor-control",
          "exists": true,
          "license": "Apache-2.0",
          "keywords": [
            "packaging",
            "deployment",
            "electron",
            "macos",
            "windows",
            "desktop",
            "conveyor"
          ],
          "ecosystem": "npm",
          "matches_repo": true,
          "registry_url": "https://www.npmjs.com/package/@hydraulic/conveyor-control",
          "is_deprecated": false,
          "latest_version": "1.3.0",
          "repository_url": "https://github.com/hydraulic-software/conveyor",
          "versions_count": 4,
          "total_downloads": null,
          "dependents_count": null,
          "deprecation_note": null,
          "maintainers_count": 2,
          "monthly_downloads": 3520,
          "first_published_at": "2024-07-23T16:01:11.369000Z",
          "latest_published_at": "2024-12-09T20:34:20.779000Z",
          "latest_version_yanked": null,
          "days_since_latest_publish": 597
        },
        {
          "name": "@hydraulic/migrate-to-conveyor",
          "exists": true,
          "license": "Apache-2.0",
          "keywords": [
            "packaging",
            "deployment",
            "electron",
            "macos",
            "windows",
            "desktop",
            "squirrel"
          ],
          "ecosystem": "npm",
          "matches_repo": true,
          "registry_url": "https://www.npmjs.com/package/@hydraulic/migrate-to-conveyor",
          "is_deprecated": false,
          "latest_version": "22.1.0",
          "repository_url": "https://github.com/hydraulic-software/conveyor",
          "versions_count": 19,
          "total_downloads": null,
          "dependents_count": null,
          "deprecation_note": null,
          "maintainers_count": 2,
          "monthly_downloads": 1523,
          "first_published_at": "2023-11-02T15:09:28.953000Z",
          "latest_published_at": "2026-07-21T18:07:29.792000Z",
          "latest_version_yanked": null,
          "days_since_latest_publish": 8
        }
      ]
    },
    "popularity": {
      "forks": 16,
      "stars": 175,
      "watchers": 3,
      "fork_history": {
        "days": [
          {
            "date": "2022-07-28",
            "count": 1
          },
          {
            "date": "2022-09-29",
            "count": 1
          },
          {
            "date": "2023-02-05",
            "count": 1
          },
          {
            "date": "2023-03-23",
            "count": 1
          },
          {
            "date": "2023-04-01",
            "count": 1
          },
          {
            "date": "2023-06-07",
            "count": 1
          },
          {
            "date": "2023-11-27",
            "count": 1
          },
          {
            "date": "2024-02-29",
            "count": 1
          },
          {
            "date": "2024-03-12",
            "count": 1
          },
          {
            "date": "2024-10-25",
            "count": 1
          },
          {
            "date": "2024-11-19",
            "count": 1
          },
          {
            "date": "2025-02-21",
            "count": 1
          },
          {
            "date": "2025-03-25",
            "count": 1
          },
          {
            "date": "2025-04-13",
            "count": 1
          },
          {
            "date": "2025-09-22",
            "count": 1
          },
          {
            "date": "2026-04-22",
            "count": 1
          }
        ],
        "complete": true,
        "collected": 16,
        "total_forks": 16
      },
      "star_history": null,
      "open_issues_and_prs": 25
    },
    "ai_readiness": {
      "has_nix": false,
      "example_dirs": [],
      "has_llms_txt": false,
      "has_dockerfile": false,
      "has_mcp_signal": false,
      "bootstrap_files": [],
      "api_schema_files": [],
      "has_devcontainer": false,
      "typecheck_configs": [],
      "toolchain_manifests": [
        "build.gradle.kts",
        "gradle-plugin/build.gradle.kts"
      ],
      "largest_source_bytes": 18444,
      "source_files_sampled": 10,
      "oversized_source_files": 0,
      "agent_instruction_files": [],
      "agent_instruction_max_bytes": null
    },
    "dependencies": {
      "manifests": [
        "build.gradle.kts",
        "gradle-plugin/build.gradle.kts",
        "guidebook/Pipfile"
      ],
      "advisories": {
        "error": null,
        "scope": "published_package",
        "source": "osv",
        "findings": [
          {
            "name": "brace-expansion",
            "direct": false,
            "version": "1.1.16",
            "severity": "high",
            "ecosystem": "npm",
            "cvss_score": 7.5,
            "advisory_ids": [
              "GHSA-mh99-v99m-4gvg"
            ],
            "fixed_version": "5.0.8",
            "advisory_count": 1,
            "oldest_advisory_days": 5
          },
          {
            "name": "tar",
            "direct": false,
            "version": "6.2.1",
            "severity": "high",
            "ecosystem": "npm",
            "cvss_score": 8.8,
            "advisory_ids": [
              "GHSA-23hp-3jrh-7fpw",
              "GHSA-34x7-hfp2-rc4v",
              "GHSA-83g3-92jg-28cx",
              "GHSA-8qq5-rm4j-mr97",
              "GHSA-8x88-c5mf-7j5w",
              "GHSA-9ppj-qmqm-q256",
              "GHSA-gvwx-54wh-qm9j",
              "GHSA-qffp-2rhf-9h96",
              "GHSA-r292-9mhp-454m",
              "GHSA-r6q2-hw4h-h46w"
            ],
            "fixed_version": "7.5.21",
            "advisory_count": 12,
            "oldest_advisory_days": 194
          }
        ],
        "collected": true,
        "malicious": [],
        "truncated": false,
        "by_severity": {
          "high": 2
        },
        "advisory_count": 13,
        "affected_count": 2,
        "assessed_count": 227,
        "malicious_count": 0,
        "assessed_package": "npm:@hydraulic/override-zip@22.1.0",
        "unassessed_count": 0,
        "direct_affected_count": 0
      },
      "ecosystems": [
        "maven",
        "pypi"
      ],
      "dependencies": [
        {
          "name": "koffi",
          "manifest": "electron/conveyor-control/package.json",
          "ecosystem": "npm",
          "version_constraint": "^2.5.8"
        },
        {
          "name": "debug",
          "manifest": "electron/migrate-to-conveyor/package.json",
          "ecosystem": "npm",
          "version_constraint": "^4.3.4"
        },
        {
          "name": "electron-is-dev",
          "manifest": "electron/migrate-to-conveyor/package.json",
          "ecosystem": "npm",
          "version_constraint": "^2.0.0"
        },
        {
          "name": "electron-squirrel-startup",
          "manifest": "electron/migrate-to-conveyor/package.json",
          "ecosystem": "npm",
          "version_constraint": "^1.0.0"
        },
        {
          "name": "@electron-forge/plugin-base",
          "manifest": "electron/override-zip/package.json",
          "ecosystem": "npm",
          "version_constraint": "^6.4.2"
        }
      ],
      "all_dependencies": {
        "error": null,
        "source": "github-sbom",
        "packages": [
          {
            "name": "@electron-forge/plugin-base",
            "direct": true,
            "version": "6.4.2",
            "ecosystem": "npm"
          },
          {
            "name": "debug",
            "direct": true,
            "version": "2.6.9",
            "ecosystem": "npm"
          },
          {
            "name": "debug",
            "direct": true,
            "version": "4.3.4",
            "ecosystem": "npm"
          },
          {
            "name": "electron-is-dev",
            "direct": true,
            "version": "2.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "electron-squirrel-startup",
            "direct": true,
            "version": "1.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "koffi",
            "direct": true,
            "version": "^2.5.8",
            "ecosystem": "npm"
          },
          {
            "name": "@electron-forge/shared-types",
            "direct": false,
            "version": "6.4.2",
            "ecosystem": "npm"
          },
          {
            "name": "@electron/asar",
            "direct": false,
            "version": "3.2.7",
            "ecosystem": "npm"
          },
          {
            "name": "@electron/get",
            "direct": false,
            "version": "2.0.3",
            "ecosystem": "npm"
          },
          {
            "name": "@electron/notarize",
            "direct": false,
            "version": "1.2.4",
            "ecosystem": "npm"
          },
          {
            "name": "@electron/osx-sign",
            "direct": false,
            "version": "1.0.5",
            "ecosystem": "npm"
          },
          {
            "name": "@electron/rebuild",
            "direct": false,
            "version": "3.3.0",
            "ecosystem": "npm"
          },
          {
            "name": "@electron/universal",
            "direct": false,
            "version": "1.4.2",
            "ecosystem": "npm"
          },
          {
            "name": "@isaacs/cliui",
            "direct": false,
            "version": "8.0.2",
            "ecosystem": "npm"
          },
          {
            "name": "@malept/cross-spawn-promise",
            "direct": false,
            "version": "1.1.1",
            "ecosystem": "npm"
          },
          {
            "name": "@malept/cross-spawn-promise",
            "direct": false,
            "version": "2.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "@npmcli/fs",
            "direct": false,
            "version": "3.1.0",
            "ecosystem": "npm"
          },
          {
            "name": "@pkgjs/parseargs",
            "direct": false,
            "version": "0.11.0",
            "ecosystem": "npm"
          },
          {
            "name": "@sindresorhus/is",
            "direct": false,
            "version": "4.6.0",
            "ecosystem": "npm"
          },
          {
            "name": "@szmarczak/http-timer",
            "direct": false,
            "version": "4.0.6",
            "ecosystem": "npm"
          },
          {
            "name": "@tootallnate/once",
            "direct": false,
            "version": "2.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "@types/cacheable-request",
            "direct": false,
            "version": "6.0.3",
            "ecosystem": "npm"
          },
          {
            "name": "@types/http-cache-semantics",
            "direct": false,
            "version": "4.0.2",
            "ecosystem": "npm"
          },
          {
            "name": "@types/keyv",
            "direct": false,
            "version": "3.1.4",
            "ecosystem": "npm"
          },
          {
            "name": "@types/node",
            "direct": false,
            "version": "20.8.6",
            "ecosystem": "npm"
          },
          {
            "name": "@types/responselike",
            "direct": false,
            "version": "1.0.1",
            "ecosystem": "npm"
          },
          {
            "name": "@types/yauzl",
            "direct": false,
            "version": "2.10.1",
            "ecosystem": "npm"
          },
          {
            "name": "@xmldom/xmldom",
            "direct": false,
            "version": "0.8.10",
            "ecosystem": "npm"
          },
          {
            "name": "abbrev",
            "direct": false,
            "version": "1.1.1",
            "ecosystem": "npm"
          },
          {
            "name": "agent-base",
            "direct": false,
            "version": "6.0.2",
            "ecosystem": "npm"
          },
          {
            "name": "agentkeepalive",
            "direct": false,
            "version": "4.5.0",
            "ecosystem": "npm"
          },
          {
            "name": "aggregate-error",
            "direct": false,
            "version": "3.1.0",
            "ecosystem": "npm"
          },
          {
            "name": "ansi-escapes",
            "direct": false,
            "version": "4.3.2",
            "ecosystem": "npm"
          },
          {
            "name": "ansi-regex",
            "direct": false,
            "version": "5.0.1",
            "ecosystem": "npm"
          },
          {
            "name": "ansi-regex",
            "direct": false,
            "version": "6.0.1",
            "ecosystem": "npm"
          },
          {
            "name": "ansi-styles",
            "direct": false,
            "version": "4.3.0",
            "ecosystem": "npm"
          },
          {
            "name": "ansi-styles",
            "direct": false,
            "version": "6.2.1",
            "ecosystem": "npm"
          },
          {
            "name": "aproba",
            "direct": false,
            "version": "2.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "are-we-there-yet",
            "direct": false,
            "version": "3.0.1",
            "ecosystem": "npm"
          },
          {
            "name": "astral-regex",
            "direct": false,
            "version": "2.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "at-least-node",
            "direct": false,
            "version": "1.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "author-regex",
            "direct": false,
            "version": "1.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "balanced-match",
            "direct": false,
            "version": "1.0.2",
            "ecosystem": "npm"
          },
          {
            "name": "base64-js",
            "direct": false,
            "version": "1.5.1",
            "ecosystem": "npm"
          },
          {
            "name": "bl",
            "direct": false,
            "version": "4.1.0",
            "ecosystem": "npm"
          },
          {
            "name": "bluebird",
            "direct": false,
            "version": "3.7.2",
            "ecosystem": "npm"
          },
          {
            "name": "boolean",
            "direct": false,
            "version": "3.2.0",
            "ecosystem": "npm"
          },
          {
            "name": "brace-expansion",
            "direct": false,
            "version": "1.1.11",
            "ecosystem": "npm"
          },
          {
            "name": "brace-expansion",
            "direct": false,
            "version": "2.0.1",
            "ecosystem": "npm"
          },
          {
            "name": "buffer",
            "direct": false,
            "version": "5.7.1",
            "ecosystem": "npm"
          },
          {
            "name": "buffer-crc32",
            "direct": false,
            "version": "0.2.13",
            "ecosystem": "npm"
          },
          {
            "name": "buffer-equal",
            "direct": false,
            "version": "1.0.1",
            "ecosystem": "npm"
          },
          {
            "name": "cacache",
            "direct": false,
            "version": "17.1.4",
            "ecosystem": "npm"
          },
          {
            "name": "cacheable-lookup",
            "direct": false,
            "version": "5.0.4",
            "ecosystem": "npm"
          },
          {
            "name": "cacheable-request",
            "direct": false,
            "version": "7.0.4",
            "ecosystem": "npm"
          },
          {
            "name": "chalk",
            "direct": false,
            "version": "4.1.2",
            "ecosystem": "npm"
          },
          {
            "name": "chownr",
            "direct": false,
            "version": "2.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "clean-stack",
            "direct": false,
            "version": "2.2.0",
            "ecosystem": "npm"
          },
          {
            "name": "cli-cursor",
            "direct": false,
            "version": "3.1.0",
            "ecosystem": "npm"
          },
          {
            "name": "cli-spinners",
            "direct": false,
            "version": "2.9.1",
            "ecosystem": "npm"
          },
          {
            "name": "cli-truncate",
            "direct": false,
            "version": "2.1.0",
            "ecosystem": "npm"
          },
          {
            "name": "cliui",
            "direct": false,
            "version": "8.0.1",
            "ecosystem": "npm"
          },
          {
            "name": "clone",
            "direct": false,
            "version": "1.0.4",
            "ecosystem": "npm"
          },
          {
            "name": "clone-response",
            "direct": false,
            "version": "1.0.3",
            "ecosystem": "npm"
          },
          {
            "name": "color-convert",
            "direct": false,
            "version": "2.0.1",
            "ecosystem": "npm"
          },
          {
            "name": "color-name",
            "direct": false,
            "version": "1.1.4",
            "ecosystem": "npm"
          },
          {
            "name": "color-support",
            "direct": false,
            "version": "1.1.3",
            "ecosystem": "npm"
          },
          {
            "name": "colorette",
            "direct": false,
            "version": "2.0.20",
            "ecosystem": "npm"
          },
          {
            "name": "commander",
            "direct": false,
            "version": "5.1.0",
            "ecosystem": "npm"
          },
          {
            "name": "compare-version",
            "direct": false,
            "version": "0.1.2",
            "ecosystem": "npm"
          },
          {
            "name": "concat-map",
            "direct": false,
            "version": "0.0.1",
            "ecosystem": "npm"
          },
          {
            "name": "console-control-strings",
            "direct": false,
            "version": "1.1.0",
            "ecosystem": "npm"
          },
          {
            "name": "cross-spawn",
            "direct": false,
            "version": "7.0.3",
            "ecosystem": "npm"
          },
          {
            "name": "cross-spawn-windows-exe",
            "direct": false,
            "version": "1.2.0",
            "ecosystem": "npm"
          },
          {
            "name": "decompress-response",
            "direct": false,
            "version": "6.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "defaults",
            "direct": false,
            "version": "1.0.4",
            "ecosystem": "npm"
          },
          {
            "name": "defer-to-connect",
            "direct": false,
            "version": "2.0.1",
            "ecosystem": "npm"
          },
          {
            "name": "define-data-property",
            "direct": false,
            "version": "1.1.1",
            "ecosystem": "npm"
          },
          {
            "name": "define-properties",
            "direct": false,
            "version": "1.2.1",
            "ecosystem": "npm"
          },
          {
            "name": "delegates",
            "direct": false,
            "version": "1.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "detect-libc",
            "direct": false,
            "version": "2.0.2",
            "ecosystem": "npm"
          },
          {
            "name": "detect-node",
            "direct": false,
            "version": "2.1.0",
            "ecosystem": "npm"
          },
          {
            "name": "dir-compare",
            "direct": false,
            "version": "3.3.0",
            "ecosystem": "npm"
          },
          {
            "name": "eastasianwidth",
            "direct": false,
            "version": "0.2.0",
            "ecosystem": "npm"
          },
          {
            "name": "electron-packager",
            "direct": false,
            "version": "17.1.2",
            "ecosystem": "npm"
          },
          {
            "name": "emoji-regex",
            "direct": false,
            "version": "8.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "emoji-regex",
            "direct": false,
            "version": "9.2.2",
            "ecosystem": "npm"
          },
          {
            "name": "encoding",
            "direct": false,
            "version": "0.1.13",
            "ecosystem": "npm"
          },
          {
            "name": "end-of-stream",
            "direct": false,
            "version": "1.4.4",
            "ecosystem": "npm"
          },
          {
            "name": "env-paths",
            "direct": false,
            "version": "2.2.1",
            "ecosystem": "npm"
          },
          {
            "name": "err-code",
            "direct": false,
            "version": "2.0.3",
            "ecosystem": "npm"
          },
          {
            "name": "error-ex",
            "direct": false,
            "version": "1.3.2",
            "ecosystem": "npm"
          },
          {
            "name": "es6-error",
            "direct": false,
            "version": "4.1.1",
            "ecosystem": "npm"
          },
          {
            "name": "escalade",
            "direct": false,
            "version": "3.1.1",
            "ecosystem": "npm"
          },
          {
            "name": "escape-string-regexp",
            "direct": false,
            "version": "1.0.5",
            "ecosystem": "npm"
          },
          {
            "name": "escape-string-regexp",
            "direct": false,
            "version": "4.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "exponential-backoff",
            "direct": false,
            "version": "3.1.1",
            "ecosystem": "npm"
          },
          {
            "name": "extract-zip",
            "direct": false,
            "version": "2.0.1",
            "ecosystem": "npm"
          },
          {
            "name": "fd-slicer",
            "direct": false,
            "version": "1.1.0",
            "ecosystem": "npm"
          },
          {
            "name": "filename-reserved-regex",
            "direct": false,
            "version": "2.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "filenamify",
            "direct": false,
            "version": "4.3.0",
            "ecosystem": "npm"
          },
          {
            "name": "find-up",
            "direct": false,
            "version": "2.1.0",
            "ecosystem": "npm"
          },
          {
            "name": "flora-colossus",
            "direct": false,
            "version": "2.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "foreground-child",
            "direct": false,
            "version": "3.1.1",
            "ecosystem": "npm"
          },
          {
            "name": "fs-extra",
            "direct": false,
            "version": "10.1.0",
            "ecosystem": "npm"
          },
          {
            "name": "fs-extra",
            "direct": false,
            "version": "11.1.1",
            "ecosystem": "npm"
          },
          {
            "name": "fs-extra",
            "direct": false,
            "version": "8.1.0",
            "ecosystem": "npm"
          },
          {
            "name": "fs-extra",
            "direct": false,
            "version": "9.1.0",
            "ecosystem": "npm"
          },
          {
            "name": "fs-minipass",
            "direct": false,
            "version": "2.1.0",
            "ecosystem": "npm"
          },
          {
            "name": "fs-minipass",
            "direct": false,
            "version": "3.0.3",
            "ecosystem": "npm"
          },
          {
            "name": "fs.realpath",
            "direct": false,
            "version": "1.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "function-bind",
            "direct": false,
            "version": "1.1.2",
            "ecosystem": "npm"
          },
          {
            "name": "galactus",
            "direct": false,
            "version": "1.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "gauge",
            "direct": false,
            "version": "4.0.4",
            "ecosystem": "npm"
          },
          {
            "name": "get-caller-file",
            "direct": false,
            "version": "2.0.5",
            "ecosystem": "npm"
          },
          {
            "name": "get-intrinsic",
            "direct": false,
            "version": "1.2.1",
            "ecosystem": "npm"
          },
          {
            "name": "get-package-info",
            "direct": false,
            "version": "1.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "get-stream",
            "direct": false,
            "version": "5.2.0",
            "ecosystem": "npm"
          },
          {
            "name": "glob",
            "direct": false,
            "version": "10.3.10",
            "ecosystem": "npm"
          },
          {
            "name": "glob",
            "direct": false,
            "version": "7.2.3",
            "ecosystem": "npm"
          },
          {
            "name": "global-agent",
            "direct": false,
            "version": "3.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "globalthis",
            "direct": false,
            "version": "1.0.3",
            "ecosystem": "npm"
          },
          {
            "name": "gopd",
            "direct": false,
            "version": "1.0.1",
            "ecosystem": "npm"
          },
          {
            "name": "got",
            "direct": false,
            "version": "11.8.6",
            "ecosystem": "npm"
          },
          {
            "name": "graceful-fs",
            "direct": false,
            "version": "4.2.11",
            "ecosystem": "npm"
          },
          {
            "name": "has",
            "direct": false,
            "version": "1.0.4",
            "ecosystem": "npm"
          },
          {
            "name": "has-flag",
            "direct": false,
            "version": "4.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "has-property-descriptors",
            "direct": false,
            "version": "1.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "has-proto",
            "direct": false,
            "version": "1.0.1",
            "ecosystem": "npm"
          },
          {
            "name": "has-symbols",
            "direct": false,
            "version": "1.0.3",
            "ecosystem": "npm"
          },
          {
            "name": "has-unicode",
            "direct": false,
            "version": "2.0.1",
            "ecosystem": "npm"
          },
          {
            "name": "hosted-git-info",
            "direct": false,
            "version": "2.8.9",
            "ecosystem": "npm"
          },
          {
            "name": "http-cache-semantics",
            "direct": false,
            "version": "4.1.1",
            "ecosystem": "npm"
          },
          {
            "name": "http-proxy-agent",
            "direct": false,
            "version": "5.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "http2-wrapper",
            "direct": false,
            "version": "1.0.3",
            "ecosystem": "npm"
          },
          {
            "name": "https-proxy-agent",
            "direct": false,
            "version": "5.0.1",
            "ecosystem": "npm"
          },
          {
            "name": "humanize-ms",
            "direct": false,
            "version": "1.2.1",
            "ecosystem": "npm"
          },
          {
            "name": "iconv-lite",
            "direct": false,
            "version": "0.6.3",
            "ecosystem": "npm"
          },
          {
            "name": "ieee754",
            "direct": false,
            "version": "1.2.1",
            "ecosystem": "npm"
          },
          {
            "name": "imurmurhash",
            "direct": false,
            "version": "0.1.4",
            "ecosystem": "npm"
          },
          {
            "name": "indent-string",
            "direct": false,
            "version": "4.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "inflight",
            "direct": false,
            "version": "1.0.6",
            "ecosystem": "npm"
          },
          {
            "name": "inherits",
            "direct": false,
            "version": "2.0.4",
            "ecosystem": "npm"
          },
          {
            "name": "ip",
            "direct": false,
            "version": "2.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "is-arrayish",
            "direct": false,
            "version": "0.2.1",
            "ecosystem": "npm"
          },
          {
            "name": "is-core-module",
            "direct": false,
            "version": "2.13.0",
            "ecosystem": "npm"
          },
          {
            "name": "is-docker",
            "direct": false,
            "version": "2.2.1",
            "ecosystem": "npm"
          },
          {
            "name": "is-fullwidth-code-point",
            "direct": false,
            "version": "3.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "is-interactive",
            "direct": false,
            "version": "1.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "is-lambda",
            "direct": false,
            "version": "1.0.1",
            "ecosystem": "npm"
          },
          {
            "name": "is-unicode-supported",
            "direct": false,
            "version": "0.1.0",
            "ecosystem": "npm"
          },
          {
            "name": "is-wsl",
            "direct": false,
            "version": "2.2.0",
            "ecosystem": "npm"
          },
          {
            "name": "isbinaryfile",
            "direct": false,
            "version": "4.0.10",
            "ecosystem": "npm"
          },
          {
            "name": "isexe",
            "direct": false,
            "version": "2.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "jackspeak",
            "direct": false,
            "version": "2.3.6",
            "ecosystem": "npm"
          },
          {
            "name": "json-buffer",
            "direct": false,
            "version": "3.0.1",
            "ecosystem": "npm"
          },
          {
            "name": "json-stringify-safe",
            "direct": false,
            "version": "5.0.1",
            "ecosystem": "npm"
          },
          {
            "name": "jsonfile",
            "direct": false,
            "version": "4.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "jsonfile",
            "direct": false,
            "version": "6.1.0",
            "ecosystem": "npm"
          },
          {
            "name": "junk",
            "direct": false,
            "version": "3.1.0",
            "ecosystem": "npm"
          },
          {
            "name": "keyv",
            "direct": false,
            "version": "4.5.4",
            "ecosystem": "npm"
          },
          {
            "name": "listr2",
            "direct": false,
            "version": "5.0.8",
            "ecosystem": "npm"
          },
          {
            "name": "load-json-file",
            "direct": false,
            "version": "2.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "locate-path",
            "direct": false,
            "version": "2.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "lodash.get",
            "direct": false,
            "version": "4.4.2",
            "ecosystem": "npm"
          },
          {
            "name": "log-symbols",
            "direct": false,
            "version": "4.1.0",
            "ecosystem": "npm"
          },
          {
            "name": "log-update",
            "direct": false,
            "version": "4.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "lowercase-keys",
            "direct": false,
            "version": "2.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "lru-cache",
            "direct": false,
            "version": "10.0.1",
            "ecosystem": "npm"
          },
          {
            "name": "lru-cache",
            "direct": false,
            "version": "6.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "lru-cache",
            "direct": false,
            "version": "7.18.3",
            "ecosystem": "npm"
          },
          {
            "name": "make-fetch-happen",
            "direct": false,
            "version": "11.1.1",
            "ecosystem": "npm"
          },
          {
            "name": "matcher",
            "direct": false,
            "version": "3.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "mimic-fn",
            "direct": false,
            "version": "2.1.0",
            "ecosystem": "npm"
          },
          {
            "name": "mimic-response",
            "direct": false,
            "version": "1.0.1",
            "ecosystem": "npm"
          },
          {
            "name": "mimic-response",
            "direct": false,
            "version": "3.1.0",
            "ecosystem": "npm"
          },
          {
            "name": "minimatch",
            "direct": false,
            "version": "3.1.2",
            "ecosystem": "npm"
          },
          {
            "name": "minimatch",
            "direct": false,
            "version": "9.0.3",
            "ecosystem": "npm"
          },
          {
            "name": "minimist",
            "direct": false,
            "version": "1.2.8",
            "ecosystem": "npm"
          },
          {
            "name": "minipass",
            "direct": false,
            "version": "3.3.6",
            "ecosystem": "npm"
          },
          {
            "name": "minipass",
            "direct": false,
            "version": "5.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "minipass",
            "direct": false,
            "version": "7.0.4",
            "ecosystem": "npm"
          },
          {
            "name": "minipass-collect",
            "direct": false,
            "version": "1.0.2",
            "ecosystem": "npm"
          },
          {
            "name": "minipass-fetch",
            "direct": false,
            "version": "3.0.4",
            "ecosystem": "npm"
          },
          {
            "name": "minipass-flush",
            "direct": false,
            "version": "1.0.5",
            "ecosystem": "npm"
          },
          {
            "name": "minipass-pipeline",
            "direct": false,
            "version": "1.2.4",
            "ecosystem": "npm"
          },
          {
            "name": "minipass-sized",
            "direct": false,
            "version": "1.0.3",
            "ecosystem": "npm"
          },
          {
            "name": "minizlib",
            "direct": false,
            "version": "2.1.2",
            "ecosystem": "npm"
          },
          {
            "name": "mkdirp",
            "direct": false,
            "version": "1.0.4",
            "ecosystem": "npm"
          },
          {
            "name": "ms",
            "direct": false,
            "version": "2.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "ms",
            "direct": false,
            "version": "2.1.2",
            "ecosystem": "npm"
          },
          {
            "name": "negotiator",
            "direct": false,
            "version": "0.6.3",
            "ecosystem": "npm"
          },
          {
            "name": "node-abi",
            "direct": false,
            "version": "3.51.0",
            "ecosystem": "npm"
          },
          {
            "name": "node-api-version",
            "direct": false,
            "version": "0.1.4",
            "ecosystem": "npm"
          },
          {
            "name": "node-gyp",
            "direct": false,
            "version": "9.4.0",
            "ecosystem": "npm"
          },
          {
            "name": "nopt",
            "direct": false,
            "version": "6.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "normalize-package-data",
            "direct": false,
            "version": "2.5.0",
            "ecosystem": "npm"
          },
          {
            "name": "normalize-url",
            "direct": false,
            "version": "6.1.0",
            "ecosystem": "npm"
          },
          {
            "name": "npmlog",
            "direct": false,
            "version": "6.0.2",
            "ecosystem": "npm"
          },
          {
            "name": "object-keys",
            "direct": false,
            "version": "1.1.1",
            "ecosystem": "npm"
          },
          {
            "name": "once",
            "direct": false,
            "version": "1.4.0",
            "ecosystem": "npm"
          },
          {
            "name": "onetime",
            "direct": false,
            "version": "5.1.2",
            "ecosystem": "npm"
          },
          {
            "name": "ora",
            "direct": false,
            "version": "5.4.1",
            "ecosystem": "npm"
          },
          {
            "name": "p-cancelable",
            "direct": false,
            "version": "2.1.1",
            "ecosystem": "npm"
          },
          {
            "name": "p-limit",
            "direct": false,
            "version": "1.3.0",
            "ecosystem": "npm"
          },
          {
            "name": "p-locate",
            "direct": false,
            "version": "2.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "p-map",
            "direct": false,
            "version": "4.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "p-try",
            "direct": false,
            "version": "1.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "parse-author",
            "direct": false,
            "version": "2.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "parse-json",
            "direct": false,
            "version": "2.2.0",
            "ecosystem": "npm"
          },
          {
            "name": "path-exists",
            "direct": false,
            "version": "3.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "path-is-absolute",
            "direct": false,
            "version": "1.0.1",
            "ecosystem": "npm"
          },
          {
            "name": "path-key",
            "direct": false,
            "version": "3.1.1",
            "ecosystem": "npm"
          },
          {
            "name": "path-parse",
            "direct": false,
            "version": "1.0.7",
            "ecosystem": "npm"
          },
          {
            "name": "path-scurry",
            "direct": false,
            "version": "1.10.1",
            "ecosystem": "npm"
          },
          {
            "name": "path-type",
            "direct": false,
            "version": "2.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "pend",
            "direct": false,
            "version": "1.2.0",
            "ecosystem": "npm"
          },
          {
            "name": "pify",
            "direct": false,
            "version": "2.3.0",
            "ecosystem": "npm"
          },
          {
            "name": "plist",
            "direct": false,
            "version": "3.1.0",
            "ecosystem": "npm"
          },
          {
            "name": "progress",
            "direct": false,
            "version": "2.0.3",
            "ecosystem": "npm"
          },
          {
            "name": "promise-retry",
            "direct": false,
            "version": "2.0.1",
            "ecosystem": "npm"
          },
          {
            "name": "pump",
            "direct": false,
            "version": "3.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "quick-lru",
            "direct": false,
            "version": "5.1.1",
            "ecosystem": "npm"
          },
          {
            "name": "rcedit",
            "direct": false,
            "version": "3.1.0",
            "ecosystem": "npm"
          },
          {
            "name": "read-pkg",
            "direct": false,
            "version": "2.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "read-pkg-up",
            "direct": false,
            "version": "2.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "readable-stream",
            "direct": false,
            "version": "3.6.2",
            "ecosystem": "npm"
          },
          {
            "name": "require-directory",
            "direct": false,
            "version": "2.1.1",
            "ecosystem": "npm"
          },
          {
            "name": "resolve",
            "direct": false,
            "version": "1.22.8",
            "ecosystem": "npm"
          },
          {
            "name": "resolve-alpn",
            "direct": false,
            "version": "1.2.1",
            "ecosystem": "npm"
          },
          {
            "name": "responselike",
            "direct": false,
            "version": "2.0.1",
            "ecosystem": "npm"
          },
          {
            "name": "restore-cursor",
            "direct": false,
            "version": "3.1.0",
            "ecosystem": "npm"
          },
          {
            "name": "retry",
            "direct": false,
            "version": "0.12.0",
            "ecosystem": "npm"
          },
          {
            "name": "rfdc",
            "direct": false,
            "version": "1.3.0",
            "ecosystem": "npm"
          },
          {
            "name": "rimraf",
            "direct": false,
            "version": "3.0.2",
            "ecosystem": "npm"
          },
          {
            "name": "roarr",
            "direct": false,
            "version": "2.15.4",
            "ecosystem": "npm"
          },
          {
            "name": "rxjs",
            "direct": false,
            "version": "7.8.1",
            "ecosystem": "npm"
          },
          {
            "name": "safe-buffer",
            "direct": false,
            "version": "5.2.1",
            "ecosystem": "npm"
          },
          {
            "name": "safer-buffer",
            "direct": false,
            "version": "2.1.2",
            "ecosystem": "npm"
          },
          {
            "name": "semver",
            "direct": false,
            "version": "5.7.2",
            "ecosystem": "npm"
          },
          {
            "name": "semver",
            "direct": false,
            "version": "6.3.1",
            "ecosystem": "npm"
          },
          {
            "name": "semver",
            "direct": false,
            "version": "7.5.4",
            "ecosystem": "npm"
          },
          {
            "name": "semver-compare",
            "direct": false,
            "version": "1.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "serialize-error",
            "direct": false,
            "version": "7.0.1",
            "ecosystem": "npm"
          },
          {
            "name": "set-blocking",
            "direct": false,
            "version": "2.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "shebang-command",
            "direct": false,
            "version": "2.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "shebang-regex",
            "direct": false,
            "version": "3.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "signal-exit",
            "direct": false,
            "version": "3.0.7",
            "ecosystem": "npm"
          },
          {
            "name": "signal-exit",
            "direct": false,
            "version": "4.1.0",
            "ecosystem": "npm"
          },
          {
            "name": "slice-ansi",
            "direct": false,
            "version": "3.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "slice-ansi",
            "direct": false,
            "version": "4.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "smart-buffer",
            "direct": false,
            "version": "4.2.0",
            "ecosystem": "npm"
          },
          {
            "name": "socks",
            "direct": false,
            "version": "2.7.1",
            "ecosystem": "npm"
          },
          {
            "name": "socks-proxy-agent",
            "direct": false,
            "version": "7.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "spdx-correct",
            "direct": false,
            "version": "3.2.0",
            "ecosystem": "npm"
          },
          {
            "name": "spdx-exceptions",
            "direct": false,
            "version": "2.3.0",
            "ecosystem": "npm"
          },
          {
            "name": "spdx-expression-parse",
            "direct": false,
            "version": "3.0.1",
            "ecosystem": "npm"
          },
          {
            "name": "spdx-license-ids",
            "direct": false,
            "version": "3.0.16",
            "ecosystem": "npm"
          },
          {
            "name": "sprintf-js",
            "direct": false,
            "version": "1.1.3",
            "ecosystem": "npm"
          },
          {
            "name": "ssri",
            "direct": false,
            "version": "10.0.5",
            "ecosystem": "npm"
          },
          {
            "name": "string-width",
            "direct": false,
            "version": "4.2.3",
            "ecosystem": "npm"
          },
          {
            "name": "string-width",
            "direct": false,
            "version": "5.1.2",
            "ecosystem": "npm"
          },
          {
            "name": "string_decoder",
            "direct": false,
            "version": "1.3.0",
            "ecosystem": "npm"
          },
          {
            "name": "strip-ansi",
            "direct": false,
            "version": "6.0.1",
            "ecosystem": "npm"
          },
          {
            "name": "strip-ansi",
            "direct": false,
            "version": "7.1.0",
            "ecosystem": "npm"
          },
          {
            "name": "strip-bom",
            "direct": false,
            "version": "3.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "strip-outer",
            "direct": false,
            "version": "1.0.1",
            "ecosystem": "npm"
          },
          {
            "name": "sumchecker",
            "direct": false,
            "version": "3.0.1",
            "ecosystem": "npm"
          },
          {
            "name": "supports-color",
            "direct": false,
            "version": "7.2.0",
            "ecosystem": "npm"
          },
          {
            "name": "supports-preserve-symlinks-flag",
            "direct": false,
            "version": "1.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "tar",
            "direct": false,
            "version": "6.2.0",
            "ecosystem": "npm"
          },
          {
            "name": "through",
            "direct": false,
            "version": "2.3.8",
            "ecosystem": "npm"
          },
          {
            "name": "trim-repeated",
            "direct": false,
            "version": "1.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "tslib",
            "direct": false,
            "version": "2.6.2",
            "ecosystem": "npm"
          },
          {
            "name": "type-fest",
            "direct": false,
            "version": "0.13.1",
            "ecosystem": "npm"
          },
          {
            "name": "type-fest",
            "direct": false,
            "version": "0.21.3",
            "ecosystem": "npm"
          },
          {
            "name": "undici-types",
            "direct": false,
            "version": "5.25.3",
            "ecosystem": "npm"
          },
          {
            "name": "unique-filename",
            "direct": false,
            "version": "3.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "unique-slug",
            "direct": false,
            "version": "4.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "universalify",
            "direct": false,
            "version": "0.1.2",
            "ecosystem": "npm"
          },
          {
            "name": "universalify",
            "direct": false,
            "version": "2.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "util-deprecate",
            "direct": false,
            "version": "1.0.2",
            "ecosystem": "npm"
          },
          {
            "name": "validate-npm-package-license",
            "direct": false,
            "version": "3.0.4",
            "ecosystem": "npm"
          },
          {
            "name": "wcwidth",
            "direct": false,
            "version": "1.0.1",
            "ecosystem": "npm"
          },
          {
            "name": "which",
            "direct": false,
            "version": "2.0.2",
            "ecosystem": "npm"
          },
          {
            "name": "wide-align",
            "direct": false,
            "version": "1.1.5",
            "ecosystem": "npm"
          },
          {
            "name": "wrap-ansi",
            "direct": false,
            "version": "6.2.0",
            "ecosystem": "npm"
          },
          {
            "name": "wrap-ansi",
            "direct": false,
            "version": "7.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "wrap-ansi",
            "direct": false,
            "version": "8.1.0",
            "ecosystem": "npm"
          },
          {
            "name": "wrappy",
            "direct": false,
            "version": "1.0.2",
            "ecosystem": "npm"
          },
          {
            "name": "xmlbuilder",
            "direct": false,
            "version": "15.1.1",
            "ecosystem": "npm"
          },
          {
            "name": "y18n",
            "direct": false,
            "version": "5.0.8",
            "ecosystem": "npm"
          },
          {
            "name": "yallist",
            "direct": false,
            "version": "4.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "yargs",
            "direct": false,
            "version": "17.7.2",
            "ecosystem": "npm"
          },
          {
            "name": "yargs-parser",
            "direct": false,
            "version": "21.1.1",
            "ecosystem": "npm"
          },
          {
            "name": "yauzl",
            "direct": false,
            "version": "2.10.0",
            "ecosystem": "npm"
          },
          {
            "name": "babel",
            "direct": false,
            "version": "2.17.0",
            "ecosystem": "pypi"
          },
          {
            "name": "backrefs",
            "direct": false,
            "version": "5.9",
            "ecosystem": "pypi"
          },
          {
            "name": "cairocffi",
            "direct": false,
            "version": "1.7.1",
            "ecosystem": "pypi"
          },
          {
            "name": "cairosvg",
            "direct": false,
            "version": "2.8.2",
            "ecosystem": "pypi"
          },
          {
            "name": "certifi",
            "direct": false,
            "version": "2025.6.15",
            "ecosystem": "pypi"
          },
          {
            "name": "cffi",
            "direct": false,
            "version": "1.17.1",
            "ecosystem": "pypi"
          },
          {
            "name": "charset-normalizer",
            "direct": false,
            "version": "3.4.2",
            "ecosystem": "pypi"
          },
          {
            "name": "click",
            "direct": false,
            "version": "8.2.1",
            "ecosystem": "pypi"
          },
          {
            "name": "colorama",
            "direct": false,
            "version": "0.4.6",
            "ecosystem": "pypi"
          },
          {
            "name": "cssselect2",
            "direct": false,
            "version": "0.8.0",
            "ecosystem": "pypi"
          },
          {
            "name": "defusedxml",
            "direct": false,
            "version": "0.7.1",
            "ecosystem": "pypi"
          },
          {
            "name": "ghp-import",
            "direct": false,
            "version": "2.1.0",
            "ecosystem": "pypi"
          },
          {
            "name": "idna",
            "direct": false,
            "version": "3.10",
            "ecosystem": "pypi"
          },
          {
            "name": "jinja2",
            "direct": false,
            "version": "3.1.6",
            "ecosystem": "pypi"
          },
          {
            "name": "markdown",
            "direct": false,
            "version": "3.8.2",
            "ecosystem": "pypi"
          },
          {
            "name": "markdown-include",
            "direct": false,
            "version": "0.8.1",
            "ecosystem": "pypi"
          },
          {
            "name": "markupsafe",
            "direct": false,
            "version": "3.0.2",
            "ecosystem": "pypi"
          },
          {
            "name": "mergedeep",
            "direct": false,
            "version": "1.3.4",
            "ecosystem": "pypi"
          },
          {
            "name": "mkdocs",
            "direct": false,
            "version": "1.6.1",
            "ecosystem": "pypi"
          },
          {
            "name": "mkdocs-get-deps",
            "direct": false,
            "version": "0.2.0",
            "ecosystem": "pypi"
          },
          {
            "name": "mkdocs-material",
            "direct": false,
            "version": "9.6.15",
            "ecosystem": "pypi"
          },
          {
            "name": "mkdocs-material-extensions",
            "direct": false,
            "version": "1.3.1",
            "ecosystem": "pypi"
          },
          {
            "name": "packaging",
            "direct": false,
            "version": "25.0",
            "ecosystem": "pypi"
          },
          {
            "name": "paginate",
            "direct": false,
            "version": "0.5.7",
            "ecosystem": "pypi"
          },
          {
            "name": "pathspec",
            "direct": false,
            "version": "0.12.1",
            "ecosystem": "pypi"
          },
          {
            "name": "pillow",
            "direct": false,
            "version": "10.4.0",
            "ecosystem": "pypi"
          },
          {
            "name": "platformdirs",
            "direct": false,
            "version": "4.3.8",
            "ecosystem": "pypi"
          },
          {
            "name": "pycparser",
            "direct": false,
            "version": "2.22",
            "ecosystem": "pypi"
          },
          {
            "name": "pygments",
            "direct": false,
            "version": "2.19.2",
            "ecosystem": "pypi"
          },
          {
            "name": "pymdown-extensions",
            "direct": false,
            "version": "10.16",
            "ecosystem": "pypi"
          },
          {
            "name": "python-dateutil",
            "direct": false,
            "version": "2.9.0.post0",
            "ecosystem": "pypi"
          },
          {
            "name": "pyyaml",
            "direct": false,
            "version": "6.0.2",
            "ecosystem": "pypi"
          },
          {
            "name": "pyyaml-env-tag",
            "direct": false,
            "version": "1.1",
            "ecosystem": "pypi"
          },
          {
            "name": "requests",
            "direct": false,
            "version": "2.32.4",
            "ecosystem": "pypi"
          },
          {
            "name": "six",
            "direct": false,
            "version": "1.17.0",
            "ecosystem": "pypi"
          },
          {
            "name": "tinycss2",
            "direct": false,
            "version": "1.4.0",
            "ecosystem": "pypi"
          },
          {
            "name": "urllib3",
            "direct": false,
            "version": "2.5.0",
            "ecosystem": "pypi"
          },
          {
            "name": "watchdog",
            "direct": false,
            "version": "6.0.0",
            "ecosystem": "pypi"
          },
          {
            "name": "webencodings",
            "direct": false,
            "version": "0.5.1",
            "ecosystem": "pypi"
          }
        ],
        "collected": true,
        "truncated": false,
        "total_count": 335,
        "direct_count": 6,
        "indirect_count": 329
      }
    },
    "maintainership": {
      "issues": {
        "open_prs": 0,
        "merged_prs": 4,
        "open_issues": 25,
        "closed_ratio": 0.722,
        "closed_issues": 65,
        "closed_unmerged_prs": 5
      },
      "bus_factor": 1,
      "bot_contributors": 0,
      "top_contributors": [
        {
          "type": "User",
          "login": "mikehearn",
          "commits": 705,
          "avatar_url": "https://avatars.githubusercontent.com/u/971089?v=4"
        },
        {
          "type": "User",
          "login": "leo-hydraulic",
          "commits": 104,
          "avatar_url": "https://avatars.githubusercontent.com/u/116815597?v=4"
        },
        {
          "type": "User",
          "login": "bonnyrivers",
          "commits": 4,
          "avatar_url": "https://avatars.githubusercontent.com/u/46431602?v=4"
        },
        {
          "type": "User",
          "login": "mark-burch",
          "commits": 2,
          "avatar_url": "https://avatars.githubusercontent.com/u/56749912?v=4"
        },
        {
          "type": "User",
          "login": "oguse",
          "commits": 2,
          "avatar_url": "https://avatars.githubusercontent.com/u/7326379?v=4"
        },
        {
          "type": "User",
          "login": "iamcalledrob",
          "commits": 2,
          "avatar_url": "https://avatars.githubusercontent.com/u/87964?v=4"
        },
        {
          "type": "User",
          "login": "sproctor",
          "commits": 1,
          "avatar_url": "https://avatars.githubusercontent.com/u/217337?v=4"
        }
      ],
      "contributors_sampled": 7,
      "top_contributor_share": 0.86
    },
    "quality_signals": {
      "has_ci": false,
      "has_tests": true,
      "ci_workflows": [],
      "has_docs_dir": false,
      "linter_configs": [],
      "has_editorconfig": false,
      "has_linter_config": false,
      "has_precommit_config": false
    },
    "security_signals": {
      "lockfiles": [
        "Pipfile.lock",
        "package-lock.json"
      ],
      "scorecard": {
        "checks": [
          {
            "name": "Binary-Artifacts",
            "score": 9,
            "reason": "binaries present in source code",
            "documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#binary-artifacts"
          },
          {
            "name": "Branch-Protection",
            "score": 0,
            "reason": "branch protection not enabled on development/release branches",
            "documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#branch-protection"
          },
          {
            "name": "CI-Tests",
            "score": null,
            "reason": "no pull request found",
            "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/30 approved changesets -- score normalized to 0",
            "documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#code-review"
          },
          {
            "name": "Contributors",
            "score": 10,
            "reason": "project has 4 contributing companies or organizations",
            "documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#contributors"
          },
          {
            "name": "Dangerous-Workflow",
            "score": null,
            "reason": "no workflows found",
            "documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#dangerous-workflow"
          },
          {
            "name": "Dependency-Update-Tool",
            "score": 0,
            "reason": "no update tool detected",
            "documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#dependency-update-tool"
          },
          {
            "name": "Fuzzing",
            "score": 0,
            "reason": "project is not fuzzed",
            "documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#fuzzing"
          },
          {
            "name": "License",
            "score": 10,
            "reason": "license file detected",
            "documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#license"
          },
          {
            "name": "Maintained",
            "score": 4,
            "reason": "3 commit(s) and 2 issue activity found in the last 90 days -- score normalized to 4",
            "documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#maintained"
          },
          {
            "name": "Packaging",
            "score": null,
            "reason": "packaging workflow not detected",
            "documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#packaging"
          },
          {
            "name": "Pinned-Dependencies",
            "score": null,
            "reason": "no dependencies found",
            "documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#pinned-dependencies"
          },
          {
            "name": "SAST",
            "score": 0,
            "reason": "no SAST tool detected",
            "documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#sast"
          },
          {
            "name": "Security-Policy",
            "score": 0,
            "reason": "security policy file not detected",
            "documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#security-policy"
          },
          {
            "name": "Signed-Releases",
            "score": null,
            "reason": "no releases found",
            "documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#signed-releases"
          },
          {
            "name": "Token-Permissions",
            "score": null,
            "reason": "No tokens found",
            "documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#token-permissions"
          },
          {
            "name": "Vulnerabilities",
            "score": 0,
            "reason": "59 existing vulnerabilities detected",
            "documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#vulnerabilities"
          }
        ],
        "commit": "5011cc412f9c3a67d8f72f9ea5db5f34c4a68e36",
        "ran_at": "2026-07-30T11:41:35Z",
        "aggregate_score": 2.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": null,
      "oldest_open_prs": [],
      "last_merged_pr_at": "2024-11-26T14:46:23Z",
      "ci_last_conclusion": null,
      "oldest_open_issues": [
        {
          "number": 4,
          "created_at": "2022-03-10T21:01:47Z",
          "last_comment_at": "2024-12-01T16:40:45Z",
          "last_comment_author": "mikehearn"
        },
        {
          "number": 9,
          "created_at": "2022-04-01T16:22:01Z",
          "last_comment_at": null,
          "last_comment_author": null
        },
        {
          "number": 27,
          "created_at": "2022-08-11T11:26:39Z",
          "last_comment_at": "2022-08-11T14:17:45Z",
          "last_comment_author": "mikehearn"
        },
        {
          "number": 37,
          "created_at": "2022-10-18T06:32:33Z",
          "last_comment_at": "2022-11-17T18:51:16Z",
          "last_comment_author": "mikehearn"
        },
        {
          "number": 52,
          "created_at": "2023-03-21T17:12:55Z",
          "last_comment_at": "2023-03-22T10:18:00Z",
          "last_comment_author": "mikehearn"
        },
        {
          "number": 68,
          "created_at": "2023-07-14T12:57:54Z",
          "last_comment_at": "2023-07-14T13:33:09Z",
          "last_comment_author": "mikehearn"
        },
        {
          "number": 73,
          "created_at": "2023-08-03T13:31:29Z",
          "last_comment_at": "2026-03-04T10:09:41Z",
          "last_comment_author": "mwhapples"
        },
        {
          "number": 85,
          "created_at": "2023-10-27T13:03:27Z",
          "last_comment_at": "2023-10-27T15:37:12Z",
          "last_comment_author": "mikehearn"
        },
        {
          "number": 98,
          "created_at": "2024-02-01T11:24:15Z",
          "last_comment_at": "2024-02-01T18:01:34Z",
          "last_comment_author": "mikehearn"
        },
        {
          "number": 117,
          "created_at": "2024-07-13T10:26:46Z",
          "last_comment_at": "2024-07-13T13:36:01Z",
          "last_comment_author": "guiyanakuang"
        },
        {
          "number": 141,
          "created_at": "2024-12-04T22:05:17Z",
          "last_comment_at": "2024-12-07T14:41:38Z",
          "last_comment_author": "mikehearn"
        },
        {
          "number": 148,
          "created_at": "2025-02-07T00:23:56Z",
          "last_comment_at": "2025-02-11T16:33:23Z",
          "last_comment_author": "mikehearn"
        },
        {
          "number": 169,
          "created_at": "2025-05-02T13:02:28Z",
          "last_comment_at": "2025-05-06T08:40:54Z",
          "last_comment_author": "mikehearn"
        },
        {
          "number": 170,
          "created_at": "2025-05-06T18:48:57Z",
          "last_comment_at": "2025-06-14T15:13:04Z",
          "last_comment_author": "MohamedRejeb"
        },
        {
          "number": 173,
          "created_at": "2025-05-22T13:47:29Z",
          "last_comment_at": null,
          "last_comment_author": null
        },
        {
          "number": 180,
          "created_at": "2025-08-27T14:29:27Z",
          "last_comment_at": "2025-08-31T18:18:58Z",
          "last_comment_author": "LiveNathan"
        },
        {
          "number": 181,
          "created_at": "2025-09-03T20:39:17Z",
          "last_comment_at": "2025-09-09T21:07:24Z",
          "last_comment_author": "likeich"
        },
        {
          "number": 184,
          "created_at": "2025-09-30T20:14:17Z",
          "last_comment_at": "2025-10-06T08:06:32Z",
          "last_comment_author": "mikehearn"
        },
        {
          "number": 185,
          "created_at": "2025-11-04T22:33:18Z",
          "last_comment_at": "2025-11-06T17:12:51Z",
          "last_comment_author": "mikehearn"
        },
        {
          "number": 187,
          "created_at": "2025-11-24T15:02:33Z",
          "last_comment_at": "2025-11-25T16:31:33Z",
          "last_comment_author": "mikehearn"
        }
      ]
    }
  },
  "config": {
    "disabled_metrics": [],
    "disabled_categories": [],
    "disabled_components": {}
  },
  "source": {
    "url": "https://github.com/hydraulic-software/conveyor",
    "host": "github.com",
    "name": "conveyor",
    "owner": "hydraulic-software"
  },
  "metrics": {
    "overall": {
      "key": "overall",
      "band": "weak",
      "name": "Overall health",
      "note": "The weighted overall 44 is calibrated to 41 on the published index scale (record calibration 2026-08-02).",
      "notes": [
        {
          "code": "overall_calibration",
          "params": {
            "raw": 44,
            "calibrated": 41,
            "calibration": "2026-08-02"
          }
        }
      ],
      "value": 41,
      "inputs": {
        "security": 32,
        "vitality": 33,
        "community": 52,
        "governance": 57,
        "calibration": "2026-08-02",
        "engineering": 40,
        "ai_readiness": 49,
        "weighted_overall_raw": 44
      },
      "components": []
    },
    "categories": [
      {
        "key": "vitality",
        "band": "at_risk",
        "name": "Vitality",
        "value": 33,
        "weight": 0.21,
        "metrics": [
          {
            "key": "development_activity",
            "band": "moderate",
            "name": "Development activity",
            "note": null,
            "notes": [],
            "value": 55,
            "inputs": {
              "commits_last_year": 24,
              "human_commit_share": 1,
              "days_since_last_push": 8,
              "active_weeks_last_year": 14
            },
            "components": [
              {
                "key": "push_recency",
                "name": "Push recency",
                "detail": "last push 8 days ago",
                "points": 28.8,
                "status": "partial",
                "details": [
                  {
                    "code": "push_recency",
                    "params": {
                      "days": 8
                    }
                  }
                ],
                "max_points": 36
              },
              {
                "key": "commit_cadence",
                "name": "Commit cadence",
                "detail": "14/52 weeks with commits",
                "points": 9.7,
                "status": "partial",
                "details": [
                  {
                    "code": "commit_cadence_weeks",
                    "params": {
                      "weeks": 14
                    }
                  }
                ],
                "max_points": 36
              },
              {
                "key": "commit_volume",
                "name": "Commit volume",
                "detail": "24 commits in the last year",
                "points": 12.6,
                "status": "partial",
                "details": [
                  {
                    "code": "commits_last_year",
                    "params": {
                      "count": 24
                    }
                  }
                ],
                "max_points": 18
              },
              {
                "key": "openssf_scorecard_maintained",
                "name": "OpenSSF Scorecard: Maintained",
                "detail": "3 commit(s) and 2 issue activity found in the last 90 days -- score normalized to 4",
                "points": 4,
                "status": "partial",
                "details": [],
                "max_points": 10
              }
            ]
          },
          {
            "key": "release_discipline",
            "band": "critical",
            "name": "Release discipline",
            "note": "Excluded from scoring (no data or not applicable): OpenSSF Scorecard: Signed-Releases. Remaining weights renormalized.",
            "notes": [
              {
                "code": "excluded_no_data",
                "params": {
                  "components": [
                    "openssf_scorecard_signed_releases"
                  ]
                }
              },
              {
                "code": "weights_renormalized",
                "params": {}
              }
            ],
            "value": 1,
            "inputs": {
              "releases_count": 0
            },
            "components": [
              {
                "key": "ships_releases",
                "name": "Ships releases",
                "detail": "no releases published",
                "points": 0,
                "status": "missed",
                "details": [
                  {
                    "code": "no_releases_published",
                    "params": {}
                  }
                ],
                "max_points": 27
              },
              {
                "key": "release_recency",
                "name": "Release recency",
                "detail": "no releases",
                "points": 0,
                "status": "missed",
                "details": [
                  {
                    "code": "no_releases",
                    "params": {}
                  }
                ],
                "max_points": 36
              },
              {
                "key": "release_cadence",
                "name": "Release cadence",
                "detail": "no releases",
                "points": 0,
                "status": "missed",
                "details": [
                  {
                    "code": "no_releases",
                    "params": {}
                  }
                ],
                "max_points": 27
              },
              {
                "key": "openssf_scorecard_signed_releases",
                "name": "OpenSSF Scorecard: Signed-Releases",
                "detail": "no releases found",
                "points": 0,
                "status": "excluded",
                "details": [
                  {
                    "code": "no_data",
                    "params": {}
                  }
                ],
                "max_points": 10
              }
            ]
          },
          {
            "key": "abandonment",
            "band": "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": 12,
              "days_since_last_human_commit_is_floor": false
            },
            "components": [
              {
                "key": "project_is_still_maintained",
                "name": "Project is still maintained",
                "detail": "last human commit 12 days ago",
                "points": 100,
                "status": "met",
                "details": [
                  {
                    "code": "abandonment_maintained",
                    "params": {
                      "days": 12
                    }
                  }
                ],
                "max_points": 100
              }
            ]
          }
        ],
        "description": "Is the project alive — is code being written and are releases shipping?"
      },
      {
        "key": "community",
        "band": "moderate",
        "name": "Community & Adoption",
        "value": 52,
        "weight": 0.17,
        "metrics": [
          {
            "key": "popularity",
            "band": "weak",
            "name": "Popularity & adoption",
            "note": null,
            "notes": [],
            "value": 48,
            "inputs": {
              "forks": 16,
              "stars": 175,
              "watchers": 3,
              "growth_state": "unverified",
              "growth_factor_pct": 100,
              "growth_unverified_reason": "no_history"
            },
            "components": [
              {
                "key": "stars",
                "name": "Stars",
                "detail": "175 stars",
                "points": 36.3,
                "status": "partial",
                "details": [
                  {
                    "code": "stars",
                    "params": {
                      "count": 175
                    }
                  }
                ],
                "max_points": 60
              },
              {
                "key": "forks",
                "name": "Forks",
                "detail": "16 forks",
                "points": 9.8,
                "status": "partial",
                "details": [
                  {
                    "code": "forks",
                    "params": {
                      "count": 16
                    }
                  }
                ],
                "max_points": 25
              },
              {
                "key": "watchers",
                "name": "Watchers",
                "detail": "3 watchers",
                "points": 1.7,
                "status": "partial",
                "details": [
                  {
                    "code": "watchers",
                    "params": {
                      "count": 3
                    }
                  }
                ],
                "max_points": 15
              }
            ]
          },
          {
            "key": "community_health",
            "band": "moderate",
            "name": "Community health",
            "note": null,
            "notes": [],
            "value": 50,
            "inputs": {
              "has_readme": true,
              "has_license": true,
              "readme_badges": null,
              "has_contributing": false,
              "has_issue_template": false,
              "has_code_of_conduct": false,
              "readme_badge_services": [],
              "has_pull_request_template": false
            },
            "components": [
              {
                "key": "readme",
                "name": "README",
                "detail": null,
                "points": 22.5,
                "status": "met",
                "details": [],
                "max_points": 22.5
              },
              {
                "key": "license",
                "name": "License",
                "detail": "recognized license (Apache-2.0)",
                "points": 22.5,
                "status": "met",
                "details": [
                  {
                    "code": "license_standard",
                    "params": {}
                  },
                  {
                    "code": "license_spdx",
                    "params": {
                      "spdx": "Apache-2.0"
                    }
                  }
                ],
                "max_points": 22.5
              },
              {
                "key": "contributing_guide",
                "name": "CONTRIBUTING guide",
                "detail": null,
                "points": 0,
                "status": "missed",
                "details": [],
                "max_points": 18
              },
              {
                "key": "code_of_conduct",
                "name": "Code of conduct",
                "detail": null,
                "points": 0,
                "status": "missed",
                "details": [],
                "max_points": 13.5
              },
              {
                "key": "issue_template",
                "name": "Issue template",
                "detail": null,
                "points": 0,
                "status": "missed",
                "details": [],
                "max_points": 7.2
              },
              {
                "key": "pr_template",
                "name": "PR template",
                "detail": null,
                "points": 0,
                "status": "missed",
                "details": [],
                "max_points": 6.3
              }
            ]
          },
          {
            "key": "ecosystem_adoption",
            "band": "moderate",
            "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": 62,
            "inputs": {
              "packages": [
                "@hydraulic/override-zip",
                "@hydraulic/conveyor-control",
                "@hydraulic/migrate-to-conveyor"
              ],
              "dependents": null,
              "ecosystems": "npm",
              "total_downloads": null,
              "monthly_downloads": 5307
            },
            "components": [
              {
                "key": "monthly_downloads",
                "name": "Monthly downloads",
                "detail": "5,307 downloads/month across npm",
                "points": 49.7,
                "status": "partial",
                "details": [
                  {
                    "code": "downloads_monthly",
                    "params": {
                      "count": 5307,
                      "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": 57,
        "weight": 0.23,
        "metrics": [
          {
            "key": "maintainer_resilience",
            "band": "at_risk",
            "name": "Maintainer resilience (bus factor)",
            "note": null,
            "notes": [],
            "value": 32,
            "inputs": {
              "bus_factor": 1,
              "contributors_sampled": 7,
              "top_contributor_share": 0.86
            },
            "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 86% of commits",
                "points": 3.2,
                "status": "partial",
                "details": [
                  {
                    "code": "top_contributor_share",
                    "params": {
                      "share": 86
                    }
                  }
                ],
                "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 4 contributing companies or organizations",
                "points": 10,
                "status": "met",
                "details": [],
                "max_points": 10
              }
            ]
          },
          {
            "key": "responsiveness",
            "band": "moderate",
            "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": 50,
            "inputs": {
              "merged_prs": 4,
              "open_issues": 25,
              "closed_issues": 65,
              "prs_merged_7d": null,
              "prs_decided_7d": null,
              "prs_merged_30d": null,
              "prs_decided_30d": null,
              "issue_closed_ratio": 0.722,
              "closed_unmerged_prs": 5,
              "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": "72% of issues closed",
                "points": 30.3,
                "status": "partial",
                "details": [
                  {
                    "code": "issues_closed_share",
                    "params": {
                      "share": 72
                    }
                  }
                ],
                "max_points": 42
              },
              {
                "key": "pr_acceptance",
                "name": "PR acceptance",
                "detail": "4/9 decided PRs merged",
                "points": 13.3,
                "status": "partial",
                "details": [
                  {
                    "code": "decided_prs_merged",
                    "params": {
                      "merged": 4,
                      "decided": 9
                    }
                  }
                ],
                "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/30 approved changesets -- score normalized to 0",
                "points": 0,
                "status": "missed",
                "details": [],
                "max_points": 15
              }
            ]
          },
          {
            "key": "stewardship",
            "band": "moderate",
            "name": "Ownership & stewardship",
            "note": null,
            "notes": [],
            "value": 60,
            "inputs": {
              "followers": 34,
              "owner_type": "Organization",
              "is_verified": null,
              "owner_login": "hydraulic-software",
              "public_repos": 16,
              "account_age_days": 1905
            },
            "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": "34 followers of hydraulic-software",
                "points": 11.1,
                "status": "partial",
                "details": [
                  {
                    "code": "owner_followers",
                    "params": {
                      "count": 34,
                      "login": "hydraulic-software"
                    }
                  }
                ],
                "max_points": 25
              },
              {
                "key": "track_record",
                "name": "Track record",
                "detail": "16 public repos, account ~5 yr old",
                "points": 19.4,
                "status": "partial",
                "details": [
                  {
                    "code": "public_repos",
                    "params": {
                      "count": 16
                    }
                  },
                  {
                    "code": "account_age_years",
                    "params": {
                      "years": 5
                    }
                  }
                ],
                "max_points": 25
              }
            ]
          },
          {
            "key": "package_maintenance",
            "band": "exceptional",
            "name": "Package maintenance",
            "note": null,
            "notes": [],
            "value": 100,
            "inputs": {
              "packages": [
                "@hydraulic/override-zip",
                "@hydraulic/conveyor-control",
                "@hydraulic/migrate-to-conveyor"
              ],
              "ecosystems": "npm",
              "any_deprecated": false,
              "min_days_since_publish": 8
            },
            "components": [
              {
                "key": "published_resolvable",
                "name": "Published & resolvable",
                "detail": "3 package(s) on npm",
                "points": 25,
                "status": "met",
                "details": [
                  {
                    "code": "packages_published",
                    "params": {
                      "count": 3,
                      "ecosystems": "npm"
                    }
                  }
                ],
                "max_points": 25
              },
              {
                "key": "publish_recency",
                "name": "Publish recency",
                "detail": "latest publish 8 days ago",
                "points": 35,
                "status": "met",
                "details": [
                  {
                    "code": "publish_recency",
                    "params": {
                      "days": 8
                    }
                  }
                ],
                "max_points": 35
              },
              {
                "key": "version_history",
                "name": "Version history",
                "detail": "20 published versions",
                "points": 20,
                "status": "met",
                "details": [
                  {
                    "code": "published_versions",
                    "params": {
                      "count": 20
                    }
                  }
                ],
                "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": "weak",
        "name": "Engineering Quality",
        "value": 40,
        "weight": 0.19,
        "metrics": [
          {
            "key": "engineering_practices",
            "band": "at_risk",
            "name": "Engineering practices",
            "note": "Excluded from scoring (no data or not applicable): OpenSSF Scorecard: CI-Tests. Remaining weights renormalized.",
            "notes": [
              {
                "code": "excluded_no_data",
                "params": {
                  "components": [
                    "openssf_scorecard_ci_tests"
                  ]
                }
              },
              {
                "code": "weights_renormalized",
                "params": {}
              }
            ],
            "value": 30,
            "inputs": {
              "has_ci": false,
              "has_tests": true,
              "has_editorconfig": false,
              "has_linter_config": false,
              "has_precommit_config": false
            },
            "components": [
              {
                "key": "ci_workflows",
                "name": "CI workflows",
                "detail": null,
                "points": 0,
                "status": "missed",
                "details": [],
                "max_points": 24
              },
              {
                "key": "tests_present",
                "name": "Tests present",
                "detail": null,
                "points": 24,
                "status": "met",
                "details": [],
                "max_points": 24
              },
              {
                "key": "linter_config",
                "name": "Linter config",
                "detail": null,
                "points": 0,
                "status": "missed",
                "details": [],
                "max_points": 16
              },
              {
                "key": "pre_commit_hooks",
                "name": "Pre-commit hooks",
                "detail": null,
                "points": 0,
                "status": "missed",
                "details": [],
                "max_points": 9.6
              },
              {
                "key": "editorconfig",
                "name": ".editorconfig",
                "detail": null,
                "points": 0,
                "status": "missed",
                "details": [],
                "max_points": 6.4
              },
              {
                "key": "openssf_scorecard_ci_tests",
                "name": "OpenSSF Scorecard: CI-Tests",
                "detail": "no pull request found",
                "points": 0,
                "status": "excluded",
                "details": [
                  {
                    "code": "no_data",
                    "params": {}
                  }
                ],
                "max_points": 20
              }
            ]
          },
          {
            "key": "documentation",
            "band": "moderate",
            "name": "Documentation",
            "note": null,
            "notes": [],
            "value": 55,
            "inputs": {
              "topics": [],
              "has_wiki": false,
              "homepage": "https://conveyor.hydraulic.dev",
              "has_readme": true,
              "has_docs_dir": false,
              "has_description": true
            },
            "components": [
              {
                "key": "readme",
                "name": "README",
                "detail": null,
                "points": 30,
                "status": "met",
                "details": [],
                "max_points": 30
              },
              {
                "key": "documentation_directory",
                "name": "Documentation directory",
                "detail": null,
                "points": 0,
                "status": "missed",
                "details": [],
                "max_points": 25
              },
              {
                "key": "documentation_homepage_site",
                "name": "Documentation / homepage site",
                "detail": "https://conveyor.hydraulic.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": null,
                "points": 0,
                "status": "missed",
                "details": [],
                "max_points": 10
              },
              {
                "key": "wiki",
                "name": "Wiki",
                "detail": null,
                "points": 0,
                "status": "missed",
                "details": [],
                "max_points": 10
              }
            ]
          }
        ],
        "description": "Are baseline engineering and documentation practices in place?"
      },
      {
        "key": "security",
        "band": "at_risk",
        "name": "Security",
        "value": 32,
        "weight": 0.16,
        "metrics": [
          {
            "key": "security_posture",
            "band": "at_risk",
            "name": "Security posture",
            "note": "Excluded from scoring (no data or not applicable): CI-Tests, Dangerous-Workflow, Packaging, Pinned-Dependencies, Signed-Releases, Token-Permissions. Remaining weights renormalized.",
            "notes": [
              {
                "code": "excluded_no_data",
                "params": {
                  "components": [
                    "ci_tests",
                    "dangerous_workflow",
                    "packaging",
                    "pinned_dependencies",
                    "signed_releases",
                    "token_permissions"
                  ]
                }
              },
              {
                "code": "weights_renormalized",
                "params": {}
              }
            ],
            "value": 22,
            "inputs": {
              "source": "openssf_scorecard",
              "checks_evaluated": 12,
              "scorecard_version": "v5.5.0",
              "checks_inconclusive": 6,
              "scorecard_aggregate": 2.2
            },
            "components": [
              {
                "key": "binary_artifacts",
                "name": "Binary-Artifacts",
                "detail": "binaries present in source code",
                "points": 6.8,
                "status": "partial",
                "details": [],
                "max_points": 7.5
              },
              {
                "key": "branch_protection",
                "name": "Branch-Protection",
                "detail": "branch protection not enabled on development/release branches",
                "points": 0,
                "status": "missed",
                "details": [],
                "max_points": 7.5
              },
              {
                "key": "ci_tests",
                "name": "CI-Tests",
                "detail": "no pull request found",
                "points": 0,
                "status": "excluded",
                "details": [
                  {
                    "code": "no_data",
                    "params": {}
                  }
                ],
                "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/30 approved changesets -- score normalized to 0",
                "points": 0,
                "status": "missed",
                "details": [],
                "max_points": 7.5
              },
              {
                "key": "contributors",
                "name": "Contributors",
                "detail": "project has 4 contributing companies or organizations",
                "points": 2.5,
                "status": "met",
                "details": [],
                "max_points": 2.5
              },
              {
                "key": "dangerous_workflow",
                "name": "Dangerous-Workflow",
                "detail": "no workflows found",
                "points": 0,
                "status": "excluded",
                "details": [
                  {
                    "code": "no_data",
                    "params": {}
                  }
                ],
                "max_points": 10
              },
              {
                "key": "dependency_update_tool",
                "name": "Dependency-Update-Tool",
                "detail": "no update tool detected",
                "points": 0,
                "status": "missed",
                "details": [],
                "max_points": 7.5
              },
              {
                "key": "fuzzing",
                "name": "Fuzzing",
                "detail": "project is not fuzzed",
                "points": 0,
                "status": "missed",
                "details": [],
                "max_points": 5
              },
              {
                "key": "license",
                "name": "License",
                "detail": "license file detected",
                "points": 2.5,
                "status": "met",
                "details": [],
                "max_points": 2.5
              },
              {
                "key": "maintained",
                "name": "Maintained",
                "detail": "3 commit(s) and 2 issue activity found in the last 90 days -- score normalized to 4",
                "points": 3,
                "status": "partial",
                "details": [],
                "max_points": 7.5
              },
              {
                "key": "packaging",
                "name": "Packaging",
                "detail": "packaging workflow not detected",
                "points": 0,
                "status": "excluded",
                "details": [
                  {
                    "code": "no_data",
                    "params": {}
                  }
                ],
                "max_points": 5
              },
              {
                "key": "pinned_dependencies",
                "name": "Pinned-Dependencies",
                "detail": "no dependencies found",
                "points": 0,
                "status": "excluded",
                "details": [
                  {
                    "code": "no_data",
                    "params": {}
                  }
                ],
                "max_points": 5
              },
              {
                "key": "sast",
                "name": "SAST",
                "detail": "no SAST tool detected",
                "points": 0,
                "status": "missed",
                "details": [],
                "max_points": 5
              },
              {
                "key": "security_policy",
                "name": "Security-Policy",
                "detail": "security policy file not detected",
                "points": 0,
                "status": "missed",
                "details": [],
                "max_points": 5
              },
              {
                "key": "signed_releases",
                "name": "Signed-Releases",
                "detail": "no releases found",
                "points": 0,
                "status": "excluded",
                "details": [
                  {
                    "code": "no_data",
                    "params": {}
                  }
                ],
                "max_points": 7.5
              },
              {
                "key": "token_permissions",
                "name": "Token-Permissions",
                "detail": "No tokens found",
                "points": 0,
                "status": "excluded",
                "details": [
                  {
                    "code": "no_data",
                    "params": {}
                  }
                ],
                "max_points": 7.5
              },
              {
                "key": "vulnerabilities",
                "name": "Vulnerabilities",
                "detail": "59 existing vulnerabilities detected",
                "points": 0,
                "status": "missed",
                "details": [],
                "max_points": 7.5
              }
            ]
          },
          {
            "key": "dependency_advisories",
            "band": "good",
            "name": "Dependency advisories",
            "note": "Matched the npm:@hydraulic/override-zip@22.1.0 runtime dependency closure — what installing the published package pulls in — 227 packages. Reachability is not analyzed.",
            "notes": [
              {
                "code": "advisories_scope_published",
                "params": {
                  "package": "npm:@hydraulic/override-zip@22.1.0",
                  "assessed": 227
                }
              },
              {
                "code": "advisories_reachability",
                "params": {}
              }
            ],
            "value": 74,
            "inputs": {
              "source": "osv",
              "advisories": 13,
              "affected_packages": 2,
              "assessed_packages": 227,
              "unassessed_packages": 0,
              "affected_by_severity": "high 2",
              "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": "2 affected: brace-expansion 1.1.16 (high 7.5), tar 6.2.1 (high 8.8)",
                "points": 6.2,
                "status": "partial",
                "details": [
                  {
                    "code": "advisories_affected",
                    "params": {
                      "count": 2,
                      "packages": "brace-expansion 1.1.16 (high 7.5), tar 6.2.1 (high 8.8)"
                    }
                  }
                ],
                "max_points": 25
              },
              {
                "key": "no_advisories_left_outstanding",
                "name": "No advisories left outstanding",
                "detail": "1 advisory-carrying package(s) unaddressed past 90 days; oldest published 194 days ago",
                "points": 32.8,
                "status": "partial",
                "details": [
                  {
                    "code": "advisories_stale",
                    "params": {
                      "days": 90,
                      "count": 1,
                      "oldest": 194
                    }
                  }
                ],
                "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": 227,
              "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": 6
            },
            "components": [
              {
                "key": "policy_exposure_multiplier",
                "name": "Policy exposure multiplier",
                "detail": "no confirmed policy-scope location match",
                "points": 100,
                "status": "met",
                "details": [
                  {
                    "code": "jurisdiction_no_match",
                    "params": {}
                  }
                ],
                "max_points": 100
              }
            ]
          }
        ],
        "description": "Are visible security and supply-chain practices strong, with no malicious dependency and no unresolved high-risk jurisdiction exposure?"
      },
      {
        "key": "ai_readiness",
        "band": "weak",
        "name": "AI Readiness",
        "value": 49,
        "weight": 0.04,
        "metrics": [
          {
            "key": "ai_agent_context",
            "band": "critical",
            "name": "Agent context & guidance",
            "note": null,
            "notes": [],
            "value": 4,
            "inputs": {
              "has_llms_txt": false,
              "legible_history_share": 0.08,
              "agent_instruction_files": [],
              "agent_instruction_max_bytes": null
            },
            "components": [
              {
                "key": "agent_instructions",
                "name": "Agent instructions",
                "detail": "no CLAUDE.md / AGENTS.md / editor rules",
                "points": 0,
                "status": "missed",
                "details": [
                  {
                    "code": "no_agent_instructions",
                    "params": {}
                  }
                ],
                "max_points": 45
              },
              {
                "key": "machine_readable_docs_llms_txt",
                "name": "Machine-readable docs (llms.txt)",
                "detail": null,
                "points": 0,
                "status": "missed",
                "details": [],
                "max_points": 15
              },
              {
                "key": "legible_commit_history",
                "name": "Legible commit history",
                "detail": "8 of 100 human commits state their intent (structured subject or explanatory body)",
                "points": 4.3,
                "status": "partial",
                "details": [
                  {
                    "code": "legible_history",
                    "params": {
                      "legible": 8,
                      "sampled": 100
                    }
                  }
                ],
                "max_points": 40
              }
            ]
          },
          {
            "key": "ai_verify_loop",
            "band": "moderate",
            "name": "Verify loop (build / test / typecheck)",
            "note": "Excluded from scoring (no data or not applicable): OpenSSF Scorecard: Pinned-Dependencies. Remaining weights renormalized.",
            "notes": [
              {
                "code": "excluded_no_data",
                "params": {
                  "components": [
                    "openssf_scorecard_pinned_dependencies"
                  ]
                }
              },
              {
                "code": "weights_renormalized",
                "params": {}
              }
            ],
            "value": 64,
            "inputs": {
              "has_nix": false,
              "has_tests": true,
              "lockfiles": [
                "Pipfile.lock",
                "package-lock.json"
              ],
              "has_dockerfile": false,
              "typed_language": true,
              "bootstrap_files": [],
              "has_devcontainer": false,
              "has_linter_config": false,
              "typecheck_configs": [],
              "agent_commit_share": 0.01,
              "toolchain_manifests": [
                "build.gradle.kts",
                "gradle-plugin/build.gradle.kts"
              ],
              "dependency_bot_commit_share": 0
            },
            "components": [
              {
                "key": "one_command_bootstrap",
                "name": "One-command bootstrap",
                "detail": "build.gradle.kts, gradle-plugin/build.gradle.kts (toolchain convention, no task runner)",
                "points": 12.6,
                "status": "partial",
                "details": [
                  {
                    "code": "toolchain_convention",
                    "params": {
                      "files": "build.gradle.kts, gradle-plugin/build.gradle.kts"
                    }
                  }
                ],
                "max_points": 18
              },
              {
                "key": "automated_tests",
                "name": "Automated tests",
                "detail": null,
                "points": 22,
                "status": "met",
                "details": [],
                "max_points": 22
              },
              {
                "key": "lint_format_config",
                "name": "Lint / format config",
                "detail": null,
                "points": 0,
                "status": "missed",
                "details": [],
                "max_points": 11
              },
              {
                "key": "static_type_checking",
                "name": "Static type checking",
                "detail": "Kotlin (statically typed)",
                "points": 11,
                "status": "met",
                "details": [
                  {
                    "code": "statically_typed_language",
                    "params": {
                      "language": "Kotlin"
                    }
                  }
                ],
                "max_points": 11
              },
              {
                "key": "reproducible_environment",
                "name": "Reproducible environment",
                "detail": "lockfile",
                "points": 10,
                "status": "met",
                "details": [
                  {
                    "code": "file_list",
                    "params": {
                      "files": "lockfile"
                    }
                  }
                ],
                "max_points": 10
              },
              {
                "key": "demonstrated_agent_practice",
                "name": "Demonstrated agent practice",
                "detail": "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": "no dependencies found",
                "points": 0,
                "status": "excluded",
                "details": [
                  {
                    "code": "no_data",
                    "params": {}
                  }
                ],
                "max_points": 10
              }
            ]
          },
          {
            "key": "ai_code_legibility",
            "band": "exceptional",
            "name": "Code legibility for models",
            "note": null,
            "notes": [],
            "value": 100,
            "inputs": {
              "primary_language": "Kotlin",
              "largest_source_bytes": 18444,
              "source_files_sampled": 10,
              "oversized_source_files": 0
            },
            "components": [
              {
                "key": "type_checkable_code",
                "name": "Type-checkable code",
                "detail": "Kotlin (statically typed)",
                "points": 45,
                "status": "met",
                "details": [
                  {
                    "code": "statically_typed_language",
                    "params": {
                      "language": "Kotlin"
                    }
                  }
                ],
                "max_points": 45
              },
              {
                "key": "manageable_file_sizes",
                "name": "Manageable file sizes",
                "detail": "0/10 source files over 60KB",
                "points": 55,
                "status": "met",
                "details": [
                  {
                    "code": "oversized_source_files",
                    "params": {
                      "kb": 60,
                      "sampled": 10,
                      "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": {
      "labels": [
        "library"
      ],
      "scores": {
        "plugin": 2,
        "library": 6,
        "desktop-app": 2
      },
      "primary": "library",
      "evidence": [
        {
          "tier": "distribution",
          "label": "library",
          "source": "registry:npm",
          "weight": 6
        },
        {
          "tier": "tags",
          "label": "desktop-app",
          "source": "tag:desktop",
          "weight": 2
        },
        {
          "tier": "description",
          "label": "plugin",
          "source": "description:plugin",
          "weight": 2
        }
      ],
      "artifacts": [],
      "confidence": "medium",
      "host_extension": false,
      "runs_as_process": false,
      "consumed_by_code": true
    },
    "metrics_version": "2.3.1"
  },
  "warnings": [
    "Star history unavailable: GitHub GraphQL error: Resource not accessible by personal access token"
  ],
  "report_type": "repository",
  "generated_at": "2026-07-30T11:41:43.534999Z",
  "schema_version": "0.27.0",
  "badge_url": "https://raw.githubusercontent.com/inspect-software/badges/main/v1/h/hydraulic-software/conveyor.svg",
  "full_name": "hydraulic-software/conveyor",
  "license_state": "standard",
  "license_spdx": "Apache-2.0"
}

Las puntuaciones son señales, no garantías. Reflejan prácticas públicamente visibles en GitHub; no son una auditoría de código ni una garantía de seguridad.

Los datos ausentes se excluyen y los pesos se renormalizan; nunca se puntúan como cero. La metodología es versionada y abierta: métricas v2.3.1, esquema v0.27.0 — metodología completa · wiki de métricas.

Cómo se sitúa un resultado dentro del registro general: estadísticas agregadasnpm.