decision • decision • Aceptado
Ver Raw (.md)

ADR 0001: Adopción de Astro como Generador de Sitio Estático

Estado

Aceptado

Fecha

2026-09-27

Contexto

El portal del catálogo de DataMesh Bolivia requiere una solución web que sea simple, ultra-rápida, con un consumo mínimo de recursos, enfocada en la legibilidad del contenido y que pueda empaquetarse fácilmente tanto como Progressive Web App (PWA) como aplicación de escritorio nativa mediante Electron.

Frameworks tradicionales pesados (como Next.js o SPAs completas de React/Angular) introducen sobrecarga innecesaria de JavaScript en el cliente, aumentan la fragilidad del despliegue en entornos con baja conectividad y dificultan la lectura por parte de bots y herramientas CLI (curl).

Decisión

Se adopta Astro en modo de compilación estática (output: 'static') por las siguientes razones:

1. Zero-JS por Defecto: Las páginas se renderizan como HTML puro y CSS ligero, entregando tiempos de carga casi instantáneos.

2. Compatibilidad Nativa con Markdown y Contenido: Facilidad para procesar archivos Markdown con Frontmatter YAML procedentes de knowledge/ y docs/.

3. Generación de Archivos Planos (build.format: 'file'): Permite que el compilado en dist/ sea servido sin servidor web activo o desde protocolos locales de escritorio file://.

4. Mínimas Dependencias: Solo se requieren paquetes esenciales para el ciclo de vida del catálogo.

Consecuencias

  • Excelente rendimiento (puntuaciones 100/100 en Lighthouse y accesibilidad).
  • Facilidad para distribuir el sitio en GitHub Pages, servidores Nginx, CDNs o empaquetado en Electron.
  • Total transparencia para crawlers y agentes de inteligencia artificial.