Todas las docs

DOC/ Actualizado el 2026-09-19

Desarrollo

Setup, comandos y flujo de contribución de este repositorio.

  • Node.js 24 o más nuevo
  • pnpm 12 (fijado vía packageManager en package.json)

pnpm install

pnpm dev          # turbo dev: app web con HMR
pnpm type-check   # turbo type-check en todo el monorepo
pnpm lint         # eslint (reglas de next + typescript), cero warnings
pnpm test         # turbo test (vitest)
pnpm build        # build de producción en apps/web/.next

Todos los checks deben pasar antes del push: pnpm lint con cero errores, pnpm type-check con cero errores, pnpm format:check sin diferencias y un pnpm build exitoso.

  • Strings de interfaz: edita packages/i18n/messages/en.json y luego traduce los otros seis archivos de idioma. Mantén la estructura de claves idéntica.
  • Docs: edita packages/content/docs/en/<slug>.md y luego actualiza las traducciones. Las traducciones ausentes caen al inglés automáticamente.
  • Después de cambiar messages o docs, ejecuta pnpm build y revisa cada ruta de idioma en el navegador.

Los commits del repositorio se crean con la identidad GitLab del dueño del proyecto para que los jobs de CI corran con verificación de identidad, y cada commit lleva un trailer de co-autoría:

Co-authored-by: Ella Mizuki

Esto es obligatorio para que el pipeline corra; ver deployment.md.

main está protegida: push por Maintainers, force push deshabilitado. Las reescrituras de historial (como reasignar autoría de commits) requieren quitar la protección temporalmente, hacer el force push y restaurarla con los ajustes exactamente iguales.

El pipeline definido en .gitlab-ci.yml corre cuatro jobs:

  • quality lint y typecheck;
  • semgrep-sast escaneo de seguridad (template);
  • build build de producción con artefacto;
  • secret_detection escaneo de secretos (template).

El setup de pnpm está limitado a los jobs quality y build. Las imágenes de los templates de seguridad no incluyen corepack y no deben heredarlo.

La validación es:

  • lint, typecheck, build;
  • pasada de navegador en 375, 768, 1024, 1440 y 1920px con cero overflow horizontal, en todos los idiomas;
  • pasada de reduced motion: sin shimmer ni transiciones activas, contenido visible;
  • la navegación por ancla limpia el header fijo (scroll padding);
  • las rutas de docs resuelven en todos los idiomas, incluyendo el fallback en inglés.