Actualizado el 2026-10-28
Desarrollo
Setup, comandos y flujo de contribución de este repositorio.
Prerrequisitos
- Node.js 24 o más nuevo
- pnpm 12 (fijado vía
packageManageren package.json)
Setup
pnpm install
Comandos
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 format:check # prettier en todo el repo
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.
Flujo de localización
- Strings de interfaz: edita
packages/i18n/messages/en.jsony luego traduce los otros seis archivos de idioma. Mantén la estructura de claves idéntica. - Docs: edita
packages/content/docs/en/<slug>.mdy luego actualiza las traducciones. Las traducciones ausentes caen al inglés automáticamente. - Después de cambiar messages o docs, ejecuta
pnpm buildy revisa cada ruta de idioma en el navegador.
Identidad git
Los commits del repositorio se crean con la identidad del dueño del proyecto, y cada commit lleva el trailer de coautoría:
Co-authored-by: Ella Mizuki
Protección de rama
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.
Integración continua
Ningún servidor de CI observa este repositorio. Corre los gates de calidad
antes de cada push (pnpm type-check, pnpm lint, pnpm test,
pnpm format:check, pnpm build); Vercel hace el build de producción en el
deploy, y un build roto rompe el deploy.
Pruebas antes del merge
La validación es:
- lint, typecheck, format:check y 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.