Registro público
Informe de salud del softwareesquema 0.27.0 · métricas 1.13.0 · 2026-07-27 18:51 UTC

rappasoft / laravel-livewire-tables

A dynamic table component for Laravel Livewire

PHP · BladeMIT★ 1975 estrellas⑂ 373 forksdesde mar 2020Ver en GitHub ↗

rappasoft/laravel-livewire-tables tiene un índice de salud de 37 sobre 100, lo que lo sitúa en la banda En riesgo. Su puntuación más alta es Community & Adoption (79/100) y la más baja, Security (30/100). Se actualizó por última vez hoy. 2 personas concentran la mayor parte del trabajo reciente.

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

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

Abandonment Policy applies a 60% multiplier to weighted overall health and gives it a ceiling of 49.

Titularidad

Anthony RappaCuenta personal
878 seguidores20 repositorios públicosdesde nov 2013

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
Packagistrappasoft/laravel-livewire-tablesv3.7.357.385150hace 450 díaslaraveldatatablestableslivewirerappasoft

Métricas por categoría

Vitalidad

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

49En riesgo · 22% del índice global
Cómo se puntúa
36/36Recencia de push — último push hace 0 días
0/36Cadencia de commits — 0/52 semanas con commits
0/18Volumen de commits — 0 commits en el último año
0/10OpenSSF Scorecard: Maintained — 0 commit(s) and 0 issue activity found in the last 90 days -- score normalized to 0
Datos de entrada utilizados
commits_last_year0
human_commit_share1
days_since_last_push0
active_weeks_last_year0
Cómo se puntúa
27/27Publica versiones — 100 versiones publicadas
7.2/36Recencia de las versiones — última versión hace 450 días
27/27Cadencia de publicación — una versión cada ~17,3 días
0/10OpenSSF Scorecard: Signed-Releases — sin datos
Datos de entrada utilizados
releases_count100
latest_release_tagv3.7.3
releases_from_tagsno
days_since_latest_release450
mean_days_between_releases17,3
Excluidos de la puntuación (sin datos o no aplicable): OpenSSF Scorecard: Signed-Releases. Los pesos restantes se han renormalizado.

Comunidad y Adopción

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

79Bueno · 18% del índice global
Cómo se puntúa
53.5/60Estrellas — 1975 estrellas
21.4/25Forks — 373 forks
8.8/15Observadores — 39 observadores
Datos de entrada utilizados
forks373
stars1975
watchers39
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
63.5/80Descargas mensuales — 57.385 descargas/mes en packagist
9.9/20Dependientes en el registro — 30 paquetes dependen de él
Datos de entrada utilizados
packagesrappasoft/laravel-livewire-tables
dependents30
ecosystemspackagist
total_downloads2.972.502
monthly_downloads57.385

Sostenibilidad y Gobernanza

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

70Bueno · 24% del índice global
Cómo se puntúa
25.2/54Factor bus — la mitad de los commits recae en 2 contribuyente(s)
12.4/22.5Distribución de commits — el principal contribuyente firma el 45% de los commits
13.5/13.5Amplitud de contribuyentes — 100 contribuyentes
10/10OpenSSF Scorecard: Contributors — project has 19 contributing companies or organizations
Datos de entrada utilizados
bus_factor2
contributors_sampled100
top_contributor_share0,447
Cómo se puntúa
46.6/46.8Resolución de issues — 100% de issues cerradas
30.5/38.3Aceptación de PR — 817/1026 PR decididos fusionados
1.5/15OpenSSF Scorecard: Code-Review — Found 4/25 approved changesets -- score normalized to 1
Datos de entrada utilizados
merged_prs817
open_issues2
closed_issues552
issue_closed_ratio0,996
closed_unmerged_prs209
Cómo se puntúa
10/30Respaldo de la propiedad — cuenta personal (usuario)
0/20Dominio verificado — no aplicable a cuentas de usuario
21.2/25Alcance del propietario — 878 seguidores de rappasoft
21.6/25Trayectoria — 20 repos públicos, cuenta de ~12 años
Datos de entrada utilizados
followers878
owner_typeUser
is_verified
owner_loginrappasoft
public_repos20
account_age_days4627
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
14/35Recencia de publicación — última publicación hace 450 días
20/20Historial de versiones — 150 versiones en el registro
20/20No obsoleto — activo, ni obsoleto ni retirado
Datos de entrada utilizados
packagesrappasoft/laravel-livewire-tables
ecosystemspackagist
any_deprecatedno
min_days_since_publish450

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 — 7 flujo(s) de trabajo
24/24Pruebas presentes
16/16Configuración de linter — phpstan.neon
0/9.6Hooks de pre-commit
6.4/6.4.editorconfig
0/20OpenSSF Scorecard: CI-Tests — 0 out of 24 merged PRs checked by a CI test -- score normalized to 0
Datos de entrada utilizados
has_ci
has_tests
has_editorconfig
has_linter_config
has_precommit_configno

Documentación

90Excelente
Cómo se puntúa
30/30README
25/25Directorio de documentación
15/15Sitio de documentación / página del proyecto — https://rappasoft.com/docs/laravel-livewire-tables/v2/introduction
10/10Descripción del repositorio
10/10Topics — 5 topics
0/10Wiki
Datos de entrada utilizados
topicslaravel-livewire, laravel, datatables, livewire, livewire-tables
has_wikino
homepagehttps://rappasoft.com/docs/laravel-livewire-tables/v2/introduction
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?

30En riesgo · 16% del índice global
Cómo se puntúa
7.5/7.5Binary-Artifacts — no binaries found in the repo
0/7.5Branch-Protection — branch protection not enabled on development/release branches
0/2.5CI-Tests — 0 out of 24 merged PRs checked by a CI test -- score normalized to 0
0/2.5CII-Best-Practices — no effort to earn an OpenSSF best practices badge detected
0.8/7.5Code-Review — Found 4/25 approved changesets -- score normalized to 1
2.5/2.5Contributors — project has 19 contributing companies or organizations
0/10Dangerous-Workflow — sin datos
0/7.5Dependency-Update-Tool — no update tool detected
0/5Fuzzing — project is not fuzzed
2.5/2.5Licencia — license file detected
0/7.5Maintained — 0 commit(s) and 0 issue activity found in the last 90 days -- score normalized to 0
0/5Packaging — sin datos
0/5Pinned-Dependencies — sin datos
0/5SAST — SAST tool is not run on all commits -- score normalized to 0
0/5Security-Policy — security policy file not detected
0/7.5Signed-Releases — sin datos
0/7.5Token-Permissions — sin datos
7.5/7.5Vulnerabilities — 0 existing vulnerabilities detected
Datos de entrada utilizados
sourceopenssf_scorecard
checks_evaluated13
scorecard_versionv5.5.0
checks_inconclusive5
scorecard_aggregate3
Excluidos de la puntuación (sin datos o no aplicable): dangerous_workflow, packaging, pinned_dependencies, signed_releases, token_permissions. Los pesos restantes se han renormalizado.

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.

41En 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)
40/40Historial de commits legible — 76 de 100 commits humanos declaran su intención (asunto estructurado o cuerpo explicativo)
Datos de entrada utilizados
has_llms_txtno
legible_history_share0,76
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 — phpstan.neon
0/11Verificación estática de tipos
0/10Entorno reproducible
0/10Práctica demostrada con agentes — ningún commit con autoría de agente entre los últimos 100
0/8Mantenimiento automatizado — no se observan actualizaciones automáticas de dependencias
0/10OpenSSF Scorecard: Pinned-Dependencies — sin datos
Datos de entrada utilizados
has_nixno
has_tests
lockfiles
has_dockerfileno
typed_languageno
bootstrap_files
has_devcontainerno
has_linter_config
typecheck_configs
agent_commit_share0
toolchain_manifests
dependency_bot_commit_share0
Excluidos de la puntuación (sin datos o no aplicable): OpenSSF Scorecard: Pinned-Dependencies. Los pesos restantes se han renormalizado.
Cómo se puntúa
0/45Código verificable por tipos — PHP sin configuración de verificación de tipos
55/55Tamaños de archivo manejables — 0/570 archivos fuente de más de 60 KB
Datos de entrada utilizados
primary_languagePHP
largest_source_bytes58.061
source_files_sampled570
oversized_source_files0
Cómo se puntúa
0/40Esquema de API (OpenAPI/GraphQL/proto)
0/20Servidor MCP
40/40Ejemplos ejecutables — examples
Datos de entrada utilizados
example_dirsexamples
has_mcp_signalno
api_schema_files

Datos clave

1975estrellas de GitHub
100contribuidores
0commits en los últimos 12 meses
0días desde el último push
100versiones publicadas
2factor bus
2issues 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 ★ / 373 ⇿
0Estrellas
373Forks
100Versiones

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.

012525037535862020-032023-052026-07
Mayor 1Menor 27Parche 61

Cada punto abarca 6 días.

OpenSSF Scorecard 3.0 / 10
3.0agregado

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

10Binary-Artifactsno binaries found in the repo
0Branch-Protectionbranch protection not enabled on development/release branches
0CI-Tests0 out of 24 merged PRs checked by a CI test -- score normalized to 0
0CII-Best-Practicesno effort to earn an OpenSSF best practices badge detected
1Code-ReviewFound 4/25 approved changesets -- score normalized to 1
10Contributorsproject has 19 contributing companies or organizations
n/dDangerous-Workflowno workflows found
0Dependency-Update-Toolno update tool detected
0Fuzzingproject is not fuzzed
10Licenselicense file detected
0Maintained0 commit(s) and 0 issue activity found in the last 90 days -- score normalized to 0
n/dPackagingpackaging workflow not detected
n/dPinned-Dependenciesno dependencies found
0SASTSAST tool is not run on all commits -- score normalized to 0
0Security-Policysecurity policy file not detected
n/dSigned-Releasesno releases found
n/dToken-PermissionsNo tokens found
10Vulnerabilities0 existing vulnerabilities detected
Dependencias directas 4
RegistroPaqueteRestricción de versiónManifiesto
Packagistblade-ui-kit/blade-heroicons^2.1composer.json
Packagistilluminate/contracts^10.0|^11.0|^12.0composer.json
Packagistilluminate/support^10.0|^11.0|^12.0composer.json
Packagistlivewire/livewire^3.0|dev-maincomposer.json
Todas las dependencias 13

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

RegistroPaqueteVersiónRelación
Packagistblade-ui-kit/blade-heroiconsdirecta
Packagistilluminate/contractsdirecta
Packagistilluminate/supportdirecta
Packagistlivewire/livewiredirecta
Packagistbrianium/paratestindirecta
Packagistext-sqlite3indirecta
Packagistlarastan/larastanindirecta
Packagistlaravel/pintindirecta
Packagistmonolog/monologindirecta
Packagistnunomaduro/collisionindirecta
Packagistorchestra/testbenchindirecta
Packagistphpindirecta
Packagistphpunit/phpunitindirecta
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": [
        "laravel-livewire",
        "laravel",
        "datatables",
        "livewire",
        "livewire-tables"
      ],
      "is_fork": false,
      "size_kb": 3486,
      "has_wiki": false,
      "homepage": "https://rappasoft.com/docs/laravel-livewire-tables/v2/introduction",
      "languages": {
        "CSS": 92475,
        "PHP": 1120319,
        "Blade": 172653,
        "JavaScript": 55754
      },
      "pushed_at": "2026-07-27T18:45:07Z",
      "created_at": "2020-03-26T12:02:34Z",
      "owner_type": "User",
      "updated_at": "2026-07-27T10:28:13Z",
      "description": "A dynamic table component for Laravel Livewire",
      "is_archived": false,
      "is_disabled": false,
      "license_spdx": "MIT",
      "default_branch": "master",
      "license_spdx_raw": "MIT",
      "primary_language": "PHP",
      "significant_languages": [
        "PHP",
        "Blade"
      ]
    },
    "owner": {
      "blog": "https://www.rappasoft.com",
      "name": "Anthony Rappa",
      "type": "User",
      "login": "rappasoft",
      "company": null,
      "location": "Long Island, NY",
      "followers": 878,
      "avatar_url": "https://avatars.githubusercontent.com/u/6026504?v=4",
      "created_at": "2013-11-25T00:28:01Z",
      "is_verified": null,
      "public_repos": 20,
      "account_age_days": 4627
    },
    "license": {
      "state": "standard",
      "spdx_id": "MIT",
      "raw_spdx": "MIT",
      "file_present": true,
      "scorecard_found": true,
      "profile_has_license": true
    },
    "activity": {
      "releases": [
        {
          "tag": "v3.7.3",
          "kind": "patch",
          "published_at": "2025-05-03T02:26:01Z"
        },
        {
          "tag": "v3.7.2",
          "kind": "patch",
          "published_at": "2025-05-03T00:24:53Z"
        },
        {
          "tag": "v3.7.1",
          "kind": "patch",
          "published_at": "2025-02-28T23:31:26Z"
        },
        {
          "tag": "v3.7.0",
          "kind": "minor",
          "published_at": "2025-02-28T01:33:17Z"
        },
        {
          "tag": "v3.6.0",
          "kind": "minor",
          "published_at": "2025-01-16T23:46:12Z"
        },
        {
          "tag": "v3.5.10",
          "kind": "patch",
          "published_at": "2024-12-11T01:59:08Z"
        },
        {
          "tag": "v3.5.9",
          "kind": "patch",
          "published_at": "2024-12-11T01:15:59Z"
        },
        {
          "tag": "v3.5.8",
          "kind": "patch",
          "published_at": "2024-12-10T20:52:31Z"
        },
        {
          "tag": "v3.5.7",
          "kind": "patch",
          "published_at": "2024-12-01T03:56:45Z"
        },
        {
          "tag": "v3.5.6",
          "kind": "patch",
          "published_at": "2024-11-28T00:43:57Z"
        },
        {
          "tag": "v3.5.5",
          "kind": "patch",
          "published_at": "2024-11-22T02:05:08Z"
        },
        {
          "tag": "v3.5.4",
          "kind": "patch",
          "published_at": "2024-11-21T21:17:14Z"
        },
        {
          "tag": "v3.5.3",
          "kind": "patch",
          "published_at": "2024-11-18T03:33:27Z"
        },
        {
          "tag": "v3.5.2",
          "kind": "patch",
          "published_at": "2024-11-10T06:41:11Z"
        },
        {
          "tag": "v3.5.1",
          "kind": "patch",
          "published_at": "2024-11-10T00:15:55Z"
        },
        {
          "tag": "v3.5.0",
          "kind": "minor",
          "published_at": "2024-11-06T00:37:51Z"
        },
        {
          "tag": "v3.4.22",
          "kind": "patch",
          "published_at": "2024-09-30T23:21:25Z"
        },
        {
          "tag": "v3.4.21",
          "kind": "patch",
          "published_at": "2024-09-25T00:41:13Z"
        },
        {
          "tag": "v3.4.20",
          "kind": "patch",
          "published_at": "2024-09-10T00:20:23Z"
        },
        {
          "tag": "v3.4.19",
          "kind": "patch",
          "published_at": "2024-09-08T22:05:30Z"
        },
        {
          "tag": "v3.4.18",
          "kind": "patch",
          "published_at": "2024-09-08T21:12:26Z"
        },
        {
          "tag": "v3.4.17",
          "kind": "patch",
          "published_at": "2024-09-01T22:50:17Z"
        },
        {
          "tag": "v3.4.16",
          "kind": "patch",
          "published_at": "2024-08-27T08:06:23Z"
        },
        {
          "tag": "v3.4.15",
          "kind": "patch",
          "published_at": "2024-08-25T06:42:57Z"
        },
        {
          "tag": "v3.4.14",
          "kind": "patch",
          "published_at": "2024-08-25T04:47:05Z"
        },
        {
          "tag": "v3.4.13",
          "kind": "patch",
          "published_at": "2024-08-25T01:15:27Z"
        },
        {
          "tag": "v3.4.12",
          "kind": "patch",
          "published_at": "2024-08-23T19:24:17Z"
        },
        {
          "tag": "v3.4.11",
          "kind": "patch",
          "published_at": "2024-08-23T19:10:02Z"
        },
        {
          "tag": "v3.4.10",
          "kind": "patch",
          "published_at": "2024-08-23T18:04:56Z"
        },
        {
          "tag": "v3.4.9",
          "kind": "patch",
          "published_at": "2024-08-21T22:09:04Z"
        },
        {
          "tag": "v3.4.8",
          "kind": "patch",
          "published_at": "2024-08-18T02:23:38Z"
        },
        {
          "tag": "v3.4.7",
          "kind": "patch",
          "published_at": "2024-08-17T22:30:03Z"
        },
        {
          "tag": "v3.4.6",
          "kind": "patch",
          "published_at": "2024-08-16T03:17:09Z"
        },
        {
          "tag": "v3.4.5",
          "kind": "patch",
          "published_at": "2024-08-10T02:56:20Z"
        },
        {
          "tag": "v3.4.4",
          "kind": "patch",
          "published_at": "2024-08-10T02:24:14Z"
        },
        {
          "tag": "v3.4.3",
          "kind": "patch",
          "published_at": "2024-08-08T02:56:38Z"
        },
        {
          "tag": "v3.4.2",
          "kind": "patch",
          "published_at": "2024-08-04T07:55:35Z"
        },
        {
          "tag": "v3.4.1",
          "kind": "patch",
          "published_at": "2024-08-04T04:09:47Z"
        },
        {
          "tag": "v3.4.0",
          "kind": "minor",
          "published_at": "2024-08-04T04:04:07Z"
        },
        {
          "tag": "v3.3.4",
          "kind": "patch",
          "published_at": "2024-07-27T18:21:56Z"
        },
        {
          "tag": "v3.3.3",
          "kind": "patch",
          "published_at": "2024-07-23T20:49:32Z"
        },
        {
          "tag": "v3.3.2",
          "kind": "patch",
          "published_at": "2024-07-20T00:29:46Z"
        },
        {
          "tag": "v3.3.1",
          "kind": "patch",
          "published_at": "2024-07-16T03:10:11Z"
        },
        {
          "tag": "v3.3.0",
          "kind": "minor",
          "published_at": "2024-07-11T00:53:58Z"
        },
        {
          "tag": "v3.2.8",
          "kind": "patch",
          "published_at": "2024-07-03T22:25:58Z"
        },
        {
          "tag": "v3.2.7",
          "kind": "patch",
          "published_at": "2024-06-06T01:19:57Z"
        },
        {
          "tag": "v3.2.6",
          "kind": "patch",
          "published_at": "2024-06-05T22:16:35Z"
        },
        {
          "tag": "v3.2.5",
          "kind": "patch",
          "published_at": "2024-04-30T16:07:56Z"
        },
        {
          "tag": "v3.2.4",
          "kind": "patch",
          "published_at": "2024-03-02T00:26:44Z"
        },
        {
          "tag": "v3.2.3",
          "kind": "patch",
          "published_at": "2024-03-01T23:48:21Z"
        },
        {
          "tag": "v3.2.2",
          "kind": "patch",
          "published_at": "2024-02-29T05:13:58Z"
        },
        {
          "tag": "v3.2.1",
          "kind": "patch",
          "published_at": "2024-02-24T02:37:34Z"
        },
        {
          "tag": "v3.2.0",
          "kind": "minor",
          "published_at": "2024-01-04T02:40:38Z"
        },
        {
          "tag": "v3.1.8",
          "kind": "patch",
          "published_at": "2023-12-29T22:35:02Z"
        },
        {
          "tag": "v3.1.7",
          "kind": "patch",
          "published_at": "2023-12-29T19:14:50Z"
        },
        {
          "tag": "v3.1.6",
          "kind": "patch",
          "published_at": "2023-12-26T16:07:14Z"
        },
        {
          "tag": "v3.1.5",
          "kind": "patch",
          "published_at": "2023-12-09T23:58:37Z"
        },
        {
          "tag": "v3.1.4",
          "kind": "patch",
          "published_at": "2023-12-04T20:23:19Z"
        },
        {
          "tag": "v3.1.3",
          "kind": "patch",
          "published_at": "2023-11-19T01:26:40Z"
        },
        {
          "tag": "v3.1.2",
          "kind": "patch",
          "published_at": "2023-11-03T21:38:09Z"
        },
        {
          "tag": "3.1.2",
          "kind": "patch",
          "published_at": "2023-11-03T19:46:38Z"
        },
        {
          "tag": "v3.1.1",
          "kind": "patch",
          "published_at": "2023-11-02T03:52:58Z"
        },
        {
          "tag": "v3.1.0",
          "kind": "minor",
          "published_at": "2023-10-31T01:38:14Z"
        },
        {
          "tag": "v3.0.0-beta.11",
          "kind": "prerelease",
          "published_at": "2023-10-29T03:20:15Z"
        },
        {
          "tag": "v3.0.0-beta.10",
          "kind": "prerelease",
          "published_at": "2023-10-27T22:01:38Z"
        },
        {
          "tag": "v3.0.0-beta.9",
          "kind": "prerelease",
          "published_at": "2023-10-26T04:05:05Z"
        },
        {
          "tag": "v3.0.0-beta.8",
          "kind": "prerelease",
          "published_at": "2023-10-25T22:21:58Z"
        },
        {
          "tag": "v3.0.0-beta.7",
          "kind": "prerelease",
          "published_at": "2023-10-25T20:59:30Z"
        },
        {
          "tag": "v3.0.0-beta.6",
          "kind": "prerelease",
          "published_at": "2023-10-25T18:48:33Z"
        },
        {
          "tag": "v3.0.0-beta.5",
          "kind": "prerelease",
          "published_at": "2023-10-25T16:04:52Z"
        },
        {
          "tag": "v3.0.0-beta.4",
          "kind": "prerelease",
          "published_at": "2023-10-17T22:46:07Z"
        },
        {
          "tag": "v3.0.0-beta.3",
          "kind": "prerelease",
          "published_at": "2023-10-13T04:47:57Z"
        },
        {
          "tag": "v3.0.0-beta.2",
          "kind": "prerelease",
          "published_at": "2023-10-08T21:39:45Z"
        },
        {
          "tag": "v3.0.0-beta.1",
          "kind": "prerelease",
          "published_at": "2023-10-04T22:07:56Z"
        },
        {
          "tag": "v2.15.0",
          "kind": "minor",
          "published_at": "2023-07-15T19:50:42Z"
        },
        {
          "tag": "v2.14.0",
          "kind": "minor",
          "published_at": "2023-05-19T01:56:01Z"
        },
        {
          "tag": "v2.13.1",
          "kind": "patch",
          "published_at": "2023-05-18T13:18:16Z"
        },
        {
          "tag": "v2.13.0",
          "kind": "minor",
          "published_at": "2023-05-18T02:15:20Z"
        },
        {
          "tag": "v2.12.0",
          "kind": "minor",
          "published_at": "2023-04-09T02:04:22Z"
        },
        {
          "tag": "v2.11.0",
          "kind": "minor",
          "published_at": "2023-02-16T18:33:17Z"
        },
        {
          "tag": "v2.10.0",
          "kind": "minor",
          "published_at": "2023-01-17T02:16:44Z"
        },
        {
          "tag": "v2.9.0",
          "kind": "minor",
          "published_at": "2022-12-22T00:52:24Z"
        },
        {
          "tag": "v2.8.0",
          "kind": "minor",
          "published_at": "2022-07-25T00:44:47Z"
        },
        {
          "tag": "v2.7.0",
          "kind": "minor",
          "published_at": "2022-05-08T02:26:07Z"
        },
        {
          "tag": "v2.6.0",
          "kind": "minor",
          "published_at": "2022-05-05T14:12:47Z"
        },
        {
          "tag": "v2.5.0",
          "kind": "minor",
          "published_at": "2022-05-03T18:44:27Z"
        },
        {
          "tag": "v2.4.0",
          "kind": "minor",
          "published_at": "2022-04-30T19:01:54Z"
        },
        {
          "tag": "v2.3.0",
          "kind": "minor",
          "published_at": "2022-04-28T19:53:45Z"
        },
        {
          "tag": "v2.2.1",
          "kind": "patch",
          "published_at": "2022-04-27T15:17:21Z"
        },
        {
          "tag": "v2.2.0",
          "kind": "minor",
          "published_at": "2022-04-26T00:27:20Z"
        },
        {
          "tag": "v2.1.1",
          "kind": "patch",
          "published_at": "2022-04-12T23:30:49Z"
        },
        {
          "tag": "v2.0.0",
          "kind": "major",
          "published_at": "2022-03-30T17:22:42Z"
        },
        {
          "tag": "v1.25.1",
          "kind": "patch",
          "published_at": "2022-03-30T01:55:53Z"
        },
        {
          "tag": "v1.25.0",
          "kind": "minor",
          "published_at": "2022-03-29T03:33:01Z"
        },
        {
          "tag": "v1.24.0",
          "kind": "minor",
          "published_at": "2022-02-13T17:12:23Z"
        },
        {
          "tag": "v1.23.0",
          "kind": "minor",
          "published_at": "2022-02-12T04:06:41Z"
        },
        {
          "tag": "v1.22.0",
          "kind": "minor",
          "published_at": "2022-01-21T05:01:58Z"
        },
        {
          "tag": "v1.21.0",
          "kind": "minor",
          "published_at": "2021-11-21T03:44:20Z"
        },
        {
          "tag": "v1.20.1",
          "kind": "patch",
          "published_at": "2021-11-02T03:21:01Z"
        },
        {
          "tag": "v1.20.0",
          "kind": "minor",
          "published_at": "2021-10-26T00:11:30Z"
        }
      ],
      "recent_commits": [
        {
          "oid": "74beb4c2672e024000d41ecad8a17b4ab8c934bd",
          "body": "v3.7.3",
          "is_bot": false,
          "headline": "Merge pull request #2259 from rappasoft/development",
          "author_name": "Joe",
          "author_login": "lrljoe",
          "committed_at": "2025-05-03T02:24:46Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "b34c38543a385159f10a8ea0bf0f42c6ba2d1c50",
          "body": null,
          "is_bot": false,
          "headline": "Merge branch 'master' into development",
          "author_name": "Joe",
          "author_login": "lrljoe",
          "committed_at": "2025-05-03T02:20:03Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "5d66826645961ad5a3e202a2f5bbe039f33b962b",
          "body": "* Tweak Livewire Component Column Key Behaviour\n\n* Update Changelog",
          "is_bot": false,
          "headline": "Tweak Livewire Component Column Key Behaviour (#2258)",
          "author_name": "Joe",
          "author_login": "lrljoe",
          "committed_at": "2025-05-03T02:18:34Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "cf8273c35815697a88d5e49e45932509a531913d",
          "body": "* Link column fix (#2223)\n\n* Add handling for From field for \"LinkColumn\"\n\n* Fix styling\n\n* Update ChangeLog\n\n* docs: add reminder of requirement to use toggle method (#2208)\n\nCo-authored-by: Joe <104938042+lrljoe@users.noreply.github.com>\n\n* Update IsNumericFilter.php (#2230)\n\n* Link column fix (#2\n[…]\nuthored-by: G4Zz0L1 <g4zz0l10@gmail.com>\nCo-authored-by: Daniel Škopek <117641078+daniel-skopek@users.noreply.github.com>\nCo-authored-by: CarlosChub27 <163057406+CarlosChub27@users.noreply.github.com>",
          "is_bot": false,
          "headline": " v3.7.2 (#2257)",
          "author_name": "Joe",
          "author_login": "lrljoe",
          "committed_at": "2025-05-03T00:24:10Z",
          "body_truncated": true,
          "is_coding_agent": false
        },
        {
          "oid": "1cb7dbe574cd408221c142ca0b1692ca3af3f197",
          "body": null,
          "is_bot": false,
          "headline": "Merge branch 'master' into development",
          "author_name": "Joe",
          "author_login": "lrljoe",
          "committed_at": "2025-05-03T00:18:17Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "44f49190ef463621f5efc23fa81f490c19fdc895",
          "body": null,
          "is_bot": false,
          "headline": "v3.7.2 updates (#2256)",
          "author_name": "Joe",
          "author_login": "lrljoe",
          "committed_at": "2025-05-03T00:17:27Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "40887ee4de5e578c7075b4635f484c1c1cfb958c",
          "body": null,
          "is_bot": false,
          "headline": "Fixed collapsed function bug with tailwind CSS on mobile version (#2228)",
          "author_name": "CarlosChub27",
          "author_login": "CarlosChub27",
          "committed_at": "2025-05-03T00:01:50Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "5fe9dd41e346d770ca16d4b800381188c0c64d5a",
          "body": "* Link column fix (#2223) (#2224)\n\n* Link column fix (#2223)\n\n* Add handling for From field for \"LinkColumn\"\n\n* Update ChangeLog\n\n* Improved pagination UX\n\n---------\n\nCo-authored-by: Joe <104938042+lrljoe@users.noreply.github.com>",
          "is_bot": false,
          "headline": "Improved pagination UX (#2251)",
          "author_name": "Daniel Škopek",
          "author_login": "daniel-skopek",
          "committed_at": "2025-05-02T23:57:39Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "fb3dadeea2fe9b3b4f6baa7e563e1256efc5b88a",
          "body": "* Add Wrapper Options to FlexCol\n\n* Fix styling\n\n* Moving getContents Back\n\n* Fix styling\n\n* Add Docs\n\n* Add Wrapper Manual Tests\n\n* Fix styling\n\n* Update to test separator\n\n* Fix styling",
          "is_bot": false,
          "headline": "Add Wrapper Options to ArrayColumn (#2255)",
          "author_name": "Joe",
          "author_login": "lrljoe",
          "committed_at": "2025-05-02T23:54:49Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "c6dc6d863152294232ec527ea4eefd2de74e8922",
          "body": "* Fix broken typehints\n\n* Minor tweaks to Footer/SecondaryHeader to ensure presence of callback prior to executing\n\n* Fix styling\n\n* PHPDoc additions\n\n* Fix styling\n\n* Update ChangeLog for TypeHintFixes\n\n* Fix styling\n\n* FilterPillData and StandardFilterPillData phpdocs\n\n* Fix styling",
          "is_bot": false,
          "headline": "TypeHint/PHPDoc Tidying (#2246)",
          "author_name": "Joe",
          "author_login": "lrljoe",
          "committed_at": "2025-05-02T23:49:07Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "6f25fccda3ee9e6fe7f8cf462eab459da507f03b",
          "body": "* Initial Commit\n\n* Fix styling\n\n* Initial Commit\n\n* Fix styling\n\n* Adjust test\n\n* Fix styling\n\n* Use test-livewire-column-component\n\n* Additional Tests for LivewireComponentColumn\n\n* Fix styling\n\n* Add getContents Test",
          "is_bot": false,
          "headline": "Fixes for livewire component column (#2245)",
          "author_name": "Joe",
          "author_login": "lrljoe",
          "committed_at": "2025-04-22T03:00:20Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "c75c206affdc11dfabda9e5c2af3581906692a86",
          "body": "* Add BooleanFilter option for Bootstrap\n\n* Add BS4 Support\n\n* Update docs",
          "is_bot": false,
          "headline": "Boolean filter for bootstrap (#2244)",
          "author_name": "Joe",
          "author_login": "lrljoe",
          "committed_at": "2025-04-20T04:32:34Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "f588ebccb0735ce906a858960bc68a523fbe4fc9",
          "body": null,
          "is_bot": false,
          "headline": "Fix styling",
          "author_name": "lrljoe",
          "author_login": "lrljoe",
          "committed_at": "2025-04-20T04:26:24Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "67a8a9df2684d26378ff4c40dc2845baf5cadf53",
          "body": "* Link column fix (#2223) (#2224)\n\n* Link column fix (#2223)\n\n* Add handling for From field for \"LinkColumn\"\n\n* Update ChangeLog\n\n* Update IsNumericFilter.php\n\nFixes issues 2229\n\n---------\n\nCo-authored-by: Joe <104938042+lrljoe@users.noreply.github.com>",
          "is_bot": false,
          "headline": "Update IsNumericFilter.php (#2230)",
          "author_name": "G4Zz0L1",
          "author_login": "G4Zz0L1",
          "committed_at": "2025-04-20T04:26:01Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "c7817c7dd99ebd653d599e3a8cddff8c5141da23",
          "body": "Co-authored-by: Joe <104938042+lrljoe@users.noreply.github.com>",
          "is_bot": false,
          "headline": "docs: add reminder of requirement to use toggle method (#2208)",
          "author_name": "da-mask",
          "author_login": "da-mask",
          "committed_at": "2025-04-20T04:25:18Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "a8637326d3df5fa9f8116490365d87179d957825",
          "body": "* Link column fix (#2223)\n\n* Add handling for From field for \"LinkColumn\"\n\n* Update ChangeLog",
          "is_bot": false,
          "headline": "Link column fix (#2223) (#2224)",
          "author_name": "Joe",
          "author_login": "lrljoe",
          "committed_at": "2025-02-28T23:30:16Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "d96df8ef7dc0536ccb2bf30a16ec06e498b5acb9",
          "body": null,
          "is_bot": false,
          "headline": "Update ChangeLog",
          "author_name": "Joe",
          "author_login": "lrljoe",
          "committed_at": "2025-02-28T22:56:20Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "a667fd7281093be449e95b82d548933e5a6b80a5",
          "body": "* Add handling for From field for \"LinkColumn\"\n\n* Fix styling",
          "is_bot": false,
          "headline": "Link column fix (#2223)",
          "author_name": "Joe",
          "author_login": "lrljoe",
          "committed_at": "2025-02-28T22:53:37Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "0c8bbefdc05c8747d2a659d97daed8c270e6ab97",
          "body": "v3.7.1",
          "is_bot": false,
          "headline": "Merge pull request #2222 from rappasoft/development",
          "author_name": "Joe",
          "author_login": "lrljoe",
          "committed_at": "2025-02-28T22:44:10Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "aa98a14f859d1294024e7dc5ab799c34a37ee507",
          "body": null,
          "is_bot": false,
          "headline": "Merge branch 'master' into development",
          "author_name": "Joe",
          "author_login": "lrljoe",
          "committed_at": "2025-02-28T22:38:29Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "80a269b8c7c9d7938ed0bf9ece749947b080855c",
          "body": "* Add handling for From field for \"LinkColumn\"\n\n* Fix styling",
          "is_bot": false,
          "headline": "Add handling for From field for \"LinkColumn\" (#2221)",
          "author_name": "Joe",
          "author_login": "lrljoe",
          "committed_at": "2025-02-28T22:32:38Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "a99b5b307e9d5e7b37fb5648b516d27f7556f04a",
          "body": "* Clean up DateRangeFilter - broken pills, and missing test",
          "is_bot": false,
          "headline": "DateRangeFilter - fix broken pills, and add missing test (#2219)",
          "author_name": "Joe",
          "author_login": "lrljoe",
          "committed_at": "2025-02-28T22:07:26Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "0036a9aa00bc70cdaf119a2ab274952575251493",
          "body": "## [v3.7.0] - 2025-02-27\r\n\r\n### Bug Fixes\r\n- Filters urgent fixes - correct Filter Default QueryString by @lrljoe in https://github.com/rappasoft/laravel-livewire-tables/pull/2188\r\n- Fix Search Field in bootstrap by @yparitcher in https://github.com/rappasoft/laravel-livewire-tables/pull/2183\r\n- Add\n[…]\nr View Traits by @lrljoe in https://github.com/rappasoft/laravel-livewire-tables/pull/2189\r\n- Filter Trait - Reorganization by @lrljoe in https://github.com/rappasoft/laravel-livewire-tables/pull/2181",
          "is_bot": false,
          "headline": "v3.7.0 (#2197)",
          "author_name": "Joe",
          "author_login": "lrljoe",
          "committed_at": "2025-02-28T01:30:50Z",
          "body_truncated": true,
          "is_coding_agent": false
        },
        {
          "oid": "75420200cd2955eae46d68566b64dc682e8fa912",
          "body": null,
          "is_bot": false,
          "headline": "Update ChangeLog (#2218)",
          "author_name": "Joe",
          "author_login": "lrljoe",
          "committed_at": "2025-02-28T01:23:09Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "6fe770b721569f63c16dbc2a3110b9c975ccf19f",
          "body": "* Update for v12 support\n\n* Add L12 Tests\n\n* Fix for PHPStan Run\n\n* update phpstan ignores\n\n* Restore larastan 2.x for pre-11",
          "is_bot": false,
          "headline": "Update for v12 support (#2217)",
          "author_name": "Joe",
          "author_login": "lrljoe",
          "committed_at": "2025-02-27T22:51:42Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "3ecfb1dc101d49c9e13226a2671cfd1625a97a71",
          "body": "* Tweak for text pill title\r\n\r\n* Fix styling",
          "is_bot": false,
          "headline": "Tweak for text pill title (#2206)",
          "author_name": "Joe",
          "author_login": "lrljoe",
          "committed_at": "2025-02-17T00:12:11Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "ae3467212cbc1b49d0a1b488c029d28ae8abf201",
          "body": "* Tweak Return Types\r\n\r\n* Tweak type",
          "is_bot": false,
          "headline": "Tweak Return Types (#2205)",
          "author_name": "Joe",
          "author_login": "lrljoe",
          "committed_at": "2025-02-16T23:58:50Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "b14f456cc3a7cf8e2f5568332322ce0c29f32066",
          "body": "* Add setFilterPillTitleAsHtml\r\n\r\n* Fix styling\r\n\r\n* Add Filter Pill Handler\r\n\r\n* Fix styling\r\n\r\n* Adjust for new Pill View Component\r\n\r\n* Adjust FilterPillDataTest\r\n\r\n* Fix styling\r\n\r\n* Temporarily disable filter pill separator test",
          "is_bot": false,
          "headline": "Add setFilterPillTitleAsHtml (#2204)",
          "author_name": "Joe",
          "author_login": "lrljoe",
          "committed_at": "2025-02-16T23:42:49Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "b2d36c50c716d80595c7dbb536f32435045d0af4",
          "body": "…aviours (#2203)\n\n* Tweaks for BulkActions\r\n\r\n* Fix styling\r\n\r\n* Tweaks for Bulk Actions\r\n\r\n* Fix styling",
          "is_bot": false,
          "headline": "BulkActionTweaks - Adding default checkbox, customising attribute beh…",
          "author_name": "Joe",
          "author_login": "lrljoe",
          "committed_at": "2025-02-16T23:23:49Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "c5b63fc741c2a05c26654b3d4b9df3084d21fd39",
          "body": "* Migrate Namespaces for Columns & Filters\r\n\r\n* Fix styling\r\n\r\n* Remove duplicated Trait\r\n\r\n* Cleanup errant folder\r\n\r\n* Restore Component to Column for historic purposes\r\n\r\n* Fix styling\r\n\r\n* Restore DataTableComponent, Adjust Column Tests to use ColumnTestCase\r\n\r\n* Fix styling\r\n\r\n* Additional Trai\n[…]\n into traits\r\n\r\n* Fix styling\r\n\r\n* Further Column Trait Tidy Up\r\n\r\n* Fix styling\r\n\r\n* Add test for deprecated sorting pills direction test\r\n\r\n* Fix styling\r\n\r\n* Tidying Styling Traits\r\n\r\n* Fix styling",
          "is_bot": false,
          "headline": "Migrate Column/Filter Traits (#2202)",
          "author_name": "Joe",
          "author_login": "lrljoe",
          "committed_at": "2025-02-16T23:07:06Z",
          "body_truncated": true,
          "is_coding_agent": false
        },
        {
          "oid": "203d7add0db7a7fe8964fe382607ddc5e674857a",
          "body": "* Partial Merges\r\n\r\n* Fix styling\r\n\r\n* Minor adjustments\r\n\r\n* Fix styling\r\n\r\n* Minor tweaks for return type\r\n\r\n* Minor dochint fixes\r\n\r\n* Migration to support Livewire Filter Array filter pills, docs updates, and reverting away from computed properties for the theme determination\r\n\r\n* Fix styling\r\n\r\n[…]\n* Fix styling\r\n\r\n* Minor Tweaks to Tests\r\n\r\n* Fix styling\r\n\r\n* Test Fixes\r\n\r\n* Fix styling\r\n\r\n* Test Tweaks\r\n\r\n* Fix styling\r\n\r\n* Tweaks for tests\r\n\r\n* Fix styling\r\n\r\n* Tweaks to Base\r\n\r\n* Fix styling",
          "is_bot": false,
          "headline": "Filter Rationalisation & Livewire Array Filter improvements (#2191)",
          "author_name": "Joe",
          "author_login": "lrljoe",
          "committed_at": "2025-02-09T06:51:25Z",
          "body_truncated": true,
          "is_coding_agent": false
        },
        {
          "oid": "d56dc789109b960eb5d9f0752a3a51903d5dccc6",
          "body": "* Initial Migration for FilterView Traits\r\n\r\n* Fix styling",
          "is_bot": false,
          "headline": "Move Filter View Traits (#2189)",
          "author_name": "Joe",
          "author_login": "lrljoe",
          "committed_at": "2025-01-26T02:35:43Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "3f18055a8184fa2b8e2ff9b72e8565564f0fd79c",
          "body": "* Fixes for QueryString & Centralising Methods\r\n\r\n* Tweaks for Filters",
          "is_bot": false,
          "headline": "Filters urgent fixes - correct Filter Default QueryString (#2188)",
          "author_name": "Joe",
          "author_login": "lrljoe",
          "committed_at": "2025-01-26T02:06:28Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "424ab845b3ceadf8e3944016b1a277429d132c36",
          "body": "* Initial Commits\r\n\r\n* Fix styling\r\n\r\n* Fix namespace\r\n\r\n* Fix styling\r\n\r\n* Remove superfluous filter traits\r\n\r\n* Fixes for Filter Trait Tidy Up\r\n\r\n* Fix styling\r\n\r\n* Tweaks for Lazy Tables & Tidying Item\r\n\r\n* Roll back to allow HTML separator\r\n\r\n* Add tests for new methods\r\n\r\n* Fix styling\r\n\r\n* Rem\n[…]\nling\r\n\r\n* Add Filter Slidedown Row Test\r\n\r\n* Fix styling\r\n\r\n* Test Adjustments\r\n\r\n* Add test for filter slidedown row\r\n\r\n* Fix styling\r\n\r\n* Merging\r\n\r\n* Add setFilterDefaultValue Test\r\n\r\n* Fix styling",
          "is_bot": false,
          "headline": "Filter Trait - Reorganization (#2181)",
          "author_name": "Joe",
          "author_login": "lrljoe",
          "committed_at": "2025-01-24T01:52:39Z",
          "body_truncated": true,
          "is_coding_agent": false
        },
        {
          "oid": "5b23dfb06f21526b324daa265c55ea8a87bb5b11",
          "body": "Fix Search Field in bootstrap",
          "is_bot": false,
          "headline": "Merge pull request #2183 from sheavescapital/css",
          "author_name": "Joe",
          "author_login": "lrljoe",
          "committed_at": "2025-01-24T01:10:29Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "5968c001790e1b8f3065b7d556f6458933a81bf7",
          "body": "…Area\n\nAdd \"after-tools\" configurable area",
          "is_bot": false,
          "headline": "Merge pull request #2180 from LowerRockLabs/AddAfterToolsConfigurable…",
          "author_name": "Joe",
          "author_login": "lrljoe",
          "committed_at": "2025-01-24T01:10:18Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "880f583b0aeb841e1a6bf85a5efc9c0259d1ea36",
          "body": null,
          "is_bot": false,
          "headline": "Fix styling",
          "author_name": "lrljoe",
          "author_login": "lrljoe",
          "committed_at": "2025-01-24T01:04:44Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "9259ceb501de4009bc5faf9b7dac5ad1241b5362",
          "body": null,
          "is_bot": false,
          "headline": "Add PHPDoc",
          "author_name": "Joe",
          "author_login": "lrljoe",
          "committed_at": "2025-01-24T01:04:13Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "731349b0c6298b25c038385583c9dfa9a024d7fe",
          "body": null,
          "is_bot": false,
          "headline": "Fix styling",
          "author_name": "lrljoe",
          "author_login": "lrljoe",
          "committed_at": "2025-01-23T22:27:02Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "31561e558dfae51fdc3cdaf4541f3d095dc3f7e3",
          "body": null,
          "is_bot": false,
          "headline": "ConfigurableArea Test Tidying",
          "author_name": "LRLJoe",
          "author_login": "lrljoe",
          "committed_at": "2025-01-23T22:26:23Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "bdf338e8ccf1cded96ac378fa6ddb2d8c5faa025",
          "body": "Flex is only for tailwind, this wa broken when splitting out the styles for the search icon",
          "is_bot": false,
          "headline": "Fix Search Field in bootstrap",
          "author_name": "Yechiel",
          "author_login": "yparitcher",
          "committed_at": "2025-01-20T15:42:39Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "74f6a5fbac6ffa8e5285c566054ec48d6bcff275",
          "body": null,
          "is_bot": false,
          "headline": "Adjust configurable areas test",
          "author_name": "Joe",
          "author_login": "lrljoe",
          "committed_at": "2025-01-19T12:03:29Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "06ee93d90838759ce6b0ff4dec67c1a92019a73f",
          "body": null,
          "is_bot": false,
          "headline": "Add \"after-tools\" configurable area",
          "author_name": "Joe",
          "author_login": "lrljoe",
          "committed_at": "2025-01-19T11:46:43Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "e58bfbab1a6ba6043741a3b36d79f74ecee22891",
          "body": "…r-pills-styling\n\nEnable setting styles for filter pills as a configuration.",
          "is_bot": false,
          "headline": "Merge pull request #2178 from HussamAlhennawi/configuration-for-filte…",
          "author_name": "Joe",
          "author_login": "lrljoe",
          "committed_at": "2025-01-18T21:47:35Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "a941a161e049df3f0ee8c4023208c9f20101306d",
          "body": "…ng-pills-styling\n\nEnable setting styles for sorting pills as a configuration.",
          "is_bot": false,
          "headline": "Merge pull request #2179 from HussamAlhennawi/configuration-for-sorti…",
          "author_name": "Joe",
          "author_login": "lrljoe",
          "committed_at": "2025-01-18T21:47:23Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "52a80efc23d6dd70475b606ccb7fd466f68aed6f",
          "body": "…clear all button) as a configuration.",
          "is_bot": false,
          "headline": "Enable setting styles for sorting pills (item, clear sort button and …",
          "author_name": "Hussam Alhennawi",
          "author_login": "HussamAlhennawi",
          "committed_at": "2025-01-18T13:17:30Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "4f0c1c2ab3f9b41e2572c3526e77d0fa56a9db36",
          "body": "…all button) as a configuration.",
          "is_bot": false,
          "headline": "Enable setting styles for filter pills (item, reset button and reset …",
          "author_name": "Hussam Alhennawi",
          "author_login": "HussamAlhennawi",
          "committed_at": "2025-01-17T19:46:53Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "19ebe02f9a86a34b7ab15107fa38972f9881a383",
          "body": null,
          "is_bot": false,
          "headline": "Fix styling",
          "author_name": "lrljoe",
          "author_login": "lrljoe",
          "committed_at": "2025-01-16T23:51:18Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "7f2beaad9aa566807ef63d42f0c77d45a369dd5f",
          "body": "…n-select-styling\n\nEnable setting styles for column select as a configuration.",
          "is_bot": false,
          "headline": "Merge pull request #2175 from HussamAlhennawi/configuration-for-colum…",
          "author_name": "Joe",
          "author_login": "lrljoe",
          "committed_at": "2025-01-16T23:50:56Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "28cc21ad579a9aa2ffad824c6c25a9ecfbb52f2a",
          "body": "Development to Master for 3.6.0",
          "is_bot": false,
          "headline": "Merge pull request #2174 from rappasoft/development",
          "author_name": "Joe",
          "author_login": "lrljoe",
          "committed_at": "2025-01-16T23:45:11Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "edbaf697885fd393eab77db56201b307c4333740",
          "body": "…box) as a configuration.",
          "is_bot": false,
          "headline": "Enable setting styles for column select (button and menu option check…",
          "author_name": "Hussam Alhennawi",
          "author_login": "HussamAlhennawi",
          "committed_at": "2025-01-14T17:41:39Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "6598b2516b48efb884a4a76b3e28ae9fe6a18bd0",
          "body": null,
          "is_bot": false,
          "headline": "Update ChangeLog",
          "author_name": "Joe",
          "author_login": "lrljoe",
          "committed_at": "2025-01-11T08:53:40Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "fe00cff15ec3b7e6fa53360ec9c91182df4b2b50",
          "body": "* Adjustments for ComponentColumn\r\n\r\n* Fix styling",
          "is_bot": false,
          "headline": "Adjustments for ComponentColumn (#2173)",
          "author_name": "Joe",
          "author_login": "lrljoe",
          "committed_at": "2025-01-11T08:40:47Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "4761dfea345f8605e0ca44e40968b9e1755096b2",
          "body": "* Centralise tests on base classes\r\n\r\n* Fix styling\r\n\r\n---------\r\n\r\nCo-authored-by: lrljoe <lrljoe@users.noreply.github.com>",
          "is_bot": false,
          "headline": "Tweak tests - centralised  (#2172)",
          "author_name": "Joe",
          "author_login": "lrljoe",
          "committed_at": "2025-01-11T07:03:27Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "d1f6a2ee5a2034fdf1fb41e6e0c4a5ff8a9f48e4",
          "body": null,
          "is_bot": false,
          "headline": "Update ChangeLog (#2171)",
          "author_name": "Joe",
          "author_login": "lrljoe",
          "committed_at": "2025-01-11T05:51:35Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "8dc509c28fa44745dabd47d0488da6e280498f6c",
          "body": "* Add initial tests for LivewireComponentArrayFilter\r\n\r\n* Fix styling\r\n\r\n* Add LivewireComponentArrayFilter isEmpty check\r\n\r\n* Fix styling\r\n\r\n---------\r\n\r\nCo-authored-by: lrljoe <lrljoe@users.noreply.github.com>",
          "is_bot": false,
          "headline": "Add initial tests for LivewireComponentArrayFilter (#2170)",
          "author_name": "Joe",
          "author_login": "lrljoe",
          "committed_at": "2025-01-11T05:23:06Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "19b3723897ad131b436351b278ae3a24a4f7c9f5",
          "body": "* Clean up Column Component View and Slot behaviours\r\n\r\n* Fix styling\r\n\r\n* Restore Trait\r\n\r\n---------\r\n\r\nCo-authored-by: lrljoe <lrljoe@users.noreply.github.com>",
          "is_bot": false,
          "headline": "Clean up Column Component View and Slot behaviours (#2169)",
          "author_name": "Joe",
          "author_login": "lrljoe",
          "committed_at": "2025-01-11T04:57:41Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "1d83e0ebe3d6413738ef22be78a5f738c96fea5b",
          "body": "…sts (#2168)\n\n* Migrate methods and add some missing tests\r\n\r\n* Fix styling\r\n\r\n* Add Attribute Checks\r\n\r\n* Fix styling\r\n\r\n---------\r\n\r\nCo-authored-by: lrljoe <lrljoe@users.noreply.github.com>",
          "is_bot": false,
          "headline": "Migrate LivewireComponentColumn methods and add some missing basic te…",
          "author_name": "Joe",
          "author_login": "lrljoe",
          "committed_at": "2025-01-11T04:22:55Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "2ecd09214b25f28f97d99f9b5a216bdd6ab14309",
          "body": "* Optimize Header/Footer\r\n\r\n* Fix styling\r\n\r\n* Force TestRun\r\n\r\n* Fix styling\r\n\r\n---------\r\n\r\nCo-authored-by: lrljoe <lrljoe@users.noreply.github.com>",
          "is_bot": false,
          "headline": "Optimize Header/Footer (#2164)",
          "author_name": "Joe",
          "author_login": "lrljoe",
          "committed_at": "2025-01-08T05:52:25Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "6d7b59bc21e7635a2543e7ec5c540c8ee67e214e",
          "body": "* Migrating Search Methods into Separate Traits\r\n\r\n* Fix styling\r\n\r\n* PHPStan Fixes\r\n\r\n* Fix styling\r\n\r\n---------\r\n\r\nCo-authored-by: lrljoe <lrljoe@users.noreply.github.com>",
          "is_bot": false,
          "headline": "WithSearch Tweaks (#2163)",
          "author_name": "Joe",
          "author_login": "lrljoe",
          "committed_at": "2025-01-08T05:24:56Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "a57de60bed8a61515dc4fa3c85bf683c5f856f5b",
          "body": "* Add missing Columns Non Computed Test\r\n\r\n* Fix styling\r\n\r\n---------\r\n\r\nCo-authored-by: lrljoe <lrljoe@users.noreply.github.com>",
          "is_bot": false,
          "headline": "Add missing Columns Non Computed Test (#2162)",
          "author_name": "Joe",
          "author_login": "lrljoe",
          "committed_at": "2025-01-08T04:07:39Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "2368708e5e7445dec0249127ccc3f7e78c42baeb",
          "body": null,
          "is_bot": false,
          "headline": "Add queryStringAliasTest (#2161)",
          "author_name": "Joe",
          "author_login": "lrljoe",
          "committed_at": "2025-01-08T03:51:45Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "f17a0d8841664e215de71349e498e24fb60f08cb",
          "body": "* Split ComponentUtilities into traits\r\n\r\n* Fix styling\r\n\r\n---------\r\n\r\nCo-authored-by: lrljoe <lrljoe@users.noreply.github.com>",
          "is_bot": false,
          "headline": "Tidy computed properties behaviour (#2160)",
          "author_name": "Joe",
          "author_login": "lrljoe",
          "committed_at": "2025-01-08T03:36:24Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "26f094b8c02b3ff9fab3c68bb39e3d75551578c0",
          "body": "* Tidy & Improve Collapsed Columns Behaviour\r\n\r\n* Fix styling\r\n\r\n* Add relevant tests\r\n\r\n* Fix styling\r\n\r\n---------\r\n\r\nCo-authored-by: lrljoe <lrljoe@users.noreply.github.com>",
          "is_bot": false,
          "headline": "Tidy & Improve Collapsed Columns Behaviour (#2159)",
          "author_name": "Joe",
          "author_login": "lrljoe",
          "committed_at": "2025-01-08T03:13:08Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "940e0acced16fbba16678dc4a6925abde8968144",
          "body": "* Add SortingConfiguration Missing Test\r\n\r\n* Fix styling\r\n\r\n* Force Workflows\r\n\r\n* Fix styling\r\n\r\n* Add Missing Tests\r\n\r\n* Fix styling\r\n\r\n---------\r\n\r\nCo-authored-by: lrljoe <lrljoe@users.noreply.github.com>",
          "is_bot": false,
          "headline": "Add missing tests (#2157)",
          "author_name": "Joe",
          "author_login": "lrljoe",
          "committed_at": "2025-01-07T22:19:23Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "89107782306f78476cb61712f6030ebfad17b3e3",
          "body": "* Add test queryStringWithQueryString\r\n\r\n* Fix styling\r\n\r\n---------\r\n\r\nCo-authored-by: lrljoe <lrljoe@users.noreply.github.com>",
          "is_bot": false,
          "headline": "Add test queryStringWithQueryString (#2154)",
          "author_name": "Joe",
          "author_login": "lrljoe",
          "committed_at": "2025-01-06T05:29:15Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "3d279b95fb527a2f65a4806db60cbe3311fbfccd",
          "body": null,
          "is_bot": false,
          "headline": "Adjust SearchHelpersTest (#2153)",
          "author_name": "Joe",
          "author_login": "lrljoe",
          "committed_at": "2025-01-06T05:05:10Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "50226f7c59641ec0b2fa4f5234c6ff9a405ab782",
          "body": null,
          "is_bot": false,
          "headline": "Add Missing Search Tests (#2152)",
          "author_name": "Joe",
          "author_login": "lrljoe",
          "committed_at": "2025-01-06T04:42:13Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "16a359088e0d72259e32c86f1bd446b1f829eb24",
          "body": "* Add SortingConfiguration Missing Test\r\n\r\n* Fix styling\r\n\r\n* Force Workflows\r\n\r\n* Fix styling\r\n\r\n---------\r\n\r\nCo-authored-by: lrljoe <lrljoe@users.noreply.github.com>",
          "is_bot": false,
          "headline": "Add SortingConfiguration Missing Test (#2151)",
          "author_name": "Joe",
          "author_login": "lrljoe",
          "committed_at": "2025-01-06T04:06:04Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "41c0bd0d73dbb969fb04c30fa4eb05b439dcc74e",
          "body": "* Tidy displayToolbarFilters Method\r\n\r\n* Fix styling\r\n\r\n---------\r\n\r\nCo-authored-by: lrljoe <lrljoe@users.noreply.github.com>",
          "is_bot": false,
          "headline": "Tidy ColumnSelectHelpers & displayToolbarFilters Method (#2150)",
          "author_name": "Joe",
          "author_login": "lrljoe",
          "committed_at": "2025-01-06T02:01:29Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "3f713830c4e7116ed4394f4af278d5723ebf9f9a",
          "body": "* Add ConfigurableAreaConfigurationTest\n\n* Fix styling\n\n---------\n\nCo-authored-by: lrljoe <lrljoe@users.noreply.github.com>",
          "is_bot": false,
          "headline": "Add configurable area test (#2149)",
          "author_name": "Joe",
          "author_login": "lrljoe",
          "committed_at": "2025-01-05T22:02:44Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "15e18fbe147afa03fc7f7402a05777091d6bba19",
          "body": null,
          "is_bot": false,
          "headline": "Update PCOV Workflow (#2148)",
          "author_name": "Joe",
          "author_login": "lrljoe",
          "committed_at": "2025-01-04T11:26:50Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "567b9da9eda7571868038f4ebd50a1a1e52bfc50",
          "body": "* Migrate Filter Status into Own Trait\r\n\r\n* Fix styling\r\n\r\n* Update setFiltersStatus to protected\r\n\r\n* Fix styling\r\n\r\n* Restore filters behaviour to public\r\n\r\n---------\r\n\r\nCo-authored-by: lrljoe <lrljoe@users.noreply.github.com>",
          "is_bot": false,
          "headline": "Migrate Filter Status into Own Trait (#2147)",
          "author_name": "Joe",
          "author_login": "lrljoe",
          "committed_at": "2025-01-04T11:16:21Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "d17464b947780fa7fb0dbcf7c4fcfaabd38d3608",
          "body": "* Migrate Filter Code Appropriately\r\n\r\n* Fix styling\r\n\r\n* Test Fixes\r\n\r\n* Fix styling\r\n\r\n---------\r\n\r\nCo-authored-by: lrljoe <lrljoe@users.noreply.github.com>",
          "is_bot": false,
          "headline": "Migrate Filter Code Appropriately (#2146)",
          "author_name": "Joe",
          "author_login": "lrljoe",
          "committed_at": "2025-01-04T10:40:20Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "4125285325b8d5364f656eec64a555b00733db9b",
          "body": null,
          "is_bot": false,
          "headline": "Move Filters Before Query (#2143)",
          "author_name": "Joe",
          "author_login": "lrljoe",
          "committed_at": "2025-01-04T08:07:09Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "b819109cf19feb3462fce4b0a395d740e19a9b85",
          "body": "* Tidy up Blade Class Definitions\r\n\r\n* Fix test class ordering",
          "is_bot": false,
          "headline": "Tidy up Blade Class Definitions (#2145)",
          "author_name": "Joe",
          "author_login": "lrljoe",
          "committed_at": "2025-01-04T08:06:50Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "fe3abd6ee4847a7251918ffd0f3b81acae1e6e9b",
          "body": "* Separate Test Suites\r\n\r\n* Remove PHP8.1 From Test Suite\r\n\r\n* Adjust PHPUnit XML\r\n\r\n* Workflow Test Suite Fixes",
          "is_bot": false,
          "headline": "Separate the Unit and Visuals Test Suites (#2144)",
          "author_name": "Joe",
          "author_login": "lrljoe",
          "committed_at": "2025-01-04T07:39:13Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "660c061d48852145a9170b4d847f3799e3071204",
          "body": "* Add hasCollapsedColumns as Computed\r\n\r\n* Fix styling\r\n\r\n---------\r\n\r\nCo-authored-by: lrljoe <lrljoe@users.noreply.github.com>",
          "is_bot": false,
          "headline": "Add hasCollapsedColumns as Computed (#2141)",
          "author_name": "Joe",
          "author_login": "lrljoe",
          "committed_at": "2024-12-31T22:21:18Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "1d991b2ae25f3b449b92a65543ab6737835f8c3f",
          "body": "* Ensure Default Sorting Is Shown in Pills\r\n\r\n* Fix styling\r\n\r\n* Fix return type\r\n\r\n---------\r\n\r\nCo-authored-by: lrljoe <lrljoe@users.noreply.github.com>",
          "is_bot": false,
          "headline": "Ensure Default Sorting Is Shown in Pills (#2138)",
          "author_name": "Joe",
          "author_login": "lrljoe",
          "committed_at": "2024-12-31T22:13:28Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "c67247bc27ac878351521bc406a801fb3de8c5c1",
          "body": "* Tweaks for Sort Icon Styling\r\n\r\n* Move customIconAttributes into th\r\n\r\n* Further tweaks & tidying\r\n\r\n* Fixes for other TH Elements\r\n\r\n* Move Visuals tests to Visuals section, clean up tests\r\n\r\n\r\n---------\r\n\r\nCo-authored-by: lrljoe <lrljoe@users.noreply.github.com>",
          "is_bot": false,
          "headline": "TH Fixes - Clean-up, efficiency, and Sort Icons fixes (#2140)",
          "author_name": "Joe",
          "author_login": "lrljoe",
          "committed_at": "2024-12-31T22:06:41Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "eda4c5ec3ce3661d994e2b01f6a1396e8bac52dc",
          "body": "* Tidy ComponentUtilities, Migrate ColumnSelectQueryString\r\n\r\n* Fix styling\r\n\r\n---------\r\n\r\nCo-authored-by: lrljoe <lrljoe@users.noreply.github.com>",
          "is_bot": false,
          "headline": "Tidy ComponentUtilities, Migrate ColumnSelectQueryString (#2135)",
          "author_name": "Joe",
          "author_login": "lrljoe",
          "committed_at": "2024-12-26T21:19:29Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "ab35e6cf26b9d1467e7b2e9a0e16dcc422126fe5",
          "body": "* Enable InputAttributes for SelectFilter\r\n\r\n* Fix styling\r\n\r\n---------\r\n\r\nCo-authored-by: lrljoe <lrljoe@users.noreply.github.com>",
          "is_bot": false,
          "headline": "Enable InputAttributes for SelectFilter (#2133)",
          "author_name": "Joe",
          "author_login": "lrljoe",
          "committed_at": "2024-12-24T06:35:19Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "4bb6b3d0e957c51c5c7a19708ec1e48f33dfb681",
          "body": "* Add Custom FIlter Input Attributes, Cleanup Filter Tests\r\n\r\n* Fix styling\r\n\r\n---------\r\n\r\nCo-authored-by: lrljoe <lrljoe@users.noreply.github.com>",
          "is_bot": false,
          "headline": "Add Custom FIlter Input Attributes, Cleanup Filter Tests (#2131)",
          "author_name": "Joe",
          "author_login": "lrljoe",
          "committed_at": "2024-12-24T03:09:16Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "493959c349a9e3364be12b657e009dbd313fef1a",
          "body": "Add Missing Test for getCustomSortingPillDirectionsLabel with invalid direction",
          "is_bot": false,
          "headline": "Merge pull request #2130 from LowerRockLabs/AddIsSortableTestTweak",
          "author_name": "Joe",
          "author_login": "lrljoe",
          "committed_at": "2024-12-16T03:19:12Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "1f889cbba2720ba99fd5691806080bf0bbfb89e9",
          "body": null,
          "is_bot": false,
          "headline": "Fix styling",
          "author_name": "lrljoe",
          "author_login": "lrljoe",
          "committed_at": "2024-12-16T03:15:27Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "1e5d809f7dfed3cd0b062a648907c52d0462efea",
          "body": null,
          "is_bot": false,
          "headline": "Add label fixes",
          "author_name": "LRLJoe",
          "author_login": "lrljoe",
          "committed_at": "2024-12-16T03:15:02Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "d235860d59593ed8fb1c1b6d90f5e020451e06e6",
          "body": null,
          "is_bot": false,
          "headline": "Add Missing Test",
          "author_name": "LRLJoe",
          "author_login": "lrljoe",
          "committed_at": "2024-12-16T03:09:45Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "01b6824d43140ca1e5f889871ea6ae8497d55714",
          "body": null,
          "is_bot": false,
          "headline": "Add Tests",
          "author_name": "Joe",
          "author_login": "lrljoe",
          "committed_at": "2024-12-16T03:03:36Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "692d780ef56aba7ac4c57fde677c636a66024189",
          "body": "v3.5.10 - Development To Master",
          "is_bot": false,
          "headline": "Merge pull request #2128 from rappasoft/development",
          "author_name": "Joe",
          "author_login": "lrljoe",
          "committed_at": "2024-12-11T01:58:37Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "b2ddbb7d7634012516311791be0a7177a48ff1d6",
          "body": null,
          "is_bot": false,
          "headline": "Update Changelog v3.5.10",
          "author_name": "Joe",
          "author_login": "lrljoe",
          "committed_at": "2024-12-11T01:53:52Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "f74fe75cde78483560dacb1a07a662915362882a",
          "body": "* Migrate Styling Configs\r\n\r\n* Fix styling\r\n\r\n---------\r\n\r\nCo-authored-by: lrljoe <lrljoe@users.noreply.github.com>",
          "is_bot": false,
          "headline": "Migrate Styling Configs (#2127)",
          "author_name": "Joe",
          "author_login": "lrljoe",
          "committed_at": "2024-12-11T01:46:57Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "1c8a7fb3c0630a84f9da7530f434d3c1920f0964",
          "body": "v3.5.9 - Development To Master",
          "is_bot": false,
          "headline": "Merge pull request #2126 from rappasoft/development",
          "author_name": "Joe",
          "author_login": "lrljoe",
          "committed_at": "2024-12-11T01:15:21Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "d97455e096ae1b4e62abfab6105f73e1c65b4626",
          "body": null,
          "is_bot": false,
          "headline": "Update ChangeLog",
          "author_name": "Joe",
          "author_login": "lrljoe",
          "committed_at": "2024-12-11T01:07:55Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "849d59737a45b26f5e6c482f34dbb830f3357fa0",
          "body": null,
          "is_bot": false,
          "headline": "Merge branch 'master' into development",
          "author_name": "Joe",
          "author_login": "lrljoe",
          "committed_at": "2024-12-11T01:06:21Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "0dffa95474ee9fec1bd975ef6d790910e189e2fb",
          "body": null,
          "is_bot": false,
          "headline": "Optimized imports (#2124)",
          "author_name": "Edwin van de Pol",
          "author_login": "edwinvdpol",
          "committed_at": "2024-12-11T01:02:20Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "1e55b7c3aa0bdd1e0353513bdd30c3e05562a591",
          "body": null,
          "is_bot": false,
          "headline": "Update core.php (#2123)",
          "author_name": "Alex Bierhance",
          "author_login": "Aiiion",
          "committed_at": "2024-12-10T21:10:17Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "20a74a696e7ca9728d334f7c22e826949536af71",
          "body": "## [v3.5.8] - 2024-12-10\r\n### New Features\r\n- Set bulk action row button attributes by @lrljoe in https://github.com/rappasoft/laravel-livewire-tables/pull/2117\r\n- Add setFilterSlidedownWrapperAttributes and setFilterSlidedownRowAttributes by @lrljoe in https://github.com/rappasoft/laravel-livewire-\n[…]\ns://github.com/rappasoft/laravel-livewire-tables/pull/2104\r\n- Add missing LivewireComponentFilterTest and BooleanFilterTest by @lrljoe in https://github.com/rappasoft/laravel-livewire-tables/pull/2121",
          "is_bot": false,
          "headline": "v3.5.8 Development to Master (#2125)",
          "author_name": "Joe",
          "author_login": "lrljoe",
          "committed_at": "2024-12-10T20:52:04Z",
          "body_truncated": true,
          "is_coding_agent": false
        },
        {
          "oid": "d5b2dc87839f150b3e31333ef5610e8864c70675",
          "body": null,
          "is_bot": false,
          "headline": "Update ChangeLog",
          "author_name": "Joe",
          "author_login": "lrljoe",
          "committed_at": "2024-12-10T14:29:32Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "91d183e7d560e675a609cc6cf436546b4c9d3fcc",
          "body": "* Add missing LivewireComponentFilterTest and BooleanFilterTest\r\n\r\n* Fix styling\r\n\r\n---------\r\n\r\nCo-authored-by: lrljoe <lrljoe@users.noreply.github.com>",
          "is_bot": false,
          "headline": "Add missing LivewireComponentFilterTest and BooleanFilterTest (#2121)",
          "author_name": "Joe",
          "author_login": "lrljoe",
          "committed_at": "2024-12-08T03:11:15Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "9ef4587014e9601fbc078f2ec63d602fe746fe31",
          "body": "…ibutes (#2120)\n\n* Add setFilterSlidedownRowAttributes and setFilterSlidedownWrapperAttributes\r\n\r\n* Fix styling\r\n\r\n---------\r\n\r\nCo-authored-by: lrljoe <lrljoe@users.noreply.github.com>",
          "is_bot": false,
          "headline": "Add setFilterSlidedownWrapperAttributes and setFilterSlidedownRowAttr…",
          "author_name": "Joe",
          "author_login": "lrljoe",
          "committed_at": "2024-12-08T02:57:40Z",
          "body_truncated": false,
          "is_coding_agent": false
        }
      ],
      "releases_count": 100,
      "commits_last_year": 0,
      "latest_release_at": "2025-05-03T02:26:01Z",
      "latest_release_tag": "v3.7.3",
      "releases_from_tags": false,
      "days_since_last_push": 0,
      "active_weeks_last_year": 0,
      "days_since_latest_release": 450,
      "mean_days_between_releases": 17.3
    },
    "community": {
      "has_readme": true,
      "has_license": true,
      "has_description": true,
      "has_contributing": true,
      "health_percentage": 85,
      "has_issue_template": false,
      "has_code_of_conduct": false,
      "has_pull_request_template": true
    },
    "ecosystem": {
      "packages": [
        {
          "name": "rappasoft/laravel-livewire-tables",
          "exists": true,
          "license": "MIT",
          "keywords": [
            "laravel",
            "datatables",
            "tables",
            "livewire",
            "rappasoft"
          ],
          "ecosystem": "packagist",
          "matches_repo": true,
          "registry_url": "https://packagist.org/packages/rappasoft/laravel-livewire-tables",
          "is_deprecated": false,
          "latest_version": "v3.7.3",
          "repository_url": "https://github.com/rappasoft/laravel-livewire-tables",
          "versions_count": 150,
          "total_downloads": 2972502,
          "dependents_count": 30,
          "deprecation_note": null,
          "maintainers_count": null,
          "monthly_downloads": 57385,
          "first_published_at": null,
          "latest_published_at": "2025-05-03T02:24:46Z",
          "latest_version_yanked": null,
          "days_since_latest_publish": 450
        }
      ]
    },
    "popularity": {
      "forks": 373,
      "stars": 1975,
      "watchers": 39,
      "fork_history": {
        "days": [
          {
            "date": "2020-03-31",
            "count": 1
          },
          {
            "date": "2020-04-17",
            "count": 1
          },
          {
            "date": "2020-07-07",
            "count": 1
          },
          {
            "date": "2020-07-09",
            "count": 1
          },
          {
            "date": "2020-08-02",
            "count": 1
          },
          {
            "date": "2020-08-06",
            "count": 1
          },
          {
            "date": "2020-09-05",
            "count": 1
          },
          {
            "date": "2020-09-07",
            "count": 1
          },
          {
            "date": "2020-09-08",
            "count": 1
          },
          {
            "date": "2020-09-10",
            "count": 1
          },
          {
            "date": "2020-09-12",
            "count": 1
          },
          {
            "date": "2020-10-13",
            "count": 1
          },
          {
            "date": "2020-10-14",
            "count": 1
          },
          {
            "date": "2020-10-22",
            "count": 1
          },
          {
            "date": "2020-10-26",
            "count": 1
          },
          {
            "date": "2020-10-31",
            "count": 1
          },
          {
            "date": "2020-12-02",
            "count": 1
          },
          {
            "date": "2020-12-07",
            "count": 1
          },
          {
            "date": "2020-12-08",
            "count": 1
          },
          {
            "date": "2020-12-15",
            "count": 1
          },
          {
            "date": "2020-12-21",
            "count": 1
          },
          {
            "date": "2020-12-25",
            "count": 1
          },
          {
            "date": "2020-12-28",
            "count": 1
          },
          {
            "date": "2021-01-25",
            "count": 1
          },
          {
            "date": "2021-01-29",
            "count": 1
          },
          {
            "date": "2021-02-04",
            "count": 1
          },
          {
            "date": "2021-02-26",
            "count": 1
          },
          {
            "date": "2021-03-10",
            "count": 1
          },
          {
            "date": "2021-03-18",
            "count": 1
          },
          {
            "date": "2021-04-18",
            "count": 3
          },
          {
            "date": "2021-04-21",
            "count": 1
          },
          {
            "date": "2021-04-23",
            "count": 1
          },
          {
            "date": "2021-04-26",
            "count": 1
          },
          {
            "date": "2021-04-28",
            "count": 1
          },
          {
            "date": "2021-05-01",
            "count": 1
          },
          {
            "date": "2021-05-10",
            "count": 2
          },
          {
            "date": "2021-05-13",
            "count": 1
          },
          {
            "date": "2021-05-14",
            "count": 2
          },
          {
            "date": "2021-05-21",
            "count": 1
          },
          {
            "date": "2021-05-26",
            "count": 1
          },
          {
            "date": "2021-05-31",
            "count": 1
          },
          {
            "date": "2021-06-07",
            "count": 1
          },
          {
            "date": "2021-06-09",
            "count": 1
          },
          {
            "date": "2021-06-20",
            "count": 2
          },
          {
            "date": "2021-06-21",
            "count": 1
          },
          {
            "date": "2021-06-22",
            "count": 2
          },
          {
            "date": "2021-06-27",
            "count": 2
          },
          {
            "date": "2021-06-28",
            "count": 2
          },
          {
            "date": "2021-06-30",
            "count": 1
          },
          {
            "date": "2021-07-02",
            "count": 1
          },
          {
            "date": "2021-07-11",
            "count": 1
          },
          {
            "date": "2021-07-15",
            "count": 1
          },
          {
            "date": "2021-07-20",
            "count": 1
          },
          {
            "date": "2021-07-22",
            "count": 1
          },
          {
            "date": "2021-08-03",
            "count": 1
          },
          {
            "date": "2021-08-04",
            "count": 1
          },
          {
            "date": "2021-08-07",
            "count": 1
          },
          {
            "date": "2021-08-08",
            "count": 1
          },
          {
            "date": "2021-08-11",
            "count": 1
          },
          {
            "date": "2021-08-12",
            "count": 2
          },
          {
            "date": "2021-08-14",
            "count": 2
          },
          {
            "date": "2021-08-15",
            "count": 1
          },
          {
            "date": "2021-08-26",
            "count": 1
          },
          {
            "date": "2021-09-09",
            "count": 1
          },
          {
            "date": "2021-09-17",
            "count": 1
          },
          {
            "date": "2021-09-19",
            "count": 1
          },
          {
            "date": "2021-10-09",
            "count": 1
          },
          {
            "date": "2021-10-11",
            "count": 1
          },
          {
            "date": "2021-10-13",
            "count": 1
          },
          {
            "date": "2021-10-14",
            "count": 3
          },
          {
            "date": "2021-10-15",
            "count": 1
          },
          {
            "date": "2021-10-26",
            "count": 2
          },
          {
            "date": "2021-11-01",
            "count": 1
          },
          {
            "date": "2021-11-03",
            "count": 2
          },
          {
            "date": "2021-11-25",
            "count": 2
          },
          {
            "date": "2021-11-27",
            "count": 1
          },
          {
            "date": "2021-11-30",
            "count": 1
          },
          {
            "date": "2021-12-13",
            "count": 1
          },
          {
            "date": "2021-12-15",
            "count": 1
          },
          {
            "date": "2021-12-23",
            "count": 1
          },
          {
            "date": "2021-12-24",
            "count": 1
          },
          {
            "date": "2021-12-26",
            "count": 1
          },
          {
            "date": "2021-12-28",
            "count": 1
          },
          {
            "date": "2022-01-01",
            "count": 1
          },
          {
            "date": "2022-01-03",
            "count": 1
          },
          {
            "date": "2022-01-04",
            "count": 1
          },
          {
            "date": "2022-01-09",
            "count": 1
          },
          {
            "date": "2022-01-21",
            "count": 1
          },
          {
            "date": "2022-01-28",
            "count": 1
          },
          {
            "date": "2022-01-31",
            "count": 1
          },
          {
            "date": "2022-02-02",
            "count": 1
          },
          {
            "date": "2022-02-03",
            "count": 2
          },
          {
            "date": "2022-02-06",
            "count": 1
          },
          {
            "date": "2022-02-07",
            "count": 2
          },
          {
            "date": "2022-02-08",
            "count": 1
          },
          {
            "date": "2022-02-09",
            "count": 1
          },
          {
            "date": "2022-02-12",
            "count": 1
          },
          {
            "date": "2022-02-13",
            "count": 1
          },
          {
            "date": "2022-02-14",
            "count": 1
          },
          {
            "date": "2022-02-15",
            "count": 1
          },
          {
            "date": "2022-02-17",
            "count": 1
          },
          {
            "date": "2022-02-18",
            "count": 1
          },
          {
            "date": "2022-02-19",
            "count": 1
          },
          {
            "date": "2022-02-21",
            "count": 2
          },
          {
            "date": "2022-02-23",
            "count": 2
          },
          {
            "date": "2022-03-02",
            "count": 1
          },
          {
            "date": "2022-03-03",
            "count": 1
          },
          {
            "date": "2022-03-11",
            "count": 1
          },
          {
            "date": "2022-03-25",
            "count": 1
          },
          {
            "date": "2022-03-31",
            "count": 1
          },
          {
            "date": "2022-04-06",
            "count": 1
          },
          {
            "date": "2022-04-08",
            "count": 1
          },
          {
            "date": "2022-04-17",
            "count": 1
          },
          {
            "date": "2022-04-19",
            "count": 1
          },
          {
            "date": "2022-04-21",
            "count": 1
          },
          {
            "date": "2022-04-23",
            "count": 1
          },
          {
            "date": "2022-05-03",
            "count": 2
          },
          {
            "date": "2022-05-04",
            "count": 1
          },
          {
            "date": "2022-05-13",
            "count": 1
          },
          {
            "date": "2022-05-16",
            "count": 1
          },
          {
            "date": "2022-05-17",
            "count": 1
          },
          {
            "date": "2022-05-23",
            "count": 1
          },
          {
            "date": "2022-06-03",
            "count": 2
          },
          {
            "date": "2022-06-09",
            "count": 1
          },
          {
            "date": "2022-06-15",
            "count": 2
          },
          {
            "date": "2022-06-16",
            "count": 1
          },
          {
            "date": "2022-06-20",
            "count": 1
          },
          {
            "date": "2022-06-21",
            "count": 1
          },
          {
            "date": "2022-06-22",
            "count": 1
          },
          {
            "date": "2022-06-28",
            "count": 1
          },
          {
            "date": "2022-06-30",
            "count": 1
          },
          {
            "date": "2022-07-04",
            "count": 1
          },
          {
            "date": "2022-07-09",
            "count": 1
          },
          {
            "date": "2022-07-11",
            "count": 1
          },
          {
            "date": "2022-07-23",
            "count": 1
          },
          {
            "date": "2022-07-25",
            "count": 1
          },
          {
            "date": "2022-07-26",
            "count": 1
          },
          {
            "date": "2022-07-29",
            "count": 1
          },
          {
            "date": "2022-08-03",
            "count": 1
          },
          {
            "date": "2022-08-06",
            "count": 1
          },
          {
            "date": "2022-08-19",
            "count": 1
          },
          {
            "date": "2022-08-21",
            "count": 1
          },
          {
            "date": "2022-08-30",
            "count": 1
          },
          {
            "date": "2022-09-06",
            "count": 1
          },
          {
            "date": "2022-09-08",
            "count": 1
          },
          {
            "date": "2022-09-09",
            "count": 1
          },
          {
            "date": "2022-09-15",
            "count": 1
          },
          {
            "date": "2022-09-26",
            "count": 1
          },
          {
            "date": "2022-10-11",
            "count": 1
          },
          {
            "date": "2022-10-13",
            "count": 2
          },
          {
            "date": "2022-10-26",
            "count": 2
          },
          {
            "date": "2022-11-05",
            "count": 1
          },
          {
            "date": "2022-11-06",
            "count": 1
          },
          {
            "date": "2022-11-09",
            "count": 1
          },
          {
            "date": "2022-11-15",
            "count": 2
          },
          {
            "date": "2022-11-24",
            "count": 1
          },
          {
            "date": "2022-11-25",
            "count": 1
          },
          {
            "date": "2022-12-04",
            "count": 1
          },
          {
            "date": "2022-12-08",
            "count": 1
          },
          {
            "date": "2022-12-12",
            "count": 2
          },
          {
            "date": "2022-12-15",
            "count": 1
          },
          {
            "date": "2022-12-20",
            "count": 1
          },
          {
            "date": "2022-12-27",
            "count": 1
          },
          {
            "date": "2022-12-29",
            "count": 1
          },
          {
            "date": "2023-01-04",
            "count": 1
          },
          {
            "date": "2023-01-07",
            "count": 1
          },
          {
            "date": "2023-01-18",
            "count": 1
          },
          {
            "date": "2023-01-23",
            "count": 1
          },
          {
            "date": "2023-01-27",
            "count": 1
          },
          {
            "date": "2023-02-04",
            "count": 2
          },
          {
            "date": "2023-02-13",
            "count": 1
          },
          {
            "date": "2023-02-15",
            "count": 1
          },
          {
            "date": "2023-02-16",
            "count": 2
          },
          {
            "date": "2023-02-18",
            "count": 1
          },
          {
            "date": "2023-02-21",
            "count": 1
          },
          {
            "date": "2023-02-24",
            "count": 2
          },
          {
            "date": "2023-03-13",
            "count": 1
          },
          {
            "date": "2023-03-17",
            "count": 1
          },
          {
            "date": "2023-03-21",
            "count": 2
          },
          {
            "date": "2023-03-27",
            "count": 1
          },
          {
            "date": "2023-04-01",
            "count": 1
          },
          {
            "date": "2023-04-03",
            "count": 1
          },
          {
            "date": "2023-04-04",
            "count": 1
          },
          {
            "date": "2023-04-13",
            "count": 1
          },
          {
            "date": "2023-04-24",
            "count": 1
          },
          {
            "date": "2023-05-02",
            "count": 1
          },
          {
            "date": "2023-05-09",
            "count": 1
          },
          {
            "date": "2023-05-17",
            "count": 2
          },
          {
            "date": "2023-05-18",
            "count": 1
          },
          {
            "date": "2023-06-16",
            "count": 1
          },
          {
            "date": "2023-07-03",
            "count": 1
          },
          {
            "date": "2023-07-06",
            "count": 1
          },
          {
            "date": "2023-07-13",
            "count": 1
          },
          {
            "date": "2023-07-16",
            "count": 1
          },
          {
            "date": "2023-07-23",
            "count": 1
          },
          {
            "date": "2023-07-24",
            "count": 1
          },
          {
            "date": "2023-07-28",
            "count": 1
          },
          {
            "date": "2023-08-06",
            "count": 1
          },
          {
            "date": "2023-08-07",
            "count": 1
          },
          {
            "date": "2023-08-09",
            "count": 1
          },
          {
            "date": "2023-08-17",
            "count": 2
          },
          {
            "date": "2023-08-25",
            "count": 2
          },
          {
            "date": "2023-08-26",
            "count": 1
          },
          {
            "date": "2023-09-05",
            "count": 1
          },
          {
            "date": "2023-09-10",
            "count": 1
          },
          {
            "date": "2023-09-17",
            "count": 1
          },
          {
            "date": "2023-09-21",
            "count": 1
          },
          {
            "date": "2023-10-05",
            "count": 1
          },
          {
            "date": "2023-10-07",
            "count": 1
          },
          {
            "date": "2023-10-08",
            "count": 2
          },
          {
            "date": "2023-10-13",
            "count": 1
          },
          {
            "date": "2023-10-14",
            "count": 1
          },
          {
            "date": "2023-10-15",
            "count": 1
          },
          {
            "date": "2023-10-19",
            "count": 1
          },
          {
            "date": "2023-10-20",
            "count": 1
          },
          {
            "date": "2023-10-29",
            "count": 1
          },
          {
            "date": "2023-11-01",
            "count": 1
          },
          {
            "date": "2023-11-06",
            "count": 1
          },
          {
            "date": "2023-11-13",
            "count": 1
          },
          {
            "date": "2023-11-17",
            "count": 1
          },
          {
            "date": "2023-11-19",
            "count": 1
          },
          {
            "date": "2023-11-22",
            "count": 1
          },
          {
            "date": "2023-11-23",
            "count": 1
          },
          {
            "date": "2023-11-30",
            "count": 1
          },
          {
            "date": "2023-12-13",
            "count": 1
          },
          {
            "date": "2023-12-14",
            "count": 1
          },
          {
            "date": "2024-01-14",
            "count": 1
          },
          {
            "date": "2024-02-01",
            "count": 1
          },
          {
            "date": "2024-02-20",
            "count": 1
          },
          {
            "date": "2024-03-04",
            "count": 1
          },
          {
            "date": "2024-03-05",
            "count": 1
          },
          {
            "date": "2024-03-16",
            "count": 1
          },
          {
            "date": "2024-03-18",
            "count": 1
          },
          {
            "date": "2024-03-22",
            "count": 1
          },
          {
            "date": "2024-03-25",
            "count": 1
          },
          {
            "date": "2024-03-26",
            "count": 1
          },
          {
            "date": "2024-04-06",
            "count": 1
          },
          {
            "date": "2024-04-10",
            "count": 1
          },
          {
            "date": "2024-05-03",
            "count": 1
          },
          {
            "date": "2024-05-13",
            "count": 1
          },
          {
            "date": "2024-05-31",
            "count": 1
          },
          {
            "date": "2024-06-11",
            "count": 1
          },
          {
            "date": "2024-06-17",
            "count": 1
          },
          {
            "date": "2024-06-19",
            "count": 1
          },
          {
            "date": "2024-06-20",
            "count": 1
          },
          {
            "date": "2024-07-15",
            "count": 1
          },
          {
            "date": "2024-08-01",
            "count": 1
          },
          {
            "date": "2024-08-08",
            "count": 1
          },
          {
            "date": "2024-08-27",
            "count": 1
          },
          {
            "date": "2024-09-03",
            "count": 1
          },
          {
            "date": "2024-09-04",
            "count": 1
          },
          {
            "date": "2024-09-09",
            "count": 1
          },
          {
            "date": "2024-09-23",
            "count": 1
          },
          {
            "date": "2024-10-01",
            "count": 1
          },
          {
            "date": "2024-10-13",
            "count": 1
          },
          {
            "date": "2024-10-20",
            "count": 1
          },
          {
            "date": "2024-10-23",
            "count": 1
          },
          {
            "date": "2024-10-25",
            "count": 1
          },
          {
            "date": "2024-10-31",
            "count": 1
          },
          {
            "date": "2024-11-01",
            "count": 1
          },
          {
            "date": "2024-11-11",
            "count": 1
          },
          {
            "date": "2024-11-12",
            "count": 1
          },
          {
            "date": "2024-11-16",
            "count": 1
          },
          {
            "date": "2024-11-30",
            "count": 1
          },
          {
            "date": "2024-12-03",
            "count": 1
          },
          {
            "date": "2025-01-13",
            "count": 1
          },
          {
            "date": "2025-01-19",
            "count": 1
          },
          {
            "date": "2025-01-30",
            "count": 1
          },
          {
            "date": "2025-02-05",
            "count": 1
          },
          {
            "date": "2025-02-20",
            "count": 2
          },
          {
            "date": "2025-02-25",
            "count": 1
          },
          {
            "date": "2025-03-02",
            "count": 1
          },
          {
            "date": "2025-03-04",
            "count": 1
          },
          {
            "date": "2025-03-05",
            "count": 1
          },
          {
            "date": "2025-03-07",
            "count": 1
          },
          {
            "date": "2025-04-11",
            "count": 1
          },
          {
            "date": "2025-04-15",
            "count": 1
          },
          {
            "date": "2025-04-20",
            "count": 1
          },
          {
            "date": "2025-04-26",
            "count": 1
          },
          {
            "date": "2025-05-16",
            "count": 1
          },
          {
            "date": "2025-05-17",
            "count": 1
          },
          {
            "date": "2025-06-11",
            "count": 1
          },
          {
            "date": "2025-06-24",
            "count": 1
          },
          {
            "date": "2025-06-29",
            "count": 1
          },
          {
            "date": "2025-07-01",
            "count": 1
          },
          {
            "date": "2025-07-02",
            "count": 1
          },
          {
            "date": "2025-07-03",
            "count": 1
          },
          {
            "date": "2025-07-08",
            "count": 1
          },
          {
            "date": "2025-07-11",
            "count": 1
          },
          {
            "date": "2025-07-15",
            "count": 1
          },
          {
            "date": "2025-07-18",
            "count": 1
          },
          {
            "date": "2025-07-24",
            "count": 1
          },
          {
            "date": "2025-07-29",
            "count": 1
          },
          {
            "date": "2025-08-12",
            "count": 1
          },
          {
            "date": "2025-08-20",
            "count": 1
          },
          {
            "date": "2025-08-22",
            "count": 1
          },
          {
            "date": "2025-09-15",
            "count": 1
          },
          {
            "date": "2025-09-16",
            "count": 1
          },
          {
            "date": "2025-09-19",
            "count": 1
          },
          {
            "date": "2025-09-22",
            "count": 1
          },
          {
            "date": "2025-11-11",
            "count": 1
          },
          {
            "date": "2026-01-18",
            "count": 1
          },
          {
            "date": "2026-01-26",
            "count": 1
          },
          {
            "date": "2026-02-02",
            "count": 1
          },
          {
            "date": "2026-02-22",
            "count": 1
          },
          {
            "date": "2026-03-05",
            "count": 1
          },
          {
            "date": "2026-03-20",
            "count": 1
          },
          {
            "date": "2026-03-26",
            "count": 1
          },
          {
            "date": "2026-04-01",
            "count": 1
          },
          {
            "date": "2026-04-08",
            "count": 1
          },
          {
            "date": "2026-04-20",
            "count": 1
          },
          {
            "date": "2026-04-22",
            "count": 1
          },
          {
            "date": "2026-05-14",
            "count": 2
          },
          {
            "date": "2026-06-03",
            "count": 1
          },
          {
            "date": "2026-06-11",
            "count": 1
          },
          {
            "date": "2026-06-21",
            "count": 1
          },
          {
            "date": "2026-06-30",
            "count": 1
          },
          {
            "date": "2026-07-06",
            "count": 1
          },
          {
            "date": "2026-07-20",
            "count": 1
          },
          {
            "date": "2026-07-21",
            "count": 1
          },
          {
            "date": "2026-07-24",
            "count": 1
          },
          {
            "date": "2026-07-25",
            "count": 1
          }
        ],
        "complete": true,
        "collected": 358,
        "total_forks": 373
      },
      "star_history": null,
      "open_issues_and_prs": 6
    },
    "ai_readiness": {
      "has_nix": false,
      "example_dirs": [
        "examples"
      ],
      "has_llms_txt": false,
      "has_dockerfile": false,
      "has_mcp_signal": false,
      "bootstrap_files": [],
      "api_schema_files": [],
      "has_devcontainer": false,
      "typecheck_configs": [],
      "toolchain_manifests": [],
      "largest_source_bytes": 58061,
      "source_files_sampled": 570,
      "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": 13,
        "direct_affected_count": 0
      },
      "ecosystems": [
        "packagist"
      ],
      "dependencies": [
        {
          "name": "blade-ui-kit/blade-heroicons",
          "manifest": "composer.json",
          "ecosystem": "packagist",
          "version_constraint": "^2.1"
        },
        {
          "name": "illuminate/contracts",
          "manifest": "composer.json",
          "ecosystem": "packagist",
          "version_constraint": "^10.0|^11.0|^12.0"
        },
        {
          "name": "illuminate/support",
          "manifest": "composer.json",
          "ecosystem": "packagist",
          "version_constraint": "^10.0|^11.0|^12.0"
        },
        {
          "name": "livewire/livewire",
          "manifest": "composer.json",
          "ecosystem": "packagist",
          "version_constraint": "^3.0|dev-main"
        }
      ],
      "all_dependencies": {
        "error": null,
        "source": "github-sbom",
        "packages": [
          {
            "name": "blade-ui-kit/blade-heroicons",
            "direct": true,
            "version": null,
            "ecosystem": "packagist"
          },
          {
            "name": "illuminate/contracts",
            "direct": true,
            "version": null,
            "ecosystem": "packagist"
          },
          {
            "name": "illuminate/support",
            "direct": true,
            "version": null,
            "ecosystem": "packagist"
          },
          {
            "name": "livewire/livewire",
            "direct": true,
            "version": null,
            "ecosystem": "packagist"
          },
          {
            "name": "brianium/paratest",
            "direct": false,
            "version": null,
            "ecosystem": "packagist"
          },
          {
            "name": "ext-sqlite3",
            "direct": false,
            "version": null,
            "ecosystem": "packagist"
          },
          {
            "name": "larastan/larastan",
            "direct": false,
            "version": null,
            "ecosystem": "packagist"
          },
          {
            "name": "laravel/pint",
            "direct": false,
            "version": null,
            "ecosystem": "packagist"
          },
          {
            "name": "monolog/monolog",
            "direct": false,
            "version": null,
            "ecosystem": "packagist"
          },
          {
            "name": "nunomaduro/collision",
            "direct": false,
            "version": null,
            "ecosystem": "packagist"
          },
          {
            "name": "orchestra/testbench",
            "direct": false,
            "version": null,
            "ecosystem": "packagist"
          },
          {
            "name": "php",
            "direct": false,
            "version": null,
            "ecosystem": "packagist"
          },
          {
            "name": "phpunit/phpunit",
            "direct": false,
            "version": null,
            "ecosystem": "packagist"
          }
        ],
        "collected": true,
        "truncated": false,
        "total_count": 13,
        "direct_count": 4,
        "indirect_count": 9
      }
    },
    "maintainership": {
      "issues": {
        "open_prs": 4,
        "merged_prs": 817,
        "open_issues": 2,
        "closed_ratio": 0.996,
        "closed_issues": 552,
        "closed_unmerged_prs": 209
      },
      "bus_factor": 2,
      "bot_contributors": 0,
      "top_contributors": [
        {
          "type": "User",
          "login": "lrljoe",
          "commits": 1042,
          "avatar_url": "https://avatars.githubusercontent.com/u/104938042?v=4"
        },
        {
          "type": "User",
          "login": "rappasoft",
          "commits": 985,
          "avatar_url": "https://avatars.githubusercontent.com/u/6026504?v=4"
        },
        {
          "type": "User",
          "login": "bdelamatre",
          "commits": 42,
          "avatar_url": "https://avatars.githubusercontent.com/u/3412927?v=4"
        },
        {
          "type": "User",
          "login": "fabio-ivona",
          "commits": 32,
          "avatar_url": "https://avatars.githubusercontent.com/u/8792274?v=4"
        },
        {
          "type": "User",
          "login": "inmanturbo",
          "commits": 21,
          "avatar_url": "https://avatars.githubusercontent.com/u/47095624?v=4"
        },
        {
          "type": "User",
          "login": "abdosaeedelhassan",
          "commits": 16,
          "avatar_url": "https://avatars.githubusercontent.com/u/15355610?v=4"
        },
        {
          "type": "User",
          "login": "KaulSe",
          "commits": 7,
          "avatar_url": "https://avatars.githubusercontent.com/u/45340011?v=4"
        },
        {
          "type": "User",
          "login": "macbookandrew",
          "commits": 6,
          "avatar_url": "https://avatars.githubusercontent.com/u/784333?v=4"
        },
        {
          "type": "User",
          "login": "juliomotol",
          "commits": 6,
          "avatar_url": "https://avatars.githubusercontent.com/u/21353103?v=4"
        },
        {
          "type": "User",
          "login": "lloricode",
          "commits": 6,
          "avatar_url": "https://avatars.githubusercontent.com/u/8251344?v=4"
        }
      ],
      "contributors_sampled": 100,
      "top_contributor_share": 0.447
    },
    "quality_signals": {
      "has_ci": true,
      "has_tests": true,
      "ci_workflows": [
        "discord-releases.yml",
        "pint.yml",
        "run-phpstan-pull.yml",
        "run-phpstan.yml",
        "run-tests-pcov-pull.yml",
        "run-tests-pull.yml",
        "run-tests.yml"
      ],
      "has_docs_dir": true,
      "linter_configs": [
        "phpstan.neon"
      ],
      "has_editorconfig": true,
      "has_linter_config": true,
      "has_precommit_config": false
    },
    "security_signals": {
      "lockfiles": [],
      "scorecard": {
        "checks": [
          {
            "name": "Binary-Artifacts",
            "score": 10,
            "reason": "no binaries found in the repo",
            "documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#binary-artifacts"
          },
          {
            "name": "Branch-Protection",
            "score": 0,
            "reason": "branch protection not enabled on development/release branches",
            "documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#branch-protection"
          },
          {
            "name": "CI-Tests",
            "score": 0,
            "reason": "0 out of 24 merged PRs checked by a CI test -- score normalized to 0",
            "documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#ci-tests"
          },
          {
            "name": "CII-Best-Practices",
            "score": 0,
            "reason": "no effort to earn an OpenSSF best practices badge detected",
            "documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#cii-best-practices"
          },
          {
            "name": "Code-Review",
            "score": 1,
            "reason": "Found 4/25 approved changesets -- score normalized to 1",
            "documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#code-review"
          },
          {
            "name": "Contributors",
            "score": 10,
            "reason": "project has 19 contributing companies or organizations",
            "documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#contributors"
          },
          {
            "name": "Dangerous-Workflow",
            "score": null,
            "reason": "no workflows found",
            "documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#dangerous-workflow"
          },
          {
            "name": "Dependency-Update-Tool",
            "score": 0,
            "reason": "no update tool detected",
            "documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#dependency-update-tool"
          },
          {
            "name": "Fuzzing",
            "score": 0,
            "reason": "project is not fuzzed",
            "documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#fuzzing"
          },
          {
            "name": "License",
            "score": 10,
            "reason": "license file detected",
            "documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#license"
          },
          {
            "name": "Maintained",
            "score": 0,
            "reason": "0 commit(s) and 0 issue activity found in the last 90 days -- score normalized to 0",
            "documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#maintained"
          },
          {
            "name": "Packaging",
            "score": null,
            "reason": "packaging workflow not detected",
            "documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#packaging"
          },
          {
            "name": "Pinned-Dependencies",
            "score": null,
            "reason": "no dependencies found",
            "documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#pinned-dependencies"
          },
          {
            "name": "SAST",
            "score": 0,
            "reason": "SAST tool is not run on all commits -- score normalized to 0",
            "documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#sast"
          },
          {
            "name": "Security-Policy",
            "score": 0,
            "reason": "security policy file not detected",
            "documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#security-policy"
          },
          {
            "name": "Signed-Releases",
            "score": null,
            "reason": "no releases found",
            "documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#signed-releases"
          },
          {
            "name": "Token-Permissions",
            "score": null,
            "reason": "No tokens found",
            "documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#token-permissions"
          },
          {
            "name": "Vulnerabilities",
            "score": 10,
            "reason": "0 existing vulnerabilities detected",
            "documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#vulnerabilities"
          }
        ],
        "commit": "74beb4c2672e024000d41ecad8a17b4ab8c934bd",
        "ran_at": "2026-07-27T18:50:58Z",
        "aggregate_score": 3,
        "scorecard_version": "v5.5.0"
      },
      "has_codeql_workflow": false,
      "has_security_policy": true,
      "has_dependabot_config": false
    },
    "contribution_flow": {
      "collected": true,
      "ci_last_run_at": "2026-05-20T15:35:00Z",
      "oldest_open_prs": [
        {
          "number": 2324,
          "created_at": "2026-04-01T09:27:36Z",
          "last_comment_at": "2026-07-06T17:19:12Z",
          "last_comment_author": "Carlos-Chub"
        },
        {
          "number": 2329,
          "created_at": "2026-07-04T01:50:15Z",
          "last_comment_at": "2026-07-04T01:53:25Z",
          "last_comment_author": "codecov"
        },
        {
          "number": 2331,
          "created_at": "2026-07-25T06:38:02Z",
          "last_comment_at": null,
          "last_comment_author": null
        },
        {
          "number": 2332,
          "created_at": "2026-07-27T18:45:03Z",
          "last_comment_at": null,
          "last_comment_author": null
        }
      ],
      "last_merged_pr_at": "2025-06-04T02:27:05Z",
      "ci_last_conclusion": "FAILURE",
      "oldest_open_issues": [
        {
          "number": 2327,
          "created_at": "2026-05-15T11:01:15Z",
          "last_comment_at": "2026-06-29T06:56:12Z",
          "last_comment_author": "raiyan-appdid"
        },
        {
          "number": 2328,
          "created_at": "2026-06-19T10:24:25Z",
          "last_comment_at": "2026-07-24T04:46:55Z",
          "last_comment_author": "stale"
        }
      ]
    }
  },
  "config": {
    "disabled_metrics": [],
    "disabled_categories": [],
    "disabled_components": {}
  },
  "source": {
    "url": "https://github.com/rappasoft/laravel-livewire-tables",
    "host": "github.com",
    "name": "laravel-livewire-tables",
    "owner": "rappasoft"
  },
  "metrics": {
    "overall": {
      "key": "overall",
      "band": "at_risk",
      "name": "Overall health",
      "note": "Abandonment Policy applies a 60% multiplier to weighted overall health and gives it a ceiling of 49.",
      "notes": [
        {
          "code": "abandonment_overall_adjustment",
          "params": {
            "cap": 49,
            "pct": 60
          }
        }
      ],
      "value": 37,
      "inputs": {
        "security": 30,
        "vitality": 49,
        "community": 79,
        "governance": 70,
        "engineering": 78,
        "abandonment_cap": 49,
        "abandonment_state": "likely_abandoned",
        "abandonment_multiplier": 60,
        "weighted_overall_before_abandonment": 62,
        "overall_after_abandonment_multiplier": 37
      },
      "components": []
    },
    "categories": [
      {
        "key": "vitality",
        "band": "at_risk",
        "name": "Vitality",
        "value": 49,
        "weight": 0.22,
        "metrics": [
          {
            "key": "development_activity",
            "band": "at_risk",
            "name": "Development activity",
            "note": null,
            "notes": [],
            "value": 36,
            "inputs": {
              "commits_last_year": 0,
              "human_commit_share": 1,
              "days_since_last_push": 0,
              "active_weeks_last_year": 0
            },
            "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": "0/52 weeks with commits",
                "points": 0,
                "status": "missed",
                "details": [
                  {
                    "code": "commit_cadence_weeks",
                    "params": {
                      "weeks": 0
                    }
                  }
                ],
                "max_points": 36
              },
              {
                "key": "commit_volume",
                "name": "Commit volume",
                "detail": "0 commits in the last year",
                "points": 0,
                "status": "missed",
                "details": [
                  {
                    "code": "commits_last_year",
                    "params": {
                      "count": 0
                    }
                  }
                ],
                "max_points": 18
              },
              {
                "key": "openssf_scorecard_maintained",
                "name": "OpenSSF Scorecard: Maintained",
                "detail": "0 commit(s) and 0 issue activity found in the last 90 days -- score normalized to 0",
                "points": 0,
                "status": "missed",
                "details": [],
                "max_points": 10
              }
            ]
          },
          {
            "key": "release_discipline",
            "band": "moderate",
            "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": 68,
            "inputs": {
              "releases_count": 100,
              "latest_release_tag": "v3.7.3",
              "releases_from_tags": false,
              "days_since_latest_release": 450,
              "mean_days_between_releases": 17.3
            },
            "components": [
              {
                "key": "ships_releases",
                "name": "Ships releases",
                "detail": "100 releases published",
                "points": 27,
                "status": "met",
                "details": [
                  {
                    "code": "releases_published",
                    "params": {
                      "count": 100
                    }
                  }
                ],
                "max_points": 27
              },
              {
                "key": "release_recency",
                "name": "Release recency",
                "detail": "latest release 450 days ago",
                "points": 7.2,
                "status": "partial",
                "details": [
                  {
                    "code": "release_recency",
                    "params": {
                      "days": 450
                    }
                  }
                ],
                "max_points": 36
              },
              {
                "key": "release_cadence",
                "name": "Release cadence",
                "detail": "a release every ~17.3 days",
                "points": 27,
                "status": "met",
                "details": [
                  {
                    "code": "release_cadence",
                    "params": {
                      "gap": 17.3
                    }
                  }
                ],
                "max_points": 27
              },
              {
                "key": "openssf_scorecard_signed_releases",
                "name": "OpenSSF Scorecard: Signed-Releases",
                "detail": "no releases found",
                "points": 0,
                "status": "excluded",
                "details": [
                  {
                    "code": "no_data",
                    "params": {}
                  }
                ],
                "max_points": 10
              }
            ]
          },
          {
            "key": "abandonment",
            "band": "moderate",
            "name": "Abandonment",
            "note": null,
            "notes": [],
            "value": 60,
            "inputs": {
              "cap": 49,
              "state": "likely_abandoned",
              "guards": [],
              "signals": [
                "release_stall",
                "scorecard_unmaintained",
                "broken_ci"
              ],
              "red_flag": true,
              "multiplier_pct": 60,
              "declared_reason": null,
              "unverified_reason": null,
              "unanswered_open_prs": 0,
              "unanswered_open_issues": 0,
              "days_since_last_merged_pr": 418,
              "days_since_last_human_commit": 450,
              "days_since_last_human_commit_is_floor": false
            },
            "components": [
              {
                "key": "project_is_still_maintained",
                "name": "Project is still maintained",
                "detail": "no human commit for 450 days; 3 unmet obligation(s): releases stalled, Scorecard reports it unmaintained, CI broken",
                "points": 60,
                "status": "partial",
                "details": [
                  {
                    "code": "abandonment_flagged",
                    "params": {
                      "days": 450,
                      "count": 3,
                      "signals": "releases stalled, Scorecard reports it unmaintained, CI broken"
                    }
                  }
                ],
                "max_points": 100
              }
            ]
          }
        ],
        "description": "Is the project alive — is code being written and are releases shipping?"
      },
      {
        "key": "community",
        "band": "good",
        "name": "Community & Adoption",
        "value": 79,
        "weight": 0.18,
        "metrics": [
          {
            "key": "popularity",
            "band": "good",
            "name": "Popularity & adoption",
            "note": null,
            "notes": [],
            "value": 84,
            "inputs": {
              "forks": 373,
              "stars": 1975,
              "watchers": 39,
              "growth_state": "unverified",
              "growth_factor_pct": 100,
              "growth_unverified_reason": "no_history"
            },
            "components": [
              {
                "key": "stars",
                "name": "Stars",
                "detail": "1,975 stars",
                "points": 53.5,
                "status": "partial",
                "details": [
                  {
                    "code": "stars",
                    "params": {
                      "count": 1975
                    }
                  }
                ],
                "max_points": 60
              },
              {
                "key": "forks",
                "name": "Forks",
                "detail": "373 forks",
                "points": 21.4,
                "status": "partial",
                "details": [
                  {
                    "code": "forks",
                    "params": {
                      "count": 373
                    }
                  }
                ],
                "max_points": 25
              },
              {
                "key": "watchers",
                "name": "Watchers",
                "detail": "39 watchers",
                "points": 8.8,
                "status": "partial",
                "details": [
                  {
                    "code": "watchers",
                    "params": {
                      "count": 39
                    }
                  }
                ],
                "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": 73,
            "inputs": {
              "packages": [
                "rappasoft/laravel-livewire-tables"
              ],
              "dependents": 30,
              "ecosystems": "packagist",
              "total_downloads": 2972502,
              "monthly_downloads": 57385
            },
            "components": [
              {
                "key": "monthly_downloads",
                "name": "Monthly downloads",
                "detail": "57,385 downloads/month across packagist",
                "points": 63.5,
                "status": "partial",
                "details": [
                  {
                    "code": "downloads_monthly",
                    "params": {
                      "count": 57385,
                      "ecosystems": "packagist"
                    }
                  }
                ],
                "max_points": 80
              },
              {
                "key": "registry_dependents",
                "name": "Registry dependents",
                "detail": "30 packages depend on it",
                "points": 9.9,
                "status": "partial",
                "details": [
                  {
                    "code": "registry_dependents",
                    "params": {
                      "count": 30
                    }
                  }
                ],
                "max_points": 20
              }
            ]
          }
        ],
        "description": "Does the project have users, downloads, attention, and a welcoming setup for contributors?"
      },
      {
        "key": "governance",
        "band": "good",
        "name": "Sustainability & Governance",
        "value": 70,
        "weight": 0.24,
        "metrics": [
          {
            "key": "maintainer_resilience",
            "band": "moderate",
            "name": "Maintainer resilience (bus factor)",
            "note": null,
            "notes": [],
            "value": 61,
            "inputs": {
              "bus_factor": 2,
              "contributors_sampled": 100,
              "top_contributor_share": 0.447
            },
            "components": [
              {
                "key": "bus_factor",
                "name": "Bus factor",
                "detail": "2 contributor(s) cover half of all commits",
                "points": 25.2,
                "status": "partial",
                "details": [
                  {
                    "code": "bus_factor",
                    "params": {
                      "count": 2
                    }
                  }
                ],
                "max_points": 54
              },
              {
                "key": "commit_distribution",
                "name": "Commit distribution",
                "detail": "top contributor authored 45% of commits",
                "points": 12.4,
                "status": "partial",
                "details": [
                  {
                    "code": "top_contributor_share",
                    "params": {
                      "share": 45
                    }
                  }
                ],
                "max_points": 22.5
              },
              {
                "key": "contributor_breadth",
                "name": "Contributor breadth",
                "detail": "100 contributors",
                "points": 13.5,
                "status": "met",
                "details": [
                  {
                    "code": "contributors_sampled",
                    "params": {
                      "count": 100
                    }
                  }
                ],
                "max_points": 13.5
              },
              {
                "key": "openssf_scorecard_contributors",
                "name": "OpenSSF Scorecard: Contributors",
                "detail": "project has 19 contributing companies or organizations",
                "points": 10,
                "status": "met",
                "details": [],
                "max_points": 10
              }
            ]
          },
          {
            "key": "responsiveness",
            "band": "good",
            "name": "Issue & PR responsiveness",
            "note": null,
            "notes": [],
            "value": 79,
            "inputs": {
              "merged_prs": 817,
              "open_issues": 2,
              "closed_issues": 552,
              "issue_closed_ratio": 0.996,
              "closed_unmerged_prs": 209
            },
            "components": [
              {
                "key": "issue_resolution",
                "name": "Issue resolution",
                "detail": "100% of issues closed",
                "points": 46.6,
                "status": "partial",
                "details": [
                  {
                    "code": "issues_closed_share",
                    "params": {
                      "share": 100
                    }
                  }
                ],
                "max_points": 46.75
              },
              {
                "key": "pr_acceptance",
                "name": "PR acceptance",
                "detail": "817/1026 decided PRs merged",
                "points": 30.5,
                "status": "partial",
                "details": [
                  {
                    "code": "decided_prs_merged",
                    "params": {
                      "merged": 817,
                      "decided": 1026
                    }
                  }
                ],
                "max_points": 38.25
              },
              {
                "key": "openssf_scorecard_code_review",
                "name": "OpenSSF Scorecard: Code-Review",
                "detail": "Found 4/25 approved changesets -- score normalized to 1",
                "points": 1.5,
                "status": "partial",
                "details": [],
                "max_points": 15
              }
            ]
          },
          {
            "key": "stewardship",
            "band": "moderate",
            "name": "Ownership & stewardship",
            "note": "Excluded from scoring (no data or not applicable): Verified domain. Remaining weights renormalized.",
            "notes": [
              {
                "code": "excluded_no_data",
                "params": {
                  "components": [
                    "verified_domain"
                  ]
                }
              },
              {
                "code": "weights_renormalized",
                "params": {}
              }
            ],
            "value": 66,
            "inputs": {
              "followers": 878,
              "owner_type": "User",
              "is_verified": null,
              "owner_login": "rappasoft",
              "public_repos": 20,
              "account_age_days": 4627
            },
            "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": "878 followers of rappasoft",
                "points": 21.2,
                "status": "partial",
                "details": [
                  {
                    "code": "owner_followers",
                    "params": {
                      "count": 878,
                      "login": "rappasoft"
                    }
                  }
                ],
                "max_points": 25
              },
              {
                "key": "track_record",
                "name": "Track record",
                "detail": "20 public repos, account ~12 yr old",
                "points": 21.6,
                "status": "partial",
                "details": [
                  {
                    "code": "public_repos",
                    "params": {
                      "count": 20
                    }
                  },
                  {
                    "code": "account_age_years",
                    "params": {
                      "years": 12
                    }
                  }
                ],
                "max_points": 25
              }
            ]
          },
          {
            "key": "package_maintenance",
            "band": "good",
            "name": "Package maintenance",
            "note": null,
            "notes": [],
            "value": 79,
            "inputs": {
              "packages": [
                "rappasoft/laravel-livewire-tables"
              ],
              "ecosystems": "packagist",
              "any_deprecated": false,
              "min_days_since_publish": 450
            },
            "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 450 days ago",
                "points": 14,
                "status": "partial",
                "details": [
                  {
                    "code": "publish_recency",
                    "params": {
                      "days": 450
                    }
                  }
                ],
                "max_points": 35
              },
              {
                "key": "version_history",
                "name": "Version history",
                "detail": "150 published versions",
                "points": 20,
                "status": "met",
                "details": [
                  {
                    "code": "published_versions",
                    "params": {
                      "count": 150
                    }
                  }
                ],
                "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": 70,
            "inputs": {
              "has_ci": true,
              "has_tests": true,
              "has_editorconfig": true,
              "has_linter_config": true,
              "has_precommit_config": false
            },
            "components": [
              {
                "key": "ci_workflows",
                "name": "CI workflows",
                "detail": "7 workflow(s)",
                "points": 24,
                "status": "met",
                "details": [
                  {
                    "code": "ci_workflows",
                    "params": {
                      "count": 7
                    }
                  }
                ],
                "max_points": 24
              },
              {
                "key": "tests_present",
                "name": "Tests present",
                "detail": null,
                "points": 24,
                "status": "met",
                "details": [],
                "max_points": 24
              },
              {
                "key": "linter_config",
                "name": "Linter config",
                "detail": "phpstan.neon",
                "points": 16,
                "status": "met",
                "details": [
                  {
                    "code": "file_list",
                    "params": {
                      "files": "phpstan.neon"
                    }
                  }
                ],
                "max_points": 16
              },
              {
                "key": "pre_commit_hooks",
                "name": "Pre-commit hooks",
                "detail": null,
                "points": 0,
                "status": "missed",
                "details": [],
                "max_points": 9.6
              },
              {
                "key": "editorconfig",
                "name": ".editorconfig",
                "detail": null,
                "points": 6.4,
                "status": "met",
                "details": [],
                "max_points": 6.4
              },
              {
                "key": "openssf_scorecard_ci_tests",
                "name": "OpenSSF Scorecard: CI-Tests",
                "detail": "0 out of 24 merged PRs checked by a CI test -- score normalized to 0",
                "points": 0,
                "status": "missed",
                "details": [],
                "max_points": 20
              }
            ]
          },
          {
            "key": "documentation",
            "band": "excellent",
            "name": "Documentation",
            "note": null,
            "notes": [],
            "value": 90,
            "inputs": {
              "topics": [
                "laravel-livewire",
                "laravel",
                "datatables",
                "livewire",
                "livewire-tables"
              ],
              "has_wiki": false,
              "homepage": "https://rappasoft.com/docs/laravel-livewire-tables/v2/introduction",
              "has_readme": true,
              "has_docs_dir": true,
              "has_description": true
            },
            "components": [
              {
                "key": "readme",
                "name": "README",
                "detail": null,
                "points": 30,
                "status": "met",
                "details": [],
                "max_points": 30
              },
              {
                "key": "documentation_directory",
                "name": "Documentation directory",
                "detail": null,
                "points": 25,
                "status": "met",
                "details": [],
                "max_points": 25
              },
              {
                "key": "documentation_homepage_site",
                "name": "Documentation / homepage site",
                "detail": "https://rappasoft.com/docs/laravel-livewire-tables/v2/introduction",
                "points": 15,
                "status": "met",
                "details": [],
                "max_points": 15
              },
              {
                "key": "repository_description",
                "name": "Repository description",
                "detail": null,
                "points": 10,
                "status": "met",
                "details": [],
                "max_points": 10
              },
              {
                "key": "topics",
                "name": "Topics",
                "detail": "5 topics",
                "points": 10,
                "status": "met",
                "details": [
                  {
                    "code": "topics_count",
                    "params": {
                      "count": 5
                    }
                  }
                ],
                "max_points": 10
              },
              {
                "key": "wiki",
                "name": "Wiki",
                "detail": null,
                "points": 0,
                "status": "missed",
                "details": [],
                "max_points": 10
              }
            ]
          }
        ],
        "description": "Are baseline engineering and documentation practices in place?"
      },
      {
        "key": "security",
        "band": "at_risk",
        "name": "Security",
        "value": 30,
        "weight": 0.16,
        "metrics": [
          {
            "key": "security_posture",
            "band": "at_risk",
            "name": "Security posture",
            "note": "Excluded from scoring (no data or not applicable): Dangerous-Workflow, Packaging, Pinned-Dependencies, Signed-Releases, Token-Permissions. Remaining weights renormalized.",
            "notes": [
              {
                "code": "excluded_no_data",
                "params": {
                  "components": [
                    "dangerous_workflow",
                    "packaging",
                    "pinned_dependencies",
                    "signed_releases",
                    "token_permissions"
                  ]
                }
              },
              {
                "code": "weights_renormalized",
                "params": {}
              }
            ],
            "value": 30,
            "inputs": {
              "source": "openssf_scorecard",
              "checks_evaluated": 13,
              "scorecard_version": "v5.5.0",
              "checks_inconclusive": 5,
              "scorecard_aggregate": 3
            },
            "components": [
              {
                "key": "binary_artifacts",
                "name": "Binary-Artifacts",
                "detail": "no binaries found in the repo",
                "points": 7.5,
                "status": "met",
                "details": [],
                "max_points": 7.5
              },
              {
                "key": "branch_protection",
                "name": "Branch-Protection",
                "detail": "branch protection not enabled on development/release branches",
                "points": 0,
                "status": "missed",
                "details": [],
                "max_points": 7.5
              },
              {
                "key": "ci_tests",
                "name": "CI-Tests",
                "detail": "0 out of 24 merged PRs checked by a CI test -- score normalized to 0",
                "points": 0,
                "status": "missed",
                "details": [],
                "max_points": 2.5
              },
              {
                "key": "cii_best_practices",
                "name": "CII-Best-Practices",
                "detail": "no effort to earn an OpenSSF best practices badge detected",
                "points": 0,
                "status": "missed",
                "details": [],
                "max_points": 2.5
              },
              {
                "key": "code_review",
                "name": "Code-Review",
                "detail": "Found 4/25 approved changesets -- score normalized to 1",
                "points": 0.8,
                "status": "partial",
                "details": [],
                "max_points": 7.5
              },
              {
                "key": "contributors",
                "name": "Contributors",
                "detail": "project has 19 contributing companies or organizations",
                "points": 2.5,
                "status": "met",
                "details": [],
                "max_points": 2.5
              },
              {
                "key": "dangerous_workflow",
                "name": "Dangerous-Workflow",
                "detail": "no workflows found",
                "points": 0,
                "status": "excluded",
                "details": [
                  {
                    "code": "no_data",
                    "params": {}
                  }
                ],
                "max_points": 10
              },
              {
                "key": "dependency_update_tool",
                "name": "Dependency-Update-Tool",
                "detail": "no update tool detected",
                "points": 0,
                "status": "missed",
                "details": [],
                "max_points": 7.5
              },
              {
                "key": "fuzzing",
                "name": "Fuzzing",
                "detail": "project is not fuzzed",
                "points": 0,
                "status": "missed",
                "details": [],
                "max_points": 5
              },
              {
                "key": "license",
                "name": "License",
                "detail": "license file detected",
                "points": 2.5,
                "status": "met",
                "details": [],
                "max_points": 2.5
              },
              {
                "key": "maintained",
                "name": "Maintained",
                "detail": "0 commit(s) and 0 issue activity found in the last 90 days -- score normalized to 0",
                "points": 0,
                "status": "missed",
                "details": [],
                "max_points": 7.5
              },
              {
                "key": "packaging",
                "name": "Packaging",
                "detail": "packaging workflow not detected",
                "points": 0,
                "status": "excluded",
                "details": [
                  {
                    "code": "no_data",
                    "params": {}
                  }
                ],
                "max_points": 5
              },
              {
                "key": "pinned_dependencies",
                "name": "Pinned-Dependencies",
                "detail": "no dependencies found",
                "points": 0,
                "status": "excluded",
                "details": [
                  {
                    "code": "no_data",
                    "params": {}
                  }
                ],
                "max_points": 5
              },
              {
                "key": "sast",
                "name": "SAST",
                "detail": "SAST tool is not run on all commits -- score normalized to 0",
                "points": 0,
                "status": "missed",
                "details": [],
                "max_points": 5
              },
              {
                "key": "security_policy",
                "name": "Security-Policy",
                "detail": "security policy file not detected",
                "points": 0,
                "status": "missed",
                "details": [],
                "max_points": 5
              },
              {
                "key": "signed_releases",
                "name": "Signed-Releases",
                "detail": "no releases found",
                "points": 0,
                "status": "excluded",
                "details": [
                  {
                    "code": "no_data",
                    "params": {}
                  }
                ],
                "max_points": 7.5
              },
              {
                "key": "token_permissions",
                "name": "Token-Permissions",
                "detail": "No tokens found",
                "points": 0,
                "status": "excluded",
                "details": [
                  {
                    "code": "no_data",
                    "params": {}
                  }
                ],
                "max_points": 7.5
              },
              {
                "key": "vulnerabilities",
                "name": "Vulnerabilities",
                "detail": "0 existing vulnerabilities detected",
                "points": 7.5,
                "status": "met",
                "details": [],
                "max_points": 7.5
              }
            ]
          },
          {
            "key": "high_risk_jurisdiction_exposure",
            "band": "excellent",
            "name": "High-Risk Jurisdiction Exposure",
            "note": "Only high-confidence self-published location evidence affects this multiplier. Ambiguous matches are review-only; country evidence is not proof of nationality, citizenship, legal registration, malicious intent, or sanctions status.",
            "notes": [
              {
                "code": "jurisdiction_evidence_limits",
                "params": {}
              }
            ],
            "value": 100,
            "inputs": {
              "meaning": "self-published location evidence; not nationality or citizenship",
              "red_flag": false,
              "exposures": [],
              "policy_countries": [
                "Russia",
                "Iran",
                "North Korea"
              ],
              "review_only_matches": 0,
              "assessed_self_published_locations": 14
            },
            "components": [
              {
                "key": "policy_exposure_multiplier",
                "name": "Policy exposure multiplier",
                "detail": "no confirmed policy-scope location match",
                "points": 100,
                "status": "met",
                "details": [
                  {
                    "code": "jurisdiction_no_match",
                    "params": {}
                  }
                ],
                "max_points": 100
              }
            ]
          }
        ],
        "description": "Are visible security and supply-chain practices strong, with no malicious dependency and no unresolved high-risk jurisdiction exposure?"
      },
      {
        "key": "ai_readiness",
        "band": "at_risk",
        "name": "AI Readiness",
        "value": 41,
        "weight": 0,
        "metrics": [
          {
            "key": "ai_agent_context",
            "band": "at_risk",
            "name": "Agent context & guidance",
            "note": null,
            "notes": [],
            "value": 40,
            "inputs": {
              "has_llms_txt": false,
              "legible_history_share": 0.76,
              "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": "76 of 100 human commits state their intent (structured subject or explanatory body)",
                "points": 40,
                "status": "met",
                "details": [
                  {
                    "code": "legible_history",
                    "params": {
                      "legible": 76,
                      "sampled": 100
                    }
                  }
                ],
                "max_points": 40
              }
            ]
          },
          {
            "key": "ai_verify_loop",
            "band": "at_risk",
            "name": "Verify loop (build / test / typecheck)",
            "note": "Excluded from scoring (no data or not applicable): OpenSSF Scorecard: Pinned-Dependencies. Remaining weights renormalized.",
            "notes": [
              {
                "code": "excluded_no_data",
                "params": {
                  "components": [
                    "openssf_scorecard_pinned_dependencies"
                  ]
                }
              },
              {
                "code": "weights_renormalized",
                "params": {}
              }
            ],
            "value": 37,
            "inputs": {
              "has_nix": false,
              "has_tests": true,
              "lockfiles": [],
              "has_dockerfile": false,
              "typed_language": false,
              "bootstrap_files": [],
              "has_devcontainer": false,
              "has_linter_config": true,
              "typecheck_configs": [],
              "agent_commit_share": 0,
              "toolchain_manifests": [],
              "dependency_bot_commit_share": 0
            },
            "components": [
              {
                "key": "one_command_bootstrap",
                "name": "One-command bootstrap",
                "detail": null,
                "points": 0,
                "status": "missed",
                "details": [],
                "max_points": 18
              },
              {
                "key": "automated_tests",
                "name": "Automated tests",
                "detail": null,
                "points": 22,
                "status": "met",
                "details": [],
                "max_points": 22
              },
              {
                "key": "lint_format_config",
                "name": "Lint / format config",
                "detail": "phpstan.neon",
                "points": 11,
                "status": "met",
                "details": [
                  {
                    "code": "file_list",
                    "params": {
                      "files": "phpstan.neon"
                    }
                  }
                ],
                "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": null,
                "points": 0,
                "status": "missed",
                "details": [],
                "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": "no automated dependency updates observed",
                "points": 0,
                "status": "missed",
                "details": [
                  {
                    "code": "no_dependency_automation",
                    "params": {}
                  }
                ],
                "max_points": 8
              },
              {
                "key": "openssf_scorecard_pinned_dependencies",
                "name": "OpenSSF Scorecard: Pinned-Dependencies",
                "detail": "no dependencies found",
                "points": 0,
                "status": "excluded",
                "details": [
                  {
                    "code": "no_data",
                    "params": {}
                  }
                ],
                "max_points": 10
              }
            ]
          },
          {
            "key": "ai_code_legibility",
            "band": "moderate",
            "name": "Code legibility for models",
            "note": null,
            "notes": [],
            "value": 55,
            "inputs": {
              "primary_language": "PHP",
              "largest_source_bytes": 58061,
              "source_files_sampled": 570,
              "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/570 source files over 60KB",
                "points": 55,
                "status": "met",
                "details": [
                  {
                    "code": "oversized_source_files",
                    "params": {
                      "kb": 60,
                      "sampled": 570,
                      "oversized": 0
                    }
                  }
                ],
                "max_points": 55
              }
            ]
          },
          {
            "key": "ai_interfaces",
            "band": "at_risk",
            "name": "Machine-readable interfaces",
            "note": null,
            "notes": [],
            "value": 40,
            "inputs": {
              "example_dirs": [
                "examples"
              ],
              "has_mcp_signal": false,
              "api_schema_files": []
            },
            "components": [
              {
                "key": "api_schema_openapi_graphql_proto",
                "name": "API schema (OpenAPI/GraphQL/proto)",
                "detail": null,
                "points": 0,
                "status": "missed",
                "details": [],
                "max_points": 40
              },
              {
                "key": "mcp_server",
                "name": "MCP server",
                "detail": null,
                "points": 0,
                "status": "missed",
                "details": [],
                "max_points": 20
              },
              {
                "key": "runnable_examples",
                "name": "Runnable examples",
                "detail": "examples",
                "points": 40,
                "status": "met",
                "details": [
                  {
                    "code": "file_list",
                    "params": {
                      "files": "examples"
                    }
                  }
                ],
                "max_points": 40
              }
            ]
          }
        ],
        "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-07-27T18:51:24.774672Z",
  "schema_version": "0.27.0",
  "badge_url": "https://raw.githubusercontent.com/inspect-software/badges/main/v1/r/rappasoft/laravel-livewire-tables.svg",
  "full_name": "rappasoft/laravel-livewire-tables",
  "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.