Registro público
Informe de salud del softwareesquema 0.26.0 · métricas 1.13.0 · 2026-07-22 16:24 UTC

gkz / prelude-ls

prelude.ls is a functionally oriented utility library - powerful and flexible, almost all of functions are curried. It is written in, and is the recommended base library for, http://livescript.net

LiveScriptMIT★ 426 estrellas⑂ 59 forksdesde may 2012Ver en GitHub ↗

gkz/prelude-ls tiene un índice de salud de 47 sobre 100, lo que lo sitúa en la banda En riesgo. Su puntuación más alta es Community & Adoption (68/100) y la más baja, Vitality (25/100). Se actualizó por última vez hace 68 días. Una sola persona concentra la mayor parte del trabajo reciente.

47
global / 100
En riesgo

Índice de salud del software

Las métricas se agrupan en categorías ponderadas sobre una escala de 1 a 100. El resultado global parte de su media; cuando la evidencia pública activa la Política de Jurisdicciones de Alto Riesgo, la calificación se ajusta y recibe el límite 49 (En riesgo). Preparación para IA queda fuera.

47
Excelente85-100Ejemplar; cumple prácticamente todos los criterios evaluados
Bueno70-84Saludable; carencias menores
Moderado50-69Aceptable con carencias notables; se recomienda revisión
En riesgo30-49Debilidades significativas; su adopción exige cautela
Crítico1-29Problemas 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.

Titularidad

George ZaharievCuenta personal
423 seguidores52 repositorios públicosdesde nov 2011Meta

Este repositorio pertenece a una cuenta personal. Un proyecto con un único propietario conlleva más riesgo de continuidad que uno respaldado por una organización.

Ecosistemas de paquetes

RegistroPaqueteVersiónDescargas / mesVersionesÚltima publicaciónEtiquetas
npmprelude-ls1.2.1556.060.74614hace 2301 díaspreludelivescriptutilitylscoffeescriptjavascriptlibraryfunctionalarraylistobjectstring

Métricas por categoría

Vitalidad

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

25Crítico · 22% del índice global
Cómo se puntúa
18/36Recencia de push — último push hace 68 días
0.7/36Cadencia de commits — 1/52 semanas con commits
2.7/18Volumen de commits — 1 commits en el último año
0/10OpenSSF Scorecard: Maintained — 1 commit(s) and 0 issue activity found in the last 90 days -- score normalized to 0
Datos de entrada utilizados
commits_last_year1
human_commit_share0,92
days_since_last_push68
active_weeks_last_year1
Cómo se puntúa
16.2/27Publica versiones — 14 etiquetas de versión (sin releases de GitHub)
0/36Recencia de las versiones — última versión hace 2301 días
12.6/27Cadencia de publicación — una versión cada ~315,3 días
0/10OpenSSF Scorecard: Signed-Releases — sin datos
Datos de entrada utilizados
releases_count14
latest_release_tag1.2.1
releases_from_tags
days_since_latest_release2301
mean_days_between_releases315,3
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?

68Moderado · 18% del índice global
Cómo se puntúa
42.6/60Estrellas — 426 estrellas
14.7/25Forks — 59 forks
6.4/15Observadores — 15 observadores
Datos de entrada utilizados
forks59
stars426
watchers15
growth_stateunverified
growth_factor_pct100
growth_unverified_reasonno_history
Cómo se puntúa
22.5/22.5README
22.5/22.5Licencia — licencia reconocida (MIT)
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
has_contributingno
has_issue_templateno
has_code_of_conductno
has_pull_request_templateno
Cómo se puntúa
80/80Descargas mensuales — 556.060.746 descargas/mes en npm
0/20Dependientes en el registro — no lo informa este ecosistema
Datos de entrada utilizados
packagesprelude-ls
dependents
ecosystemsnpm
total_downloads
monthly_downloads556.060.746
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?

58Moderado · 24% del índice global
Cómo se puntúa
9/54Factor bus — la mitad de los commits recae en 1 contribuyente(s)
3.5/22.5Distribución de commits — el principal contribuyente firma el 85% de los commits
13.5/13.5Amplitud de contribuyentes — 11 contribuyentes
10/10OpenSSF Scorecard: Contributors — project has 29 contributing companies or organizations
Datos de entrada utilizados
bus_factor1
contributors_sampled11
top_contributor_share0,846
Cómo se puntúa
37/46.8Resolución de issues — 79% de issues cerradas
27.8/38.3Aceptación de PR — 32/44 PR decididos fusionados
1.5/15OpenSSF Scorecard: Code-Review — Found 2/12 approved changesets -- score normalized to 1
Datos de entrada utilizados
merged_prs32
open_issues16
closed_issues61
issue_closed_ratio0,792
closed_unmerged_prs12
Cómo se puntúa
10/30Respaldo de la propiedad — cuenta personal (usuario)
0/20Dominio verificado — no aplicable a cuentas de usuario
18.9/25Alcance del propietario — 423 seguidores de gkz
24.6/25Trayectoria — 52 repos públicos, cuenta de ~14 años
Datos de entrada utilizados
followers423
owner_typeUser
is_verified
owner_logingkz
public_repos52
account_age_days5351
Excluidos de la puntuación (sin datos o no aplicable): Dominio verificado. Los pesos restantes se han renormalizado.
Cómo se puntúa
25/25Publicado y resoluble — 1 paquete(s) en npm
4/35Recencia de publicación — última publicación hace 2301 días
20/20Historial de versiones — 14 versiones en el registro
20/20No obsoleto — activo, ni obsoleto ni retirado
Datos de entrada utilizados
packagesprelude-ls
ecosystemsnpm
any_deprecatedno
min_days_since_publish2301

Calidad de Ingeniería

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

40En riesgo · 20% 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 — 0 out of 10 merged PRs checked by a CI test -- score normalized to 0
Datos de entrada utilizados
has_cino
has_tests
has_editorconfigno
has_linter_configno
has_precommit_configno

Documentación

65Moderado
Cómo se puntúa
30/30README
0/25Directorio de documentación
15/15Sitio de documentación / página del proyecto — http://gkz.github.io/prelude-ls/
10/10Descripción del repositorio
0/10Topics
10/10Wiki
Datos de entrada utilizados
topics
has_wiki
homepagehttp://gkz.github.io/prelude-ls/
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?

44En riesgo · 16% del índice global
Cómo se puntúa
7.5/7.5Binary-Artifacts — no binaries found in the repo
0/7.5Branch-Protection — branch protection not enabled on development/release branches
0/2.5CI-Tests — 0 out of 10 merged PRs checked by a CI test -- score normalized to 0
0/2.5CII-Best-Practices — no effort to earn an OpenSSF best practices badge detected
0.8/7.5Code-Review — Found 2/12 approved changesets -- score normalized to 1
2.5/2.5Contributors — project has 29 contributing companies or organizations
0/10Dangerous-Workflow — sin datos
7.5/7.5Dependency-Update-Tool — update tool detected
0/5Fuzzing — project is not fuzzed
2.5/2.5Licencia — license file detected
0/7.5Maintained — 1 commit(s) and 0 issue activity found in the last 90 days -- score normalized to 0
0/5Packaging — sin datos
0/5Pinned-Dependencies — sin datos
0/5SAST — SAST tool is not run on all commits -- score normalized to 0
0/5Security-Policy — security policy file not detected
0/7.5Signed-Releases — sin datos
0/7.5Token-Permissions — sin datos
0/7.5Vulnerabilities — 38 existing vulnerabilities detected
Datos de entrada utilizados
sourceopenssf_scorecard
checks_evaluated13
scorecard_versionv5.5.0
checks_inconclusive5
scorecard_aggregate3
Excluidos de la puntuación (sin datos o no aplicable): 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
0/25Dependencias indirectas libres de avisos conocidos — el conjunto transitivo no es separable de las dependencias de desarrollo y prueba en este alcance
0/40Sin avisos pendientes — ningún aviso tiene fecha de publicación
Datos de entrada utilizados
sourceosv
advisories45
affected_packages22
assessed_packages229
unassessed_packages0
affected_by_severitycritical 3, high 13, moderate 6
direct_affected_packages0
Excluidos de la puntuación (sin datos o no aplicable): Dependencias indirectas libres de avisos conocidos, Sin avisos pendientes. Los pesos restantes se han renormalizado. Se cotejaron 229 dependencias resueltas con OSV. Este repositorio no publica ningún paquete que el índice resuelva, por lo que se evaluó en su lugar el grafo de dependencias del repositorio. Ese grafo mezcla fijaciones de desarrollo y prueba con las dependencias distribuidas, de modo que solo se puntúan las dependencias declaradas en tiempo de ejecución; los hallazgos transitivos se informan como contexto y quedan excluidos de la puntuación. 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? Es una insignia independiente y experimental — peso 0,0, de modo que se presenta por separado y no afecta a la puntuación de salud global.

44En riesgo · 0% 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)
11.6/40Historial de commits legible — 20 de 92 commits humanos declaran su intención (asunto estructurado o cuerpo explicativo)
Datos de entrada utilizados
has_llms_txtno
legible_history_share0,217
agent_instruction_files
agent_instruction_max_bytes
Cómo se puntúa
18/18Arranque con un solo comando — Makefile
22/22Pruebas automatizadas
0/11Configuración de lint / formato
0/11Verificación estática de tipos
10/10Entorno reproducible — lockfile
0/10Práctica demostrada con agentes — ningún commit con autoría de agente entre los últimos 100
8/8Mantenimiento automatizado — 8 de los últimos 100 commits son actualizaciones automáticas de dependencias
0/10OpenSSF Scorecard: Pinned-Dependencies — sin datos
Datos de entrada utilizados
has_nixno
has_tests
lockfilespackage-lock.json
has_dockerfileno
typed_languageno
bootstrap_filesMakefile
has_devcontainerno
has_linter_configno
typecheck_configs
agent_commit_share0
toolchain_manifests
dependency_bot_commit_share0,08
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
0/45Código verificable por tipos — LiveScript sin configuración de verificación de tipos
55/55Tamaños de archivo manejables — 0/8 archivos fuente de más de 60 KB
Datos de entrada utilizados
primary_languageLiveScript
largest_source_bytes30.911
source_files_sampled8
oversized_source_files0

Datos clave

426estrellas de GitHub
11contribuidores
1commits en los últimos 12 meses
68días desde el último push
14versiones publicadas
1factor bus
16issues abiertas
npmecosistemas 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 ★ / 59 ⇿
0Estrellas
59Forks
11Versiones

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.

01020304050605942012-062019-062026-06
Mayor 1Menor 4Parche 6

Cada punto abarca 13 días.

OpenSSF Scorecard 3.0 / 10
3.0agregado

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-22 16:24 UTC

10Binary-Artifactsno binaries found in the repo
0Branch-Protectionbranch protection not enabled on development/release branches
0CI-Tests0 out of 10 merged PRs checked by a CI test -- score normalized to 0
0CII-Best-Practicesno effort to earn an OpenSSF best practices badge detected
1Code-ReviewFound 2/12 approved changesets -- score normalized to 1
10Contributorsproject has 29 contributing companies or organizations
n/dDangerous-Workflowno workflows found
10Dependency-Update-Toolupdate tool detected
0Fuzzingproject is not fuzzed
10Licenselicense file detected
0Maintained1 commit(s) and 0 issue activity found in the last 90 days -- score normalized to 0
n/dPackagingpackaging workflow not detected
n/dPinned-Dependenciesno dependencies found
0SASTSAST tool is not run on all commits -- score normalized to 0
0Security-Policysecurity policy file not detected
n/dSigned-Releasesno releases found
n/dToken-PermissionsNo tokens found
0Vulnerabilities38 existing vulnerabilities detected
Todas las dependencias 229

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

RegistroPaqueteVersiónRelación
npm@sinonjs/commons1.7.1indirecta
npm@sinonjs/formatio4.0.1indirecta
npm@sinonjs/samsam4.2.2indirecta
npm@sinonjs/text-encoding0.7.1indirecta
npmacorn7.1.1indirecta
npmacorn-node1.8.2indirecta
npmacorn-walk7.1.1indirecta
npmansi-colors4.1.1indirecta
npmansi-regex5.0.1indirecta
npmansi-styles4.3.0indirecta
npmanymatch3.1.3indirecta
npmargparse2.0.1indirecta
npmasn1.js4.10.1indirecta
npmassert1.5.0indirecta
npmbalanced-match1.0.0indirecta
npmbase64-js1.3.1indirecta
npmbinary-extensions2.2.0indirecta
npmbn.js4.11.8indirecta
npmbrace-expansion1.1.11indirecta
npmbrace-expansion2.0.1indirecta
npmbraces3.0.2indirecta
npmbrorand1.1.0indirecta
npmbrowser-pack6.1.0indirecta
npmbrowser-resolve1.11.3indirecta
npmbrowser-stdout1.3.1indirecta
npmbrowserify16.5.1indirecta
npmbrowserify-aes1.2.0indirecta
npmbrowserify-cipher1.0.1indirecta
npmbrowserify-des1.0.2indirecta
npmbrowserify-rsa4.0.1indirecta
npmbrowserify-sign4.0.4indirecta
npmbrowserify-zlib0.2.0indirecta
npmbuffer5.2.1indirecta
npmbuffer-from1.1.1indirecta
npmbuffer-xor1.0.3indirecta
npmbuiltin-status-codes3.0.0indirecta
npmcached-path-relative1.0.2indirecta
npmcamelcase6.3.0indirecta
npmchalk4.1.2indirecta
npmchokidar3.5.3indirecta
npmcipher-base1.0.4indirecta
npmcliui7.0.4indirecta
npmcolor-convert2.0.1indirecta
npmcolor-name1.1.4indirecta
npmcombine-source-map0.8.0indirecta
npmcommander2.20.3indirecta
npmconcat-map0.0.1indirecta
npmconcat-stream1.6.2indirecta
npmconsole-browserify1.2.0indirecta
npmconstants-browserify1.0.0indirecta
npmconvert-source-map1.1.3indirecta
npmcore-util-is1.0.2indirecta
npmcreate-ecdh4.0.3indirecta
npmcreate-hash1.2.0indirecta
npmcreate-hmac1.1.7indirecta
npmcrypto-browserify3.12.0indirecta
npmdash-ast1.0.0indirecta
npmdebug4.3.4indirecta
npmdecamelize4.0.0indirecta
npmdeep-is0.1.3indirecta
npmdefined1.0.0indirecta
npmdeps-sort2.0.1indirecta
npmdes.js1.0.1indirecta
npmdetective5.2.0indirecta
npmdiff4.0.2indirecta
npmdiff5.0.0indirecta
npmdiffie-hellman5.0.3indirecta
npmdomain-browser1.2.0indirecta
npmduplexer20.1.4indirecta
npmelliptic6.5.3indirecta
npmemoji-regex8.0.0indirecta
npmescalade3.1.1indirecta
npmescape-string-regexp4.0.0indirecta
npmevents2.1.0indirecta
npmevp_bytestokey1.0.3indirecta
npmfast-levenshtein2.0.6indirecta
npmfast-safe-stringify2.0.7indirecta
npmfill-range7.0.1indirecta
npmfind-up5.0.0indirecta
npmflat5.0.2indirecta
npmfs.realpath1.0.0indirecta
npmfsevents2.3.2indirecta
npmfunction-bind1.1.1indirecta
npmget-assigned-identifiers1.2.0indirecta
npmget-caller-file2.0.5indirecta
npmglob7.1.6indirecta
npmglob7.2.0indirecta
npmglob-parent5.1.2indirecta
npmhas1.0.3indirecta
npmhas-flag4.0.0indirecta
npmhash-base3.0.4indirecta
npmhash.js1.1.7indirecta
npmhe1.2.0indirecta
npmhmac-drbg1.0.1indirecta
npmhtmlescape1.1.1indirecta
npmhttps-browserify1.0.0indirecta
npmieee7541.1.13indirecta
npminflight1.0.6indirecta
npminherits2.0.1indirecta
npminherits2.0.3indirecta
npminherits2.0.4indirecta
npminline-source-map0.6.2indirecta
npminsert-module-globals7.2.0indirecta
npmis-binary-path2.1.0indirecta
npmis-buffer1.1.6indirecta
npmis-extglob2.1.1indirecta
npmis-fullwidth-code-point3.0.0indirecta
npmis-glob4.0.3indirecta
npmis-number7.0.0indirecta
npmis-plain-obj2.1.0indirecta
npmis-unicode-supported0.1.0indirecta
npmisarray0.0.1indirecta
npmisarray1.0.0indirecta
npmjs-yaml4.1.0indirecta
npmjson-stable-stringify0.0.1indirecta
npmjsonify0.0.0indirecta
npmjsonparse1.3.1indirecta
npmJSONStream1.3.5indirecta
npmjust-extend4.1.0indirecta
npmlabeled-stream-splicer2.0.2indirecta
npmlevn0.3.0indirecta
npmlivescript1.6.0indirecta
npmlocate-path6.0.0indirecta
npmlodash.get4.4.2indirecta
npmlodash.memoize3.0.4indirecta
npmlog-symbols4.1.0indirecta
npmlolex5.1.2indirecta
npmmd5.js1.3.5indirecta
npmmiller-rabin4.0.1indirecta
npmminimalistic-assert1.0.1indirecta
npmminimalistic-crypto-utils1.0.1indirecta
npmminimatch3.1.2indirecta
npmminimatch5.0.1indirecta
npmminimist1.2.7indirecta
npmmkdirp-classic0.5.2indirecta
npmmocha10.2.0indirecta
npmmodule-deps6.2.2indirecta
npmms2.1.2indirecta
npmms2.1.3indirecta
npmnanoid3.3.3indirecta
npmnise3.0.1indirecta
npmnormalize-path3.0.0indirecta
npmobject-assign4.1.1indirecta
npmonce1.4.0indirecta
npmoptionator0.8.3indirecta
npmos-browserify0.3.0indirecta
npmp-limit3.1.0indirecta
npmp-locate5.0.0indirecta
npmpako1.0.11indirecta
npmparents1.0.1indirecta
npmparse-asn15.1.5indirecta
npmpath-browserify0.0.1indirecta
npmpath-exists4.0.0indirecta
npmpath-is-absolute1.0.1indirecta
npmpath-parse1.0.6indirecta
npmpath-platform0.11.15indirecta
npmpath-to-regexp1.8.0indirecta
npmpbkdf23.0.17indirecta
npmpicomatch2.3.1indirecta
npmprelude-ls1.1.2indirecta
npmprocess0.11.10indirecta
npmprocess-nextick-args2.0.1indirecta
npmpublic-encrypt4.0.3indirecta
npmpunycode1.3.2indirecta
npmpunycode1.4.1indirecta
npmquerystring0.2.0indirecta
npmquerystring-es30.2.1indirecta
npmrandombytes2.1.0indirecta
npmrandomfill1.0.4indirecta
npmread-only-stream2.0.0indirecta
npmreadable-stream2.3.7indirecta
npmreadable-stream3.6.0indirecta
npmreaddirp3.6.0indirecta
npmrequire-directory2.1.1indirecta
npmresolve1.1.7indirecta
npmresolve1.15.1indirecta
npmripemd1602.0.2indirecta
npmsafe-buffer5.1.2indirecta
npmsafe-buffer5.2.0indirecta
npmserialize-javascript6.0.0indirecta
npmsha.js2.4.11indirecta
npmshasum1.0.2indirecta
npmshasum-object1.0.0indirecta
npmshell-quote1.7.2indirecta
npmsimple-concat1.0.0indirecta
npmsinon8.0.4indirecta
npmsource-map0.5.7indirecta
npmsource-map0.6.1indirecta
npmsource-map-support0.5.6indirecta
npmstream-browserify2.0.2indirecta
npmstream-combiner21.1.1indirecta
npmstream-http3.1.0indirecta
npmstream-splicer2.0.1indirecta
npmstring-width4.2.3indirecta
npmstring_decoder1.1.1indirecta
npmstring_decoder1.3.0indirecta
npmstrip-ansi6.0.1indirecta
npmstrip-json-comments3.1.1indirecta
npmsubarg1.0.0indirecta
npmsupports-color7.1.0indirecta
npmsupports-color7.2.0indirecta
npmsupports-color8.1.1indirecta
npmsyntax-error1.4.0indirecta
npmthrough2.3.8indirecta
npmthrough22.0.5indirecta
npmtimers-browserify1.4.2indirecta
npmto-regex-range5.0.1indirecta
npmtty-browserify0.0.1indirecta
npmtype-check0.3.2indirecta
npmtype-detect4.0.8indirecta
npmtypedarray0.0.6indirecta
npmuglify-js3.8.1indirecta
npmumd3.0.3indirecta
npmundeclared-identifiers1.1.3indirecta
npmurl0.11.0indirecta
npmutil0.10.3indirecta
npmutil0.10.4indirecta
npmutil-deprecate1.0.2indirecta
npmvm-browserify1.1.2indirecta
npmword-wrap1.2.3indirecta
npmworkerpool6.2.1indirecta
npmwrap-ansi7.0.0indirecta
npmwrappy1.0.2indirecta
npmxtend4.0.2indirecta
npmy18n5.0.8indirecta
npmyargs16.2.0indirecta
npmyargs-parser20.2.4indirecta
npmyargs-unparser2.0.0indirecta
npmyocto-queue0.1.0indirecta
Avisos de dependencias 22

Este repositorio no publica ningún paquete que el índice resuelva, así que se evaluó su propio grafo de dependencias — 229 paquetes, que incluyen también fijaciones de desarrollo y prueba que nunca se distribuyen: 22 tienen avisos conocidos, de los cuales 0 son directas.

PaqueteVersiónRelaciónGravedadAvisosCorregido en
cipher-base1.0.4indirectacrítica11.0.5
sha.js2.4.11indirectacrítica12.4.12
shell-quote1.7.2indirectacrítica31.9.0
brace-expansion1.1.11indirectaalta35.0.7
brace-expansion2.0.1indirectaalta35.0.7
braces3.0.2indirectaalta13.0.3
browserify-sign4.0.4indirectaalta14.2.2
cached-path-relative1.0.2indirectaalta11.1.0
elliptic6.5.3indirectaalta86.6.1
js-yaml4.1.0indirectaalta34.3.0
minimatch3.1.2indirectaalta310.2.3
minimatch5.0.1indirectaalta310.2.3
path-to-regexp1.8.0indirectaalta18.0.0
pbkdf23.0.17indirectaalta23.1.3
picomatch2.3.1indirectaalta24.0.4
serialize-javascript6.0.0indirectaalta37.0.5
bn.js4.11.8indirectamoderada15.2.3
diff4.0.2indirectamoderada18.0.3
diff5.0.0indirectamoderada18.0.3
nanoid3.3.3indirectamoderada15.0.9
path-parse1.0.6indirectamoderada11.0.7
word-wrap1.2.3indirectamoderada11.2.4

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": 811,
      "has_wiki": true,
      "homepage": "http://gkz.github.io/prelude-ls/",
      "languages": {
        "HTML": 131,
        "Makefile": 1102,
        "LiveScript": 48457
      },
      "pushed_at": "2026-05-15T06:21:30Z",
      "created_at": "2012-05-26T20:53:10Z",
      "owner_type": "User",
      "updated_at": "2026-06-04T04:17:57Z",
      "description": "prelude.ls is a functionally oriented utility library - powerful and flexible, almost all of functions are curried. It is written in, and is the recommended base library for, http://livescript.net",
      "is_archived": false,
      "is_disabled": false,
      "license_spdx": "MIT",
      "default_branch": "master",
      "license_spdx_raw": "MIT",
      "primary_language": "LiveScript",
      "significant_languages": [
        "LiveScript"
      ]
    },
    "owner": {
      "blog": "https://www.georgezahariev.com",
      "name": "George Zahariev",
      "type": "User",
      "login": "gkz",
      "company": "Meta",
      "location": "Seattle",
      "followers": 423,
      "avatar_url": "https://avatars.githubusercontent.com/u/1222691?v=4",
      "created_at": "2011-11-27T00:49:36Z",
      "is_verified": null,
      "public_repos": 52,
      "account_age_days": 5351
    },
    "license": {
      "state": "standard",
      "spdx_id": "MIT",
      "raw_spdx": "MIT",
      "file_present": true,
      "scorecard_found": true,
      "profile_has_license": true
    },
    "activity": {
      "releases": [
        {
          "tag": "1.2.1",
          "kind": "patch",
          "published_at": "2020-04-02T22:48:28Z"
        },
        {
          "tag": "1.1.2",
          "kind": "patch",
          "published_at": "2015-05-15T02:41:59Z"
        },
        {
          "tag": "1.1.1",
          "kind": "patch",
          "published_at": "2014-04-09T22:31:24Z"
        },
        {
          "tag": "1.1.0",
          "kind": "minor",
          "published_at": "2014-03-28T22:37:45Z"
        },
        {
          "tag": "1.0.3",
          "kind": "patch",
          "published_at": "2013-07-26T22:53:38Z"
        },
        {
          "tag": "1.0.2",
          "kind": "patch",
          "published_at": "2013-07-26T22:38:00Z"
        },
        {
          "tag": "1.0.1",
          "kind": "patch",
          "published_at": "2013-07-12T16:00:09Z"
        },
        {
          "tag": "1.0.0",
          "kind": "major",
          "published_at": "2013-05-11T21:36:07Z"
        },
        {
          "tag": "0.6.0",
          "kind": "minor",
          "published_at": "2012-07-30T07:25:39Z"
        },
        {
          "tag": "0.5.0",
          "kind": "minor",
          "published_at": "2012-06-25T22:10:56Z"
        },
        {
          "tag": "0.4.0",
          "kind": "minor",
          "published_at": "2012-06-18T20:04:24Z"
        },
        {
          "tag": "0.3.0",
          "kind": "minor",
          "published_at": "2012-06-13T20:36:00Z"
        },
        {
          "tag": "0.2.0",
          "kind": "minor",
          "published_at": "2012-05-29T01:16:48Z"
        },
        {
          "tag": "0.1.0",
          "kind": "minor",
          "published_at": "2012-05-26T21:32:12Z"
        }
      ],
      "recent_commits": [
        {
          "oid": "d03c80138754ab9469b4e758caa0bfb2e4869e98",
          "body": null,
          "is_bot": false,
          "headline": "Update link to prelude.ls site",
          "author_name": "George Zahariev",
          "author_login": "gkz",
          "committed_at": "2026-05-15T06:21:30Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "4457c5cf834bde1e43d300a1eb41fdbb574985fd",
          "body": "Bump minimist from 1.2.5 to 1.2.7",
          "is_bot": false,
          "headline": "Merge pull request #133 from gkz/dependabot/npm_and_yarn/minimist-1.2.7",
          "author_name": "George Zahariev",
          "author_login": "gkz",
          "committed_at": "2022-12-30T21:59:40Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "a7ffdf801aeeab2e8e427dbc4c9653b90fed3cec",
          "body": "Bump minimatch from 3.0.4 to 3.1.2",
          "is_bot": false,
          "headline": "Merge pull request #134 from gkz/dependabot/npm_and_yarn/minimatch-3.1.2",
          "author_name": "George Zahariev",
          "author_login": "gkz",
          "committed_at": "2022-12-30T21:59:30Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "793d50de2409fd96f4628034115251687a74d6bf",
          "body": "Bumps [minimatch](https://github.com/isaacs/minimatch) from 3.0.4 to 3.1.2.\n- [Release notes](https://github.com/isaacs/minimatch/releases)\n- [Changelog](https://github.com/isaacs/minimatch/blob/main/changelog.md)\n- [Commits](https://github.com/isaacs/minimatch/compare/v3.0.4...v3.1.2)\n\n---\nupdated-dependencies:\n- dependency-name: minimatch\n  dependency-type: indirect\n...\n\nSigned-off-by: dependabot[bot] <support@github.com>",
          "is_bot": true,
          "headline": "Bump minimatch from 3.0.4 to 3.1.2",
          "author_name": "dependabot[bot]",
          "author_login": "dependabot[bot]",
          "committed_at": "2022-12-30T21:28:52Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "54ae2da13e4fcf374a7dd236e6c7ff86734339eb",
          "body": "Bumps [minimist](https://github.com/minimistjs/minimist) from 1.2.5 to 1.2.7.\n- [Release notes](https://github.com/minimistjs/minimist/releases)\n- [Changelog](https://github.com/minimistjs/minimist/blob/main/CHANGELOG.md)\n- [Commits](https://github.com/minimistjs/minimist/compare/v1.2.5...v1.2.7)\n\n---\nupdated-dependencies:\n- dependency-name: minimist\n  dependency-type: indirect\n...\n\nSigned-off-by: dependabot[bot] <support@github.com>",
          "is_bot": true,
          "headline": "Bump minimist from 1.2.5 to 1.2.7",
          "author_name": "dependabot[bot]",
          "author_login": "dependabot[bot]",
          "committed_at": "2022-12-30T21:27:56Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "c642a245ee119ae3ac0c659064ae9c41b6d37f2c",
          "body": "…ha-5.0.2\n\nBump flat and mocha",
          "is_bot": false,
          "headline": "Merge pull request #132 from gkz/dependabot/npm_and_yarn/flat-and-moc…",
          "author_name": "George Zahariev",
          "author_login": "gkz",
          "committed_at": "2022-12-30T21:16:12Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "98b2c9fb50c904f96c8ed4c1b460dc5c4c0da7eb",
          "body": "Bumps [flat](https://github.com/hughsk/flat) to 5.0.2 and updates ancestor dependency [mocha](https://github.com/mochajs/mocha). These dependencies need to be updated together.\n\n\nUpdates `flat` from 4.1.0 to 5.0.2\n- [Release notes](https://github.com/hughsk/flat/releases)\n- [Commits](https://github.\n[…]\n)\n\n---\nupdated-dependencies:\n- dependency-name: flat\n  dependency-type: indirect\n- dependency-name: mocha\n  dependency-type: direct:development\n...\n\nSigned-off-by: dependabot[bot] <support@github.com>",
          "is_bot": true,
          "headline": "Bump flat and mocha",
          "author_name": "dependabot[bot]",
          "author_login": "dependabot[bot]",
          "committed_at": "2022-12-30T20:01:09Z",
          "body_truncated": true,
          "is_coding_agent": false
        },
        {
          "oid": "e0d9070a2efd727ae8c6536e184817128daeece6",
          "body": "…5.1.2\n\nBump glob-parent from 5.1.1 to 5.1.2",
          "is_bot": false,
          "headline": "Merge pull request #127 from gkz/dependabot/npm_and_yarn/glob-parent-…",
          "author_name": "George Zahariev",
          "author_login": "gkz",
          "committed_at": "2021-06-11T17:49:10Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "40a1d8fd77d1d353547291f7d160b38e100a66bf",
          "body": "Bumps [glob-parent](https://github.com/gulpjs/glob-parent) from 5.1.1 to 5.1.2.\n- [Release notes](https://github.com/gulpjs/glob-parent/releases)\n- [Changelog](https://github.com/gulpjs/glob-parent/blob/main/CHANGELOG.md)\n- [Commits](https://github.com/gulpjs/glob-parent/compare/v5.1.1...v5.1.2)\n\n---\nupdated-dependencies:\n- dependency-name: glob-parent\n  dependency-type: indirect\n...\n\nSigned-off-by: dependabot[bot] <support@github.com>",
          "is_bot": true,
          "headline": "Bump glob-parent from 5.1.1 to 5.1.2",
          "author_name": "dependabot[bot]",
          "author_login": "dependabot[bot]",
          "committed_at": "2021-06-11T09:08:08Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "fcaaaf2d712d34dc3d4952807f80fabe0e21ecb0",
          "body": "Bump lodash from 4.17.19 to 4.17.21",
          "is_bot": false,
          "headline": "Merge pull request #126 from gkz/dependabot/npm_and_yarn/lodash-4.17.21",
          "author_name": "George Zahariev",
          "author_login": "gkz",
          "committed_at": "2021-05-11T18:39:07Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "9e4512957850c038caa0732a0b2f3df8cdf0fb4f",
          "body": "Bumps [lodash](https://github.com/lodash/lodash) from 4.17.19 to 4.17.21.\n- [Release notes](https://github.com/lodash/lodash/releases)\n- [Commits](https://github.com/lodash/lodash/compare/4.17.19...4.17.21)\n\nSigned-off-by: dependabot[bot] <support@github.com>",
          "is_bot": true,
          "headline": "Bump lodash from 4.17.19 to 4.17.21",
          "author_name": "dependabot[bot]",
          "author_login": "dependabot[bot]",
          "committed_at": "2021-05-11T09:09:19Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "41d048799bdd063e0592c1413d238ad95ceda1d9",
          "body": "Bump y18n from 4.0.0 to 4.0.1",
          "is_bot": false,
          "headline": "Merge pull request #125 from gkz/dependabot/npm_and_yarn/y18n-4.0.1",
          "author_name": "George Zahariev",
          "author_login": "gkz",
          "committed_at": "2021-03-31T21:43:06Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "7c268df3b7fe2a3ecd6753d6754e205e7a24cedd",
          "body": "Bumps [y18n](https://github.com/yargs/y18n) from 4.0.0 to 4.0.1.\n- [Release notes](https://github.com/yargs/y18n/releases)\n- [Changelog](https://github.com/yargs/y18n/blob/master/CHANGELOG.md)\n- [Commits](https://github.com/yargs/y18n/commits)\n\nSigned-off-by: dependabot[bot] <support@github.com>",
          "is_bot": true,
          "headline": "Bump y18n from 4.0.0 to 4.0.1",
          "author_name": "dependabot[bot]",
          "author_login": "dependabot[bot]",
          "committed_at": "2021-03-31T19:51:54Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "d0aece4aebc932daf6acc46ab0b200d1f32b3910",
          "body": "Bump elliptic from 6.5.2 to 6.5.3",
          "is_bot": false,
          "headline": "Merge pull request #123 from gkz/dependabot/npm_and_yarn/elliptic-6.5.3",
          "author_name": "George Zahariev",
          "author_login": "gkz",
          "committed_at": "2020-08-02T00:00:22Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "b87b278f2e3930c1afa74eee50460a708e045e65",
          "body": "Bumps [elliptic](https://github.com/indutny/elliptic) from 6.5.2 to 6.5.3.\n- [Release notes](https://github.com/indutny/elliptic/releases)\n- [Commits](https://github.com/indutny/elliptic/compare/v6.5.2...v6.5.3)\n\nSigned-off-by: dependabot[bot] <support@github.com>",
          "is_bot": true,
          "headline": "Bump elliptic from 6.5.2 to 6.5.3",
          "author_name": "dependabot[bot]",
          "author_login": "dependabot[bot]",
          "committed_at": "2020-08-01T19:35:34Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "9b30af39a520905c2ef27500d6e6bc79d991e118",
          "body": "Bump lodash from 4.17.15 to 4.17.19",
          "is_bot": false,
          "headline": "Merge pull request #122 from gkz/dependabot/npm_and_yarn/lodash-4.17.19",
          "author_name": "George Zahariev",
          "author_login": "gkz",
          "committed_at": "2020-07-20T20:51:16Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "3b8811a628bb5daf852fa49efcc0c1b63e8900f1",
          "body": "Bumps [lodash](https://github.com/lodash/lodash) from 4.17.15 to 4.17.19.\n- [Release notes](https://github.com/lodash/lodash/releases)\n- [Commits](https://github.com/lodash/lodash/compare/4.17.15...4.17.19)\n\nSigned-off-by: dependabot[bot] <support@github.com>",
          "is_bot": true,
          "headline": "Bump lodash from 4.17.15 to 4.17.19",
          "author_name": "dependabot[bot]",
          "author_login": "dependabot[bot]",
          "committed_at": "2020-07-20T03:31:35Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "093e5159e3a202ccca6a4ccd0ae4ba9b2e06053a",
          "body": null,
          "is_bot": false,
          "headline": "build browser",
          "author_name": "George Zahariev",
          "author_login": "gkz",
          "committed_at": "2020-04-02T22:58:57Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "781fc3eaac2dbcdc76ae3f0a898a8113f56a3744",
          "body": null,
          "is_bot": false,
          "headline": "1.2.1",
          "author_name": "George Zahariev",
          "author_login": "gkz",
          "committed_at": "2020-04-02T22:48:28Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "80309d14a90485d838593d589f19d357a9694b6d",
          "body": null,
          "is_bot": false,
          "headline": "1.2.0",
          "author_name": "George Zahariev",
          "author_login": "gkz",
          "committed_at": "2020-04-02T22:44:17Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "d4052990d13eb5adf9a3cc6ca339c6d4bcd49740",
          "body": null,
          "is_bot": false,
          "headline": "update travis.yml",
          "author_name": "George Zahariev",
          "author_login": "gkz",
          "committed_at": "2020-04-02T22:39:34Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "7372a603d84d6291379d820bc0e7300e4c68b1cf",
          "body": null,
          "is_bot": false,
          "headline": "update",
          "author_name": "George Zahariev",
          "author_login": "gkz",
          "committed_at": "2020-04-02T22:36:32Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "c34e273fe9948f2880b065a9a22b1702663b4fe9",
          "body": null,
          "is_bot": false,
          "headline": "build",
          "author_name": "George Zahariev",
          "author_login": "gkz",
          "committed_at": "2016-06-21T23:32:57Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "f2323889478fd24c7b560ef6422bf166778200bb",
          "body": "add 'remove' for List",
          "is_bot": false,
          "headline": "Merge pull request #90 from chrisvfritz/master",
          "author_name": "George Zahariev",
          "author_login": "gkz",
          "committed_at": "2015-09-23T06:55:49Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "6b582dc522ccb9c628f8fd15e1f5e0d7c9e02584",
          "body": "…om https://github.com/gkz/prelude-ls/pull/90#discussion_r34027087",
          "is_bot": false,
          "headline": "use cascade for even DRYer remove implementation, courtesy of anko fr…",
          "author_name": "Chris Fritz",
          "author_login": "chrisvfritz",
          "committed_at": "2015-07-07T17:07:40Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "991ee3fd8633d1d039b916a4b6db4187787c8efe",
          "body": "…b.com/gkz/prelude-ls/pull/90#discussion_r33992063",
          "is_bot": false,
          "headline": "DRYer remove implementation courtesy of vendethiel from https://githu…",
          "author_name": "Chris Fritz",
          "author_login": "chrisvfritz",
          "committed_at": "2015-07-06T23:00:29Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "afc6a929632d04ab58296a46cf98fd40408f9a07",
          "body": null,
          "is_bot": false,
          "headline": "add 'remove' for List",
          "author_name": "Chris Fritz",
          "author_login": "chrisvfritz",
          "committed_at": "2015-07-06T22:38:36Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "667b97f5d9ae52ca329f00ce55060faf360a80e5",
          "body": "Update license attribute",
          "is_bot": false,
          "headline": "Merge pull request #84 from pdehaan/patch-1",
          "author_name": "George Zahariev",
          "author_login": "gkz",
          "committed_at": "2015-05-25T23:11:26Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "adddca73c5b4ca210f35f1c2bc9fb037c8c32567",
          "body": "specifying the type and URL is deprecated:\r\n\r\nhttps://docs.npmjs.com/files/package.json#license\r\nhttp://npm1k.org/",
          "is_bot": false,
          "headline": "Update license attribute",
          "author_name": "Peter deHaan",
          "author_login": "pdehaan",
          "committed_at": "2015-05-25T18:38:51Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "cbb5556e2f7b28f9efc5249d160ea4f11b4e268b",
          "body": null,
          "is_bot": false,
          "headline": "preroll should use latest ls version",
          "author_name": "George Zahariev",
          "author_login": "gkz",
          "committed_at": "2015-05-15T05:15:35Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "d69be8fd8a682321ba24eced17caf3a1b8ca73b8",
          "body": null,
          "is_bot": false,
          "headline": "1.1.2",
          "author_name": "George Zahariev",
          "author_login": "gkz",
          "committed_at": "2015-05-15T02:41:59Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "9e7a7633dc521e875062e509512a575e974045b1",
          "body": null,
          "is_bot": false,
          "headline": "update ls and mocha deps",
          "author_name": "George Zahariev",
          "author_login": "gkz",
          "committed_at": "2015-05-14T06:02:49Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "753d4d30d26d9972a68724629a174a2a570d66ad",
          "body": null,
          "is_bot": false,
          "headline": "use join, not *, for string join",
          "author_name": "George Zahariev",
          "author_login": "gkz",
          "committed_at": "2015-05-14T05:52:54Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "2d10c45fad17ff8b0a95f02d657e75cd7b2457d0",
          "body": "Memoize",
          "is_bot": false,
          "headline": "Merge pull request #72 from johngeorgewright/feature/memoize",
          "author_name": "George Zahariev",
          "author_login": "gkz",
          "committed_at": "2015-05-14T05:51:25Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "21c68179f083b6f02164451fc9c69fa652d7f470",
          "body": "Zip all fix",
          "is_bot": false,
          "headline": "Merge pull request #83 from jampekka/zip-all-fix",
          "author_name": "George Zahariev",
          "author_login": "gkz",
          "committed_at": "2015-04-01T00:48:36Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "70ab1a7eebd21bf7a5146f2c89f3068ef42f01ae",
          "body": null,
          "is_bot": false,
          "headline": "Fix corner case of no input for zip-all and zip-all-with",
          "author_name": "Jami Pekkanen",
          "author_login": "jampekka",
          "committed_at": "2015-03-31T20:53:10Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "cb47893765fa3027844fef98d971bb7cfc3bf201",
          "body": "test case for the empty thingie",
          "is_bot": false,
          "headline": "Merge pull request #1 from audreyt/patch-2",
          "author_name": "Jami Pekkanen",
          "author_login": "jampekka",
          "committed_at": "2015-03-31T20:48:13Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "60f7d376d6a0ff6139427ee3fbf672aff369e2c5",
          "body": null,
          "is_bot": false,
          "headline": "test case for the empty thingie",
          "author_name": "唐鳳",
          "author_login": "audreyt",
          "committed_at": "2015-03-31T20:45:04Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "b146c422b6a90706ffa5712332ae900104a0a101",
          "body": null,
          "is_bot": false,
          "headline": "Syntactic standards.",
          "author_name": "John Wright",
          "author_login": "johngeorgewright",
          "committed_at": "2015-01-02T23:50:50Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "f64177f6e4e5168037bc6a703ef3ab35d7a8f97f",
          "body": null,
          "is_bot": false,
          "headline": "Using typeof!",
          "author_name": "John Wright",
          "author_login": "johngeorgewright",
          "committed_at": "2015-01-02T23:40:40Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "b506f386353b8ff8e2ac2581bb6ec75d1cb36791",
          "body": null,
          "is_bot": false,
          "headline": "Taking argument type in to consideration",
          "author_name": "John Wright",
          "author_login": "johngeorgewright",
          "committed_at": "2015-01-02T23:24:18Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "e0de01168f7efc4c2945c1058f1cce36e5798748",
          "body": null,
          "is_bot": false,
          "headline": "Testing the return values of the memoize functions.",
          "author_name": "John Wright",
          "author_login": "johngeorgewright",
          "committed_at": "2014-10-16T09:39:18Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "970c416c2f2fd7e9035338d441c70259cd911696",
          "body": null,
          "is_bot": false,
          "headline": "Somehow this didn't get included in previous commits.",
          "author_name": "John Wright",
          "author_login": "johngeorgewright",
          "committed_at": "2014-10-16T09:38:52Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "540001f7efb7c510505a66f5eee8d0e71a216581",
          "body": null,
          "is_bot": false,
          "headline": "mkdir -p for build",
          "author_name": "George Zahariev",
          "author_login": "gkz",
          "committed_at": "2014-10-03T05:47:19Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "4571b7fb7753636c5eb02d84967214fef1f6796a",
          "body": null,
          "is_bot": false,
          "headline": "fix tests",
          "author_name": "George Zahariev",
          "author_login": "gkz",
          "committed_at": "2014-10-03T05:39:50Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "3c9f1e0242bf161103600f690985300cadfcc136",
          "body": null,
          "is_bot": false,
          "headline": "Removing unneccesary 'id' call as it's no long configurable",
          "author_name": "John Wright",
          "author_login": "johngeorgewright",
          "committed_at": "2014-06-19T11:52:27Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "58d8c19717cc07bc4b7f91cba4cb6748b3ac7ad1",
          "body": "Here's an attempt at creating the memoize function. I noticed a comment\nwas left to create it, and I am in need of it ;)",
          "is_bot": false,
          "headline": "Adding the memoize function",
          "author_name": "John Wright",
          "author_login": "johngeorgewright",
          "committed_at": "2014-06-19T11:49:00Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "d2056cdf7e7d93740a008a784228936a230025c0",
          "body": null,
          "is_bot": false,
          "headline": "1.1.1",
          "author_name": "George Zahariev",
          "author_login": "gkz",
          "committed_at": "2014-04-09T22:31:24Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "495f9d131d3143e43bca4c0b87b7cbd9efaad5ce",
          "body": null,
          "is_bot": false,
          "headline": "rename oddly named arg",
          "author_name": "George Zahariev",
          "author_login": "gkz",
          "committed_at": "2014-04-09T22:28:52Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "442de585fd5c24587c28e02582a988a4da9ef590",
          "body": null,
          "is_bot": false,
          "headline": "curry minimum-by",
          "author_name": "George Zahariev",
          "author_login": "gkz",
          "committed_at": "2014-04-09T22:28:22Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "b9fb321a71331ee7f47183f1e74641647bb429c9",
          "body": null,
          "is_bot": false,
          "headline": "curry unique-by - closes #69",
          "author_name": "George Zahariev",
          "author_login": "gkz",
          "committed_at": "2014-04-09T22:16:00Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "fc65b4a9b5b335656775df9b6ac3ac9e321f8b65",
          "body": null,
          "is_bot": false,
          "headline": "1.1.0",
          "author_name": "George Zahariev",
          "author_login": "gkz",
          "committed_at": "2014-03-28T22:37:45Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "28423cf22b794e215298bcdaa2f7d835e2e869b3",
          "body": null,
          "is_bot": false,
          "headline": "add preroll to browser build process",
          "author_name": "George Zahariev",
          "author_login": "gkz",
          "committed_at": "2014-03-28T22:34:34Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "5c9a982de5b6790718e845995a241dbde26b4282",
          "body": null,
          "is_bot": false,
          "headline": "repeat definition change",
          "author_name": "George Zahariev",
          "author_login": "gkz",
          "committed_at": "2014-03-28T08:02:58Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "6d0eab6d8e7b85961d55c06504074f214054b0de",
          "body": null,
          "is_bot": false,
          "headline": "code cleanup",
          "author_name": "George Zahariev",
          "author_login": "gkz",
          "committed_at": "2014-03-28T07:56:44Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "d3df9bf1cf7d55a5ba89be6f6c0f2b5c78df4cf7",
          "body": null,
          "is_bot": false,
          "headline": "use strict-equal for tests instead of equal",
          "author_name": "George Zahariev",
          "author_login": "gkz",
          "committed_at": "2014-03-28T06:59:51Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "0a0fa4be3f4716679253d8104c18918a7daa36a4",
          "body": null,
          "is_bot": false,
          "headline": "test version",
          "author_name": "George Zahariev",
          "author_login": "gkz",
          "committed_at": "2014-03-28T06:58:27Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "d9fc9684fcb74dee9711171ce6fa0e2f417afcc0",
          "body": null,
          "is_bot": false,
          "headline": "move test/Prelude.ls to test/index.ls",
          "author_name": "George Zahariev",
          "author_login": "gkz",
          "committed_at": "2014-03-28T06:58:07Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "c3a787ba745987f3c2795ae13819aa69c4a57280",
          "body": null,
          "is_bot": false,
          "headline": "update changelog with foldr/foldr1 fixes",
          "author_name": "George Zahariev",
          "author_login": "gkz",
          "committed_at": "2014-03-28T06:12:36Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "f7f856a681ce245d700b967ff50cfcce4fda2c80",
          "body": null,
          "is_bot": false,
          "headline": "remove unnecessary code",
          "author_name": "George Zahariev",
          "author_login": "gkz",
          "committed_at": "2014-03-28T05:54:59Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "47e04ee719a05bbe8f8e4b6671de60a88a3436cf",
          "body": null,
          "is_bot": false,
          "headline": "add foldr/foldr1 tests",
          "author_name": "George Zahariev",
          "author_login": "gkz",
          "committed_at": "2014-03-28T05:54:35Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "fba9912d0169d2b283d6a030096a0bdd15e9854b",
          "body": null,
          "is_bot": false,
          "headline": "fix definition of foldr and foldr1",
          "author_name": "George Zahariev",
          "author_login": "gkz",
          "committed_at": "2014-03-27T23:48:52Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "6c3bcba5b2fddbecbaa5f2674b9a91e4431a66a3",
          "body": null,
          "is_bot": false,
          "headline": "update changelog",
          "author_name": "George Zahariev",
          "author_login": "gkz",
          "committed_at": "2014-03-27T03:52:33Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "dc2a31966fc17c3a4160da88587c66abf5869320",
          "body": null,
          "is_bot": false,
          "headline": "add unique-by",
          "author_name": "George Zahariev",
          "author_login": "gkz",
          "committed_at": "2014-03-27T00:01:52Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "2d7c74ad01b029af325d015fc991bf47e1a9ce5b",
          "body": "at, elem-index, elem-indices, find-index, find-indices\ncloses #61",
          "is_bot": false,
          "headline": "add list index related functions",
          "author_name": "George Zahariev",
          "author_login": "gkz",
          "committed_at": "2014-03-26T23:42:23Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "3ebf28e785539d2cd92b2d08c5669a1b3ce4eb91",
          "body": null,
          "is_bot": false,
          "headline": "add over combinator, closes #55",
          "author_name": "George Zahariev",
          "author_login": "gkz",
          "committed_at": "2014-03-26T23:09:07Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "8b588d49cbc9d95e5f881ef194f5bada52abd845",
          "body": null,
          "is_bot": false,
          "headline": "fix fix fixes #68",
          "author_name": "George Zahariev",
          "author_login": "gkz",
          "committed_at": "2014-03-26T23:02:16Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "61350df3cfe52cb56ccde4cebdd33ced70e3af7b",
          "body": "all exported out through the main prelude object\nalso export repeat as above",
          "is_bot": false,
          "headline": "add capitalize, camelize, and dasherize str funcs",
          "author_name": "George Zahariev",
          "author_login": "gkz",
          "committed_at": "2014-03-26T22:51:08Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "e6583c70d1e922076b782f3c4cbb444eb838de80",
          "body": null,
          "is_bot": false,
          "headline": "copyright year not required",
          "author_name": "George Zahariev",
          "author_login": "gkz",
          "committed_at": "2014-03-25T23:26:20Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "3e5f23b0e3ec7c4923d812900e51c09f705f755d",
          "body": null,
          "is_bot": false,
          "headline": "undo buggy optimization",
          "author_name": "George Zahariev",
          "author_login": "gkz",
          "committed_at": "2014-03-25T03:18:32Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "484ff59a3d5059094f60afc6825c3804f0812c4e",
          "body": null,
          "is_bot": false,
          "headline": "update some dependency versions",
          "author_name": "George Zahariev",
          "author_login": "gkz",
          "committed_at": "2014-03-11T06:18:21Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "a41dfb77ef2e0cd5d5ddcba7f1811cbaa19d0166",
          "body": null,
          "is_bot": false,
          "headline": "add generated notice to browser version",
          "author_name": "George Zahariev",
          "author_login": "gkz",
          "committed_at": "2014-02-28T07:55:16Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "7443917164edc6f6f2d34c60d2f41b0fa2da510e",
          "body": null,
          "is_bot": false,
          "headline": "remove unused tests",
          "author_name": "George Zahariev",
          "author_login": "gkz",
          "committed_at": "2014-02-28T07:52:57Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "213973c0289c9d3e37c9713ed1a7a18002055ffc",
          "body": null,
          "is_bot": false,
          "headline": "improve performance of unqiue",
          "author_name": "George Zahariev",
          "author_login": "gkz",
          "committed_at": "2013-09-28T08:58:14Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "d27ece12b0a497a643a10dfc22796b421dcc4709",
          "body": null,
          "is_bot": false,
          "headline": "add maximum-by and minimum-by",
          "author_name": "George Zahariev",
          "author_login": "gkz",
          "committed_at": "2013-09-26T22:06:29Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "5776923dda0a4f88775a660b7b4a7096a9e76567",
          "body": null,
          "is_bot": false,
          "headline": "add dependency on package.json for make dev-install",
          "author_name": "George Zahariev",
          "author_login": "gkz",
          "committed_at": "2013-08-27T22:45:09Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "f2bcf94106bb923b8d9c62446565a8f805911f56",
          "body": null,
          "is_bot": false,
          "headline": "add some tests for sort - now 100% statement coverage",
          "author_name": "George Zahariev",
          "author_login": "gkz",
          "committed_at": "2013-08-27T20:11:05Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "f33438261935a6f3b4b2cb995660d900a5702319",
          "body": null,
          "is_bot": false,
          "headline": "istanbul for coverage",
          "author_name": "George Zahariev",
          "author_login": "gkz",
          "committed_at": "2013-08-27T20:03:58Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "ae17eae89b3ced6302c6d607b96efe9ddf1237d9",
          "body": null,
          "is_bot": false,
          "headline": "update Makefile",
          "author_name": "George Zahariev",
          "author_login": "gkz",
          "committed_at": "2013-08-02T20:51:56Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "2dcaf13156d7a17597541bd933f52e6614090330",
          "body": null,
          "is_bot": false,
          "headline": "update to LiveScript 1.2.0",
          "author_name": "George Zahariev",
          "author_login": "gkz",
          "committed_at": "2013-08-02T18:52:46Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "fd3cfb38b3820287dd807ce8bde6b76ee92f100c",
          "body": null,
          "is_bot": false,
          "headline": "1.0.3",
          "author_name": "George Zahariev",
          "author_login": "gkz",
          "committed_at": "2013-07-26T22:53:38Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "a04b9d6c2ea2a48a62af9ea5b412ddd6e6fd5574",
          "body": null,
          "is_bot": false,
          "headline": "1.0.2",
          "author_name": "George Zahariev",
          "author_login": "gkz",
          "committed_at": "2013-07-26T22:38:00Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "24c19b4a665f97ff6052cf4f178f7e50a4119a09",
          "body": null,
          "is_bot": false,
          "headline": "update Makefile",
          "author_name": "George Zahariev",
          "author_login": "gkz",
          "committed_at": "2013-07-26T22:35:38Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "7808c887d165cf7327a1fd8707ac4ca7aa9a7f52",
          "body": null,
          "is_bot": false,
          "headline": "fix flattening lists with strings, closes #56",
          "author_name": "George Zahariev",
          "author_login": "gkz",
          "committed_at": "2013-07-24T17:52:51Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "7895e64de076ba12e2056d48a0ffd0457300acf3",
          "body": null,
          "is_bot": false,
          "headline": "1.0.1",
          "author_name": "George Zahariev",
          "author_login": "gkz",
          "committed_at": "2013-07-12T16:00:09Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "fb301f36098f7fb67a52d5be9fd1339c80631e10",
          "body": null,
          "is_bot": false,
          "headline": "A couple more tests for take-while and drop-while",
          "author_name": "George Zahariev",
          "author_login": "gkz",
          "committed_at": "2013-06-10T21:04:43Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "ba2bc40af7f566f256c8a65687144c89ffb45876",
          "body": null,
          "is_bot": false,
          "headline": "Fix take-while and drop-while, fixes #53",
          "author_name": "George Zahariev",
          "author_login": "gkz",
          "committed_at": "2013-06-10T20:52:58Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "17c4fe6543365079d048cb33b9b06276a661647e",
          "body": null,
          "is_bot": false,
          "headline": "Update readme with new url for site",
          "author_name": "George Zahariev",
          "author_login": "gkz",
          "committed_at": "2013-05-11T21:48:46Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "07505d5a6f6099807fb4f0c24b6cd6910f50d9e7",
          "body": null,
          "is_bot": false,
          "headline": "1.0.0",
          "author_name": "George Zahariev",
          "author_login": "gkz",
          "committed_at": "2013-05-11T21:36:07Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "938de0cd855b0cf896719fd2c1b602e3ec63d9af",
          "body": null,
          "is_bot": false,
          "headline": "difference, intersection, union use var args, not list of lists",
          "author_name": "George Zahariev",
          "author_login": "gkz",
          "committed_at": "2013-05-11T21:07:18Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "4aab420d7dbe03cebb7da11e1c1c64afb57574c4",
          "body": null,
          "is_bot": false,
          "headline": "Improve test requires",
          "author_name": "George Zahariev",
          "author_login": "gkz",
          "committed_at": "2013-05-11T03:19:18Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "e8ea1754bbf5f389a083be4fefd3049470a2344d",
          "body": null,
          "is_bot": false,
          "headline": "Add tests to make sure functions are curried",
          "author_name": "George Zahariev",
          "author_login": "gkz",
          "committed_at": "2013-05-11T03:13:59Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "92df644f984011d2fa9e1bfd2890d702656333ae",
          "body": null,
          "is_bot": false,
          "headline": "Update package.json",
          "author_name": "George Zahariev",
          "author_login": "gkz",
          "committed_at": "2013-05-10T00:44:24Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "7a73226f111386fca7ca6a77292eac2e4d672109",
          "body": null,
          "is_bot": false,
          "headline": "Update readme",
          "author_name": "George Zahariev",
          "author_login": "gkz",
          "committed_at": "2013-05-10T00:41:35Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "7b508e375cde7cdd4db1859dc987f2266e1df1d4",
          "body": null,
          "is_bot": false,
          "headline": "Use index file, and improve requires",
          "author_name": "George Zahariev",
          "author_login": "gkz",
          "committed_at": "2013-05-10T00:38:46Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "ad87dcdd2ac7f068330a8ae7ad4bc2499b2407f3",
          "body": null,
          "is_bot": false,
          "headline": "Rearrange placement of apply",
          "author_name": "George Zahariev",
          "author_login": "gkz",
          "committed_at": "2013-05-09T22:36:03Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "9f69b049b195c1258f60354fd218bcb8fa251ebb",
          "body": null,
          "is_bot": false,
          "headline": "Add test case to minimum: comparing strings",
          "author_name": "George Zahariev",
          "author_login": "gkz",
          "committed_at": "2013-05-09T01:30:05Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "b7517df0bd824429e92fc8c38095b48db89bbe68",
          "body": null,
          "is_bot": false,
          "headline": "Simplify sort-by test",
          "author_name": "George Zahariev",
          "author_login": "gkz",
          "committed_at": "2013-05-09T01:24:54Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "77df25a133d5d7a7f0dd7c461ce2b46051b6b87c",
          "body": null,
          "is_bot": false,
          "headline": "Add Str.empty",
          "author_name": "George Zahariev",
          "author_login": "gkz",
          "committed_at": "2013-05-09T00:21:29Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "92d292822c5dc459cde91b939b3d8e631a21538b",
          "body": null,
          "is_bot": false,
          "headline": "unfold as alias to unfoldr is no longer used",
          "author_name": "George Zahariev",
          "author_login": "gkz",
          "committed_at": "2013-05-08T04:23:49Z",
          "body_truncated": false,
          "is_coding_agent": false
        }
      ],
      "releases_count": 14,
      "commits_last_year": 1,
      "latest_release_at": "2020-04-02T22:48:28Z",
      "latest_release_tag": "1.2.1",
      "releases_from_tags": true,
      "days_since_last_push": 68,
      "active_weeks_last_year": 1,
      "days_since_latest_release": 2301,
      "mean_days_between_releases": 315.3
    },
    "community": {
      "has_readme": true,
      "has_license": true,
      "has_description": true,
      "has_contributing": false,
      "health_percentage": 42,
      "has_issue_template": false,
      "has_code_of_conduct": false,
      "has_pull_request_template": false
    },
    "ecosystem": {
      "packages": [
        {
          "name": "prelude-ls",
          "exists": true,
          "license": "MIT",
          "keywords": [
            "prelude",
            "livescript",
            "utility",
            "ls",
            "coffeescript",
            "javascript",
            "library",
            "functional",
            "array",
            "list",
            "object",
            "string"
          ],
          "ecosystem": "npm",
          "matches_repo": true,
          "registry_url": "https://www.npmjs.com/package/prelude-ls",
          "is_deprecated": false,
          "latest_version": "1.2.1",
          "repository_url": "https://github.com/gkz/prelude-ls",
          "versions_count": 14,
          "total_downloads": null,
          "dependents_count": null,
          "deprecation_note": null,
          "maintainers_count": 1,
          "monthly_downloads": 556060746,
          "first_published_at": "2012-05-29T01:19:15.161000Z",
          "latest_published_at": "2020-04-02T22:53:40.710000Z",
          "latest_version_yanked": null,
          "days_since_latest_publish": 2301
        }
      ]
    },
    "popularity": {
      "forks": 59,
      "stars": 426,
      "watchers": 15,
      "fork_history": {
        "days": [
          {
            "date": "2012-06-14",
            "count": 1
          },
          {
            "date": "2012-06-18",
            "count": 1
          },
          {
            "date": "2012-06-21",
            "count": 1
          },
          {
            "date": "2012-06-23",
            "count": 1
          },
          {
            "date": "2012-07-09",
            "count": 1
          },
          {
            "date": "2012-08-24",
            "count": 1
          },
          {
            "date": "2012-09-14",
            "count": 1
          },
          {
            "date": "2012-10-17",
            "count": 1
          },
          {
            "date": "2012-12-24",
            "count": 1
          },
          {
            "date": "2013-02-26",
            "count": 1
          },
          {
            "date": "2013-03-03",
            "count": 1
          },
          {
            "date": "2013-03-29",
            "count": 1
          },
          {
            "date": "2013-04-15",
            "count": 1
          },
          {
            "date": "2013-05-05",
            "count": 1
          },
          {
            "date": "2013-05-20",
            "count": 1
          },
          {
            "date": "2013-06-02",
            "count": 1
          },
          {
            "date": "2013-07-18",
            "count": 1
          },
          {
            "date": "2013-07-23",
            "count": 1
          },
          {
            "date": "2013-08-18",
            "count": 1
          },
          {
            "date": "2013-09-07",
            "count": 1
          },
          {
            "date": "2013-11-04",
            "count": 1
          },
          {
            "date": "2013-11-12",
            "count": 1
          },
          {
            "date": "2014-01-08",
            "count": 1
          },
          {
            "date": "2014-01-27",
            "count": 1
          },
          {
            "date": "2014-02-02",
            "count": 1
          },
          {
            "date": "2014-02-03",
            "count": 1
          },
          {
            "date": "2014-02-18",
            "count": 1
          },
          {
            "date": "2014-03-24",
            "count": 1
          },
          {
            "date": "2014-03-29",
            "count": 1
          },
          {
            "date": "2014-04-01",
            "count": 1
          },
          {
            "date": "2014-08-21",
            "count": 1
          },
          {
            "date": "2015-02-07",
            "count": 1
          },
          {
            "date": "2015-03-25",
            "count": 1
          },
          {
            "date": "2015-03-28",
            "count": 1
          },
          {
            "date": "2015-03-31",
            "count": 1
          },
          {
            "date": "2015-05-25",
            "count": 1
          },
          {
            "date": "2015-07-06",
            "count": 1
          },
          {
            "date": "2015-07-21",
            "count": 1
          },
          {
            "date": "2015-10-25",
            "count": 1
          },
          {
            "date": "2016-02-29",
            "count": 1
          },
          {
            "date": "2016-04-06",
            "count": 1
          },
          {
            "date": "2016-05-08",
            "count": 1
          },
          {
            "date": "2016-07-31",
            "count": 1
          },
          {
            "date": "2016-10-21",
            "count": 1
          },
          {
            "date": "2017-12-28",
            "count": 1
          },
          {
            "date": "2018-01-10",
            "count": 1
          },
          {
            "date": "2018-02-08",
            "count": 1
          },
          {
            "date": "2018-08-30",
            "count": 1
          },
          {
            "date": "2018-11-06",
            "count": 1
          },
          {
            "date": "2019-02-13",
            "count": 1
          },
          {
            "date": "2019-08-16",
            "count": 1
          },
          {
            "date": "2020-11-12",
            "count": 2
          },
          {
            "date": "2021-06-01",
            "count": 1
          },
          {
            "date": "2022-04-08",
            "count": 1
          },
          {
            "date": "2022-11-02",
            "count": 1
          },
          {
            "date": "2023-10-21",
            "count": 1
          },
          {
            "date": "2025-10-04",
            "count": 1
          },
          {
            "date": "2026-06-22",
            "count": 1
          }
        ],
        "complete": true,
        "collected": 59,
        "total_forks": 59
      },
      "star_history": null,
      "open_issues_and_prs": 31
    },
    "ai_readiness": {
      "has_nix": false,
      "example_dirs": [],
      "has_llms_txt": false,
      "has_dockerfile": false,
      "has_mcp_signal": false,
      "bootstrap_files": [
        "Makefile"
      ],
      "api_schema_files": [],
      "has_devcontainer": false,
      "typecheck_configs": [],
      "toolchain_manifests": [],
      "largest_source_bytes": 30911,
      "source_files_sampled": 8,
      "oversized_source_files": 0,
      "agent_instruction_files": [],
      "agent_instruction_max_bytes": null
    },
    "dependencies": {
      "manifests": [
        "package.json"
      ],
      "advisories": {
        "error": null,
        "scope": "repository_graph",
        "source": "osv",
        "findings": [
          {
            "name": "cipher-base",
            "direct": false,
            "version": "1.0.4",
            "severity": "critical",
            "ecosystem": "npm",
            "cvss_score": 9.1,
            "advisory_ids": [
              "GHSA-cpq7-6gpm-g9rc"
            ],
            "fixed_version": "1.0.5",
            "advisory_count": 1,
            "oldest_advisory_days": 335
          },
          {
            "name": "sha.js",
            "direct": false,
            "version": "2.4.11",
            "severity": "critical",
            "ecosystem": "npm",
            "cvss_score": 9.1,
            "advisory_ids": [
              "GHSA-95m3-7q98-8xr5"
            ],
            "fixed_version": "2.4.12",
            "advisory_count": 1,
            "oldest_advisory_days": 335
          },
          {
            "name": "shell-quote",
            "direct": false,
            "version": "1.7.2",
            "severity": "critical",
            "ecosystem": "npm",
            "cvss_score": 9.8,
            "advisory_ids": [
              "GHSA-395f-4hp3-45gv",
              "GHSA-g4rg-993r-mgx7",
              "GHSA-w7jw-789q-3m8p"
            ],
            "fixed_version": "1.9.0",
            "advisory_count": 3,
            "oldest_advisory_days": 1519
          },
          {
            "name": "brace-expansion",
            "direct": false,
            "version": "1.1.11",
            "severity": "high",
            "ecosystem": "npm",
            "cvss_score": 7.5,
            "advisory_ids": [
              "GHSA-3jxr-9vmj-r5cp",
              "GHSA-f886-m6hf-6m8v",
              "GHSA-v6h2-p8h4-qcjw"
            ],
            "fixed_version": "5.0.7",
            "advisory_count": 3,
            "oldest_advisory_days": 407
          },
          {
            "name": "brace-expansion",
            "direct": false,
            "version": "2.0.1",
            "severity": "high",
            "ecosystem": "npm",
            "cvss_score": 7.5,
            "advisory_ids": [
              "GHSA-3jxr-9vmj-r5cp",
              "GHSA-f886-m6hf-6m8v",
              "GHSA-v6h2-p8h4-qcjw"
            ],
            "fixed_version": "5.0.7",
            "advisory_count": 3,
            "oldest_advisory_days": 407
          },
          {
            "name": "braces",
            "direct": false,
            "version": "3.0.2",
            "severity": "high",
            "ecosystem": "npm",
            "cvss_score": 7.5,
            "advisory_ids": [
              "GHSA-grv7-fg5c-xmjg"
            ],
            "fixed_version": "3.0.3",
            "advisory_count": 1,
            "oldest_advisory_days": 798
          },
          {
            "name": "browserify-sign",
            "direct": false,
            "version": "4.0.4",
            "severity": "high",
            "ecosystem": "npm",
            "cvss_score": 7.5,
            "advisory_ids": [
              "GHSA-x9w5-v3q2-3rhw"
            ],
            "fixed_version": "4.2.2",
            "advisory_count": 1,
            "oldest_advisory_days": 999
          },
          {
            "name": "cached-path-relative",
            "direct": false,
            "version": "1.0.2",
            "severity": "high",
            "ecosystem": "npm",
            "cvss_score": 7.3,
            "advisory_ids": [
              "GHSA-wg6g-ppvx-927h"
            ],
            "fixed_version": "1.1.0",
            "advisory_count": 1,
            "oldest_advisory_days": 1637
          },
          {
            "name": "elliptic",
            "direct": false,
            "version": "6.5.3",
            "severity": "high",
            "ecosystem": "npm",
            "cvss_score": 7.5,
            "advisory_ids": [
              "GHSA-434g-2637-qmqr",
              "GHSA-49q7-c7j4-3p7m",
              "GHSA-848j-6mx2-7j84",
              "GHSA-977x-g7h5-7qgw",
              "GHSA-f7q4-pwc6-w24p",
              "GHSA-fc9h-whq2-v747",
              "GHSA-r9p9-mrjm-926w",
              "GHSA-vjh7-7g9h-fjfh"
            ],
            "fixed_version": "6.6.1",
            "advisory_count": 8,
            "oldest_advisory_days": 1962
          },
          {
            "name": "js-yaml",
            "direct": false,
            "version": "4.1.0",
            "severity": "high",
            "ecosystem": "npm",
            "cvss_score": 7.5,
            "advisory_ids": [
              "GHSA-52cp-r559-cp3m",
              "GHSA-h67p-54hq-rp68",
              "GHSA-mh29-5h37-fv8m"
            ],
            "fixed_version": "4.3.0",
            "advisory_count": 3,
            "oldest_advisory_days": 250
          },
          {
            "name": "minimatch",
            "direct": false,
            "version": "3.1.2",
            "severity": "high",
            "ecosystem": "npm",
            "cvss_score": 7.5,
            "advisory_ids": [
              "GHSA-23c5-xmqv-rm74",
              "GHSA-3ppc-4f35-3m26",
              "GHSA-7r86-cg39-jmmj"
            ],
            "fixed_version": "10.2.3",
            "advisory_count": 3,
            "oldest_advisory_days": 153
          },
          {
            "name": "minimatch",
            "direct": false,
            "version": "5.0.1",
            "severity": "high",
            "ecosystem": "npm",
            "cvss_score": 7.5,
            "advisory_ids": [
              "GHSA-23c5-xmqv-rm74",
              "GHSA-3ppc-4f35-3m26",
              "GHSA-7r86-cg39-jmmj"
            ],
            "fixed_version": "10.2.3",
            "advisory_count": 3,
            "oldest_advisory_days": 153
          },
          {
            "name": "path-to-regexp",
            "direct": false,
            "version": "1.8.0",
            "severity": "high",
            "ecosystem": "npm",
            "cvss_score": 7.5,
            "advisory_ids": [
              "GHSA-9wv6-86v2-598j"
            ],
            "fixed_version": "8.0.0",
            "advisory_count": 1,
            "oldest_advisory_days": 680
          },
          {
            "name": "pbkdf2",
            "direct": false,
            "version": "3.0.17",
            "severity": "high",
            "ecosystem": "npm",
            "cvss_score": 8.2,
            "advisory_ids": [
              "GHSA-h7cp-r72f-jxh6",
              "GHSA-v62p-rq8g-8h59"
            ],
            "fixed_version": "3.1.3",
            "advisory_count": 2,
            "oldest_advisory_days": 393
          },
          {
            "name": "picomatch",
            "direct": false,
            "version": "2.3.1",
            "severity": "high",
            "ecosystem": "npm",
            "cvss_score": 7.5,
            "advisory_ids": [
              "GHSA-3v7f-55p6-f55p",
              "GHSA-c2c7-rcm5-vvqj"
            ],
            "fixed_version": "4.0.4",
            "advisory_count": 2,
            "oldest_advisory_days": 118
          },
          {
            "name": "serialize-javascript",
            "direct": false,
            "version": "6.0.0",
            "severity": "high",
            "ecosystem": "npm",
            "cvss_score": 8.1,
            "advisory_ids": [
              "GHSA-5c6j-r48x-rmvq",
              "GHSA-76p7-773f-r4q5",
              "GHSA-qj8w-gfj5-8c6v"
            ],
            "fixed_version": "7.0.5",
            "advisory_count": 3,
            "oldest_advisory_days": 526
          },
          {
            "name": "bn.js",
            "direct": false,
            "version": "4.11.8",
            "severity": "moderate",
            "ecosystem": "npm",
            "cvss_score": 5.3,
            "advisory_ids": [
              "GHSA-378v-28hj-76wf"
            ],
            "fixed_version": "5.2.3",
            "advisory_count": 1,
            "oldest_advisory_days": 152
          },
          {
            "name": "diff",
            "direct": false,
            "version": "4.0.2",
            "severity": "moderate",
            "ecosystem": "npm",
            "cvss_score": 5.3,
            "advisory_ids": [
              "GHSA-73rr-hh4g-fpgx"
            ],
            "fixed_version": "8.0.3",
            "advisory_count": 1,
            "oldest_advisory_days": 188
          },
          {
            "name": "diff",
            "direct": false,
            "version": "5.0.0",
            "severity": "moderate",
            "ecosystem": "npm",
            "cvss_score": 5.3,
            "advisory_ids": [
              "GHSA-73rr-hh4g-fpgx"
            ],
            "fixed_version": "8.0.3",
            "advisory_count": 1,
            "oldest_advisory_days": 188
          },
          {
            "name": "nanoid",
            "direct": false,
            "version": "3.3.3",
            "severity": "moderate",
            "ecosystem": "npm",
            "cvss_score": 4.3,
            "advisory_ids": [
              "GHSA-mwcw-c2x4-8c55"
            ],
            "fixed_version": "5.0.9",
            "advisory_count": 1,
            "oldest_advisory_days": 590
          },
          {
            "name": "path-parse",
            "direct": false,
            "version": "1.0.6",
            "severity": "moderate",
            "ecosystem": "npm",
            "cvss_score": 5.3,
            "advisory_ids": [
              "GHSA-hj48-42vr-x3v9"
            ],
            "fixed_version": "1.0.7",
            "advisory_count": 1,
            "oldest_advisory_days": 1807
          },
          {
            "name": "word-wrap",
            "direct": false,
            "version": "1.2.3",
            "severity": "moderate",
            "ecosystem": "npm",
            "cvss_score": 5.3,
            "advisory_ids": [
              "GHSA-j8xg-fqg3-53r7"
            ],
            "fixed_version": "1.2.4",
            "advisory_count": 1,
            "oldest_advisory_days": 1126
          }
        ],
        "collected": true,
        "malicious": [],
        "truncated": false,
        "by_severity": {
          "high": 13,
          "critical": 3,
          "moderate": 6
        },
        "advisory_count": 45,
        "affected_count": 22,
        "assessed_count": 229,
        "malicious_count": 0,
        "assessed_package": null,
        "unassessed_count": 0,
        "direct_affected_count": 0
      },
      "ecosystems": [
        "npm"
      ],
      "dependencies": [],
      "all_dependencies": {
        "error": null,
        "source": "github-sbom",
        "packages": [
          {
            "name": "@sinonjs/commons",
            "direct": false,
            "version": "1.7.1",
            "ecosystem": "npm"
          },
          {
            "name": "@sinonjs/formatio",
            "direct": false,
            "version": "4.0.1",
            "ecosystem": "npm"
          },
          {
            "name": "@sinonjs/samsam",
            "direct": false,
            "version": "4.2.2",
            "ecosystem": "npm"
          },
          {
            "name": "@sinonjs/text-encoding",
            "direct": false,
            "version": "0.7.1",
            "ecosystem": "npm"
          },
          {
            "name": "acorn",
            "direct": false,
            "version": "7.1.1",
            "ecosystem": "npm"
          },
          {
            "name": "acorn-node",
            "direct": false,
            "version": "1.8.2",
            "ecosystem": "npm"
          },
          {
            "name": "acorn-walk",
            "direct": false,
            "version": "7.1.1",
            "ecosystem": "npm"
          },
          {
            "name": "ansi-colors",
            "direct": false,
            "version": "4.1.1",
            "ecosystem": "npm"
          },
          {
            "name": "ansi-regex",
            "direct": false,
            "version": "5.0.1",
            "ecosystem": "npm"
          },
          {
            "name": "ansi-styles",
            "direct": false,
            "version": "4.3.0",
            "ecosystem": "npm"
          },
          {
            "name": "anymatch",
            "direct": false,
            "version": "3.1.3",
            "ecosystem": "npm"
          },
          {
            "name": "argparse",
            "direct": false,
            "version": "2.0.1",
            "ecosystem": "npm"
          },
          {
            "name": "asn1.js",
            "direct": false,
            "version": "4.10.1",
            "ecosystem": "npm"
          },
          {
            "name": "assert",
            "direct": false,
            "version": "1.5.0",
            "ecosystem": "npm"
          },
          {
            "name": "balanced-match",
            "direct": false,
            "version": "1.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "base64-js",
            "direct": false,
            "version": "1.3.1",
            "ecosystem": "npm"
          },
          {
            "name": "binary-extensions",
            "direct": false,
            "version": "2.2.0",
            "ecosystem": "npm"
          },
          {
            "name": "bn.js",
            "direct": false,
            "version": "4.11.8",
            "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": "braces",
            "direct": false,
            "version": "3.0.2",
            "ecosystem": "npm"
          },
          {
            "name": "brorand",
            "direct": false,
            "version": "1.1.0",
            "ecosystem": "npm"
          },
          {
            "name": "browser-pack",
            "direct": false,
            "version": "6.1.0",
            "ecosystem": "npm"
          },
          {
            "name": "browser-resolve",
            "direct": false,
            "version": "1.11.3",
            "ecosystem": "npm"
          },
          {
            "name": "browser-stdout",
            "direct": false,
            "version": "1.3.1",
            "ecosystem": "npm"
          },
          {
            "name": "browserify",
            "direct": false,
            "version": "16.5.1",
            "ecosystem": "npm"
          },
          {
            "name": "browserify-aes",
            "direct": false,
            "version": "1.2.0",
            "ecosystem": "npm"
          },
          {
            "name": "browserify-cipher",
            "direct": false,
            "version": "1.0.1",
            "ecosystem": "npm"
          },
          {
            "name": "browserify-des",
            "direct": false,
            "version": "1.0.2",
            "ecosystem": "npm"
          },
          {
            "name": "browserify-rsa",
            "direct": false,
            "version": "4.0.1",
            "ecosystem": "npm"
          },
          {
            "name": "browserify-sign",
            "direct": false,
            "version": "4.0.4",
            "ecosystem": "npm"
          },
          {
            "name": "browserify-zlib",
            "direct": false,
            "version": "0.2.0",
            "ecosystem": "npm"
          },
          {
            "name": "buffer",
            "direct": false,
            "version": "5.2.1",
            "ecosystem": "npm"
          },
          {
            "name": "buffer-from",
            "direct": false,
            "version": "1.1.1",
            "ecosystem": "npm"
          },
          {
            "name": "buffer-xor",
            "direct": false,
            "version": "1.0.3",
            "ecosystem": "npm"
          },
          {
            "name": "builtin-status-codes",
            "direct": false,
            "version": "3.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "cached-path-relative",
            "direct": false,
            "version": "1.0.2",
            "ecosystem": "npm"
          },
          {
            "name": "camelcase",
            "direct": false,
            "version": "6.3.0",
            "ecosystem": "npm"
          },
          {
            "name": "chalk",
            "direct": false,
            "version": "4.1.2",
            "ecosystem": "npm"
          },
          {
            "name": "chokidar",
            "direct": false,
            "version": "3.5.3",
            "ecosystem": "npm"
          },
          {
            "name": "cipher-base",
            "direct": false,
            "version": "1.0.4",
            "ecosystem": "npm"
          },
          {
            "name": "cliui",
            "direct": false,
            "version": "7.0.4",
            "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": "combine-source-map",
            "direct": false,
            "version": "0.8.0",
            "ecosystem": "npm"
          },
          {
            "name": "commander",
            "direct": false,
            "version": "2.20.3",
            "ecosystem": "npm"
          },
          {
            "name": "concat-map",
            "direct": false,
            "version": "0.0.1",
            "ecosystem": "npm"
          },
          {
            "name": "concat-stream",
            "direct": false,
            "version": "1.6.2",
            "ecosystem": "npm"
          },
          {
            "name": "console-browserify",
            "direct": false,
            "version": "1.2.0",
            "ecosystem": "npm"
          },
          {
            "name": "constants-browserify",
            "direct": false,
            "version": "1.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "convert-source-map",
            "direct": false,
            "version": "1.1.3",
            "ecosystem": "npm"
          },
          {
            "name": "core-util-is",
            "direct": false,
            "version": "1.0.2",
            "ecosystem": "npm"
          },
          {
            "name": "create-ecdh",
            "direct": false,
            "version": "4.0.3",
            "ecosystem": "npm"
          },
          {
            "name": "create-hash",
            "direct": false,
            "version": "1.2.0",
            "ecosystem": "npm"
          },
          {
            "name": "create-hmac",
            "direct": false,
            "version": "1.1.7",
            "ecosystem": "npm"
          },
          {
            "name": "crypto-browserify",
            "direct": false,
            "version": "3.12.0",
            "ecosystem": "npm"
          },
          {
            "name": "dash-ast",
            "direct": false,
            "version": "1.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "debug",
            "direct": false,
            "version": "4.3.4",
            "ecosystem": "npm"
          },
          {
            "name": "decamelize",
            "direct": false,
            "version": "4.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "deep-is",
            "direct": false,
            "version": "0.1.3",
            "ecosystem": "npm"
          },
          {
            "name": "defined",
            "direct": false,
            "version": "1.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "deps-sort",
            "direct": false,
            "version": "2.0.1",
            "ecosystem": "npm"
          },
          {
            "name": "des.js",
            "direct": false,
            "version": "1.0.1",
            "ecosystem": "npm"
          },
          {
            "name": "detective",
            "direct": false,
            "version": "5.2.0",
            "ecosystem": "npm"
          },
          {
            "name": "diff",
            "direct": false,
            "version": "4.0.2",
            "ecosystem": "npm"
          },
          {
            "name": "diff",
            "direct": false,
            "version": "5.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "diffie-hellman",
            "direct": false,
            "version": "5.0.3",
            "ecosystem": "npm"
          },
          {
            "name": "domain-browser",
            "direct": false,
            "version": "1.2.0",
            "ecosystem": "npm"
          },
          {
            "name": "duplexer2",
            "direct": false,
            "version": "0.1.4",
            "ecosystem": "npm"
          },
          {
            "name": "elliptic",
            "direct": false,
            "version": "6.5.3",
            "ecosystem": "npm"
          },
          {
            "name": "emoji-regex",
            "direct": false,
            "version": "8.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "escalade",
            "direct": false,
            "version": "3.1.1",
            "ecosystem": "npm"
          },
          {
            "name": "escape-string-regexp",
            "direct": false,
            "version": "4.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "events",
            "direct": false,
            "version": "2.1.0",
            "ecosystem": "npm"
          },
          {
            "name": "evp_bytestokey",
            "direct": false,
            "version": "1.0.3",
            "ecosystem": "npm"
          },
          {
            "name": "fast-levenshtein",
            "direct": false,
            "version": "2.0.6",
            "ecosystem": "npm"
          },
          {
            "name": "fast-safe-stringify",
            "direct": false,
            "version": "2.0.7",
            "ecosystem": "npm"
          },
          {
            "name": "fill-range",
            "direct": false,
            "version": "7.0.1",
            "ecosystem": "npm"
          },
          {
            "name": "find-up",
            "direct": false,
            "version": "5.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "flat",
            "direct": false,
            "version": "5.0.2",
            "ecosystem": "npm"
          },
          {
            "name": "fs.realpath",
            "direct": false,
            "version": "1.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "fsevents",
            "direct": false,
            "version": "2.3.2",
            "ecosystem": "npm"
          },
          {
            "name": "function-bind",
            "direct": false,
            "version": "1.1.1",
            "ecosystem": "npm"
          },
          {
            "name": "get-assigned-identifiers",
            "direct": false,
            "version": "1.2.0",
            "ecosystem": "npm"
          },
          {
            "name": "get-caller-file",
            "direct": false,
            "version": "2.0.5",
            "ecosystem": "npm"
          },
          {
            "name": "glob",
            "direct": false,
            "version": "7.1.6",
            "ecosystem": "npm"
          },
          {
            "name": "glob",
            "direct": false,
            "version": "7.2.0",
            "ecosystem": "npm"
          },
          {
            "name": "glob-parent",
            "direct": false,
            "version": "5.1.2",
            "ecosystem": "npm"
          },
          {
            "name": "has",
            "direct": false,
            "version": "1.0.3",
            "ecosystem": "npm"
          },
          {
            "name": "has-flag",
            "direct": false,
            "version": "4.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "hash-base",
            "direct": false,
            "version": "3.0.4",
            "ecosystem": "npm"
          },
          {
            "name": "hash.js",
            "direct": false,
            "version": "1.1.7",
            "ecosystem": "npm"
          },
          {
            "name": "he",
            "direct": false,
            "version": "1.2.0",
            "ecosystem": "npm"
          },
          {
            "name": "hmac-drbg",
            "direct": false,
            "version": "1.0.1",
            "ecosystem": "npm"
          },
          {
            "name": "htmlescape",
            "direct": false,
            "version": "1.1.1",
            "ecosystem": "npm"
          },
          {
            "name": "https-browserify",
            "direct": false,
            "version": "1.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "ieee754",
            "direct": false,
            "version": "1.1.13",
            "ecosystem": "npm"
          },
          {
            "name": "inflight",
            "direct": false,
            "version": "1.0.6",
            "ecosystem": "npm"
          },
          {
            "name": "inherits",
            "direct": false,
            "version": "2.0.1",
            "ecosystem": "npm"
          },
          {
            "name": "inherits",
            "direct": false,
            "version": "2.0.3",
            "ecosystem": "npm"
          },
          {
            "name": "inherits",
            "direct": false,
            "version": "2.0.4",
            "ecosystem": "npm"
          },
          {
            "name": "inline-source-map",
            "direct": false,
            "version": "0.6.2",
            "ecosystem": "npm"
          },
          {
            "name": "insert-module-globals",
            "direct": false,
            "version": "7.2.0",
            "ecosystem": "npm"
          },
          {
            "name": "is-binary-path",
            "direct": false,
            "version": "2.1.0",
            "ecosystem": "npm"
          },
          {
            "name": "is-buffer",
            "direct": false,
            "version": "1.1.6",
            "ecosystem": "npm"
          },
          {
            "name": "is-extglob",
            "direct": false,
            "version": "2.1.1",
            "ecosystem": "npm"
          },
          {
            "name": "is-fullwidth-code-point",
            "direct": false,
            "version": "3.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "is-glob",
            "direct": false,
            "version": "4.0.3",
            "ecosystem": "npm"
          },
          {
            "name": "is-number",
            "direct": false,
            "version": "7.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "is-plain-obj",
            "direct": false,
            "version": "2.1.0",
            "ecosystem": "npm"
          },
          {
            "name": "is-unicode-supported",
            "direct": false,
            "version": "0.1.0",
            "ecosystem": "npm"
          },
          {
            "name": "isarray",
            "direct": false,
            "version": "0.0.1",
            "ecosystem": "npm"
          },
          {
            "name": "isarray",
            "direct": false,
            "version": "1.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "js-yaml",
            "direct": false,
            "version": "4.1.0",
            "ecosystem": "npm"
          },
          {
            "name": "json-stable-stringify",
            "direct": false,
            "version": "0.0.1",
            "ecosystem": "npm"
          },
          {
            "name": "jsonify",
            "direct": false,
            "version": "0.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "jsonparse",
            "direct": false,
            "version": "1.3.1",
            "ecosystem": "npm"
          },
          {
            "name": "JSONStream",
            "direct": false,
            "version": "1.3.5",
            "ecosystem": "npm"
          },
          {
            "name": "just-extend",
            "direct": false,
            "version": "4.1.0",
            "ecosystem": "npm"
          },
          {
            "name": "labeled-stream-splicer",
            "direct": false,
            "version": "2.0.2",
            "ecosystem": "npm"
          },
          {
            "name": "levn",
            "direct": false,
            "version": "0.3.0",
            "ecosystem": "npm"
          },
          {
            "name": "livescript",
            "direct": false,
            "version": "1.6.0",
            "ecosystem": "npm"
          },
          {
            "name": "locate-path",
            "direct": false,
            "version": "6.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "lodash.get",
            "direct": false,
            "version": "4.4.2",
            "ecosystem": "npm"
          },
          {
            "name": "lodash.memoize",
            "direct": false,
            "version": "3.0.4",
            "ecosystem": "npm"
          },
          {
            "name": "log-symbols",
            "direct": false,
            "version": "4.1.0",
            "ecosystem": "npm"
          },
          {
            "name": "lolex",
            "direct": false,
            "version": "5.1.2",
            "ecosystem": "npm"
          },
          {
            "name": "md5.js",
            "direct": false,
            "version": "1.3.5",
            "ecosystem": "npm"
          },
          {
            "name": "miller-rabin",
            "direct": false,
            "version": "4.0.1",
            "ecosystem": "npm"
          },
          {
            "name": "minimalistic-assert",
            "direct": false,
            "version": "1.0.1",
            "ecosystem": "npm"
          },
          {
            "name": "minimalistic-crypto-utils",
            "direct": false,
            "version": "1.0.1",
            "ecosystem": "npm"
          },
          {
            "name": "minimatch",
            "direct": false,
            "version": "3.1.2",
            "ecosystem": "npm"
          },
          {
            "name": "minimatch",
            "direct": false,
            "version": "5.0.1",
            "ecosystem": "npm"
          },
          {
            "name": "minimist",
            "direct": false,
            "version": "1.2.7",
            "ecosystem": "npm"
          },
          {
            "name": "mkdirp-classic",
            "direct": false,
            "version": "0.5.2",
            "ecosystem": "npm"
          },
          {
            "name": "mocha",
            "direct": false,
            "version": "10.2.0",
            "ecosystem": "npm"
          },
          {
            "name": "module-deps",
            "direct": false,
            "version": "6.2.2",
            "ecosystem": "npm"
          },
          {
            "name": "ms",
            "direct": false,
            "version": "2.1.2",
            "ecosystem": "npm"
          },
          {
            "name": "ms",
            "direct": false,
            "version": "2.1.3",
            "ecosystem": "npm"
          },
          {
            "name": "nanoid",
            "direct": false,
            "version": "3.3.3",
            "ecosystem": "npm"
          },
          {
            "name": "nise",
            "direct": false,
            "version": "3.0.1",
            "ecosystem": "npm"
          },
          {
            "name": "normalize-path",
            "direct": false,
            "version": "3.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "object-assign",
            "direct": false,
            "version": "4.1.1",
            "ecosystem": "npm"
          },
          {
            "name": "once",
            "direct": false,
            "version": "1.4.0",
            "ecosystem": "npm"
          },
          {
            "name": "optionator",
            "direct": false,
            "version": "0.8.3",
            "ecosystem": "npm"
          },
          {
            "name": "os-browserify",
            "direct": false,
            "version": "0.3.0",
            "ecosystem": "npm"
          },
          {
            "name": "p-limit",
            "direct": false,
            "version": "3.1.0",
            "ecosystem": "npm"
          },
          {
            "name": "p-locate",
            "direct": false,
            "version": "5.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "pako",
            "direct": false,
            "version": "1.0.11",
            "ecosystem": "npm"
          },
          {
            "name": "parents",
            "direct": false,
            "version": "1.0.1",
            "ecosystem": "npm"
          },
          {
            "name": "parse-asn1",
            "direct": false,
            "version": "5.1.5",
            "ecosystem": "npm"
          },
          {
            "name": "path-browserify",
            "direct": false,
            "version": "0.0.1",
            "ecosystem": "npm"
          },
          {
            "name": "path-exists",
            "direct": false,
            "version": "4.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "path-is-absolute",
            "direct": false,
            "version": "1.0.1",
            "ecosystem": "npm"
          },
          {
            "name": "path-parse",
            "direct": false,
            "version": "1.0.6",
            "ecosystem": "npm"
          },
          {
            "name": "path-platform",
            "direct": false,
            "version": "0.11.15",
            "ecosystem": "npm"
          },
          {
            "name": "path-to-regexp",
            "direct": false,
            "version": "1.8.0",
            "ecosystem": "npm"
          },
          {
            "name": "pbkdf2",
            "direct": false,
            "version": "3.0.17",
            "ecosystem": "npm"
          },
          {
            "name": "picomatch",
            "direct": false,
            "version": "2.3.1",
            "ecosystem": "npm"
          },
          {
            "name": "prelude-ls",
            "direct": false,
            "version": "1.1.2",
            "ecosystem": "npm"
          },
          {
            "name": "process",
            "direct": false,
            "version": "0.11.10",
            "ecosystem": "npm"
          },
          {
            "name": "process-nextick-args",
            "direct": false,
            "version": "2.0.1",
            "ecosystem": "npm"
          },
          {
            "name": "public-encrypt",
            "direct": false,
            "version": "4.0.3",
            "ecosystem": "npm"
          },
          {
            "name": "punycode",
            "direct": false,
            "version": "1.3.2",
            "ecosystem": "npm"
          },
          {
            "name": "punycode",
            "direct": false,
            "version": "1.4.1",
            "ecosystem": "npm"
          },
          {
            "name": "querystring",
            "direct": false,
            "version": "0.2.0",
            "ecosystem": "npm"
          },
          {
            "name": "querystring-es3",
            "direct": false,
            "version": "0.2.1",
            "ecosystem": "npm"
          },
          {
            "name": "randombytes",
            "direct": false,
            "version": "2.1.0",
            "ecosystem": "npm"
          },
          {
            "name": "randomfill",
            "direct": false,
            "version": "1.0.4",
            "ecosystem": "npm"
          },
          {
            "name": "read-only-stream",
            "direct": false,
            "version": "2.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "readable-stream",
            "direct": false,
            "version": "2.3.7",
            "ecosystem": "npm"
          },
          {
            "name": "readable-stream",
            "direct": false,
            "version": "3.6.0",
            "ecosystem": "npm"
          },
          {
            "name": "readdirp",
            "direct": false,
            "version": "3.6.0",
            "ecosystem": "npm"
          },
          {
            "name": "require-directory",
            "direct": false,
            "version": "2.1.1",
            "ecosystem": "npm"
          },
          {
            "name": "resolve",
            "direct": false,
            "version": "1.1.7",
            "ecosystem": "npm"
          },
          {
            "name": "resolve",
            "direct": false,
            "version": "1.15.1",
            "ecosystem": "npm"
          },
          {
            "name": "ripemd160",
            "direct": false,
            "version": "2.0.2",
            "ecosystem": "npm"
          },
          {
            "name": "safe-buffer",
            "direct": false,
            "version": "5.1.2",
            "ecosystem": "npm"
          },
          {
            "name": "safe-buffer",
            "direct": false,
            "version": "5.2.0",
            "ecosystem": "npm"
          },
          {
            "name": "serialize-javascript",
            "direct": false,
            "version": "6.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "sha.js",
            "direct": false,
            "version": "2.4.11",
            "ecosystem": "npm"
          },
          {
            "name": "shasum",
            "direct": false,
            "version": "1.0.2",
            "ecosystem": "npm"
          },
          {
            "name": "shasum-object",
            "direct": false,
            "version": "1.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "shell-quote",
            "direct": false,
            "version": "1.7.2",
            "ecosystem": "npm"
          },
          {
            "name": "simple-concat",
            "direct": false,
            "version": "1.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "sinon",
            "direct": false,
            "version": "8.0.4",
            "ecosystem": "npm"
          },
          {
            "name": "source-map",
            "direct": false,
            "version": "0.5.7",
            "ecosystem": "npm"
          },
          {
            "name": "source-map",
            "direct": false,
            "version": "0.6.1",
            "ecosystem": "npm"
          },
          {
            "name": "source-map-support",
            "direct": false,
            "version": "0.5.6",
            "ecosystem": "npm"
          },
          {
            "name": "stream-browserify",
            "direct": false,
            "version": "2.0.2",
            "ecosystem": "npm"
          },
          {
            "name": "stream-combiner2",
            "direct": false,
            "version": "1.1.1",
            "ecosystem": "npm"
          },
          {
            "name": "stream-http",
            "direct": false,
            "version": "3.1.0",
            "ecosystem": "npm"
          },
          {
            "name": "stream-splicer",
            "direct": false,
            "version": "2.0.1",
            "ecosystem": "npm"
          },
          {
            "name": "string-width",
            "direct": false,
            "version": "4.2.3",
            "ecosystem": "npm"
          },
          {
            "name": "string_decoder",
            "direct": false,
            "version": "1.1.1",
            "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-json-comments",
            "direct": false,
            "version": "3.1.1",
            "ecosystem": "npm"
          },
          {
            "name": "subarg",
            "direct": false,
            "version": "1.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "supports-color",
            "direct": false,
            "version": "7.1.0",
            "ecosystem": "npm"
          },
          {
            "name": "supports-color",
            "direct": false,
            "version": "7.2.0",
            "ecosystem": "npm"
          },
          {
            "name": "supports-color",
            "direct": false,
            "version": "8.1.1",
            "ecosystem": "npm"
          },
          {
            "name": "syntax-error",
            "direct": false,
            "version": "1.4.0",
            "ecosystem": "npm"
          },
          {
            "name": "through",
            "direct": false,
            "version": "2.3.8",
            "ecosystem": "npm"
          },
          {
            "name": "through2",
            "direct": false,
            "version": "2.0.5",
            "ecosystem": "npm"
          },
          {
            "name": "timers-browserify",
            "direct": false,
            "version": "1.4.2",
            "ecosystem": "npm"
          },
          {
            "name": "to-regex-range",
            "direct": false,
            "version": "5.0.1",
            "ecosystem": "npm"
          },
          {
            "name": "tty-browserify",
            "direct": false,
            "version": "0.0.1",
            "ecosystem": "npm"
          },
          {
            "name": "type-check",
            "direct": false,
            "version": "0.3.2",
            "ecosystem": "npm"
          },
          {
            "name": "type-detect",
            "direct": false,
            "version": "4.0.8",
            "ecosystem": "npm"
          },
          {
            "name": "typedarray",
            "direct": false,
            "version": "0.0.6",
            "ecosystem": "npm"
          },
          {
            "name": "uglify-js",
            "direct": false,
            "version": "3.8.1",
            "ecosystem": "npm"
          },
          {
            "name": "umd",
            "direct": false,
            "version": "3.0.3",
            "ecosystem": "npm"
          },
          {
            "name": "undeclared-identifiers",
            "direct": false,
            "version": "1.1.3",
            "ecosystem": "npm"
          },
          {
            "name": "url",
            "direct": false,
            "version": "0.11.0",
            "ecosystem": "npm"
          },
          {
            "name": "util",
            "direct": false,
            "version": "0.10.3",
            "ecosystem": "npm"
          },
          {
            "name": "util",
            "direct": false,
            "version": "0.10.4",
            "ecosystem": "npm"
          },
          {
            "name": "util-deprecate",
            "direct": false,
            "version": "1.0.2",
            "ecosystem": "npm"
          },
          {
            "name": "vm-browserify",
            "direct": false,
            "version": "1.1.2",
            "ecosystem": "npm"
          },
          {
            "name": "word-wrap",
            "direct": false,
            "version": "1.2.3",
            "ecosystem": "npm"
          },
          {
            "name": "workerpool",
            "direct": false,
            "version": "6.2.1",
            "ecosystem": "npm"
          },
          {
            "name": "wrap-ansi",
            "direct": false,
            "version": "7.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "wrappy",
            "direct": false,
            "version": "1.0.2",
            "ecosystem": "npm"
          },
          {
            "name": "xtend",
            "direct": false,
            "version": "4.0.2",
            "ecosystem": "npm"
          },
          {
            "name": "y18n",
            "direct": false,
            "version": "5.0.8",
            "ecosystem": "npm"
          },
          {
            "name": "yargs",
            "direct": false,
            "version": "16.2.0",
            "ecosystem": "npm"
          },
          {
            "name": "yargs-parser",
            "direct": false,
            "version": "20.2.4",
            "ecosystem": "npm"
          },
          {
            "name": "yargs-unparser",
            "direct": false,
            "version": "2.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "yocto-queue",
            "direct": false,
            "version": "0.1.0",
            "ecosystem": "npm"
          }
        ],
        "collected": true,
        "truncated": false,
        "total_count": 229,
        "direct_count": 0,
        "indirect_count": 229
      }
    },
    "maintainership": {
      "issues": {
        "open_prs": 15,
        "merged_prs": 32,
        "open_issues": 16,
        "closed_ratio": 0.792,
        "closed_issues": 61,
        "closed_unmerged_prs": 12
      },
      "bus_factor": 1,
      "bot_contributors": 1,
      "top_contributors": [
        {
          "type": "User",
          "login": "gkz",
          "commits": 187,
          "avatar_url": "https://avatars.githubusercontent.com/u/1222691?v=4"
        },
        {
          "type": "User",
          "login": "johngeorgewright",
          "commits": 7,
          "avatar_url": "https://avatars.githubusercontent.com/u/1423566?v=4"
        },
        {
          "type": "User",
          "login": "vendethiel",
          "commits": 5,
          "avatar_url": "https://avatars.githubusercontent.com/u/199499?v=4"
        },
        {
          "type": "User",
          "login": "audreyt",
          "commits": 5,
          "avatar_url": "https://avatars.githubusercontent.com/u/20723?v=4"
        },
        {
          "type": "User",
          "login": "michaelficarra",
          "commits": 4,
          "avatar_url": "https://avatars.githubusercontent.com/u/218840?v=4"
        },
        {
          "type": "User",
          "login": "chrisvfritz",
          "commits": 3,
          "avatar_url": "https://avatars.githubusercontent.com/u/2327556?v=4"
        },
        {
          "type": "User",
          "login": "apaleslimghost",
          "commits": 3,
          "avatar_url": "https://avatars.githubusercontent.com/u/631757?v=4"
        },
        {
          "type": "User",
          "login": "paulmillr",
          "commits": 3,
          "avatar_url": "https://avatars.githubusercontent.com/u/574696?v=4"
        },
        {
          "type": "User",
          "login": "jampekka",
          "commits": 2,
          "avatar_url": "https://avatars.githubusercontent.com/u/1301087?v=4"
        },
        {
          "type": "User",
          "login": "texastoland",
          "commits": 1,
          "avatar_url": "https://avatars.githubusercontent.com/u/48431?v=4"
        }
      ],
      "contributors_sampled": 11,
      "top_contributor_share": 0.846
    },
    "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": [
        "package-lock.json"
      ],
      "scorecard": {
        "checks": [
          {
            "name": "Binary-Artifacts",
            "score": 10,
            "reason": "no binaries found in the repo",
            "documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#binary-artifacts"
          },
          {
            "name": "Branch-Protection",
            "score": 0,
            "reason": "branch protection not enabled on development/release branches",
            "documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#branch-protection"
          },
          {
            "name": "CI-Tests",
            "score": 0,
            "reason": "0 out of 10 merged PRs checked by a CI test -- score normalized to 0",
            "documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#ci-tests"
          },
          {
            "name": "CII-Best-Practices",
            "score": 0,
            "reason": "no effort to earn an OpenSSF best practices badge detected",
            "documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#cii-best-practices"
          },
          {
            "name": "Code-Review",
            "score": 1,
            "reason": "Found 2/12 approved changesets -- score normalized to 1",
            "documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#code-review"
          },
          {
            "name": "Contributors",
            "score": 10,
            "reason": "project has 29 contributing companies or organizations",
            "documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#contributors"
          },
          {
            "name": "Dangerous-Workflow",
            "score": null,
            "reason": "no workflows found",
            "documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#dangerous-workflow"
          },
          {
            "name": "Dependency-Update-Tool",
            "score": 10,
            "reason": "update tool detected",
            "documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#dependency-update-tool"
          },
          {
            "name": "Fuzzing",
            "score": 0,
            "reason": "project is not fuzzed",
            "documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#fuzzing"
          },
          {
            "name": "License",
            "score": 10,
            "reason": "license file detected",
            "documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#license"
          },
          {
            "name": "Maintained",
            "score": 0,
            "reason": "1 commit(s) and 0 issue activity found in the last 90 days -- score normalized to 0",
            "documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#maintained"
          },
          {
            "name": "Packaging",
            "score": null,
            "reason": "packaging workflow not detected",
            "documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#packaging"
          },
          {
            "name": "Pinned-Dependencies",
            "score": null,
            "reason": "no dependencies found",
            "documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#pinned-dependencies"
          },
          {
            "name": "SAST",
            "score": 0,
            "reason": "SAST tool is not run on all commits -- score normalized to 0",
            "documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#sast"
          },
          {
            "name": "Security-Policy",
            "score": 0,
            "reason": "security policy file not detected",
            "documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#security-policy"
          },
          {
            "name": "Signed-Releases",
            "score": null,
            "reason": "no releases found",
            "documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#signed-releases"
          },
          {
            "name": "Token-Permissions",
            "score": null,
            "reason": "No tokens found",
            "documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#token-permissions"
          },
          {
            "name": "Vulnerabilities",
            "score": 0,
            "reason": "38 existing vulnerabilities detected",
            "documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#vulnerabilities"
          }
        ],
        "commit": "d03c80138754ab9469b4e758caa0bfb2e4869e98",
        "ran_at": "2026-07-22T16:24:26Z",
        "aggregate_score": 3,
        "scorecard_version": "v5.5.0"
      },
      "has_codeql_workflow": false,
      "has_security_policy": false,
      "has_dependabot_config": false
    },
    "contribution_flow": {
      "collected": true,
      "ci_last_run_at": "2026-05-15T06:21:31Z",
      "oldest_open_prs": [
        {
          "number": 58,
          "created_at": "2013-08-03T15:19:49Z",
          "last_comment_at": "2014-03-31T09:33:19Z",
          "last_comment_author": "Delapouite"
        },
        {
          "number": 78,
          "created_at": "2014-09-22T12:39:53Z",
          "last_comment_at": null,
          "last_comment_author": null
        },
        {
          "number": 81,
          "created_at": "2015-03-25T20:27:13Z",
          "last_comment_at": "2015-03-25T21:39:10Z",
          "last_comment_author": "michaelficarra"
        },
        {
          "number": 93,
          "created_at": "2015-09-22T03:30:32Z",
          "last_comment_at": "2016-07-25T04:08:14Z",
          "last_comment_author": "sphvn"
        },
        {
          "number": 97,
          "created_at": "2015-10-25T10:49:31Z",
          "last_comment_at": "2015-10-25T11:47:39Z",
          "last_comment_author": "homam"
        },
        {
          "number": 102,
          "created_at": "2016-02-29T01:38:30Z",
          "last_comment_at": "2016-03-01T00:59:49Z",
          "last_comment_author": "anko"
        },
        {
          "number": 106,
          "created_at": "2016-05-08T01:57:38Z",
          "last_comment_at": "2016-10-21T13:11:59Z",
          "last_comment_author": "pepkin88"
        },
        {
          "number": 108,
          "created_at": "2016-10-21T13:52:12Z",
          "last_comment_at": "2017-12-01T05:55:11Z",
          "last_comment_author": "tcrowe"
        },
        {
          "number": 118,
          "created_at": "2019-02-13T06:26:35Z",
          "last_comment_at": "2019-02-13T07:47:05Z",
          "last_comment_author": "anko"
        },
        {
          "number": 124,
          "created_at": "2021-03-10T13:18:20Z",
          "last_comment_at": null,
          "last_comment_author": null
        },
        {
          "number": 128,
          "created_at": "2021-08-12T05:48:21Z",
          "last_comment_at": null,
          "last_comment_author": null
        },
        {
          "number": 129,
          "created_at": "2022-01-27T15:23:43Z",
          "last_comment_at": null,
          "last_comment_author": null
        },
        {
          "number": 131,
          "created_at": "2022-06-23T02:35:17Z",
          "last_comment_at": null,
          "last_comment_author": null
        },
        {
          "number": 135,
          "created_at": "2023-07-18T21:33:15Z",
          "last_comment_at": null,
          "last_comment_author": null
        },
        {
          "number": 136,
          "created_at": "2026-06-22T08:25:50Z",
          "last_comment_at": null,
          "last_comment_author": null
        }
      ],
      "last_merged_pr_at": "2022-12-30T21:59:41Z",
      "ci_last_conclusion": null,
      "oldest_open_issues": [
        {
          "number": 41,
          "created_at": "2012-12-30T05:48:19Z",
          "last_comment_at": "2014-07-31T14:12:50Z",
          "last_comment_author": "anko"
        },
        {
          "number": 51,
          "created_at": "2013-05-16T19:03:48Z",
          "last_comment_at": "2013-06-04T15:30:22Z",
          "last_comment_author": "PkmX"
        },
        {
          "number": 74,
          "created_at": "2014-07-29T00:36:30Z",
          "last_comment_at": "2014-10-24T10:38:26Z",
          "last_comment_author": "vendethiel"
        },
        {
          "number": 85,
          "created_at": "2015-06-12T19:11:11Z",
          "last_comment_at": null,
          "last_comment_author": null
        },
        {
          "number": 89,
          "created_at": "2015-06-28T17:25:30Z",
          "last_comment_at": null,
          "last_comment_author": null
        },
        {
          "number": 91,
          "created_at": "2015-07-14T19:16:30Z",
          "last_comment_at": "2015-07-18T13:27:06Z",
          "last_comment_author": "chrisvfritz"
        },
        {
          "number": 92,
          "created_at": "2015-07-25T09:56:18Z",
          "last_comment_at": "2015-07-25T13:01:23Z",
          "last_comment_author": "anko"
        },
        {
          "number": 94,
          "created_at": "2015-09-24T19:13:52Z",
          "last_comment_at": "2016-05-02T12:06:46Z",
          "last_comment_author": "ceremcem"
        },
        {
          "number": 95,
          "created_at": "2015-09-30T20:16:23Z",
          "last_comment_at": "2015-10-01T11:07:41Z",
          "last_comment_author": "atifaziz"
        },
        {
          "number": 98,
          "created_at": "2015-11-02T04:59:20Z",
          "last_comment_at": "2016-01-31T22:35:30Z",
          "last_comment_author": "louixs"
        },
        {
          "number": 100,
          "created_at": "2016-01-16T09:26:44Z",
          "last_comment_at": "2016-01-16T13:04:51Z",
          "last_comment_author": "igl"
        },
        {
          "number": 103,
          "created_at": "2016-02-29T01:59:47Z",
          "last_comment_at": "2016-03-03T23:06:12Z",
          "last_comment_author": "anko"
        },
        {
          "number": 110,
          "created_at": "2017-03-18T21:36:07Z",
          "last_comment_at": "2017-09-25T23:07:14Z",
          "last_comment_author": "vindarel"
        },
        {
          "number": 113,
          "created_at": "2018-04-13T19:47:29Z",
          "last_comment_at": null,
          "last_comment_author": null
        },
        {
          "number": 114,
          "created_at": "2018-04-14T12:59:31Z",
          "last_comment_at": null,
          "last_comment_author": null
        },
        {
          "number": 115,
          "created_at": "2019-01-12T11:35:02Z",
          "last_comment_at": "2019-02-28T08:28:02Z",
          "last_comment_author": "corwin-of-amber"
        }
      ]
    }
  },
  "config": {
    "disabled_metrics": [],
    "disabled_categories": [],
    "disabled_components": {}
  },
  "source": {
    "url": "https://github.com/gkz/prelude-ls",
    "host": "github.com",
    "name": "prelude-ls",
    "owner": "gkz"
  },
  "metrics": {
    "overall": {
      "key": "overall",
      "band": "at_risk",
      "name": "Overall health",
      "note": null,
      "notes": [],
      "value": 47,
      "inputs": {
        "security": 44,
        "vitality": 25,
        "community": 68,
        "governance": 58,
        "engineering": 40
      },
      "components": []
    },
    "categories": [
      {
        "key": "vitality",
        "band": "critical",
        "name": "Vitality",
        "value": 25,
        "weight": 0.22,
        "metrics": [
          {
            "key": "development_activity",
            "band": "critical",
            "name": "Development activity",
            "note": null,
            "notes": [],
            "value": 21,
            "inputs": {
              "commits_last_year": 1,
              "human_commit_share": 0.92,
              "days_since_last_push": 68,
              "active_weeks_last_year": 1
            },
            "components": [
              {
                "key": "push_recency",
                "name": "Push recency",
                "detail": "last push 68 days ago",
                "points": 18,
                "status": "partial",
                "details": [
                  {
                    "code": "push_recency",
                    "params": {
                      "days": 68
                    }
                  }
                ],
                "max_points": 36
              },
              {
                "key": "commit_cadence",
                "name": "Commit cadence",
                "detail": "1/52 weeks with commits",
                "points": 0.7,
                "status": "partial",
                "details": [
                  {
                    "code": "commit_cadence_weeks",
                    "params": {
                      "weeks": 1
                    }
                  }
                ],
                "max_points": 36
              },
              {
                "key": "commit_volume",
                "name": "Commit volume",
                "detail": "1 commits in the last year",
                "points": 2.7,
                "status": "partial",
                "details": [
                  {
                    "code": "commits_last_year",
                    "params": {
                      "count": 1
                    }
                  }
                ],
                "max_points": 18
              },
              {
                "key": "openssf_scorecard_maintained",
                "name": "OpenSSF Scorecard: Maintained",
                "detail": "1 commit(s) and 0 issue activity found in the last 90 days -- score normalized to 0",
                "points": 0,
                "status": "missed",
                "details": [],
                "max_points": 10
              }
            ]
          },
          {
            "key": "release_discipline",
            "band": "at_risk",
            "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": 32,
            "inputs": {
              "releases_count": 14,
              "latest_release_tag": "1.2.1",
              "releases_from_tags": true,
              "days_since_latest_release": 2301,
              "mean_days_between_releases": 315.3
            },
            "components": [
              {
                "key": "ships_releases",
                "name": "Ships releases",
                "detail": "14 version tags (no GitHub releases)",
                "points": 16.2,
                "status": "partial",
                "details": [
                  {
                    "code": "version_tags_no_releases",
                    "params": {
                      "count": 14
                    }
                  }
                ],
                "max_points": 27
              },
              {
                "key": "release_recency",
                "name": "Release recency",
                "detail": "latest release 2301 days ago",
                "points": 0,
                "status": "missed",
                "details": [
                  {
                    "code": "release_recency",
                    "params": {
                      "days": 2301
                    }
                  }
                ],
                "max_points": 36
              },
              {
                "key": "release_cadence",
                "name": "Release cadence",
                "detail": "a release every ~315.3 days",
                "points": 12.6,
                "status": "partial",
                "details": [
                  {
                    "code": "release_cadence",
                    "params": {
                      "gap": 315.3
                    }
                  }
                ],
                "max_points": 27
              },
              {
                "key": "openssf_scorecard_signed_releases",
                "name": "OpenSSF Scorecard: Signed-Releases",
                "detail": "no releases found",
                "points": 0,
                "status": "excluded",
                "details": [
                  {
                    "code": "no_data",
                    "params": {}
                  }
                ],
                "max_points": 10
              }
            ]
          },
          {
            "key": "abandonment",
            "band": "excellent",
            "name": "Abandonment",
            "note": null,
            "notes": [],
            "value": 100,
            "inputs": {
              "cap": null,
              "state": "maintained",
              "guards": [],
              "signals": [],
              "red_flag": false,
              "multiplier_pct": 100,
              "declared_reason": null,
              "unverified_reason": null,
              "unanswered_open_prs": null,
              "unanswered_open_issues": null,
              "days_since_last_merged_pr": null,
              "days_since_last_human_commit": 68,
              "days_since_last_human_commit_is_floor": false
            },
            "components": [
              {
                "key": "project_is_still_maintained",
                "name": "Project is still maintained",
                "detail": "last human commit 68 days ago",
                "points": 100,
                "status": "met",
                "details": [
                  {
                    "code": "abandonment_maintained",
                    "params": {
                      "days": 68
                    }
                  }
                ],
                "max_points": 100
              }
            ]
          }
        ],
        "description": "Is the project alive — is code being written and are releases shipping?"
      },
      {
        "key": "community",
        "band": "moderate",
        "name": "Community & Adoption",
        "value": 68,
        "weight": 0.18,
        "metrics": [
          {
            "key": "popularity",
            "band": "moderate",
            "name": "Popularity & adoption",
            "note": null,
            "notes": [],
            "value": 64,
            "inputs": {
              "forks": 59,
              "stars": 426,
              "watchers": 15,
              "growth_state": "unverified",
              "growth_factor_pct": 100,
              "growth_unverified_reason": "no_history"
            },
            "components": [
              {
                "key": "stars",
                "name": "Stars",
                "detail": "426 stars",
                "points": 42.6,
                "status": "partial",
                "details": [
                  {
                    "code": "stars",
                    "params": {
                      "count": 426
                    }
                  }
                ],
                "max_points": 60
              },
              {
                "key": "forks",
                "name": "Forks",
                "detail": "59 forks",
                "points": 14.7,
                "status": "partial",
                "details": [
                  {
                    "code": "forks",
                    "params": {
                      "count": 59
                    }
                  }
                ],
                "max_points": 25
              },
              {
                "key": "watchers",
                "name": "Watchers",
                "detail": "15 watchers",
                "points": 6.4,
                "status": "partial",
                "details": [
                  {
                    "code": "watchers",
                    "params": {
                      "count": 15
                    }
                  }
                ],
                "max_points": 15
              }
            ]
          },
          {
            "key": "community_health",
            "band": "moderate",
            "name": "Community health",
            "note": null,
            "notes": [],
            "value": 50,
            "inputs": {
              "has_readme": true,
              "has_license": true,
              "has_contributing": false,
              "has_issue_template": false,
              "has_code_of_conduct": false,
              "has_pull_request_template": false
            },
            "components": [
              {
                "key": "readme",
                "name": "README",
                "detail": null,
                "points": 22.5,
                "status": "met",
                "details": [],
                "max_points": 22.5
              },
              {
                "key": "license",
                "name": "License",
                "detail": "recognized license (MIT)",
                "points": 22.5,
                "status": "met",
                "details": [
                  {
                    "code": "license_standard",
                    "params": {}
                  },
                  {
                    "code": "license_spdx",
                    "params": {
                      "spdx": "MIT"
                    }
                  }
                ],
                "max_points": 22.5
              },
              {
                "key": "contributing_guide",
                "name": "CONTRIBUTING guide",
                "detail": null,
                "points": 0,
                "status": "missed",
                "details": [],
                "max_points": 18
              },
              {
                "key": "code_of_conduct",
                "name": "Code of conduct",
                "detail": null,
                "points": 0,
                "status": "missed",
                "details": [],
                "max_points": 13.5
              },
              {
                "key": "issue_template",
                "name": "Issue template",
                "detail": null,
                "points": 0,
                "status": "missed",
                "details": [],
                "max_points": 7.2
              },
              {
                "key": "pr_template",
                "name": "PR template",
                "detail": null,
                "points": 0,
                "status": "missed",
                "details": [],
                "max_points": 6.3
              }
            ]
          },
          {
            "key": "ecosystem_adoption",
            "band": "excellent",
            "name": "Ecosystem adoption (downloads)",
            "note": "Excluded from scoring (no data or not applicable): Registry dependents. Remaining weights renormalized.",
            "notes": [
              {
                "code": "excluded_no_data",
                "params": {
                  "components": [
                    "registry_dependents"
                  ]
                }
              },
              {
                "code": "weights_renormalized",
                "params": {}
              }
            ],
            "value": 100,
            "inputs": {
              "packages": [
                "prelude-ls"
              ],
              "dependents": null,
              "ecosystems": "npm",
              "total_downloads": null,
              "monthly_downloads": 556060746
            },
            "components": [
              {
                "key": "monthly_downloads",
                "name": "Monthly downloads",
                "detail": "556,060,746 downloads/month across npm",
                "points": 80,
                "status": "met",
                "details": [
                  {
                    "code": "downloads_monthly",
                    "params": {
                      "count": 556060746,
                      "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": 58,
        "weight": 0.24,
        "metrics": [
          {
            "key": "maintainer_resilience",
            "band": "at_risk",
            "name": "Maintainer resilience (bus factor)",
            "note": null,
            "notes": [],
            "value": 36,
            "inputs": {
              "bus_factor": 1,
              "contributors_sampled": 11,
              "top_contributor_share": 0.846
            },
            "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 85% of commits",
                "points": 3.5,
                "status": "partial",
                "details": [
                  {
                    "code": "top_contributor_share",
                    "params": {
                      "share": 85
                    }
                  }
                ],
                "max_points": 22.5
              },
              {
                "key": "contributor_breadth",
                "name": "Contributor breadth",
                "detail": "11 contributors",
                "points": 13.5,
                "status": "met",
                "details": [
                  {
                    "code": "contributors_sampled",
                    "params": {
                      "count": 11
                    }
                  }
                ],
                "max_points": 13.5
              },
              {
                "key": "openssf_scorecard_contributors",
                "name": "OpenSSF Scorecard: Contributors",
                "detail": "project has 29 contributing companies or organizations",
                "points": 10,
                "status": "met",
                "details": [],
                "max_points": 10
              }
            ]
          },
          {
            "key": "responsiveness",
            "band": "moderate",
            "name": "Issue & PR responsiveness",
            "note": null,
            "notes": [],
            "value": 66,
            "inputs": {
              "merged_prs": 32,
              "open_issues": 16,
              "closed_issues": 61,
              "issue_closed_ratio": 0.792,
              "closed_unmerged_prs": 12
            },
            "components": [
              {
                "key": "issue_resolution",
                "name": "Issue resolution",
                "detail": "79% of issues closed",
                "points": 37,
                "status": "partial",
                "details": [
                  {
                    "code": "issues_closed_share",
                    "params": {
                      "share": 79
                    }
                  }
                ],
                "max_points": 46.75
              },
              {
                "key": "pr_acceptance",
                "name": "PR acceptance",
                "detail": "32/44 decided PRs merged",
                "points": 27.8,
                "status": "partial",
                "details": [
                  {
                    "code": "decided_prs_merged",
                    "params": {
                      "merged": 32,
                      "decided": 44
                    }
                  }
                ],
                "max_points": 38.25
              },
              {
                "key": "openssf_scorecard_code_review",
                "name": "OpenSSF Scorecard: Code-Review",
                "detail": "Found 2/12 approved changesets -- score normalized to 1",
                "points": 1.5,
                "status": "partial",
                "details": [],
                "max_points": 15
              }
            ]
          },
          {
            "key": "stewardship",
            "band": "moderate",
            "name": "Ownership & stewardship",
            "note": "Excluded from scoring (no data or not applicable): Verified domain. Remaining weights renormalized.",
            "notes": [
              {
                "code": "excluded_no_data",
                "params": {
                  "components": [
                    "verified_domain"
                  ]
                }
              },
              {
                "code": "weights_renormalized",
                "params": {}
              }
            ],
            "value": 67,
            "inputs": {
              "followers": 423,
              "owner_type": "User",
              "is_verified": null,
              "owner_login": "gkz",
              "public_repos": 52,
              "account_age_days": 5351
            },
            "components": [
              {
                "key": "ownership_backing",
                "name": "Ownership backing",
                "detail": "personal (user) account",
                "points": 10,
                "status": "partial",
                "details": [
                  {
                    "code": "owner_personal",
                    "params": {}
                  }
                ],
                "max_points": 30
              },
              {
                "key": "verified_domain",
                "name": "Verified domain",
                "detail": "not applicable to user accounts",
                "points": 0,
                "status": "excluded",
                "details": [
                  {
                    "code": "not_applicable_to_user_accounts",
                    "params": {}
                  }
                ],
                "max_points": 20
              },
              {
                "key": "owner_reach",
                "name": "Owner reach",
                "detail": "423 followers of gkz",
                "points": 18.9,
                "status": "partial",
                "details": [
                  {
                    "code": "owner_followers",
                    "params": {
                      "count": 423,
                      "login": "gkz"
                    }
                  }
                ],
                "max_points": 25
              },
              {
                "key": "track_record",
                "name": "Track record",
                "detail": "52 public repos, account ~14 yr old",
                "points": 24.6,
                "status": "partial",
                "details": [
                  {
                    "code": "public_repos",
                    "params": {
                      "count": 52
                    }
                  },
                  {
                    "code": "account_age_years",
                    "params": {
                      "years": 14
                    }
                  }
                ],
                "max_points": 25
              }
            ]
          },
          {
            "key": "package_maintenance",
            "band": "moderate",
            "name": "Package maintenance",
            "note": null,
            "notes": [],
            "value": 69,
            "inputs": {
              "packages": [
                "prelude-ls"
              ],
              "ecosystems": "npm",
              "any_deprecated": false,
              "min_days_since_publish": 2301
            },
            "components": [
              {
                "key": "published_resolvable",
                "name": "Published & resolvable",
                "detail": "1 package(s) on npm",
                "points": 25,
                "status": "met",
                "details": [
                  {
                    "code": "packages_published",
                    "params": {
                      "count": 1,
                      "ecosystems": "npm"
                    }
                  }
                ],
                "max_points": 25
              },
              {
                "key": "publish_recency",
                "name": "Publish recency",
                "detail": "latest publish 2301 days ago",
                "points": 4,
                "status": "partial",
                "details": [
                  {
                    "code": "publish_recency",
                    "params": {
                      "days": 2301
                    }
                  }
                ],
                "max_points": 35
              },
              {
                "key": "version_history",
                "name": "Version history",
                "detail": "14 published versions",
                "points": 20,
                "status": "met",
                "details": [
                  {
                    "code": "published_versions",
                    "params": {
                      "count": 14
                    }
                  }
                ],
                "max_points": 20
              },
              {
                "key": "not_deprecated",
                "name": "Not deprecated",
                "detail": "active, not deprecated or yanked",
                "points": 20,
                "status": "met",
                "details": [
                  {
                    "code": "package_not_deprecated",
                    "params": {}
                  }
                ],
                "max_points": 20
              }
            ]
          }
        ],
        "description": "Will the project survive its people — bus factor, responsiveness, who backs it, and package upkeep?"
      },
      {
        "key": "engineering",
        "band": "at_risk",
        "name": "Engineering Quality",
        "value": 40,
        "weight": 0.2,
        "metrics": [
          {
            "key": "engineering_practices",
            "band": "critical",
            "name": "Engineering practices",
            "note": null,
            "notes": [],
            "value": 24,
            "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": "0 out of 10 merged PRs checked by a CI test -- score normalized to 0",
                "points": 0,
                "status": "missed",
                "details": [],
                "max_points": 20
              }
            ]
          },
          {
            "key": "documentation",
            "band": "moderate",
            "name": "Documentation",
            "note": null,
            "notes": [],
            "value": 65,
            "inputs": {
              "topics": [],
              "has_wiki": true,
              "homepage": "http://gkz.github.io/prelude-ls/",
              "has_readme": true,
              "has_docs_dir": false,
              "has_description": true
            },
            "components": [
              {
                "key": "readme",
                "name": "README",
                "detail": null,
                "points": 30,
                "status": "met",
                "details": [],
                "max_points": 30
              },
              {
                "key": "documentation_directory",
                "name": "Documentation directory",
                "detail": null,
                "points": 0,
                "status": "missed",
                "details": [],
                "max_points": 25
              },
              {
                "key": "documentation_homepage_site",
                "name": "Documentation / homepage site",
                "detail": "http://gkz.github.io/prelude-ls/",
                "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": 10,
                "status": "met",
                "details": [],
                "max_points": 10
              }
            ]
          }
        ],
        "description": "Are baseline engineering and documentation practices in place?"
      },
      {
        "key": "security",
        "band": "at_risk",
        "name": "Security",
        "value": 44,
        "weight": 0.16,
        "metrics": [
          {
            "key": "security_posture",
            "band": "at_risk",
            "name": "Security posture",
            "note": "Excluded from scoring (no data or not applicable): Dangerous-Workflow, Packaging, Pinned-Dependencies, Signed-Releases, Token-Permissions. Remaining weights renormalized.",
            "notes": [
              {
                "code": "excluded_no_data",
                "params": {
                  "components": [
                    "dangerous_workflow",
                    "packaging",
                    "pinned_dependencies",
                    "signed_releases",
                    "token_permissions"
                  ]
                }
              },
              {
                "code": "weights_renormalized",
                "params": {}
              }
            ],
            "value": 30,
            "inputs": {
              "source": "openssf_scorecard",
              "checks_evaluated": 13,
              "scorecard_version": "v5.5.0",
              "checks_inconclusive": 5,
              "scorecard_aggregate": 3
            },
            "components": [
              {
                "key": "binary_artifacts",
                "name": "Binary-Artifacts",
                "detail": "no binaries found in the repo",
                "points": 7.5,
                "status": "met",
                "details": [],
                "max_points": 7.5
              },
              {
                "key": "branch_protection",
                "name": "Branch-Protection",
                "detail": "branch protection not enabled on development/release branches",
                "points": 0,
                "status": "missed",
                "details": [],
                "max_points": 7.5
              },
              {
                "key": "ci_tests",
                "name": "CI-Tests",
                "detail": "0 out of 10 merged PRs checked by a CI test -- score normalized to 0",
                "points": 0,
                "status": "missed",
                "details": [],
                "max_points": 2.5
              },
              {
                "key": "cii_best_practices",
                "name": "CII-Best-Practices",
                "detail": "no effort to earn an OpenSSF best practices badge detected",
                "points": 0,
                "status": "missed",
                "details": [],
                "max_points": 2.5
              },
              {
                "key": "code_review",
                "name": "Code-Review",
                "detail": "Found 2/12 approved changesets -- score normalized to 1",
                "points": 0.8,
                "status": "partial",
                "details": [],
                "max_points": 7.5
              },
              {
                "key": "contributors",
                "name": "Contributors",
                "detail": "project has 29 contributing companies or organizations",
                "points": 2.5,
                "status": "met",
                "details": [],
                "max_points": 2.5
              },
              {
                "key": "dangerous_workflow",
                "name": "Dangerous-Workflow",
                "detail": "no workflows found",
                "points": 0,
                "status": "excluded",
                "details": [
                  {
                    "code": "no_data",
                    "params": {}
                  }
                ],
                "max_points": 10
              },
              {
                "key": "dependency_update_tool",
                "name": "Dependency-Update-Tool",
                "detail": "update tool detected",
                "points": 7.5,
                "status": "met",
                "details": [],
                "max_points": 7.5
              },
              {
                "key": "fuzzing",
                "name": "Fuzzing",
                "detail": "project is not fuzzed",
                "points": 0,
                "status": "missed",
                "details": [],
                "max_points": 5
              },
              {
                "key": "license",
                "name": "License",
                "detail": "license file detected",
                "points": 2.5,
                "status": "met",
                "details": [],
                "max_points": 2.5
              },
              {
                "key": "maintained",
                "name": "Maintained",
                "detail": "1 commit(s) and 0 issue activity found in the last 90 days -- score normalized to 0",
                "points": 0,
                "status": "missed",
                "details": [],
                "max_points": 7.5
              },
              {
                "key": "packaging",
                "name": "Packaging",
                "detail": "packaging workflow not detected",
                "points": 0,
                "status": "excluded",
                "details": [
                  {
                    "code": "no_data",
                    "params": {}
                  }
                ],
                "max_points": 5
              },
              {
                "key": "pinned_dependencies",
                "name": "Pinned-Dependencies",
                "detail": "no dependencies found",
                "points": 0,
                "status": "excluded",
                "details": [
                  {
                    "code": "no_data",
                    "params": {}
                  }
                ],
                "max_points": 5
              },
              {
                "key": "sast",
                "name": "SAST",
                "detail": "SAST tool is not run on all commits -- score normalized to 0",
                "points": 0,
                "status": "missed",
                "details": [],
                "max_points": 5
              },
              {
                "key": "security_policy",
                "name": "Security-Policy",
                "detail": "security policy file not detected",
                "points": 0,
                "status": "missed",
                "details": [],
                "max_points": 5
              },
              {
                "key": "signed_releases",
                "name": "Signed-Releases",
                "detail": "no releases found",
                "points": 0,
                "status": "excluded",
                "details": [
                  {
                    "code": "no_data",
                    "params": {}
                  }
                ],
                "max_points": 7.5
              },
              {
                "key": "token_permissions",
                "name": "Token-Permissions",
                "detail": "No tokens found",
                "points": 0,
                "status": "excluded",
                "details": [
                  {
                    "code": "no_data",
                    "params": {}
                  }
                ],
                "max_points": 7.5
              },
              {
                "key": "vulnerabilities",
                "name": "Vulnerabilities",
                "detail": "38 existing vulnerabilities detected",
                "points": 0,
                "status": "missed",
                "details": [],
                "max_points": 7.5
              }
            ]
          },
          {
            "key": "dependency_advisories",
            "band": "excellent",
            "name": "Dependency advisories",
            "note": "Excluded from scoring (no data or not applicable): Indirect dependencies free of known advisories, No advisories left outstanding. Remaining weights renormalized. Matched 229 resolved dependencies against OSV. This repository publishes no package the index resolves, so the repository dependency graph was assessed instead. That graph mixes development and test pins with shipped dependencies, so only the declared runtime dependencies are scored; transitive findings are reported as context and excluded from the score. Reachability is not analyzed.",
            "notes": [
              {
                "code": "excluded_no_data",
                "params": {
                  "components": [
                    "indirect_dependencies_free_of_known_advisories",
                    "no_advisories_left_outstanding"
                  ]
                }
              },
              {
                "code": "weights_renormalized",
                "params": {}
              },
              {
                "code": "advisories_scope_repository",
                "params": {
                  "assessed": 229
                }
              },
              {
                "code": "advisories_repo_graph_caveat",
                "params": {}
              },
              {
                "code": "advisories_reachability",
                "params": {}
              }
            ],
            "value": 100,
            "inputs": {
              "source": "osv",
              "advisories": 45,
              "affected_packages": 22,
              "assessed_packages": 229,
              "unassessed_packages": 0,
              "affected_by_severity": "critical 3, high 13, moderate 6",
              "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": "transitive set not separable from development and test dependencies in this scope",
                "points": 0,
                "status": "excluded",
                "details": [
                  {
                    "code": "advisories_scope_not_separable",
                    "params": {}
                  }
                ],
                "max_points": 25
              },
              {
                "key": "no_advisories_left_outstanding",
                "name": "No advisories left outstanding",
                "detail": "no advisory carries a publication date",
                "points": 0,
                "status": "excluded",
                "details": [
                  {
                    "code": "advisories_no_publication_date",
                    "params": {}
                  }
                ],
                "max_points": 40
              }
            ]
          },
          {
            "key": "malicious_dependencies",
            "band": "excellent",
            "name": "Malicious dependencies",
            "note": null,
            "notes": [],
            "value": 100,
            "inputs": {
              "source": "osv",
              "meaning": "reported as a malicious package by the OpenSSF corpus; the remedy is removal or moving off the compromised name, never an upgrade of the same artifact. Versions the registry has since pulled are listed but not scored",
              "packages": [],
              "red_flag": false,
              "assessed_packages": 229,
              "malicious_packages": 0,
              "direct_malicious_packages": 0,
              "withdrawn_malicious_packages": 0,
              "installable_malicious_packages": 0
            },
            "components": [
              {
                "key": "no_dependency_reported_as_a_malicious_package",
                "name": "No dependency reported as a malicious package",
                "detail": "no dependency is reported as a malicious package",
                "points": 100,
                "status": "met",
                "details": [
                  {
                    "code": "no_malicious_dependencies",
                    "params": {}
                  }
                ],
                "max_points": 100
              }
            ]
          },
          {
            "key": "high_risk_jurisdiction_exposure",
            "band": "excellent",
            "name": "High-Risk Jurisdiction Exposure",
            "note": "Only high-confidence self-published location evidence affects this multiplier. Ambiguous matches are review-only; country evidence is not proof of nationality, citizenship, legal registration, malicious intent, or sanctions status.",
            "notes": [
              {
                "code": "jurisdiction_evidence_limits",
                "params": {}
              }
            ],
            "value": 100,
            "inputs": {
              "meaning": "self-published location evidence; not nationality or citizenship",
              "red_flag": false,
              "exposures": [],
              "policy_countries": [
                "Russia",
                "Iran",
                "North Korea"
              ],
              "review_only_matches": 0,
              "assessed_self_published_locations": 21
            },
            "components": [
              {
                "key": "policy_exposure_multiplier",
                "name": "Policy exposure multiplier",
                "detail": "no confirmed policy-scope location match",
                "points": 100,
                "status": "met",
                "details": [
                  {
                    "code": "jurisdiction_no_match",
                    "params": {}
                  }
                ],
                "max_points": 100
              }
            ]
          }
        ],
        "description": "Are visible security and supply-chain practices strong, with no malicious dependency and no unresolved high-risk jurisdiction exposure?"
      },
      {
        "key": "ai_readiness",
        "band": "at_risk",
        "name": "AI Readiness",
        "value": 44,
        "weight": 0,
        "metrics": [
          {
            "key": "ai_agent_context",
            "band": "critical",
            "name": "Agent context & guidance",
            "note": null,
            "notes": [],
            "value": 12,
            "inputs": {
              "has_llms_txt": false,
              "legible_history_share": 0.217,
              "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": "20 of 92 human commits state their intent (structured subject or explanatory body)",
                "points": 11.6,
                "status": "partial",
                "details": [
                  {
                    "code": "legible_history",
                    "params": {
                      "legible": 20,
                      "sampled": 92
                    }
                  }
                ],
                "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": [
                "package-lock.json"
              ],
              "has_dockerfile": false,
              "typed_language": false,
              "bootstrap_files": [
                "Makefile"
              ],
              "has_devcontainer": false,
              "has_linter_config": false,
              "typecheck_configs": [],
              "agent_commit_share": 0,
              "toolchain_manifests": [],
              "dependency_bot_commit_share": 0.08
            },
            "components": [
              {
                "key": "one_command_bootstrap",
                "name": "One-command bootstrap",
                "detail": "Makefile",
                "points": 18,
                "status": "met",
                "details": [
                  {
                    "code": "file_list",
                    "params": {
                      "files": "Makefile"
                    }
                  }
                ],
                "max_points": 18
              },
              {
                "key": "automated_tests",
                "name": "Automated tests",
                "detail": null,
                "points": 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": null,
                "points": 0,
                "status": "missed",
                "details": [],
                "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": "no agent-authored commits among the last 100",
                "points": 0,
                "status": "missed",
                "details": [
                  {
                    "code": "no_agent_authored_commits",
                    "params": {
                      "sampled": 100
                    }
                  }
                ],
                "max_points": 10
              },
              {
                "key": "automated_maintenance",
                "name": "Automated maintenance",
                "detail": "8 of the last 100 commits are automated dependency updates",
                "points": 8,
                "status": "met",
                "details": [
                  {
                    "code": "dependency_bot_commits",
                    "params": {
                      "count": 8,
                      "sampled": 100
                    }
                  }
                ],
                "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": "moderate",
            "name": "Code legibility for models",
            "note": null,
            "notes": [],
            "value": 55,
            "inputs": {
              "primary_language": "LiveScript",
              "largest_source_bytes": 30911,
              "source_files_sampled": 8,
              "oversized_source_files": 0
            },
            "components": [
              {
                "key": "type_checkable_code",
                "name": "Type-checkable code",
                "detail": "LiveScript without a type-check config",
                "points": 0,
                "status": "missed",
                "details": [
                  {
                    "code": "no_typecheck_config_language",
                    "params": {
                      "language": "LiveScript"
                    }
                  }
                ],
                "max_points": 45
              },
              {
                "key": "manageable_file_sizes",
                "name": "Manageable file sizes",
                "detail": "0/8 source files over 60KB",
                "points": 55,
                "status": "met",
                "details": [
                  {
                    "code": "oversized_source_files",
                    "params": {
                      "kb": 60,
                      "sampled": 8,
                      "oversized": 0
                    }
                  }
                ],
                "max_points": 55
              }
            ]
          }
        ],
        "description": "How well is the repo equipped to be developed and maintained with AI coding agents? An independent, experimental badge — weight 0.0, so it is surfaced on its own and does not affect the overall health score."
      }
    ],
    "metrics_version": "1.13.0"
  },
  "warnings": [
    "Star history unavailable: GitHub GraphQL error: Resource not accessible by personal access token"
  ],
  "report_type": "repository",
  "generated_at": "2026-07-22T16:24:42.455593Z",
  "schema_version": "0.26.0",
  "badge_url": "https://raw.githubusercontent.com/inspect-software/badges/main/v1/g/gkz/prelude-ls.svg",
  "full_name": "gkz/prelude-ls",
  "license_state": "standard",
  "license_spdx": "MIT"
}

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 v1.13.0, esquema v0.26.0 — metodología completa · wiki de métricas.

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