# Qué es

Qué recoge ghchronicle de GitHub y el problema que viene a resolver: un tráfico que dura catorce días y un feed de eventos de trescientos eventos y treinta días.

Source: https://docs.jmrp.io/ghchronicle/es/start/

GitHub responde la mayoría de las preguntas sobre el presente y casi ninguna
sobre el pasado.

La [API de tráfico](https://docs.github.com/es/rest/metrics/traffic) sirve catorce días y
olvida. El [feed de actividad](https://docs.github.com/es/rest/activity/events) guarda los
últimos trescientos eventos, y ninguno de hace más de treinta días. La
[bandeja de notificaciones](https://docs.github.com/es/subscriptions-and-notifications/concepts/about-notifications#notification-retention-policy)
descarta toda notificación a los tres meses, leída o no, salvo que se haya
guardado. Los
[logs de los jobs](https://docs.github.com/es/repositories/managing-your-repositorys-settings-and-features/enabling-features-for-your-repository/managing-github-actions-settings-for-a-repository)
se borran por omisión a los noventa días. La lista de estrellas dice cuándo se
dio cada una, pero desde julio de 2026 solo a los
[administradores y colaboradores](https://docs.github.com/es/rest/activity/starring#new-access-restrictions)
del repositorio, y solo si se pregunta antes de que la lista sea lo bastante
larga como para que recorrerla salga caro. Nada de eso queda archivado en
ningún sitio salvo que uno lo archive.

`ghchronicle` recorre esas superficies según un horario y escribe cada
observación como un punto sellado con la fecha en que la cosa ocurrió de
verdad, de modo que dentro de un año la pregunta "a qué velocidad fusionábamos
en julio" siga teniendo respuesta.

```sh
ghchronicle -config config.yaml
```

Es un único binario estático de Go sin dependencias en tiempo de ejecución, y
envía por push a todos los almacenes que soporta, así que se ejecuta allí donde
los alcance: un servidor, un contenedor, un workflow programado.

> **La tarjeta no es el objetivo**
>
> También sabe dibujar una tarjeta SVG de resumen para un README de perfil. Eso
> es una función secundaria. La razón por la que el proyecto existe es la
> ingesta.

## Las seis palabras que usa todo lo demás

| Palabra         | Qué significa aquí                                                                                       |
| --------------- | ---------------------------------------------------------------------------------------------------------- |
| **familia**     | Un colector, nombrado en la configuración: `actions`, `stars`, `issues`. Hay 34                          |
| **grupo**       | Un conjunto de familias con nombre, para encender o apagar un área entera: `ci`, `security`, `audience`. Hay 8 |
| **medida**      | Un tipo de fila del almacén, nombrada `gh_*`: `gh_star`, `gh_workflow_run`. Hay 95                       |
| **punto**       | Una fila: una medida, sus etiquetas, sus campos y la fecha en que ocurrió la cosa                        |
| **pasada**      | Un recorrido por las familias a las que les toca, que es lo que hace el proceso en bucle                 |
| **relleno**     | Una ejecución con `-backfill`, que recorre la historia en vez del incremento                             |

`ghchronicle -groups` imprime los grupos con sus familias, y
`ghchronicle -config config.yaml -list` imprime los repositorios que cubriría
una pasada.

## Por dónde seguir

- [Inicio rápido](https://docs.jmrp.io/ghchronicle/es/start/quickstart/): de cero a una primera
  pasada.
- [El token](https://docs.jmrp.io/ghchronicle/es/start/token/): qué ámbito compra qué familia.
- [La fecha del punto](https://docs.jmrp.io/ghchronicle/es/how/dating/): la idea de diseño de la que
  se sigue todo lo demás.
