system-status/spec.md

SPEC-009 — Live Repo Monitor (GitLab público en /proyectos)

SPEC-009 — Live Repo Monitor (GitLab público en /proyectos)

Id: projects/system-status/spec
Componente: src/components/GitLabStats.astro
Integración: src/pages/proyectos/index.astro


Objetivo

Añadir un latido visual real en la vitrina de proyectos para que cada tarjeta muestre datos de repositorio en tiempo de ejecución:

  1. star_count (estrellas)
  2. forks_count (forks)
  3. Lenguaje principal (derivado de /languages)

Todo consumido desde la API pública de GitLab, sin tokens.


Reglas de seguridad (no negociables)

  • No usar PRIVATE-TOKEN ni Authorization en frontend.
  • No crear nuevas claves para esta funcionalidad.
  • Solo endpoints públicos de gitlab.com/api/v4.
  • Si la API falla, mostrar estado degradado sin exponer errores internos.

Diseño funcional

  • Cada tarjeta en /proyectos renderiza un bloque GitLabStats.
  • El bloque arranca en estado conectando....
  • Al resolver:
    • punto de estado verde + texto “API activa”
    • métricas con valores reales.
  • Si falla:
    • punto de estado rojo + texto “API no disponible”
    • valores --.

Estética

  • Indicador con efecto ping (animación tipo Tailwind animate-ping).
  • Verde cuando hay respuesta correcta.
  • Rojo cuando la consulta falla.
  • Tipografía/contraste alineados al tema synthwave del sitio.

Criterios de aceptación

  1. /proyectos muestra Latido Real en las tarjetas.
  2. Se observan estrellas, forks y lenguaje principal sin recargar build.
  3. No hay secretos ni tokens en el código cliente.
  4. En fallo de red/API se ve estado rojo y fallback legible.