En esta guía crearemos una librería de componentes UI desde cero, utilizando una arquitectura monorepo. El código lo puedes encontrar en el repositorio demo de la guía, se abrirá en una nueva pestaña. Cada commit está etiquetado con el número del capítulo correspondiente.

Capítulo 1: Introducción y estructura del monorepo

  • Qué es un monorepo y por qué usarlo para una UI library
  • Tecnologías elegidas y justificación
  • Estructura de carpetas: packages/, docs/, .github/, turbo.json, etc.
  • Configuración inicial de pnpm, turbo, syncpack, changeset
Ver capítulo 1 Introducción y estructura del monorepo

Capítulo 2: Configuración base del proyecto

  • package.json raíz y scripts globales (lint, build, format, etc.)
  • Configuración de pnpm-workspace.yaml
  • Configuración de turbo.json
  • Setup de syncpack para gestión de versiones
Ver capítulo 2 Configuración base del proyecto

Capítulo 3: Testing accesible con Jest, Testing Library y Vitest (opcional)

  • Añadiremos jest o vitest para pruebas unitarias.
  • Configuraremos @testing-library/react, jest-axe y jsdom.
  • Integraremos testing accesible desde el primer componente.
Ver capítulo 3 Testing accesible con Jest, Testing Library y Vitest (opcional)

Capítulo 4: Documentación interactiva con Storybook

  • Visualizar tus componentes de forma aislada,
  • Documentar variantes y props,
  • Y eventualmente convertir docs/ en un sitio navegable.
Ver capítulo 4 Documentación interactiva con Storybook

Capítulo 5: Versionado semántico y publicación con Changesets

  • Instalación y configuración de @changesets/cli
  • Flujo de trabajo con changeset, version, publish
  • Cómo versionar múltiples paquetes y publicar con pnpm
  • Tagging y manejo de versiones internas vs públicas
Ver capítulo 5 Versionado semántico y publicación con Changesets

Capítulo 6: Automatización con GitHub Actions, CI/CD para tu librería UI

  • Validaciones en pull requests
  • Build + tests en cada push
  • Publicación automática cuando se mergea a main
Ver capítulo 6 Automatización con GitHub Actions, CI/CD para tu librería UI

Capítulo 7: Mantenimiento del monorepo con Syncpack y buenas prácticas

  • Sincronización de dependencias con syncpack
  • Limpieza de paquetes
  • Organización visual y semántica del sistema de componentes
Ver capítulo 7 Mantenimiento del monorepo con Syncpack y buenas prácticas