Next.js App Router
Preserva la versión y configuración compatible de la aplicación. Prefiere la representación en servidor y las lecturas directas del servidor cuando sean adecuadas; mantén el comportamiento interactivo y en vivo del navegador donde sea necesario.
Establecer el contexto
Inspecciona package.json, el archivo de bloqueo, las carpetas de rutas, next.config.* y las instrucciones del proyecto. Identifica las versiones instaladas de Next.js/React, App vs Pages Router, las restricciones de tiempo de ejecución/implementación y si Cache Components está habilitado. En monorepos, resuelve esto desde la aplicación afectada. No actualices paquetes ni habilites funciones solo para que se ajusten a un ejemplo.
Prefiere la documentación coincidente con la versión incluida en node_modules/next/dist/docs/ en Next.js 16.2+, cuando esté disponible. De lo contrario, consulta la documentación oficial para la versión compatible. La documentación en vivo puede describir una versión menor más reciente; confirma el historial de la API y la configuración antes de usarla. Distingue las API estables, las opciones experimentales, las funciones obsoletas y las convenciones del proyecto.
Elegir el recurso relevante
Lee solo los recursos necesarios para la tarea; sigue sus enlaces oficiales cuando una versión o comportamiento sea incierto.
| Tarea | Recurso |
|---|---|
| Límites servidor/cliente, composición, serialización | Componentes de Servidor |
| Lecturas, streaming, datos del navegador, acciones, endpoints HTTP | Obtención de datos |
| Modo de caché existente, Cache Components, caché privada/remota, invalidación | Caché |
| Diseños, rutas dinámicas, búsqueda, rutas paralelas/de interceptación | Enrutamiento |
| Redirecciones/reescrituras de solicitudes y compuertas de autenticación optimistas | Proxy |
| Errores esperados, carga, recuperación, semántica de respuesta 404 | Manejo de errores |
| Exportaciones de metadatos, herencia e integración SEO | Metadatos |
| Configuración de imagen/fuente y compensaciones de carga | Recursos |
| Migración incremental de Pages a App | Migración |
| Actualizaciones deliberadas de versión mayor/menor | Cambios de versión |
Priorizar decisiones
- Protege secretos y datos de usuario. Autentica y autoriza lecturas/mutaciones cerca de los datos, valida entradas no confiables y mantén los datos personales fuera de una caché compartida incorrectamente. El proxy y la visibilidad de la interfaz de usuario no son autorización suficiente.
- Preserva la corrección entre versiones y modos de representación. Las API de solicitud asíncrona, los requisitos previos de caché, las convenciones de ruta y las props de recuperación dependen de la versión/configuración instalada.
- Elimina los embudos de rendimiento demostrados y el código cliente innecesario. Paraleliza el trabajo independiente; elige límites de Suspense que preserven una interfaz de usuario útil. La obtención de datos desde el cliente sigue siendo apropiada para sondeos, estado solo del navegador y actualizaciones interactivas.
- Ajusta el almacenamiento en caché, la precarga y las sugerencias de recursos según la frescura, la implementación y el comportamiento medido. Estas son elecciones, no requisitos previos para cada aplicación App Router.
Usa Componentes de Servidor para trabajo exclusivo del servidor. Agrega 'use client' en un límite de módulo útil para la interacción; no necesita ser una hoja. Usa una Acción de Servidor para mutaciones de la interfaz de usuario cuando sea apropiado, o un Manejador de Ruta para un contrato HTTP (incluyendo clientes del navegador). Ninguno reemplaza la autorización.
Validar el cambio real
Ejecuta los comandos existentes de verificación de tipos, linting y compilación de la aplicación afectada cuando estén disponibles. Prueba el comportamiento que puede fallar: solicitudes directas autenticadas, aislamiento entre usuarios, frescura posterior a la mutación, navegación dura/suave, errores y carga. No llames a un fragmento listo para producción cuando las importaciones, ayudantes de autenticación o persistencia sean marcadores de posición. Indica qué se ejecutó y qué permanece sin probar.
Para revisiones, lidera con fallos procesables y su alcance de versión/configuración. Separa las mejoras opcionales de los problemas de corrección. Para implementación, explica el límite/modo de caché elegido, el comportamiento cambiado y la verificación.
La revisión del código fuente tiene un alcance limitado, no es una certificación general. Consulta SOURCES.md para enlaces canónicos, versiones/configuraciones aplicables, secciones verificadas, fechas aguas arriba y la política de frescura. Los registros de revisión/evaluación piloto del repositorio son evidencia de mantenimiento y no son necesarios en tiempo de ejecución.