Aviso: Este contenido fue traducido automáticamente. Enviar feedback

Changelog en Vivo

Una página de changelog que se actualiza automáticamente después de cada commit vía GitHub Actions. Analiza commits convencionales y muestra el historial de desarrollo.

Role: Desarrolladordic 2025

Una línea de tiempo detallada del desarrollo, extraída del historial de commits de Git. Esta página se actualiza automáticamente después de cada push a la rama main.

Cargando changelog...

Cómo Funciona

El changelog utiliza un workflow de GitHub Actions que:

  1. Se ejecuta en push — Cada push a main ejecuta el workflow
  2. Analiza el historial git — Extrae hash del commit, autor, fecha y mensaje
  3. Categoriza commits — Detecta tipos de commits convencionales (feat, fix, chore, etc.)
  4. Actualiza datos JSON — Escribe en data/changelog.json
  5. Hace commit de los cambios — Usa [skip ci] para prevenir loops infinitos

Tech Stack

ComponenteTecnologíaPropósito
AutomatizaciónGitHub ActionsEjecutar en push a main
ScriptTypeScript + tsxAnalizar git log y generar JSON
DatosJSONAlmacenar datos de commits
RenderizadoNext.js Server ComponentPágina dinámica con soporte de idiomas
i18nnext-intlFormato de fecha por idioma

Análisis de Commits Convencionales

El script reconoce prefijos estándar de commits convencionales:

  • feat: — Nuevas funcionalidades
  • fix: — Correcciones de bugs
  • chore: — Tareas de mantenimiento
  • docs: — Actualizaciones de documentación
  • refactor: — Refactorización de código
  • style: — Cambios de estilo
  • test: — Actualizaciones de tests
  • perf: — Mejoras de rendimiento

Los commits se categorizan automáticamente y se calculan estadísticas.

Prevención de Loops

El GitHub Action evita loops infinitos mediante:

  1. Agregando [skip ci] al mensaje del commit
  2. Verificando if: "!contains(github.event.head_commit.message, '[skip ci]')" en el workflow

Archivos

.github/workflows/update-changelog.yml  # GitHub Action
scripts/generate-changelog.ts           # Script de generación
data/changelog.json                     # Datos generados
lib/types/changelog.ts                  # Tipos TypeScript
app/[locale]/changelog/page.tsx         # Componente de página
components/changelog-stats.tsx          # Componente de estadísticas
components/changelog-table.tsx          # Componente de tabla

Outcomes

  • Workflow de GitHub Actions se ejecuta en cada push a main
  • Análisis de commits convencionales (feat, fix, chore, etc.)
  • Commits agrupados por fecha con formato según el idioma
  • Soporte completo de i18n en 5 idiomas

Links