Registro público
Informe de salud del softwareesquema 0.27.0 · métricas 1.13.0 · 2026-08-02 01:01 UTC

helios-ag / FMElfinderBundle

:file_folder: ElFinderBundle provides ElFinder integration with TinyMCE, CKEditor, Summernote editors

PHP · TwigMIT★ 280 estrellas⑂ 131 forksdesde ago 2012Ver en GitHub ↗

helios-ag/FMElfinderBundle tiene un índice de salud de 32 sobre 100, lo que lo sitúa en la banda En riesgo. Su puntuación más alta es Engineering Quality (78/100) y la más baja, Security (24/100). Se actualizó por última vez hoy. Una sola persona concentra la mayor parte del trabajo reciente.

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

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

La Política de Jurisdicciones de Alto Riesgo aplica un multiplicador del 50% a la salud global ponderada y le da un límite «En riesgo» de 49.

Titularidad

Al GanievCuenta personal
53 seguidores73 repositorios públicosdesde jul 2010@macroactive-io

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
Packagisthelios-ag/fm-elfinder-bundle13.0.2106.10287hace 128 díaswysiwygelfinderfile-manager

Métricas por categoría

Vitalidad

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

66Moderado · 22% del índice global
Cómo se puntúa
36/36Recencia de push — último push hace 0 días
6.2/36Cadencia de commits — 9/52 semanas con commits
11.7/18Volumen de commits — 19 commits en el último año
1/10OpenSSF Scorecard: Maintained — 2 commit(s) and 0 issue activity found in the last 90 days -- score normalized to 1
Datos de entrada utilizados
commits_last_year19
human_commit_share0,97
days_since_last_push0
active_weeks_last_year9
Cómo se puntúa
27/27Publica versiones — 83 versiones publicadas
27/36Recencia de las versiones — última versión hace 128 días
19.8/27Cadencia de publicación — una versión cada ~94,6 días
0/10OpenSSF Scorecard: Signed-Releases — sin datos
Datos de entrada utilizados
releases_count83
latest_release_tag13.0.2
releases_from_tagsno
days_since_latest_release128
mean_days_between_releases94,6
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?

72Bueno · 18% del índice global
Cómo se puntúa
39.7/60Estrellas — 280 estrellas
17.6/25Forks — 131 forks
6/15Observadores — 13 observadores
Datos de entrada utilizados
forks131
stars280
watchers13
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)
18/18Guía CONTRIBUTING
0/13.5Código de conducta
0/7.2Plantilla de issues
6.3/6.3Plantilla de PR
Datos de entrada utilizados
has_readme
has_license
has_contributing
has_issue_templateno
has_code_of_conductno
has_pull_request_template
Cómo se puntúa
67/80Descargas mensuales — 106.102 descargas/mes en packagist
10.6/20Dependientes en el registro — 38 paquetes dependen de él
Datos de entrada utilizados
packageshelios-ag/fm-elfinder-bundle
dependents38
ecosystemspackagist
total_downloads5.174.601
monthly_downloads106.102

Sostenibilidad y Gobernanza

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

68Moderado · 24% del índice global
Cómo se puntúa
9/54Factor bus — la mitad de los commits recae en 1 contribuyente(s)
4.5/22.5Distribución de commits — el principal contribuyente firma el 80% de los commits
13.5/13.5Amplitud de contribuyentes — 70 contribuyentes
10/10OpenSSF Scorecard: Contributors — project has 11 contributing companies or organizations
Datos de entrada utilizados
bus_factor1
contributors_sampled70
top_contributor_share0,798
Cómo se puntúa
43.6/46.8Resolución de issues — 93% de issues cerradas
33.1/38.3Aceptación de PR — 225/260 PR decididos fusionados
10.5/15OpenSSF Scorecard: Code-Review — Found 7/10 approved changesets -- score normalized to 7
Datos de entrada utilizados
merged_prs225
open_issues20
closed_issues272
issue_closed_ratio0,932
closed_unmerged_prs35
Cómo se puntúa
10/30Respaldo de la propiedad — cuenta personal (usuario)
0/20Dominio verificado — no aplicable a cuentas de usuario
12.5/25Alcance del propietario — 53 seguidores de helios-ag
25/25Trayectoria — 73 repos públicos, cuenta de ~16 años
Datos de entrada utilizados
followers53
owner_typeUser
is_verified
owner_loginhelios-ag
public_repos73
account_age_days5859
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 packagist
35/35Recencia de publicación — última publicación hace 128 días
20/20Historial de versiones — 87 versiones en el registro
20/20No obsoleto — activo, ni obsoleto ni retirado
Datos de entrada utilizados
packageshelios-ag/fm-elfinder-bundle
ecosystemspackagist
any_deprecatedno
min_days_since_publish128

Calidad de Ingeniería

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

78Bueno · 20% del índice global
Cómo se puntúa
24/24Flujos de trabajo de CI — 1 flujo(s) de trabajo
24/24Pruebas presentes
16/16Configuración de linter — .php-cs-fixer.php
0/9.6Hooks de pre-commit
0/6.4.editorconfig
10/20OpenSSF Scorecard: CI-Tests — 7 out of 12 merged PRs checked by a CI test -- score normalized to 5
Datos de entrada utilizados
has_ci
has_tests
has_editorconfigno
has_linter_config
has_precommit_configno

Documentación

85Excelente
Cómo se puntúa
30/30README
25/25Directorio de documentación
0/15Sitio de documentación / página del proyecto
10/10Descripción del repositorio
10/10Topics — 7 topics
10/10Wiki
Datos de entrada utilizados
topicsckeditor, tinymce, elfinder, bundle, symfony, symfony-bundle, php
has_wiki
homepage
has_readme
has_docs_dir
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?

24Crítico · 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
1.2/2.5CI-Tests — 7 out of 12 merged PRs checked by a CI test -- score normalized to 5
0/2.5CII-Best-Practices — no effort to earn an OpenSSF best practices badge detected
5.2/7.5Code-Review — Found 7/10 approved changesets -- score normalized to 7
2.5/2.5Contributors — project has 11 contributing companies or organizations
10/10Dangerous-Workflow — no dangerous workflow patterns detected
7.5/7.5Dependency-Update-Tool — update tool detected
0/5Fuzzing — project is not fuzzed
2.5/2.5Licencia — license file detected
0.8/7.5Maintained — 2 commit(s) and 0 issue activity found in the last 90 days -- score normalized to 1
0/5Packaging — sin datos
0/5Pinned-Dependencies — dependency not pinned by hash detected -- score normalized to 0
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 — detected GitHub workflow tokens with excessive permissions
7.5/7.5Vulnerabilities — 0 existing vulnerabilities detected
Datos de entrada utilizados
sourceopenssf_scorecard
checks_evaluated16
scorecard_versionv5.5.0
checks_inconclusive2
scorecard_aggregate4,8
high_risk_jurisdiction_cap49
high_risk_jurisdiction_multiplier50
security_posture_after_multiplier24
security_posture_before_jurisdiction48
Excluidos de la puntuación (sin datos o no aplicable): packaging, signed_releases. Los pesos restantes se han renormalizado. La Política de Jurisdicciones de Alto Riesgo aplica un multiplicador del 50% y da a la postura de seguridad un límite «En riesgo» de 49.

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.

42En 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)
23.6/40Historial de commits legible — 43 de 97 commits humanos declaran su intención (asunto estructurado o cuerpo explicativo)
Datos de entrada utilizados
has_llms_txtno
legible_history_share0,443
agent_instruction_files
agent_instruction_max_bytes
Cómo se puntúa
0/18Arranque con un solo comando
22/22Pruebas automatizadas
11/11Configuración de lint / formato — .php-cs-fixer.php
0/11Verificación estática de tipos
10/10Entorno reproducible — devcontainer
0/10Práctica demostrada con agentes — ningún commit con autoría de agente entre los últimos 100
8/8Mantenimiento automatizado — 3 de los últimos 100 commits son actualizaciones automáticas de dependencias
0/10OpenSSF Scorecard: Pinned-Dependencies — dependency not pinned by hash detected -- score normalized to 0
Datos de entrada utilizados
has_nixno
has_tests
lockfiles
has_dockerfileno
typed_languageno
bootstrap_files
has_devcontainer
has_linter_config
typecheck_configs
agent_commit_share0
toolchain_manifests
dependency_bot_commit_share0,03
Cómo se puntúa
0/45Código verificable por tipos — PHP sin configuración de verificación de tipos
55/55Tamaños de archivo manejables — 0/37 archivos fuente de más de 60 KB
Datos de entrada utilizados
primary_languagePHP
largest_source_bytes32.126
source_files_sampled37
oversized_source_files0

Datos clave

280estrellas de GitHub
70contribuidores
19commits en los últimos 12 meses
0días desde el último push
83versiones publicadas
1factor bus
20issues abiertas
Packagistecosistemas de paquetes

Advertencias de recopilación de datos

  • Star history unavailable: GitHub GraphQL error: Resource not accessible by personal access token
  • No resolved dependencies carried a version and a supported ecosystem

Más detalle

Historial de estrellas y forks 0 ★ / 131 ⇿
0Estrellas
131Forks
82Versiones

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.

025507510012515012932012-102019-062026-03
Mayor 0Menor 1Parche 45

Cada punto abarca 13 días.

OpenSSF Scorecard 4.8 / 10
4.8agregado

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-08-02 01:01 UTC

10Binary-Artifactsno binaries found in the repo
0Branch-Protectionbranch protection not enabled on development/release branches
5CI-Tests7 out of 12 merged PRs checked by a CI test -- score normalized to 5
0CII-Best-Practicesno effort to earn an OpenSSF best practices badge detected
7Code-ReviewFound 7/10 approved changesets -- score normalized to 7
10Contributorsproject has 11 contributing companies or organizations
10Dangerous-Workflowno dangerous workflow patterns detected
10Dependency-Update-Toolupdate tool detected
0Fuzzingproject is not fuzzed
10Licenselicense file detected
1Maintained2 commit(s) and 0 issue activity found in the last 90 days -- score normalized to 1
n/dPackagingpackaging workflow not detected
0Pinned-Dependenciesdependency not pinned by hash detected -- score normalized to 0
0SASTSAST tool is not run on all commits -- score normalized to 0
0Security-Policysecurity policy file not detected
n/dSigned-Releasesno releases found
0Token-Permissionsdetected GitHub workflow tokens with excessive permissions
10Vulnerabilities0 existing vulnerabilities detected
Dependencias directas 6
RegistroPaqueteRestricción de versiónManifiesto
Packagistsymfony/console^6.4 || ^7.0 || ^8.0composer.json
Packagistsymfony/framework-bundle^6.4 || ^7.0 || ^8.0composer.json
Packagistsymfony/twig-bundle^6.4 || ^7.0 || ^8.0composer.json
Packagistsymfony/form^6.4 || ^7.0 || ^8.0composer.json
Packagistsymfony/asset^6.4 || ^7.0 || ^8.0composer.json
Packagiststudio-42/elfinder~2.1.62composer.json
Todas las dependencias 14

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

RegistroPaqueteVersiónRelación
Packagiststudio-42/elfinderdirecta
Packagistsymfony/assetdirecta
Packagistsymfony/consoledirecta
Packagistsymfony/formdirecta
Packagistsymfony/framework-bundledirecta
Packagistsymfony/twig-bundledirecta
Packagistext-jsonindirecta
Packagistfriendsofphp/php-cs-fixerindirecta
Packagistmatthiasnoback/symfony-config-testindirecta
Packagistmatthiasnoback/symfony-dependency-injection-testindirecta
Packagistphpindirecta
Packagistphp-coveralls/php-coverallsindirecta
Packagistsymfony/finderindirecta
Packagistsymfony/phpunit-bridgeindirecta
Avisos de dependencias sin evaluar

El cotejo de avisos no pudo ejecutarse para este informe: No resolved dependencies carried a version and a supported ecosystem

Informe JSON sin procesar legible por máquina
{
  "data": {
    "repo": {
      "topics": [
        "ckeditor",
        "tinymce",
        "elfinder",
        "bundle",
        "symfony",
        "symfony-bundle",
        "php"
      ],
      "is_fork": false,
      "size_kb": 1455,
      "has_wiki": true,
      "homepage": null,
      "languages": {
        "PHP": 152967,
        "Twig": 43409,
        "JavaScript": 8552
      },
      "pushed_at": "2026-08-02T00:54:15Z",
      "created_at": "2012-08-07T13:59:28Z",
      "owner_type": "User",
      "updated_at": "2026-08-02T00:54:12Z",
      "description": ":file_folder: ElFinderBundle provides ElFinder integration with TinyMCE, CKEditor, Summernote editors",
      "is_archived": false,
      "is_disabled": false,
      "license_spdx": "MIT",
      "default_branch": "main",
      "license_spdx_raw": "MIT",
      "primary_language": "PHP",
      "significant_languages": [
        "PHP",
        "Twig"
      ]
    },
    "owner": {
      "blog": null,
      "name": "Al Ganiev",
      "type": "User",
      "login": "helios-ag",
      "company": "@macroactive-io ",
      "location": null,
      "followers": 53,
      "avatar_url": "https://avatars.githubusercontent.com/u/334907?v=4",
      "created_at": "2010-07-17T14:44:35Z",
      "is_verified": null,
      "public_repos": 73,
      "account_age_days": 5859
    },
    "license": {
      "state": "standard",
      "spdx_id": "MIT",
      "raw_spdx": "MIT",
      "file_present": true,
      "scorecard_found": true,
      "profile_has_license": true
    },
    "activity": {
      "releases": [
        {
          "tag": "13.0.2",
          "kind": "patch",
          "published_at": "2026-03-26T08:42:28Z"
        },
        {
          "tag": "13.0.1",
          "kind": "patch",
          "published_at": "2026-02-15T02:39:59Z"
        },
        {
          "tag": "13",
          "kind": "other",
          "published_at": "2025-12-09T05:55:39Z"
        },
        {
          "tag": "12.7.3",
          "kind": "patch",
          "published_at": "2025-06-20T05:20:56Z"
        },
        {
          "tag": "12.7.2",
          "kind": "patch",
          "published_at": "2025-02-27T00:59:17Z"
        },
        {
          "tag": "12.7.1",
          "kind": "patch",
          "published_at": "2025-02-26T02:16:01Z"
        },
        {
          "tag": "12.7",
          "kind": "other",
          "published_at": "2025-02-25T00:21:49Z"
        },
        {
          "tag": "12.6",
          "kind": "other",
          "published_at": "2024-09-30T02:16:48Z"
        },
        {
          "tag": "12.5",
          "kind": "other",
          "published_at": "2023-12-20T01:57:20Z"
        },
        {
          "tag": "12.4",
          "kind": "other",
          "published_at": "2023-11-26T04:37:00Z"
        },
        {
          "tag": "12.3.3",
          "kind": "patch",
          "published_at": "2023-06-04T12:19:01Z"
        },
        {
          "tag": "12.3.2",
          "kind": "patch",
          "published_at": "2023-05-29T00:33:19Z"
        },
        {
          "tag": "12.3.1",
          "kind": "patch",
          "published_at": "2023-05-13T02:25:20Z"
        },
        {
          "tag": "12.3",
          "kind": "other",
          "published_at": "2023-05-10T23:13:55Z"
        },
        {
          "tag": "12.2.3",
          "kind": "patch",
          "published_at": "2023-02-13T14:27:45Z"
        },
        {
          "tag": "12.2.2",
          "kind": "patch",
          "published_at": "2023-02-05T05:06:30Z"
        },
        {
          "tag": "12.2.1",
          "kind": "patch",
          "published_at": "2022-12-01T05:12:51Z"
        },
        {
          "tag": "12.2",
          "kind": "other",
          "published_at": "2022-10-30T01:50:05Z"
        },
        {
          "tag": "12.1.3",
          "kind": "patch",
          "published_at": "2022-04-17T02:44:08Z"
        },
        {
          "tag": "12.1.2",
          "kind": "patch",
          "published_at": "2022-01-21T13:18:36Z"
        },
        {
          "tag": "12.1",
          "kind": "other",
          "published_at": "2022-01-09T10:41:40Z"
        },
        {
          "tag": "11.0",
          "kind": "other",
          "published_at": "2021-12-15T13:50:49Z"
        },
        {
          "tag": "10.1",
          "kind": "other",
          "published_at": "2021-01-29T14:44:00Z"
        },
        {
          "tag": "10.0.4",
          "kind": "patch",
          "published_at": "2020-02-16T23:33:46Z"
        },
        {
          "tag": "10.0.3",
          "kind": "patch",
          "published_at": "2020-01-26T05:18:22Z"
        },
        {
          "tag": "10.0.2",
          "kind": "patch",
          "published_at": "2020-01-25T05:47:29Z"
        },
        {
          "tag": "10.0.1",
          "kind": "patch",
          "published_at": "2020-01-14T10:02:16Z"
        },
        {
          "tag": "10",
          "kind": "other",
          "published_at": "2020-01-12T06:39:21Z"
        },
        {
          "tag": "9.3.2",
          "kind": "patch",
          "published_at": "2019-11-21T13:03:52Z"
        },
        {
          "tag": "9.3.1",
          "kind": "patch",
          "published_at": "2019-07-28T13:55:57Z"
        },
        {
          "tag": "9.3",
          "kind": "other",
          "published_at": "2019-05-13T04:52:46Z"
        },
        {
          "tag": "9.2.1",
          "kind": "patch",
          "published_at": "2019-03-23T02:58:48Z"
        },
        {
          "tag": "9.2",
          "kind": "other",
          "published_at": "2018-12-18T06:38:36Z"
        },
        {
          "tag": "9.1.1",
          "kind": "patch",
          "published_at": "2018-11-01T04:21:18Z"
        },
        {
          "tag": "9.1",
          "kind": "other",
          "published_at": "2018-10-10T07:27:33Z"
        },
        {
          "tag": "9",
          "kind": "other",
          "published_at": "2018-10-06T08:39:35Z"
        },
        {
          "tag": "8.0.3",
          "kind": "patch",
          "published_at": "2018-05-25T16:11:16Z"
        },
        {
          "tag": "8.0.2",
          "kind": "patch",
          "published_at": "2018-05-25T02:10:36Z"
        },
        {
          "tag": "8.0.1",
          "kind": "patch",
          "published_at": "2018-04-05T04:09:06Z"
        },
        {
          "tag": "8.0",
          "kind": "other",
          "published_at": "2018-04-01T02:35:08Z"
        },
        {
          "tag": "7.0.1",
          "kind": "patch",
          "published_at": "2018-01-22T07:32:40Z"
        },
        {
          "tag": "7.0",
          "kind": "other",
          "published_at": "2017-12-10T05:41:20Z"
        },
        {
          "tag": "6.2.1",
          "kind": "patch",
          "published_at": "2016-09-03T14:01:22Z"
        },
        {
          "tag": "6.2",
          "kind": "other",
          "published_at": "2016-08-30T23:57:23Z"
        },
        {
          "tag": "6.1.2",
          "kind": "patch",
          "published_at": "2016-04-26T07:33:31Z"
        },
        {
          "tag": "6.1.1",
          "kind": "patch",
          "published_at": "2016-04-20T00:56:45Z"
        },
        {
          "tag": "6.1",
          "kind": "other",
          "published_at": "2016-02-27T10:09:05Z"
        },
        {
          "tag": "6.0.3",
          "kind": "patch",
          "published_at": "2016-02-19T14:12:34Z"
        },
        {
          "tag": "6.0.2",
          "kind": "patch",
          "published_at": "2016-01-24T03:20:48Z"
        },
        {
          "tag": "6.0.1",
          "kind": "patch",
          "published_at": "2015-12-08T05:14:20Z"
        },
        {
          "tag": "6.0",
          "kind": "other",
          "published_at": "2015-12-06T16:16:42Z"
        },
        {
          "tag": "5.3",
          "kind": "other",
          "published_at": "2015-11-15T18:25:12Z"
        },
        {
          "tag": "5.2.1",
          "kind": "patch",
          "published_at": "2015-11-12T16:13:56Z"
        },
        {
          "tag": "5.2",
          "kind": "other",
          "published_at": "2015-11-12T12:49:45Z"
        },
        {
          "tag": "5.1",
          "kind": "other",
          "published_at": "2015-09-24T16:00:27Z"
        },
        {
          "tag": "5.0.5",
          "kind": "patch",
          "published_at": "2015-07-16T07:07:35Z"
        },
        {
          "tag": "5.0.4",
          "kind": "patch",
          "published_at": "2015-04-11T06:13:16Z"
        },
        {
          "tag": "5.0.3",
          "kind": "patch",
          "published_at": "2015-04-03T16:00:16Z"
        },
        {
          "tag": "5.0.2",
          "kind": "patch",
          "published_at": "2015-04-02T10:08:16Z"
        },
        {
          "tag": "5.0.1",
          "kind": "patch",
          "published_at": "2015-03-23T13:05:33Z"
        },
        {
          "tag": "5",
          "kind": "other",
          "published_at": "2015-03-22T10:20:46Z"
        },
        {
          "tag": "4.0.2",
          "kind": "patch",
          "published_at": "2015-03-20T11:56:12Z"
        },
        {
          "tag": "4.0.1",
          "kind": "patch",
          "published_at": "2015-02-24T16:42:01Z"
        },
        {
          "tag": "4.0",
          "kind": "other",
          "published_at": "2015-02-18T11:09:44Z"
        },
        {
          "tag": "3.4",
          "kind": "other",
          "published_at": "2015-01-20T02:54:15Z"
        },
        {
          "tag": "3.3",
          "kind": "other",
          "published_at": "2015-01-17T06:51:43Z"
        },
        {
          "tag": "3.2.1",
          "kind": "patch",
          "published_at": "2015-01-06T14:33:54Z"
        },
        {
          "tag": "3.2",
          "kind": "other",
          "published_at": "2014-12-28T02:55:18Z"
        },
        {
          "tag": "2.3.3",
          "kind": "patch",
          "published_at": "2014-12-06T07:52:38Z"
        },
        {
          "tag": "3.1",
          "kind": "other",
          "published_at": "2014-11-09T15:55:10Z"
        },
        {
          "tag": "3.0",
          "kind": "other",
          "published_at": "2014-11-07T08:56:05Z"
        },
        {
          "tag": "2.3.2",
          "kind": "patch",
          "published_at": "2014-10-29T15:52:51Z"
        },
        {
          "tag": "2.5.1",
          "kind": "patch",
          "published_at": "2014-10-24T13:05:07Z"
        },
        {
          "tag": "2.5",
          "kind": "other",
          "published_at": "2014-10-11T09:30:48Z"
        },
        {
          "tag": "2.3.1",
          "kind": "patch",
          "published_at": "2014-10-10T07:28:26Z"
        },
        {
          "tag": "2.3.0",
          "kind": "minor",
          "published_at": "2014-10-03T16:45:09Z"
        },
        {
          "tag": "2.1",
          "kind": "other",
          "published_at": "2014-08-24T06:56:40Z"
        },
        {
          "tag": "v2.0",
          "kind": "other",
          "published_at": "2014-08-10T03:51:39Z"
        },
        {
          "tag": "1.5",
          "kind": "other",
          "published_at": "2014-07-26T16:18:16Z"
        },
        {
          "tag": "1.4.2",
          "kind": "patch",
          "published_at": "2013-12-19T08:00:54Z"
        },
        {
          "tag": "1.4.1",
          "kind": "patch",
          "published_at": "2013-11-13T08:26:09Z"
        },
        {
          "tag": "1.4",
          "kind": "other",
          "published_at": "2013-10-03T16:19:58Z"
        },
        {
          "tag": "1.3",
          "kind": "other",
          "published_at": "2013-08-27T03:45:17Z"
        }
      ],
      "recent_commits": [
        {
          "oid": "542fa0f74dbbfdb3857c37518b0af180773e0664",
          "body": "…github/workflows/shivammathur/setup-php-2.37.1\n\nBump shivammathur/setup-php from 2.27.1 to 2.37.1 in /.github/workflows",
          "is_bot": false,
          "headline": "Merge pull request #556 from helios-ag/dependabot/github_actions/dot-…",
          "author_name": "Al Ganiev",
          "author_login": "helios-ag",
          "committed_at": "2026-08-02T00:54:08Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "438fd355e6e87889cf085c4e2f7677abeb7dafe3",
          "body": "Bumps [shivammathur/setup-php](https://github.com/shivammathur/setup-php) from 2.27.1 to 2.37.1.\n- [Release notes](https://github.com/shivammathur/setup-php/releases)\n- [Commits](https://github.com/shivammathur/setup-php/compare/2.27.1...2.37.1)\n\n---\nupdated-dependencies:\n- dependency-name: shivammathur/setup-php\n  dependency-version: 2.37.1\n  dependency-type: direct:production\n...\n\nSigned-off-by: dependabot[bot] <support@github.com>",
          "is_bot": true,
          "headline": "Bump shivammathur/setup-php from 2.27.1 to 2.37.1 in /.github/workflows",
          "author_name": "dependabot[bot]",
          "author_login": "dependabot[bot]",
          "committed_at": "2026-07-19T05:04:10Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "fa0247c4e43d748b1d8a626f94f8e4c423687fdb",
          "body": "chore(composer): fix branch alias",
          "is_bot": false,
          "headline": "Merge pull request #555 from le-phare/main",
          "author_name": "Al Ganiev",
          "author_login": "helios-ag",
          "committed_at": "2026-03-26T07:06:56Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "21842e7dd0bf818f85c86348e6e4d279ee407dde",
          "body": null,
          "is_bot": false,
          "headline": "chore(composer): fix branch alias",
          "author_name": "Thibaut Selingue",
          "author_login": "thislg",
          "committed_at": "2026-03-25T08:33:19Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "de7b30db1c03522b8edac977a3305a05a3b0affc",
          "body": "feat(command): allow changing elfinder vendor dir",
          "is_bot": false,
          "headline": "Merge pull request #554 from thislg/feat-allow-changing-elfinder-dir",
          "author_name": "Al Ganiev",
          "author_login": "helios-ag",
          "committed_at": "2026-03-24T13:20:00Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "3317b2f3aaa60ff41665c3473d1088ccd1cdcd88",
          "body": null,
          "is_bot": false,
          "headline": "feat(command): allow changing elfinder vendor dir",
          "author_name": "Thibaut Selingue",
          "author_login": "thislg",
          "committed_at": "2026-03-06T10:52:11Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "d7408f88341336258b97853af64a7684c98f17ef",
          "body": "fix deprecated since symfony 7.4 request::get() method",
          "is_bot": false,
          "headline": "Merge pull request #552 from seryogassm/fix_request_get",
          "author_name": "Al Ganiev",
          "author_login": "helios-ag",
          "committed_at": "2026-02-15T02:39:12Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "dc4d30d572e3aad6a1785a9d370e42802ec237ee",
          "body": null,
          "is_bot": false,
          "headline": "fix deprecated since symfony 7.4 request::get() method",
          "author_name": "sergey",
          "author_login": "seryogassm",
          "committed_at": "2026-02-10T09:25:15Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "4b62c623bd3e724078810ced0f87c4f84866a5fe",
          "body": "Updated deps up to sf 8",
          "is_bot": false,
          "headline": "Merge pull request #550 from helios-ag/8",
          "author_name": "Al Ganiev",
          "author_login": "helios-ag",
          "committed_at": "2025-12-09T05:04:37Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "845f8f1d4898d15fa4ba2eb26aad4d3841c45bb6",
          "body": null,
          "is_bot": false,
          "headline": "Misiused query instead of request",
          "author_name": "Al Ganiev",
          "author_login": "helios-ag",
          "committed_at": "2025-12-09T04:56:59Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "d3c5bc67ce06802f3a05ee33cf30bcc876128b43",
          "body": null,
          "is_bot": false,
          "headline": "deprecation fix",
          "author_name": "Al Ganiev",
          "author_login": "helios-ag",
          "committed_at": "2025-12-09T04:44:25Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "a0a95dc3746790266c844a63cf7cc1a5e4f4b5af",
          "body": null,
          "is_bot": false,
          "headline": "Fixed tests",
          "author_name": "Al Ganiev",
          "author_login": "helios-ag",
          "committed_at": "2025-12-09T03:44:58Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "93d5a20be0344d9474dcad226d75d919dcf1eb1b",
          "body": null,
          "is_bot": false,
          "headline": "Updated deps up to sf 8",
          "author_name": "Al Ganiev",
          "author_login": "helios-ag",
          "committed_at": "2025-12-08T05:52:49Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "8fceaec7e4b5f620bbca0276da55a6b53502442d",
          "body": "7.4 depr",
          "is_bot": false,
          "headline": "Merge pull request #547 from helios-ag/7.4-depr",
          "author_name": "Al Ganiev",
          "author_login": "helios-ag",
          "committed_at": "2025-11-28T02:31:14Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "0dd367863eca78d6ab9d6b6b1ea2e93fd4b6fb98",
          "body": null,
          "is_bot": false,
          "headline": "Removed xml confi",
          "author_name": "Al Ganiev",
          "author_login": "helios-ag",
          "committed_at": "2025-11-23T10:38:25Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "19e0775b9b9d67fbe1aafd4ee3ab4d8972339f98",
          "body": null,
          "is_bot": false,
          "headline": "Rewritten xml with yaml",
          "author_name": "Al Ganiev",
          "author_login": "helios-ag",
          "committed_at": "2025-11-23T10:37:46Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "8ed77b5cc99bda2f44f9628ade2323750f750bb7",
          "body": null,
          "is_bot": false,
          "headline": "Replaced with yaml loader and removed Required node",
          "author_name": "Al Ganiev",
          "author_login": "helios-ag",
          "committed_at": "2025-11-23T10:37:17Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "27846f2ed35d90a630ff46cfb90c32af70f69c56",
          "body": "replaced with codecov",
          "is_bot": false,
          "headline": "Merge pull request #545 from helios-ag/depr",
          "author_name": "Al Ganiev",
          "author_login": "helios-ag",
          "committed_at": "2025-08-14T04:11:56Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "0dcd26c0caa6265aacc3a411c2367e661bf9ae07",
          "body": null,
          "is_bot": false,
          "headline": "Added xdebug",
          "author_name": "Al Ganiev",
          "author_login": "helios-ag",
          "committed_at": "2025-08-14T04:05:38Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "05da0e8c60cf85f9cecc46f25ae8a4d3ef6ed843",
          "body": null,
          "is_bot": false,
          "headline": "replaced with codecov",
          "author_name": "Al Ganiev",
          "author_login": "helios-ag",
          "committed_at": "2025-08-14T03:53:32Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "8041092383efda82faee697dc1119840a4345eca",
          "body": "Remove E_STRICT",
          "is_bot": false,
          "headline": "Merge pull request #543 from bobvandevijver/patch-1",
          "author_name": "Al Ganiev",
          "author_login": "helios-ag",
          "committed_at": "2025-06-19T11:47:45Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "9be4482f4b03bedb105ef30f4381ac4d6be875e6",
          "body": "E_STRICT is no longer used by PHP8.0 and newer, but it does emit deprecation notices when using PHP 8.4 (https://php.watch/versions/8.4/E_STRICT-deprecated). As this bundle required PHP ^8.1 it can safely be removed.",
          "is_bot": false,
          "headline": "Remove E_STRICT",
          "author_name": "Bob van de Vijver",
          "author_login": "bobvandevijver",
          "committed_at": "2025-06-18T20:08:44Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "d3751a938d4e43c2bb9c4237390a73815fb63267",
          "body": "Fix PHP 8.4 deprecations",
          "is_bot": false,
          "headline": "Merge pull request #542 from bobvandevijver/fix-php84-deprecations",
          "author_name": "Al Ganiev",
          "author_login": "helios-ag",
          "committed_at": "2025-05-22T23:10:38Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "7691b646758fbceca4d911df09f61264a04453c8",
          "body": null,
          "is_bot": false,
          "headline": "Add PHP 8.4 to workflow",
          "author_name": "Bob van de Vijver",
          "author_login": "bobvandevijver",
          "committed_at": "2025-05-22T15:28:20Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "eecee98af6cd78e313935e4139ed52fa4adf2248",
          "body": null,
          "is_bot": false,
          "headline": "Fix PHP 8.4 deprecations",
          "author_name": "Bob van de Vijver",
          "author_login": "bobvandevijver",
          "committed_at": "2025-05-22T15:26:32Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "df3991d54f73ad832b70445039170d9652e2bb80",
          "body": "…back/symfony-config-test-tw-6.0\n\nUpdate matthiasnoback/symfony-config-test requirement from ^5.2 to ^6.0",
          "is_bot": false,
          "headline": "Merge pull request #541 from helios-ag/dependabot/composer/matthiasno…",
          "author_name": "Al Ganiev",
          "author_login": "helios-ag",
          "committed_at": "2025-03-14T14:36:38Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "5553ee7c3e1f9bee82cd505cb4d6f2cd3b07b580",
          "body": "Updates the requirements on [matthiasnoback/symfony-config-test](https://github.com/matthiasnoback/SymfonyConfigTest) to permit the latest version.\n- [Release notes](https://github.com/matthiasnoback/SymfonyConfigTest/releases)\n- [Changelog](https://github.com/SymfonyTest/SymfonyConfigTest/blob/mast\n[…]\ncompare/v5.2.0...v6.0.0)\n\n---\nupdated-dependencies:\n- dependency-name: matthiasnoback/symfony-config-test\n  dependency-type: direct:development\n...\n\nSigned-off-by: dependabot[bot] <support@github.com>",
          "is_bot": true,
          "headline": "Update matthiasnoback/symfony-config-test requirement from ^5.2 to ^6.0",
          "author_name": "dependabot[bot]",
          "author_login": "dependabot[bot]",
          "committed_at": "2025-03-10T04:27:38Z",
          "body_truncated": true,
          "is_coding_agent": false
        },
        {
          "oid": "cea954de3ae2048b5dea918fdac978e6605d05a2",
          "body": "Update ElFinderController.php",
          "is_bot": false,
          "headline": "Merge pull request #539 from dartblack/patch-1",
          "author_name": "Al Ganiev",
          "author_login": "helios-ag",
          "committed_at": "2025-02-27T00:53:14Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "9f794d83ea9845de7998d689da551bee4ac1c838",
          "body": null,
          "is_bot": false,
          "headline": "Update ElFinderController.php",
          "author_name": "Gogi Tabatadze",
          "author_login": "dartblack",
          "committed_at": "2025-02-26T15:28:15Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "0bc84b1ae40d1dc2deb404e50efdd0ac53ba884b",
          "body": "Fix Typed property must not be accessed before initialization",
          "is_bot": false,
          "headline": "Merge pull request #538 from seryogassm/main",
          "author_name": "Al Ganiev",
          "author_login": "helios-ag",
          "committed_at": "2025-02-26T00:23:00Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "84c584e9449b4a2dac03ab1014f527c6501e5a0d",
          "body": "Use modern first class callable syntax",
          "is_bot": false,
          "headline": "Merge pull request #535 from bobvandevijver/modern-callables",
          "author_name": "Al Ganiev",
          "author_login": "helios-ag",
          "committed_at": "2025-02-25T23:47:54Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "601c536c7d4bd9b76c9a9d979ea1e229dbb65a7d",
          "body": "gitignore PHPUnit cache folder",
          "is_bot": false,
          "headline": "Merge pull request #537 from bobvandevijver/gitignore",
          "author_name": "Al Ganiev",
          "author_login": "helios-ag",
          "committed_at": "2025-02-25T23:46:42Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "7d92c6f43cd44e43a0b2445abf6fac9d428bf2b2",
          "body": "Bundles should not have symfony/flex in their dependencies",
          "is_bot": false,
          "headline": "Merge pull request #536 from bobvandevijver/no-flex",
          "author_name": "Al Ganiev",
          "author_login": "helios-ag",
          "committed_at": "2025-02-25T23:46:22Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "91b2b25de0ae89b644f924e4fa5de7d1e49d8d2c",
          "body": "…must not be accessed before initialization",
          "is_bot": false,
          "headline": "Fix Typed property FM\\ElfinderBundle\\Loader\\ElFinderLoader::$session …",
          "author_name": "sergey",
          "author_login": "seryogassm",
          "committed_at": "2025-02-25T19:37:48Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "4135c3392f54be537ad0186690963030183e3779",
          "body": null,
          "is_bot": false,
          "headline": "gitignore PHPUnit cache folder",
          "author_name": "Bob van de Vijver",
          "author_login": "bobvandevijver",
          "committed_at": "2025-02-25T12:23:44Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "068fa6547b4c16f87fc15b60f640baa48b00516b",
          "body": null,
          "is_bot": false,
          "headline": "Bundles should not have symfony/flex in their dependencies",
          "author_name": "Bob van de Vijver",
          "author_login": "bobvandevijver",
          "committed_at": "2025-02-25T12:22:25Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "3d6263b842a782b2143d2d4508651350d943ec3a",
          "body": null,
          "is_bot": false,
          "headline": "Use modern first class callable syntax",
          "author_name": "Bob van de Vijver",
          "author_login": "bobvandevijver",
          "committed_at": "2025-02-25T12:20:22Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "69440f1e10281adca2077356ed37a8edd173db3e",
          "body": "various updates",
          "is_bot": false,
          "headline": "Merge pull request #484 from helios-ag/updates",
          "author_name": "Al Ganiev",
          "author_login": "helios-ag",
          "committed_at": "2024-12-01T13:43:45Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "4d45454eb89aa1a1ac3fa31b753e820ffdc29036",
          "body": null,
          "is_bot": false,
          "headline": "Disable coverage",
          "author_name": "Al Ganiev",
          "author_login": "helios-ag",
          "committed_at": "2024-12-01T13:36:25Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "86833f88358e2ff1c3cdea613141441c6efb3eb9",
          "body": null,
          "is_bot": false,
          "headline": "deprecations fix",
          "author_name": "Al Ganiev",
          "author_login": "helios-ag",
          "committed_at": "2024-12-01T13:15:58Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "8251848d12cf204fb4edff585a05400dd595ffe4",
          "body": null,
          "is_bot": false,
          "headline": "Minor fixes",
          "author_name": "Al Ganiev",
          "author_login": "helios-ag",
          "committed_at": "2024-12-01T08:35:18Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "b4b319a7d00b983977b7095825d7da58f5e47cf8",
          "body": null,
          "is_bot": false,
          "headline": "Deprecated php 8.0 and older",
          "author_name": "Al Ganiev",
          "author_login": "helios-ag",
          "committed_at": "2024-12-01T07:28:46Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "776a5be3cc4efc35e0600d4e139c28fa3b943ed5",
          "body": null,
          "is_bot": false,
          "headline": "Merge branch 'main' into updates",
          "author_name": "Al Ganiev",
          "author_login": "helios-ag",
          "committed_at": "2024-12-01T07:23:07Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "98abc68cc868a0774619f6e00929c984310bf9e4",
          "body": null,
          "is_bot": false,
          "headline": "Added test for command",
          "author_name": "Al Ganiev",
          "author_login": "helios-ag",
          "committed_at": "2024-12-01T07:21:40Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "8cdb57701f8734ad2e756680222c074f6b1323e7",
          "body": null,
          "is_bot": false,
          "headline": "Removed deprecations, in favor to attributes",
          "author_name": "Al Ganiev",
          "author_login": "helios-ag",
          "committed_at": "2024-12-01T07:17:52Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "5e7c273568d591c061690e15cbc7bea93f70cde9",
          "body": null,
          "is_bot": false,
          "headline": "Command fixes",
          "author_name": "Al Ganiev",
          "author_login": "helios-ag",
          "committed_at": "2024-12-01T06:56:25Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "36467333d24ab32487d1d0870edf52b5c81ea8b3",
          "body": null,
          "is_bot": false,
          "headline": "Added return types and other minor improvements",
          "author_name": "Al Ganiev",
          "author_login": "helios-ag",
          "committed_at": "2024-12-01T06:17:06Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "da9de52d460805df3780a68aa74b6b52cb0d360e",
          "body": null,
          "is_bot": false,
          "headline": "Merge branch 'main' into updates",
          "author_name": "Al Ganiev",
          "author_login": "helios-ag",
          "committed_at": "2024-12-01T05:59:22Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "07fc0bf87509f1bb5ef4a2b955504902a1e253e1",
          "body": "Trash volume usage",
          "is_bot": false,
          "headline": "Merge pull request #533 from helios-ag/trash-volume",
          "author_name": "Al Ganiev",
          "author_login": "helios-ag",
          "committed_at": "2024-12-01T05:18:40Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "7d146a6dab1109cd97a04907f9cb56fae509c750",
          "body": null,
          "is_bot": false,
          "headline": "obey trash hash param",
          "author_name": "Al Ganiev",
          "author_login": "helios-ag",
          "committed_at": "2024-12-01T00:30:32Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "87d5f44666795e51d1b04ee43f514c72a7cde46f",
          "body": null,
          "is_bot": false,
          "headline": "renamed and removed unused stuff",
          "author_name": "Al Ganiev",
          "author_login": "helios-ag",
          "committed_at": "2024-12-01T00:12:13Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "4d5aefd1c2296c4c3f9b84b3cbbac189f45e23be",
          "body": null,
          "is_bot": false,
          "headline": "improved gitignore",
          "author_name": "Al Ganiev",
          "author_login": "helios-ag",
          "committed_at": "2024-11-30T23:45:58Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "f75e211ec1292ad244aa870e896f9a60dd24c2b9",
          "body": "Fix : Use of \"self\" in callables is deprecated",
          "is_bot": false,
          "headline": "Merge pull request #532 from AlexiZ/patch-1",
          "author_name": "Al Ganiev",
          "author_login": "helios-ag",
          "committed_at": "2024-11-26T12:20:57Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "e13d41db27cab3075e69c7e49a8cf959735ce541",
          "body": "Fixes issue !531",
          "is_bot": false,
          "headline": "Fix : Use of \"self\" in callables is deprecated",
          "author_name": "Alexis",
          "author_login": "AlexiZ",
          "committed_at": "2024-11-26T09:09:13Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "03ea9aba07286f6224107fc01f820e0680ba044d",
          "body": "Fixes #497 mainUrl didn't contain asset path",
          "is_bot": false,
          "headline": "Merge pull request #509 from JohJohan/497",
          "author_name": "Al Ganiev",
          "author_login": "helios-ag",
          "committed_at": "2024-09-19T08:55:59Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "252efecf3790e4e427e9a8307b25dc23bbe00f76",
          "body": "Fixes #528 set default options to empty array",
          "is_bot": false,
          "headline": "Merge pull request #530 from JohJohan/528",
          "author_name": "Al Ganiev",
          "author_login": "helios-ag",
          "committed_at": "2024-07-26T22:51:51Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "1e87f09a6b187413c001d213f3c50ce626566acb",
          "body": null,
          "is_bot": false,
          "headline": "Fixes #528 set default options to empty array",
          "author_name": "johan Vlaar",
          "author_login": "JohJohan",
          "committed_at": "2024-07-02T11:27:30Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "0f8aded52212ce5c97c89d0c8033cbbaea379a5f",
          "body": null,
          "is_bot": false,
          "headline": "Fixes #497 mainUrl didn't contain asset path",
          "author_name": "johan Vlaar",
          "author_login": "JohJohan",
          "committed_at": "2024-04-10T09:49:59Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "5f048aed1dc13c9f4516287eb0e8b074a9ededa9",
          "body": "Add use_aws_shared_config_files option to fm_elfinder configuration",
          "is_bot": false,
          "headline": "Merge pull request #524 from luchidalgo/main",
          "author_name": "Al Ganiev",
          "author_login": "helios-ag",
          "committed_at": "2024-01-04T05:04:17Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "1b594ca577e4743ff45bbca40c2498c796a211b7",
          "body": null,
          "is_bot": false,
          "headline": "Add use_aws_shared_config_files option to fm_elfinder configuration",
          "author_name": "Luc Hidalgo",
          "author_login": "luchidalgo",
          "committed_at": "2023-12-29T09:02:19Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "49a5317b7495da6f16356624d8efa28c8e76661b",
          "body": "Allow symfony 7 as dep",
          "is_bot": false,
          "headline": "Merge pull request #523 from helios-ag/sf7",
          "author_name": "Al Ganiev",
          "author_login": "helios-ag",
          "committed_at": "2023-12-07T12:14:23Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "3a24255651d67f7531788cdcc73037e2b78127d8",
          "body": null,
          "is_bot": false,
          "headline": "Allow symfony 7",
          "author_name": "Al Ganiev",
          "author_login": "helios-ag",
          "committed_at": "2023-12-07T11:07:05Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "b8aaeeb13eaf0e67d5e2192120b8a37360e6d92f",
          "body": "…punit-bridge-tw-7.0.1\n\nUpdate symfony/phpunit-bridge requirement from ^4.1 || ^5.0 || ^5.2 || ^6.0 to ^7.0.1",
          "is_bot": false,
          "headline": "Merge pull request #521 from helios-ag/dependabot/composer/symfony/ph…",
          "author_name": "Al Ganiev",
          "author_login": "helios-ag",
          "committed_at": "2023-12-04T09:30:54Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "99f8cbcade85dc80ac1a4fac85c2ddce40616b34",
          "body": "…| ^6.0 to ^7.0.1\n\nUpdates the requirements on [symfony/phpunit-bridge](https://github.com/symfony/phpunit-bridge) to permit the latest version.\n- [Release notes](https://github.com/symfony/phpunit-bridge/releases)\n- [Changelog](https://github.com/symfony/phpunit-bridge/blob/6.3/CHANGELOG.md)\n- [Com\n[…]\nmfony/phpunit-bridge/commits/v7.0.1)\n\n---\nupdated-dependencies:\n- dependency-name: symfony/phpunit-bridge\n  dependency-type: direct:development\n...\n\nSigned-off-by: dependabot[bot] <support@github.com>",
          "is_bot": true,
          "headline": "Update symfony/phpunit-bridge requirement from ^4.1 || ^5.0 || ^5.2 |…",
          "author_name": "dependabot[bot]",
          "author_login": "dependabot[bot]",
          "committed_at": "2023-12-04T04:47:01Z",
          "body_truncated": true,
          "is_coding_agent": false
        },
        {
          "oid": "c36d970db9070d69c8ca1d56e221732721d45173",
          "body": null,
          "is_bot": false,
          "headline": "Merge branch 'main' into updates",
          "author_name": "Al Ganiev",
          "author_login": "helios-ag",
          "committed_at": "2023-11-23T04:29:26Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "7cdc6371b4771452d7470687d2440aaa05248078",
          "body": null,
          "is_bot": false,
          "headline": "php cs",
          "author_name": "Al Ganiev",
          "author_login": "helios-ag",
          "committed_at": "2023-11-21T11:36:16Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "90a777c4b70be8ad0231365b3806999a652b1e48",
          "body": null,
          "is_bot": false,
          "headline": "Merge branch 'main' into updates",
          "author_name": "Al Ganiev",
          "author_login": "helios-ag",
          "committed_at": "2023-11-21T11:23:39Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "add3523940e9482b4fbe09789bb62908e474724d",
          "body": "Updating elfinder dependencies",
          "is_bot": false,
          "headline": "Merge pull request #520 from helios-ag/deps=up",
          "author_name": "Al Ganiev",
          "author_login": "helios-ag",
          "committed_at": "2023-11-20T08:19:58Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "d4fd1999962d1a42b0c285c49e54657921a30267",
          "body": null,
          "is_bot": false,
          "headline": "CS Applied",
          "author_name": "Al Ganiev",
          "author_login": "helios-ag",
          "committed_at": "2023-11-20T08:09:40Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "d29160488ccddf32616edfca2181647966a91c23",
          "body": null,
          "is_bot": false,
          "headline": "CS fixer dep",
          "author_name": "Al Ganiev",
          "author_login": "helios-ag",
          "committed_at": "2023-11-20T08:09:03Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "d35d8f9c8b9a9f655824d81b1c6fd65607fea9e0",
          "body": null,
          "is_bot": false,
          "headline": "Dropped stan",
          "author_name": "Al Ganiev",
          "author_login": "helios-ag",
          "committed_at": "2023-11-20T08:08:56Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "ea8ae497a496193ab27dfce288e0b890abc9309c",
          "body": null,
          "is_bot": false,
          "headline": "Updated gitignore",
          "author_name": "Al Ganiev",
          "author_login": "helios-ag",
          "committed_at": "2023-11-20T08:08:42Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "d24e42ddb21fed0ac086ceaf694a9cef7a439f95",
          "body": null,
          "is_bot": false,
          "headline": "Added csfixer",
          "author_name": "Al Ganiev",
          "author_login": "helios-ag",
          "committed_at": "2023-11-20T08:08:30Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "66edf6188612c6d1a978f0bacfbf7e463dd3bb2e",
          "body": null,
          "is_bot": false,
          "headline": "Migrated phpunt",
          "author_name": "Al Ganiev",
          "author_login": "helios-ag",
          "committed_at": "2023-11-20T07:55:58Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "19a4fe2ca1d2b333a1d9bd5a34b03584716e29ac",
          "body": null,
          "is_bot": false,
          "headline": "Updated symfony bundle",
          "author_name": "Al Ganiev",
          "author_login": "helios-ag",
          "committed_at": "2023-11-20T07:55:40Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "968ae2ba017a4b38615d79b28ab63290e96e79db",
          "body": null,
          "is_bot": false,
          "headline": "Added devcontainer",
          "author_name": "Al Ganiev",
          "author_login": "helios-ag",
          "committed_at": "2023-11-20T02:56:47Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "90964244e9d0171b606d7dce386497dc80e46eed",
          "body": null,
          "is_bot": false,
          "headline": "Minor imprvements",
          "author_name": "Al Ganiev",
          "author_login": "helios-ag",
          "committed_at": "2023-11-19T23:48:32Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "3ed82e3dccbcfc8f9a78f435000354d265662aec",
          "body": null,
          "is_bot": false,
          "headline": "Updated lowest elfinder due to CVE",
          "author_name": "Al Ganiev",
          "author_login": "helios-ag",
          "committed_at": "2023-11-19T10:02:25Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "e4027caf5f2c02a9ca23e8531930aa015b9ce19a",
          "body": null,
          "is_bot": false,
          "headline": "Updated ceckout and setup-php",
          "author_name": "Al Ganiev",
          "author_login": "helios-ag",
          "committed_at": "2023-11-19T10:02:01Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "33f4517156f4d2ab934cc3a8e7ea211175c50a30",
          "body": null,
          "is_bot": false,
          "headline": "Removed funding and adjusted test ci",
          "author_name": "Al Ganiev",
          "author_login": "helios-ag",
          "committed_at": "2023-11-19T10:00:28Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "11f7c3be4bf89dd1fc004b17a9a56ef4a935a404",
          "body": "Method\r\n\"Symfony\\Component\\Form\\AbstractType::buildForm()\"\r\nmight add \"void\" as a native return type declaration in the future.\r\nDo the same in child class\r\n\"FM\\ElfinderBundle\\Form\\Type\\ElFinderType\"\r\nnow to avoid errors or add an explicit @return annotation to suppress this message.\r\n\r\nMethod\r\n\"Sym\n[…]\ntive return type declaration in the future.\r\nDo the same in child class\r\n\"FM\\ElfinderBundle\\Form\\Type\\ElFinderType\"\r\nnow to avoid errors or add an explicit @return annotation to suppress this message.",
          "is_bot": false,
          "headline": "Add return types to ElFinderType (#519)",
          "author_name": "Jon Green",
          "author_login": "jontjs",
          "committed_at": "2023-11-18T10:24:15Z",
          "body_truncated": true,
          "is_coding_agent": false
        },
        {
          "oid": "71d026884dca3a307039ae12196daa757fca9068",
          "body": "This fixes the warning:\r\n\r\nMethod\r\n\"Symfony\\Component\\DependencyInjection\\Compiler\\CompilerPassInterface::process()\"\r\nmight add \"void\" as a native return type declaration in the future.\r\nDo the same in implementation\r\n\"FM\\ElfinderBundle\\DependencyInjection\\Compiler\\TwigFormPass\"\r\nnow to avoid errors or add an explicit @return annotation to suppress this message.",
          "is_bot": false,
          "headline": "Add return type to TwigFormPass::process() (#518)",
          "author_name": "Jon Green",
          "author_login": "jontjs",
          "committed_at": "2023-11-18T10:23:53Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "19a7578e301bd37f5f5d4bc1110723b3b03d43bf",
          "body": "Fixes this warning:\r\n\r\nUser Deprecated: Method \"Symfony\\Component\\HttpKernel\\Bundle\\Bundle::build()\" might add \"void\" as a native return type declaration in the future. Do the same in child class \"FM\\ElfinderBundle\\FMElfinderBundle\" now to avoid errors or add an explicit @return annotation to suppress this message.",
          "is_bot": false,
          "headline": "Add return type to FMElfinderBundle::build() (#511)",
          "author_name": "Jon Green",
          "author_login": "jontjs",
          "committed_at": "2023-09-11T06:46:48Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "30ce0fbe8004356744fbd856c73e68413203447a",
          "body": "…nt (#508)\n\nCo-authored-by: johan Vlaar <johan@adivare.nl>",
          "is_bot": false,
          "headline": "Flysystem.md add extra info about endpoint with use_path_style_endpoi…",
          "author_name": "Johan Vlaar",
          "author_login": "JohJohan",
          "committed_at": "2023-08-20T03:41:18Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "37c3db0cc50b1158d5224acf9da0760881712212",
          "body": null,
          "is_bot": false,
          "headline": "Correctly fix return of Connector and Loader in non-cors mode (#507)",
          "author_name": "Bob van de Vijver",
          "author_login": "bobvandevijver",
          "committed_at": "2023-06-04T11:58:32Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "a5b91c50462bd5469c12acbf0f53f19cc24f1c82",
          "body": null,
          "is_bot": false,
          "headline": "Revert exit (#505)",
          "author_name": "Al Ganiev",
          "author_login": "helios-ag",
          "committed_at": "2023-05-28T07:27:52Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "b3597978c23db27dbd154cdda8cda9a5e82a81f6",
          "body": null,
          "is_bot": false,
          "headline": "removed strict and added default value (#501)",
          "author_name": "Al Ganiev",
          "author_login": "helios-ag",
          "committed_at": "2023-05-13T02:14:39Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "735b9b0a0f8f1eab47c5001d95e7b16f273e0430",
          "body": "* determine the vendor root dir based on the composer classloader\r\n\r\n* styleci fixes",
          "is_bot": false,
          "headline": "determine the vendor root dir based on the composer classloader (#499)",
          "author_name": "Mattias Michaux",
          "author_login": "mollux",
          "committed_at": "2023-05-10T23:12:16Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "492b9866267550cb3ab31222ba07e6b08a222ecd",
          "body": "Co-authored-by: johan Vlaar <johan@adivare.nl>",
          "is_bot": false,
          "headline": "Fix typo in flysystem.md (#498)",
          "author_name": "Johan Vlaar",
          "author_login": "JohJohan",
          "committed_at": "2023-05-01T05:01:59Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "545b3885c2a3d9d1493e83951e64136ad61f33fa",
          "body": "* Set correct url to Flysystem in advanced-configuration.md\r\n\r\n* Fix typo in configuration in flysystem.md\r\n\r\n* Remove extra spacing in composer require package flysystem.md",
          "is_bot": false,
          "headline": "Set correct url to Flysystem in advanced-configuration.md (#494)",
          "author_name": "Johan Vlaar",
          "author_login": "JohJohan",
          "committed_at": "2023-03-17T06:49:51Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "5239bc47fb77802bc9f2205f6163f4790b75adca",
          "body": null,
          "is_bot": false,
          "headline": "Fix unnecessary PHP exit (#483)",
          "author_name": "Duckxz",
          "author_login": "Duckxz",
          "committed_at": "2023-02-14T08:47:49Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "68a3b900a49894feaf5bf500c92376e5d1bc9925",
          "body": null,
          "is_bot": false,
          "headline": "Fixes #491 - mainUrl was not an absolute path (#493)",
          "author_name": "Ulrich",
          "author_login": "UlrichHP",
          "committed_at": "2023-02-13T14:27:16Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "8ad5ec8983f209d6a2795743b610c4aa53b3c774",
          "body": "…489)",
          "is_bot": false,
          "headline": "Remove framework assets version to be able to work with RequireJs. (#…",
          "author_name": "Rodrigo Santellan",
          "author_login": "rsantellan",
          "committed_at": "2023-01-28T10:26:32Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "d3f1d08c6047c857f42366bcd39a838ab1a2ba4e",
          "body": null,
          "is_bot": false,
          "headline": "check against 8.2",
          "author_name": "Al Ganiev",
          "author_login": "helios-ag",
          "committed_at": "2023-01-15T10:28:21Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "2e8d9d166bd9e3eb92010c203428cc44f503e87d",
          "body": null,
          "is_bot": false,
          "headline": "added badge (#488)",
          "author_name": "Al Ganiev",
          "author_login": "helios-ag",
          "committed_at": "2023-01-15T07:33:04Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "3ac75a36e3e780f95a8e7ddd298400bd7786e791",
          "body": "Co-authored-by: joaomarcuscardoso <joao.cardoso@tikiweb.com.br>",
          "is_bot": false,
          "headline": "Change load class AwsS3v3Adapter to AwsS3V3Adapter (#487)",
          "author_name": "João Marcus Cardoso",
          "author_login": "sm1l3333",
          "committed_at": "2022-12-01T03:09:23Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "40fedcbc68df33617b071b59c841f362ac708684",
          "body": "* Allow no-credentials for S3 Client\r\n\r\n* Styling stuff\r\n\r\nSigned-off-by: Alexandru Busuioc <alexandru.busuioc@motork.io>\r\n\r\n* fix the test pipeline\r\n\r\nSigned-off-by: Alexandru Busuioc <alexandru.busuioc@motork.io>\r\n\r\nSigned-off-by: Alexandru Busuioc <alexandru.busuioc@motork.io>",
          "is_bot": false,
          "headline": "Allow no-credentials for S3 Client (#486)",
          "author_name": "Alexandru Busuioc",
          "author_login": "alexbusu",
          "committed_at": "2022-10-30T01:47:58Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "dc89a1515bc65a9070a84b85d3e6e519e732af09",
          "body": null,
          "is_bot": false,
          "headline": "remove assert",
          "author_name": "Al Ganiev",
          "author_login": "helios-ag",
          "committed_at": "2022-08-28T07:51:46Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "5ad6e3199842427d488988cfe327d32eb5547865",
          "body": null,
          "is_bot": false,
          "headline": "added flexs",
          "author_name": "Al Ganiev",
          "author_login": "helios-ag",
          "committed_at": "2022-08-28T07:31:07Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "dfc064a72f5197e643210e00da39c748b0bcc3ab",
          "body": null,
          "is_bot": false,
          "headline": "adjustment",
          "author_name": "Al Ganiev",
          "author_login": "helios-ag",
          "committed_at": "2022-08-28T07:04:22Z",
          "body_truncated": false,
          "is_coding_agent": false
        }
      ],
      "releases_count": 83,
      "commits_last_year": 19,
      "latest_release_at": "2026-03-26T08:42:28Z",
      "latest_release_tag": "13.0.2",
      "releases_from_tags": false,
      "days_since_last_push": 0,
      "active_weeks_last_year": 9,
      "days_since_latest_release": 128,
      "mean_days_between_releases": 94.6
    },
    "community": {
      "has_readme": true,
      "has_license": true,
      "has_description": true,
      "has_contributing": true,
      "health_percentage": 71,
      "has_issue_template": false,
      "has_code_of_conduct": false,
      "has_pull_request_template": true
    },
    "ecosystem": {
      "packages": [
        {
          "name": "helios-ag/fm-elfinder-bundle",
          "exists": true,
          "license": "MIT",
          "keywords": [
            "wysiwyg",
            "elfinder",
            "file manager"
          ],
          "ecosystem": "packagist",
          "matches_repo": true,
          "registry_url": "https://packagist.org/packages/helios-ag/fm-elfinder-bundle",
          "is_deprecated": false,
          "latest_version": "13.0.2",
          "repository_url": "https://github.com/helios-ag/FMElfinderBundle",
          "versions_count": 87,
          "total_downloads": 5174601,
          "dependents_count": 38,
          "deprecation_note": null,
          "maintainers_count": null,
          "monthly_downloads": 106102,
          "first_published_at": null,
          "latest_published_at": "2026-03-26T07:06:56Z",
          "latest_version_yanked": null,
          "days_since_latest_publish": 128
        }
      ]
    },
    "popularity": {
      "forks": 131,
      "stars": 280,
      "watchers": 13,
      "fork_history": {
        "days": [
          {
            "date": "2012-10-04",
            "count": 1
          },
          {
            "date": "2012-11-06",
            "count": 1
          },
          {
            "date": "2013-03-08",
            "count": 1
          },
          {
            "date": "2013-06-08",
            "count": 1
          },
          {
            "date": "2013-06-19",
            "count": 1
          },
          {
            "date": "2013-07-08",
            "count": 1
          },
          {
            "date": "2013-09-11",
            "count": 1
          },
          {
            "date": "2013-09-16",
            "count": 1
          },
          {
            "date": "2013-10-23",
            "count": 1
          },
          {
            "date": "2014-01-12",
            "count": 1
          },
          {
            "date": "2014-05-17",
            "count": 1
          },
          {
            "date": "2014-09-02",
            "count": 1
          },
          {
            "date": "2014-09-23",
            "count": 1
          },
          {
            "date": "2014-09-26",
            "count": 1
          },
          {
            "date": "2014-09-30",
            "count": 1
          },
          {
            "date": "2014-10-02",
            "count": 1
          },
          {
            "date": "2014-10-22",
            "count": 1
          },
          {
            "date": "2014-10-27",
            "count": 1
          },
          {
            "date": "2014-10-30",
            "count": 1
          },
          {
            "date": "2014-10-31",
            "count": 1
          },
          {
            "date": "2014-11-26",
            "count": 1
          },
          {
            "date": "2014-11-28",
            "count": 1
          },
          {
            "date": "2014-12-11",
            "count": 1
          },
          {
            "date": "2015-01-21",
            "count": 1
          },
          {
            "date": "2015-01-23",
            "count": 1
          },
          {
            "date": "2015-01-29",
            "count": 1
          },
          {
            "date": "2015-02-02",
            "count": 1
          },
          {
            "date": "2015-02-08",
            "count": 1
          },
          {
            "date": "2015-02-20",
            "count": 1
          },
          {
            "date": "2015-03-22",
            "count": 1
          },
          {
            "date": "2015-04-03",
            "count": 1
          },
          {
            "date": "2015-04-09",
            "count": 1
          },
          {
            "date": "2015-04-14",
            "count": 1
          },
          {
            "date": "2015-05-30",
            "count": 1
          },
          {
            "date": "2015-07-14",
            "count": 1
          },
          {
            "date": "2015-07-15",
            "count": 1
          },
          {
            "date": "2015-07-27",
            "count": 1
          },
          {
            "date": "2015-08-26",
            "count": 1
          },
          {
            "date": "2015-10-07",
            "count": 1
          },
          {
            "date": "2015-10-09",
            "count": 1
          },
          {
            "date": "2015-10-16",
            "count": 1
          },
          {
            "date": "2015-10-29",
            "count": 1
          },
          {
            "date": "2015-12-07",
            "count": 1
          },
          {
            "date": "2015-12-28",
            "count": 1
          },
          {
            "date": "2016-02-03",
            "count": 1
          },
          {
            "date": "2016-02-15",
            "count": 1
          },
          {
            "date": "2016-02-17",
            "count": 1
          },
          {
            "date": "2016-02-19",
            "count": 1
          },
          {
            "date": "2016-03-27",
            "count": 1
          },
          {
            "date": "2016-04-22",
            "count": 1
          },
          {
            "date": "2016-04-24",
            "count": 1
          },
          {
            "date": "2016-05-30",
            "count": 1
          },
          {
            "date": "2016-06-03",
            "count": 1
          },
          {
            "date": "2016-09-12",
            "count": 1
          },
          {
            "date": "2016-10-06",
            "count": 1
          },
          {
            "date": "2016-10-10",
            "count": 1
          },
          {
            "date": "2016-10-17",
            "count": 1
          },
          {
            "date": "2016-12-27",
            "count": 1
          },
          {
            "date": "2017-03-09",
            "count": 1
          },
          {
            "date": "2017-03-24",
            "count": 1
          },
          {
            "date": "2017-04-03",
            "count": 1
          },
          {
            "date": "2017-06-09",
            "count": 1
          },
          {
            "date": "2017-08-22",
            "count": 1
          },
          {
            "date": "2017-09-13",
            "count": 1
          },
          {
            "date": "2017-11-22",
            "count": 1
          },
          {
            "date": "2018-01-22",
            "count": 1
          },
          {
            "date": "2018-01-25",
            "count": 1
          },
          {
            "date": "2018-02-16",
            "count": 1
          },
          {
            "date": "2018-04-04",
            "count": 1
          },
          {
            "date": "2018-05-23",
            "count": 1
          },
          {
            "date": "2018-07-22",
            "count": 1
          },
          {
            "date": "2018-09-26",
            "count": 1
          },
          {
            "date": "2018-11-28",
            "count": 1
          },
          {
            "date": "2018-12-06",
            "count": 1
          },
          {
            "date": "2019-02-17",
            "count": 1
          },
          {
            "date": "2019-04-13",
            "count": 1
          },
          {
            "date": "2019-05-23",
            "count": 1
          },
          {
            "date": "2019-05-24",
            "count": 1
          },
          {
            "date": "2019-06-12",
            "count": 1
          },
          {
            "date": "2019-07-03",
            "count": 1
          },
          {
            "date": "2019-07-19",
            "count": 1
          },
          {
            "date": "2019-07-25",
            "count": 1
          },
          {
            "date": "2019-08-02",
            "count": 1
          },
          {
            "date": "2019-10-03",
            "count": 1
          },
          {
            "date": "2019-11-21",
            "count": 1
          },
          {
            "date": "2019-12-02",
            "count": 1
          },
          {
            "date": "2019-12-17",
            "count": 1
          },
          {
            "date": "2020-02-03",
            "count": 1
          },
          {
            "date": "2020-02-10",
            "count": 1
          },
          {
            "date": "2020-02-11",
            "count": 1
          },
          {
            "date": "2020-03-06",
            "count": 1
          },
          {
            "date": "2020-05-03",
            "count": 1
          },
          {
            "date": "2020-05-05",
            "count": 1
          },
          {
            "date": "2020-05-22",
            "count": 1
          },
          {
            "date": "2020-08-05",
            "count": 1
          },
          {
            "date": "2020-09-09",
            "count": 1
          },
          {
            "date": "2020-12-10",
            "count": 1
          },
          {
            "date": "2020-12-11",
            "count": 1
          },
          {
            "date": "2021-02-17",
            "count": 1
          },
          {
            "date": "2021-05-27",
            "count": 1
          },
          {
            "date": "2021-06-23",
            "count": 1
          },
          {
            "date": "2021-07-20",
            "count": 1
          },
          {
            "date": "2021-07-21",
            "count": 1
          },
          {
            "date": "2021-07-23",
            "count": 1
          },
          {
            "date": "2021-08-19",
            "count": 1
          },
          {
            "date": "2021-10-26",
            "count": 1
          },
          {
            "date": "2021-12-17",
            "count": 1
          },
          {
            "date": "2022-01-02",
            "count": 1
          },
          {
            "date": "2022-02-11",
            "count": 1
          },
          {
            "date": "2022-04-13",
            "count": 1
          },
          {
            "date": "2022-05-24",
            "count": 1
          },
          {
            "date": "2022-06-28",
            "count": 1
          },
          {
            "date": "2022-08-11",
            "count": 1
          },
          {
            "date": "2022-10-26",
            "count": 1
          },
          {
            "date": "2022-11-29",
            "count": 1
          },
          {
            "date": "2023-01-27",
            "count": 1
          },
          {
            "date": "2023-02-06",
            "count": 1
          },
          {
            "date": "2023-02-08",
            "count": 1
          },
          {
            "date": "2023-03-16",
            "count": 1
          },
          {
            "date": "2023-04-30",
            "count": 1
          },
          {
            "date": "2023-05-11",
            "count": 1
          },
          {
            "date": "2023-09-07",
            "count": 1
          },
          {
            "date": "2024-01-16",
            "count": 1
          },
          {
            "date": "2024-01-17",
            "count": 1
          },
          {
            "date": "2024-11-26",
            "count": 1
          },
          {
            "date": "2025-02-25",
            "count": 1
          },
          {
            "date": "2025-02-26",
            "count": 1
          },
          {
            "date": "2025-07-07",
            "count": 1
          },
          {
            "date": "2026-03-19",
            "count": 1
          }
        ],
        "complete": true,
        "collected": 129,
        "total_forks": 131
      },
      "star_history": null,
      "open_issues_and_prs": 20
    },
    "ai_readiness": {
      "has_nix": false,
      "example_dirs": [],
      "has_llms_txt": false,
      "has_dockerfile": false,
      "has_mcp_signal": false,
      "bootstrap_files": [],
      "api_schema_files": [],
      "has_devcontainer": true,
      "typecheck_configs": [],
      "toolchain_manifests": [],
      "largest_source_bytes": 32126,
      "source_files_sampled": 37,
      "oversized_source_files": 0,
      "agent_instruction_files": [],
      "agent_instruction_max_bytes": null
    },
    "dependencies": {
      "manifests": [
        "composer.json"
      ],
      "advisories": {
        "error": "No resolved dependencies carried a version and a supported ecosystem",
        "scope": "repository_graph",
        "source": null,
        "findings": [],
        "collected": false,
        "malicious": [],
        "truncated": false,
        "by_severity": {},
        "advisory_count": 0,
        "affected_count": 0,
        "assessed_count": 0,
        "malicious_count": 0,
        "assessed_package": null,
        "unassessed_count": 14,
        "direct_affected_count": 0
      },
      "ecosystems": [
        "packagist"
      ],
      "dependencies": [
        {
          "name": "symfony/console",
          "manifest": "composer.json",
          "ecosystem": "packagist",
          "version_constraint": "^6.4 || ^7.0 || ^8.0"
        },
        {
          "name": "symfony/framework-bundle",
          "manifest": "composer.json",
          "ecosystem": "packagist",
          "version_constraint": "^6.4 || ^7.0 || ^8.0"
        },
        {
          "name": "symfony/twig-bundle",
          "manifest": "composer.json",
          "ecosystem": "packagist",
          "version_constraint": "^6.4 || ^7.0 || ^8.0"
        },
        {
          "name": "symfony/form",
          "manifest": "composer.json",
          "ecosystem": "packagist",
          "version_constraint": "^6.4 || ^7.0 || ^8.0"
        },
        {
          "name": "symfony/asset",
          "manifest": "composer.json",
          "ecosystem": "packagist",
          "version_constraint": "^6.4 || ^7.0 || ^8.0"
        },
        {
          "name": "studio-42/elfinder",
          "manifest": "composer.json",
          "ecosystem": "packagist",
          "version_constraint": "~2.1.62"
        }
      ],
      "all_dependencies": {
        "error": null,
        "source": "github-sbom",
        "packages": [
          {
            "name": "studio-42/elfinder",
            "direct": true,
            "version": null,
            "ecosystem": "packagist"
          },
          {
            "name": "symfony/asset",
            "direct": true,
            "version": null,
            "ecosystem": "packagist"
          },
          {
            "name": "symfony/console",
            "direct": true,
            "version": null,
            "ecosystem": "packagist"
          },
          {
            "name": "symfony/form",
            "direct": true,
            "version": null,
            "ecosystem": "packagist"
          },
          {
            "name": "symfony/framework-bundle",
            "direct": true,
            "version": null,
            "ecosystem": "packagist"
          },
          {
            "name": "symfony/twig-bundle",
            "direct": true,
            "version": null,
            "ecosystem": "packagist"
          },
          {
            "name": "ext-json",
            "direct": false,
            "version": null,
            "ecosystem": "packagist"
          },
          {
            "name": "friendsofphp/php-cs-fixer",
            "direct": false,
            "version": null,
            "ecosystem": "packagist"
          },
          {
            "name": "matthiasnoback/symfony-config-test",
            "direct": false,
            "version": null,
            "ecosystem": "packagist"
          },
          {
            "name": "matthiasnoback/symfony-dependency-injection-test",
            "direct": false,
            "version": null,
            "ecosystem": "packagist"
          },
          {
            "name": "php",
            "direct": false,
            "version": null,
            "ecosystem": "packagist"
          },
          {
            "name": "php-coveralls/php-coveralls",
            "direct": false,
            "version": null,
            "ecosystem": "packagist"
          },
          {
            "name": "symfony/finder",
            "direct": false,
            "version": null,
            "ecosystem": "packagist"
          },
          {
            "name": "symfony/phpunit-bridge",
            "direct": false,
            "version": null,
            "ecosystem": "packagist"
          }
        ],
        "collected": true,
        "truncated": false,
        "total_count": 14,
        "direct_count": 6,
        "indirect_count": 8
      }
    },
    "maintainership": {
      "issues": {
        "open_prs": 0,
        "merged_prs": 225,
        "open_issues": 20,
        "closed_ratio": 0.932,
        "closed_issues": 272,
        "closed_unmerged_prs": 35
      },
      "bus_factor": 1,
      "bot_contributors": 2,
      "top_contributors": [
        {
          "type": "User",
          "login": "helios-ag",
          "commits": 473,
          "avatar_url": "https://avatars.githubusercontent.com/u/334907?v=4"
        },
        {
          "type": "User",
          "login": "Ronan-Lenor",
          "commits": 11,
          "avatar_url": "https://avatars.githubusercontent.com/u/11092781?v=4"
        },
        {
          "type": "User",
          "login": "bobvandevijver",
          "commits": 10,
          "avatar_url": "https://avatars.githubusercontent.com/u/1835343?v=4"
        },
        {
          "type": "User",
          "login": "hason",
          "commits": 5,
          "avatar_url": "https://avatars.githubusercontent.com/u/288535?v=4"
        },
        {
          "type": "User",
          "login": "JohJohan",
          "commits": 5,
          "avatar_url": "https://avatars.githubusercontent.com/u/7591464?v=4"
        },
        {
          "type": "User",
          "login": "zeno-ce",
          "commits": 4,
          "avatar_url": "https://avatars.githubusercontent.com/u/390315?v=4"
        },
        {
          "type": "User",
          "login": "zorn-v",
          "commits": 4,
          "avatar_url": "https://avatars.githubusercontent.com/u/12619075?v=4"
        },
        {
          "type": "User",
          "login": "danut007ro",
          "commits": 3,
          "avatar_url": "https://avatars.githubusercontent.com/u/1083134?v=4"
        },
        {
          "type": "User",
          "login": "thibmonier",
          "commits": 3,
          "avatar_url": "https://avatars.githubusercontent.com/u/413136?v=4"
        },
        {
          "type": "User",
          "login": "napestershine",
          "commits": 3,
          "avatar_url": "https://avatars.githubusercontent.com/u/8603325?v=4"
        }
      ],
      "contributors_sampled": 70,
      "top_contributor_share": 0.798
    },
    "quality_signals": {
      "has_ci": true,
      "has_tests": true,
      "ci_workflows": [
        "test.yaml"
      ],
      "has_docs_dir": true,
      "linter_configs": [
        ".php-cs-fixer.php"
      ],
      "has_editorconfig": false,
      "has_linter_config": true,
      "has_precommit_config": false
    },
    "security_signals": {
      "lockfiles": [],
      "scorecard": {
        "checks": [
          {
            "name": "Binary-Artifacts",
            "score": 10,
            "reason": "no binaries found in the repo",
            "documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#binary-artifacts"
          },
          {
            "name": "Branch-Protection",
            "score": 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": 5,
            "reason": "7 out of 12 merged PRs checked by a CI test -- score normalized to 5",
            "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": 7,
            "reason": "Found 7/10 approved changesets -- score normalized to 7",
            "documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#code-review"
          },
          {
            "name": "Contributors",
            "score": 10,
            "reason": "project has 11 contributing companies or organizations",
            "documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#contributors"
          },
          {
            "name": "Dangerous-Workflow",
            "score": 10,
            "reason": "no dangerous workflow patterns detected",
            "documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#dangerous-workflow"
          },
          {
            "name": "Dependency-Update-Tool",
            "score": 10,
            "reason": "update tool detected",
            "documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#dependency-update-tool"
          },
          {
            "name": "Fuzzing",
            "score": 0,
            "reason": "project is not fuzzed",
            "documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#fuzzing"
          },
          {
            "name": "License",
            "score": 10,
            "reason": "license file detected",
            "documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#license"
          },
          {
            "name": "Maintained",
            "score": 1,
            "reason": "2 commit(s) and 0 issue activity found in the last 90 days -- score normalized to 1",
            "documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#maintained"
          },
          {
            "name": "Packaging",
            "score": null,
            "reason": "packaging workflow not detected",
            "documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#packaging"
          },
          {
            "name": "Pinned-Dependencies",
            "score": 0,
            "reason": "dependency not pinned by hash detected -- score normalized to 0",
            "documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#pinned-dependencies"
          },
          {
            "name": "SAST",
            "score": 0,
            "reason": "SAST tool is not run on all commits -- score normalized to 0",
            "documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#sast"
          },
          {
            "name": "Security-Policy",
            "score": 0,
            "reason": "security policy file not detected",
            "documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#security-policy"
          },
          {
            "name": "Signed-Releases",
            "score": null,
            "reason": "no releases found",
            "documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#signed-releases"
          },
          {
            "name": "Token-Permissions",
            "score": 0,
            "reason": "detected GitHub workflow tokens with excessive permissions",
            "documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#token-permissions"
          },
          {
            "name": "Vulnerabilities",
            "score": 10,
            "reason": "0 existing vulnerabilities detected",
            "documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#vulnerabilities"
          }
        ],
        "commit": "542fa0f74dbbfdb3857c37518b0af180773e0664",
        "ran_at": "2026-08-02T01:01:16Z",
        "aggregate_score": 4.8,
        "scorecard_version": "v5.5.0"
      },
      "has_codeql_workflow": false,
      "has_security_policy": false,
      "has_dependabot_config": true
    },
    "contribution_flow": {
      "collected": true,
      "ci_last_run_at": "2026-08-02T00:54:49Z",
      "oldest_open_prs": [],
      "last_merged_pr_at": "2026-08-02T00:54:08Z",
      "ci_last_conclusion": "FAILURE",
      "oldest_open_issues": [
        {
          "number": 360,
          "created_at": "2019-05-23T21:46:24Z",
          "last_comment_at": null,
          "last_comment_author": null
        },
        {
          "number": 363,
          "created_at": "2019-06-17T07:37:00Z",
          "last_comment_at": null,
          "last_comment_author": null
        },
        {
          "number": 419,
          "created_at": "2020-08-17T16:31:10Z",
          "last_comment_at": "2020-09-03T15:36:03Z",
          "last_comment_author": "blindpenguin"
        },
        {
          "number": 423,
          "created_at": "2020-09-04T13:00:25Z",
          "last_comment_at": "2020-09-13T07:59:27Z",
          "last_comment_author": "helios-ag"
        },
        {
          "number": 428,
          "created_at": "2020-10-07T15:39:20Z",
          "last_comment_at": "2022-03-15T08:42:23Z",
          "last_comment_author": "hlecorche"
        },
        {
          "number": 429,
          "created_at": "2020-10-26T16:03:57Z",
          "last_comment_at": "2022-05-25T10:23:13Z",
          "last_comment_author": "Leobaillard"
        },
        {
          "number": 450,
          "created_at": "2021-08-02T08:20:57Z",
          "last_comment_at": "2021-09-13T12:59:38Z",
          "last_comment_author": "dima-gr"
        },
        {
          "number": 475,
          "created_at": "2022-03-18T19:11:59Z",
          "last_comment_at": null,
          "last_comment_author": null
        },
        {
          "number": 490,
          "created_at": "2023-01-28T11:28:51Z",
          "last_comment_at": "2023-02-05T04:54:06Z",
          "last_comment_author": "helios-ag"
        },
        {
          "number": 496,
          "created_at": "2023-04-03T17:55:33Z",
          "last_comment_at": "2023-06-02T12:54:21Z",
          "last_comment_author": "bobvandevijver"
        },
        {
          "number": 500,
          "created_at": "2023-05-11T09:26:52Z",
          "last_comment_at": "2023-05-13T08:01:31Z",
          "last_comment_author": "helios-ag"
        },
        {
          "number": 506,
          "created_at": "2023-06-02T09:34:30Z",
          "last_comment_at": null,
          "last_comment_author": null
        },
        {
          "number": 514,
          "created_at": "2023-09-13T08:05:48Z",
          "last_comment_at": "2025-02-05T06:30:27Z",
          "last_comment_author": "chanondb"
        },
        {
          "number": 515,
          "created_at": "2023-09-15T13:32:53Z",
          "last_comment_at": "2023-09-21T08:02:03Z",
          "last_comment_author": "helios-ag"
        },
        {
          "number": 525,
          "created_at": "2024-01-03T10:26:14Z",
          "last_comment_at": "2024-01-04T07:53:02Z",
          "last_comment_author": "jontjs"
        },
        {
          "number": 527,
          "created_at": "2024-03-20T03:07:02Z",
          "last_comment_at": "2024-03-21T22:44:16Z",
          "last_comment_author": "frizquierdo"
        },
        {
          "number": 529,
          "created_at": "2024-06-26T08:06:25Z",
          "last_comment_at": "2024-10-22T12:27:32Z",
          "last_comment_author": "Qt1Rbt"
        },
        {
          "number": 534,
          "created_at": "2025-01-08T01:26:22Z",
          "last_comment_at": "2025-01-31T02:41:11Z",
          "last_comment_author": "helios-ag"
        },
        {
          "number": 540,
          "created_at": "2025-02-26T17:08:29Z",
          "last_comment_at": null,
          "last_comment_author": null
        },
        {
          "number": 551,
          "created_at": "2025-12-10T08:20:39Z",
          "last_comment_at": null,
          "last_comment_author": null
        }
      ]
    }
  },
  "config": {
    "disabled_metrics": [],
    "disabled_categories": [],
    "disabled_components": {}
  },
  "source": {
    "url": "https://github.com/helios-ag/FMElfinderBundle",
    "host": "github.com",
    "name": "FMElfinderBundle",
    "owner": "helios-ag"
  },
  "metrics": {
    "overall": {
      "key": "overall",
      "band": "at_risk",
      "name": "Overall health",
      "note": "High-Risk Jurisdiction Policy applies a 50% multiplier to weighted overall health and gives it an At risk ceiling of 49.",
      "notes": [
        {
          "code": "jurisdiction_overall_adjustment",
          "params": {
            "cap": 49,
            "pct": 50
          }
        }
      ],
      "value": 32,
      "inputs": {
        "security": 24,
        "vitality": 66,
        "community": 72,
        "governance": 68,
        "engineering": 78,
        "high_risk_jurisdiction_cap": 49,
        "high_risk_jurisdiction_multiplier": 50,
        "weighted_overall_before_jurisdiction": 63,
        "overall_after_jurisdiction_multiplier": 32
      },
      "components": []
    },
    "categories": [
      {
        "key": "vitality",
        "band": "moderate",
        "name": "Vitality",
        "value": 66,
        "weight": 0.22,
        "metrics": [
          {
            "key": "development_activity",
            "band": "moderate",
            "name": "Development activity",
            "note": null,
            "notes": [],
            "value": 55,
            "inputs": {
              "commits_last_year": 19,
              "human_commit_share": 0.97,
              "days_since_last_push": 0,
              "active_weeks_last_year": 9
            },
            "components": [
              {
                "key": "push_recency",
                "name": "Push recency",
                "detail": "last push 0 days ago",
                "points": 36,
                "status": "met",
                "details": [
                  {
                    "code": "push_recency",
                    "params": {
                      "days": 0
                    }
                  }
                ],
                "max_points": 36
              },
              {
                "key": "commit_cadence",
                "name": "Commit cadence",
                "detail": "9/52 weeks with commits",
                "points": 6.2,
                "status": "partial",
                "details": [
                  {
                    "code": "commit_cadence_weeks",
                    "params": {
                      "weeks": 9
                    }
                  }
                ],
                "max_points": 36
              },
              {
                "key": "commit_volume",
                "name": "Commit volume",
                "detail": "19 commits in the last year",
                "points": 11.7,
                "status": "partial",
                "details": [
                  {
                    "code": "commits_last_year",
                    "params": {
                      "count": 19
                    }
                  }
                ],
                "max_points": 18
              },
              {
                "key": "openssf_scorecard_maintained",
                "name": "OpenSSF Scorecard: Maintained",
                "detail": "2 commit(s) and 0 issue activity found in the last 90 days -- score normalized to 1",
                "points": 1,
                "status": "partial",
                "details": [],
                "max_points": 10
              }
            ]
          },
          {
            "key": "release_discipline",
            "band": "good",
            "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": 82,
            "inputs": {
              "releases_count": 83,
              "latest_release_tag": "13.0.2",
              "releases_from_tags": false,
              "days_since_latest_release": 128,
              "mean_days_between_releases": 94.6
            },
            "components": [
              {
                "key": "ships_releases",
                "name": "Ships releases",
                "detail": "83 releases published",
                "points": 27,
                "status": "met",
                "details": [
                  {
                    "code": "releases_published",
                    "params": {
                      "count": 83
                    }
                  }
                ],
                "max_points": 27
              },
              {
                "key": "release_recency",
                "name": "Release recency",
                "detail": "latest release 128 days ago",
                "points": 27,
                "status": "partial",
                "details": [
                  {
                    "code": "release_recency",
                    "params": {
                      "days": 128
                    }
                  }
                ],
                "max_points": 36
              },
              {
                "key": "release_cadence",
                "name": "Release cadence",
                "detail": "a release every ~94.6 days",
                "points": 19.8,
                "status": "partial",
                "details": [
                  {
                    "code": "release_cadence",
                    "params": {
                      "gap": 94.6
                    }
                  }
                ],
                "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": 0,
              "days_since_last_human_commit_is_floor": false
            },
            "components": [
              {
                "key": "project_is_still_maintained",
                "name": "Project is still maintained",
                "detail": "last human commit 0 days ago",
                "points": 100,
                "status": "met",
                "details": [
                  {
                    "code": "abandonment_maintained",
                    "params": {
                      "days": 0
                    }
                  }
                ],
                "max_points": 100
              }
            ]
          }
        ],
        "description": "Is the project alive — is code being written and are releases shipping?"
      },
      {
        "key": "community",
        "band": "good",
        "name": "Community & Adoption",
        "value": 72,
        "weight": 0.18,
        "metrics": [
          {
            "key": "popularity",
            "band": "moderate",
            "name": "Popularity & adoption",
            "note": null,
            "notes": [],
            "value": 63,
            "inputs": {
              "forks": 131,
              "stars": 280,
              "watchers": 13,
              "growth_state": "unverified",
              "growth_factor_pct": 100,
              "growth_unverified_reason": "no_history"
            },
            "components": [
              {
                "key": "stars",
                "name": "Stars",
                "detail": "280 stars",
                "points": 39.7,
                "status": "partial",
                "details": [
                  {
                    "code": "stars",
                    "params": {
                      "count": 280
                    }
                  }
                ],
                "max_points": 60
              },
              {
                "key": "forks",
                "name": "Forks",
                "detail": "131 forks",
                "points": 17.6,
                "status": "partial",
                "details": [
                  {
                    "code": "forks",
                    "params": {
                      "count": 131
                    }
                  }
                ],
                "max_points": 25
              },
              {
                "key": "watchers",
                "name": "Watchers",
                "detail": "13 watchers",
                "points": 6,
                "status": "partial",
                "details": [
                  {
                    "code": "watchers",
                    "params": {
                      "count": 13
                    }
                  }
                ],
                "max_points": 15
              }
            ]
          },
          {
            "key": "community_health",
            "band": "good",
            "name": "Community health",
            "note": null,
            "notes": [],
            "value": 77,
            "inputs": {
              "has_readme": true,
              "has_license": true,
              "has_contributing": true,
              "has_issue_template": false,
              "has_code_of_conduct": false,
              "has_pull_request_template": true
            },
            "components": [
              {
                "key": "readme",
                "name": "README",
                "detail": null,
                "points": 22.5,
                "status": "met",
                "details": [],
                "max_points": 22.5
              },
              {
                "key": "license",
                "name": "License",
                "detail": "recognized license (MIT)",
                "points": 22.5,
                "status": "met",
                "details": [
                  {
                    "code": "license_standard",
                    "params": {}
                  },
                  {
                    "code": "license_spdx",
                    "params": {
                      "spdx": "MIT"
                    }
                  }
                ],
                "max_points": 22.5
              },
              {
                "key": "contributing_guide",
                "name": "CONTRIBUTING guide",
                "detail": null,
                "points": 18,
                "status": "met",
                "details": [],
                "max_points": 18
              },
              {
                "key": "code_of_conduct",
                "name": "Code of conduct",
                "detail": null,
                "points": 0,
                "status": "missed",
                "details": [],
                "max_points": 13.5
              },
              {
                "key": "issue_template",
                "name": "Issue template",
                "detail": null,
                "points": 0,
                "status": "missed",
                "details": [],
                "max_points": 7.2
              },
              {
                "key": "pr_template",
                "name": "PR template",
                "detail": null,
                "points": 6.3,
                "status": "met",
                "details": [],
                "max_points": 6.3
              }
            ]
          },
          {
            "key": "ecosystem_adoption",
            "band": "good",
            "name": "Ecosystem adoption (downloads)",
            "note": null,
            "notes": [],
            "value": 78,
            "inputs": {
              "packages": [
                "helios-ag/fm-elfinder-bundle"
              ],
              "dependents": 38,
              "ecosystems": "packagist",
              "total_downloads": 5174601,
              "monthly_downloads": 106102
            },
            "components": [
              {
                "key": "monthly_downloads",
                "name": "Monthly downloads",
                "detail": "106,102 downloads/month across packagist",
                "points": 67,
                "status": "partial",
                "details": [
                  {
                    "code": "downloads_monthly",
                    "params": {
                      "count": 106102,
                      "ecosystems": "packagist"
                    }
                  }
                ],
                "max_points": 80
              },
              {
                "key": "registry_dependents",
                "name": "Registry dependents",
                "detail": "38 packages depend on it",
                "points": 10.6,
                "status": "partial",
                "details": [
                  {
                    "code": "registry_dependents",
                    "params": {
                      "count": 38
                    }
                  }
                ],
                "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": 68,
        "weight": 0.24,
        "metrics": [
          {
            "key": "maintainer_resilience",
            "band": "at_risk",
            "name": "Maintainer resilience (bus factor)",
            "note": null,
            "notes": [],
            "value": 37,
            "inputs": {
              "bus_factor": 1,
              "contributors_sampled": 70,
              "top_contributor_share": 0.798
            },
            "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 80% of commits",
                "points": 4.5,
                "status": "partial",
                "details": [
                  {
                    "code": "top_contributor_share",
                    "params": {
                      "share": 80
                    }
                  }
                ],
                "max_points": 22.5
              },
              {
                "key": "contributor_breadth",
                "name": "Contributor breadth",
                "detail": "70 contributors",
                "points": 13.5,
                "status": "met",
                "details": [
                  {
                    "code": "contributors_sampled",
                    "params": {
                      "count": 70
                    }
                  }
                ],
                "max_points": 13.5
              },
              {
                "key": "openssf_scorecard_contributors",
                "name": "OpenSSF Scorecard: Contributors",
                "detail": "project has 11 contributing companies or organizations",
                "points": 10,
                "status": "met",
                "details": [],
                "max_points": 10
              }
            ]
          },
          {
            "key": "responsiveness",
            "band": "excellent",
            "name": "Issue & PR responsiveness",
            "note": null,
            "notes": [],
            "value": 87,
            "inputs": {
              "merged_prs": 225,
              "open_issues": 20,
              "closed_issues": 272,
              "issue_closed_ratio": 0.932,
              "closed_unmerged_prs": 35
            },
            "components": [
              {
                "key": "issue_resolution",
                "name": "Issue resolution",
                "detail": "93% of issues closed",
                "points": 43.6,
                "status": "partial",
                "details": [
                  {
                    "code": "issues_closed_share",
                    "params": {
                      "share": 93
                    }
                  }
                ],
                "max_points": 46.75
              },
              {
                "key": "pr_acceptance",
                "name": "PR acceptance",
                "detail": "225/260 decided PRs merged",
                "points": 33.1,
                "status": "partial",
                "details": [
                  {
                    "code": "decided_prs_merged",
                    "params": {
                      "merged": 225,
                      "decided": 260
                    }
                  }
                ],
                "max_points": 38.25
              },
              {
                "key": "openssf_scorecard_code_review",
                "name": "OpenSSF Scorecard: Code-Review",
                "detail": "Found 7/10 approved changesets -- score normalized to 7",
                "points": 10.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": 59,
            "inputs": {
              "followers": 53,
              "owner_type": "User",
              "is_verified": null,
              "owner_login": "helios-ag",
              "public_repos": 73,
              "account_age_days": 5859
            },
            "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": "53 followers of helios-ag",
                "points": 12.5,
                "status": "partial",
                "details": [
                  {
                    "code": "owner_followers",
                    "params": {
                      "count": 53,
                      "login": "helios-ag"
                    }
                  }
                ],
                "max_points": 25
              },
              {
                "key": "track_record",
                "name": "Track record",
                "detail": "73 public repos, account ~16 yr old",
                "points": 25,
                "status": "met",
                "details": [
                  {
                    "code": "public_repos",
                    "params": {
                      "count": 73
                    }
                  },
                  {
                    "code": "account_age_years",
                    "params": {
                      "years": 16
                    }
                  }
                ],
                "max_points": 25
              }
            ]
          },
          {
            "key": "package_maintenance",
            "band": "excellent",
            "name": "Package maintenance",
            "note": null,
            "notes": [],
            "value": 100,
            "inputs": {
              "packages": [
                "helios-ag/fm-elfinder-bundle"
              ],
              "ecosystems": "packagist",
              "any_deprecated": false,
              "min_days_since_publish": 128
            },
            "components": [
              {
                "key": "published_resolvable",
                "name": "Published & resolvable",
                "detail": "1 package(s) on packagist",
                "points": 25,
                "status": "met",
                "details": [
                  {
                    "code": "packages_published",
                    "params": {
                      "count": 1,
                      "ecosystems": "packagist"
                    }
                  }
                ],
                "max_points": 25
              },
              {
                "key": "publish_recency",
                "name": "Publish recency",
                "detail": "latest publish 128 days ago",
                "points": 35,
                "status": "met",
                "details": [
                  {
                    "code": "publish_recency",
                    "params": {
                      "days": 128
                    }
                  }
                ],
                "max_points": 35
              },
              {
                "key": "version_history",
                "name": "Version history",
                "detail": "87 published versions",
                "points": 20,
                "status": "met",
                "details": [
                  {
                    "code": "published_versions",
                    "params": {
                      "count": 87
                    }
                  }
                ],
                "max_points": 20
              },
              {
                "key": "not_deprecated",
                "name": "Not deprecated",
                "detail": "active, not deprecated or yanked",
                "points": 20,
                "status": "met",
                "details": [
                  {
                    "code": "package_not_deprecated",
                    "params": {}
                  }
                ],
                "max_points": 20
              }
            ]
          }
        ],
        "description": "Will the project survive its people — bus factor, responsiveness, who backs it, and package upkeep?"
      },
      {
        "key": "engineering",
        "band": "good",
        "name": "Engineering Quality",
        "value": 78,
        "weight": 0.2,
        "metrics": [
          {
            "key": "engineering_practices",
            "band": "good",
            "name": "Engineering practices",
            "note": null,
            "notes": [],
            "value": 74,
            "inputs": {
              "has_ci": true,
              "has_tests": true,
              "has_editorconfig": false,
              "has_linter_config": true,
              "has_precommit_config": false
            },
            "components": [
              {
                "key": "ci_workflows",
                "name": "CI workflows",
                "detail": "1 workflow(s)",
                "points": 24,
                "status": "met",
                "details": [
                  {
                    "code": "ci_workflows",
                    "params": {
                      "count": 1
                    }
                  }
                ],
                "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": ".php-cs-fixer.php",
                "points": 16,
                "status": "met",
                "details": [
                  {
                    "code": "file_list",
                    "params": {
                      "files": ".php-cs-fixer.php"
                    }
                  }
                ],
                "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": "7 out of 12 merged PRs checked by a CI test -- score normalized to 5",
                "points": 10,
                "status": "partial",
                "details": [],
                "max_points": 20
              }
            ]
          },
          {
            "key": "documentation",
            "band": "excellent",
            "name": "Documentation",
            "note": null,
            "notes": [],
            "value": 85,
            "inputs": {
              "topics": [
                "ckeditor",
                "tinymce",
                "elfinder",
                "bundle",
                "symfony",
                "symfony-bundle",
                "php"
              ],
              "has_wiki": true,
              "homepage": null,
              "has_readme": true,
              "has_docs_dir": true,
              "has_description": true
            },
            "components": [
              {
                "key": "readme",
                "name": "README",
                "detail": null,
                "points": 30,
                "status": "met",
                "details": [],
                "max_points": 30
              },
              {
                "key": "documentation_directory",
                "name": "Documentation directory",
                "detail": null,
                "points": 25,
                "status": "met",
                "details": [],
                "max_points": 25
              },
              {
                "key": "documentation_homepage_site",
                "name": "Documentation / homepage site",
                "detail": null,
                "points": 0,
                "status": "missed",
                "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": "7 topics",
                "points": 10,
                "status": "met",
                "details": [
                  {
                    "code": "topics_count",
                    "params": {
                      "count": 7
                    }
                  }
                ],
                "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": "critical",
        "name": "Security",
        "value": 24,
        "weight": 0.16,
        "metrics": [
          {
            "key": "security_posture",
            "band": "critical",
            "name": "Security posture",
            "note": "Excluded from scoring (no data or not applicable): Packaging, Signed-Releases. Remaining weights renormalized. High-Risk Jurisdiction Policy applies a 50% multiplier to Security posture and gives it an At risk ceiling of 49.",
            "notes": [
              {
                "code": "excluded_no_data",
                "params": {
                  "components": [
                    "packaging",
                    "signed_releases"
                  ]
                }
              },
              {
                "code": "weights_renormalized",
                "params": {}
              },
              {
                "code": "jurisdiction_posture_adjustment",
                "params": {
                  "cap": 49,
                  "pct": 50
                }
              }
            ],
            "value": 24,
            "inputs": {
              "source": "openssf_scorecard",
              "checks_evaluated": 16,
              "scorecard_version": "v5.5.0",
              "checks_inconclusive": 2,
              "scorecard_aggregate": 4.8,
              "high_risk_jurisdiction_cap": 49,
              "high_risk_jurisdiction_multiplier": 50,
              "security_posture_after_multiplier": 24,
              "security_posture_before_jurisdiction": 48
            },
            "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": "7 out of 12 merged PRs checked by a CI test -- score normalized to 5",
                "points": 1.2,
                "status": "partial",
                "details": [],
                "max_points": 2.5
              },
              {
                "key": "cii_best_practices",
                "name": "CII-Best-Practices",
                "detail": "no effort to earn an OpenSSF best practices badge detected",
                "points": 0,
                "status": "missed",
                "details": [],
                "max_points": 2.5
              },
              {
                "key": "code_review",
                "name": "Code-Review",
                "detail": "Found 7/10 approved changesets -- score normalized to 7",
                "points": 5.2,
                "status": "partial",
                "details": [],
                "max_points": 7.5
              },
              {
                "key": "contributors",
                "name": "Contributors",
                "detail": "project has 11 contributing companies or organizations",
                "points": 2.5,
                "status": "met",
                "details": [],
                "max_points": 2.5
              },
              {
                "key": "dangerous_workflow",
                "name": "Dangerous-Workflow",
                "detail": "no dangerous workflow patterns detected",
                "points": 10,
                "status": "met",
                "details": [],
                "max_points": 10
              },
              {
                "key": "dependency_update_tool",
                "name": "Dependency-Update-Tool",
                "detail": "update tool detected",
                "points": 7.5,
                "status": "met",
                "details": [],
                "max_points": 7.5
              },
              {
                "key": "fuzzing",
                "name": "Fuzzing",
                "detail": "project is not fuzzed",
                "points": 0,
                "status": "missed",
                "details": [],
                "max_points": 5
              },
              {
                "key": "license",
                "name": "License",
                "detail": "license file detected",
                "points": 2.5,
                "status": "met",
                "details": [],
                "max_points": 2.5
              },
              {
                "key": "maintained",
                "name": "Maintained",
                "detail": "2 commit(s) and 0 issue activity found in the last 90 days -- score normalized to 1",
                "points": 0.8,
                "status": "partial",
                "details": [],
                "max_points": 7.5
              },
              {
                "key": "packaging",
                "name": "Packaging",
                "detail": "packaging workflow not detected",
                "points": 0,
                "status": "excluded",
                "details": [
                  {
                    "code": "no_data",
                    "params": {}
                  }
                ],
                "max_points": 5
              },
              {
                "key": "pinned_dependencies",
                "name": "Pinned-Dependencies",
                "detail": "dependency not pinned by hash detected -- score normalized to 0",
                "points": 0,
                "status": "missed",
                "details": [],
                "max_points": 5
              },
              {
                "key": "sast",
                "name": "SAST",
                "detail": "SAST tool is not run on all commits -- score normalized to 0",
                "points": 0,
                "status": "missed",
                "details": [],
                "max_points": 5
              },
              {
                "key": "security_policy",
                "name": "Security-Policy",
                "detail": "security policy file not detected",
                "points": 0,
                "status": "missed",
                "details": [],
                "max_points": 5
              },
              {
                "key": "signed_releases",
                "name": "Signed-Releases",
                "detail": "no releases found",
                "points": 0,
                "status": "excluded",
                "details": [
                  {
                    "code": "no_data",
                    "params": {}
                  }
                ],
                "max_points": 7.5
              },
              {
                "key": "token_permissions",
                "name": "Token-Permissions",
                "detail": "detected GitHub workflow tokens with excessive permissions",
                "points": 0,
                "status": "missed",
                "details": [],
                "max_points": 7.5
              },
              {
                "key": "vulnerabilities",
                "name": "Vulnerabilities",
                "detail": "0 existing vulnerabilities detected",
                "points": 7.5,
                "status": "met",
                "details": [],
                "max_points": 7.5
              }
            ]
          },
          {
            "key": "high_risk_jurisdiction_exposure",
            "band": "moderate",
            "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": 50,
            "inputs": {
              "meaning": "self-published location evidence; not nationality or citizenship",
              "red_flag": true,
              "exposures": [
                {
                  "role": "top_contributor",
                  "count": 1,
                  "country": "Russia"
                }
              ],
              "policy_countries": [
                "Russia",
                "Iran",
                "North Korea"
              ],
              "review_only_matches": 0,
              "assessed_self_published_locations": 8
            },
            "components": [
              {
                "key": "policy_exposure_multiplier",
                "name": "Policy exposure multiplier",
                "detail": "Russia: top_contributor (1)",
                "points": 50,
                "status": "partial",
                "details": [
                  {
                    "code": "jurisdiction_exposure",
                    "params": {
                      "role": "top_contributor",
                      "count": 1,
                      "country": "Russia"
                    }
                  }
                ],
                "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": 42,
        "weight": 0,
        "metrics": [
          {
            "key": "ai_agent_context",
            "band": "critical",
            "name": "Agent context & guidance",
            "note": null,
            "notes": [],
            "value": 24,
            "inputs": {
              "has_llms_txt": false,
              "legible_history_share": 0.443,
              "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": "43 of 97 human commits state their intent (structured subject or explanatory body)",
                "points": 23.6,
                "status": "partial",
                "details": [
                  {
                    "code": "legible_history",
                    "params": {
                      "legible": 43,
                      "sampled": 97
                    }
                  }
                ],
                "max_points": 40
              }
            ]
          },
          {
            "key": "ai_verify_loop",
            "band": "moderate",
            "name": "Verify loop (build / test / typecheck)",
            "note": null,
            "notes": [],
            "value": 51,
            "inputs": {
              "has_nix": false,
              "has_tests": true,
              "lockfiles": [],
              "has_dockerfile": false,
              "typed_language": false,
              "bootstrap_files": [],
              "has_devcontainer": true,
              "has_linter_config": true,
              "typecheck_configs": [],
              "agent_commit_share": 0,
              "toolchain_manifests": [],
              "dependency_bot_commit_share": 0.03
            },
            "components": [
              {
                "key": "one_command_bootstrap",
                "name": "One-command bootstrap",
                "detail": null,
                "points": 0,
                "status": "missed",
                "details": [],
                "max_points": 18
              },
              {
                "key": "automated_tests",
                "name": "Automated tests",
                "detail": null,
                "points": 22,
                "status": "met",
                "details": [],
                "max_points": 22
              },
              {
                "key": "lint_format_config",
                "name": "Lint / format config",
                "detail": ".php-cs-fixer.php",
                "points": 11,
                "status": "met",
                "details": [
                  {
                    "code": "file_list",
                    "params": {
                      "files": ".php-cs-fixer.php"
                    }
                  }
                ],
                "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": "devcontainer",
                "points": 10,
                "status": "met",
                "details": [
                  {
                    "code": "file_list",
                    "params": {
                      "files": "devcontainer"
                    }
                  }
                ],
                "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": "3 of the last 100 commits are automated dependency updates",
                "points": 8,
                "status": "met",
                "details": [
                  {
                    "code": "dependency_bot_commits",
                    "params": {
                      "count": 3,
                      "sampled": 100
                    }
                  }
                ],
                "max_points": 8
              },
              {
                "key": "openssf_scorecard_pinned_dependencies",
                "name": "OpenSSF Scorecard: Pinned-Dependencies",
                "detail": "dependency not pinned by hash detected -- score normalized to 0",
                "points": 0,
                "status": "missed",
                "details": [],
                "max_points": 10
              }
            ]
          },
          {
            "key": "ai_code_legibility",
            "band": "moderate",
            "name": "Code legibility for models",
            "note": null,
            "notes": [],
            "value": 55,
            "inputs": {
              "primary_language": "PHP",
              "largest_source_bytes": 32126,
              "source_files_sampled": 37,
              "oversized_source_files": 0
            },
            "components": [
              {
                "key": "type_checkable_code",
                "name": "Type-checkable code",
                "detail": "PHP without a type-check config",
                "points": 0,
                "status": "missed",
                "details": [
                  {
                    "code": "no_typecheck_config_language",
                    "params": {
                      "language": "PHP"
                    }
                  }
                ],
                "max_points": 45
              },
              {
                "key": "manageable_file_sizes",
                "name": "Manageable file sizes",
                "detail": "0/37 source files over 60KB",
                "points": 55,
                "status": "met",
                "details": [
                  {
                    "code": "oversized_source_files",
                    "params": {
                      "kb": 60,
                      "sampled": 37,
                      "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",
    "No resolved dependencies carried a version and a supported ecosystem"
  ],
  "report_type": "repository",
  "generated_at": "2026-08-02T01:01:40.872160Z",
  "schema_version": "0.27.0",
  "badge_url": "https://raw.githubusercontent.com/inspect-software/badges/main/v1/h/helios-ag/FMElfinderBundle.svg",
  "full_name": "helios-ag/FMElfinderBundle",
  "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.27.0 — metodología completa · wiki de métricas.

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