Vibraciones Inmaculadas
Se te pide que revises esta base de código hecha con 'vibe coding'. No se te pide que arregles ninguno de los problemas que encuentres, solo que des recomendaciones.
Proceso
El proceso de alto nivel es el siguiente:
- Recopila toda la documentación del producto disponible.
- Haz preguntas al usuario para profundizar tu comprensión de la aplicación.
- Revisa el código basándote en los pilares de calidad.
- Crea un informe con tus hallazgos.
Pilares de calidad
Estos son los pilares para escribir software de alta calidad. Enumerados en orden de importancia, úsalos como tu lente para ver este proyecto.
- Seguridad - Autenticación, permisos, exposición de datos y comportamiento inseguro del navegador.
- Fiabilidad - Flujos críticos, salud de rutas, aserciones, errores de consola y estados rotos.
- Rendimiento - Comportamiento de carga, capacidad de respuesta, recursos costosos y latencia visible para el usuario.
- UI/UX - Navegación, claridad, validación, expectativas de contenido y cohesión visual.
- Accesibilidad - Acceso por teclado, semántica, etiquetas, ARIA, contraste y señales de tecnología de asistencia.
Proceso en profundidad
1. Recopilar la documentación del producto disponible
En esta fase buscarás cualquier documentación del producto disponible. Esto sentará las bases para tu revisión, así que encuentra todo lo que pueda estar relacionado con los pilares de calidad.
Lugares comunes para buscar:
- PRODUCT.md
- PRD.md
- README.md
- docs/
2. Hacer preguntas al usuario
La documentación del producto puede estar incompleta o desactualizada con respecto al estado actual de la aplicación. Haz preguntas al usuario que ayuden a profundizar tu comprensión del proyecto y sus requisitos. Si está disponible, usa la herramienta de hacer preguntas; de lo contrario, chatea con el usuario.
Ejemplos de preguntas:
- ¿Quién necesita acceso a esta aplicación?
- ¿Cuál es el plan para el mantenimiento continuo?
- ¿Cómo vas a monitorear esta aplicación y verificar su rendimiento y fiabilidad?
- ¿Dónde se va a alojar esta aplicación?
3. Revisar el código
Usando la información que has recopilado, inicia subagentes para revisar el código de cada pilar de calidad. Mantenlos separados para evitar contaminar el contexto. Indícales que encuentren problemas y proporcionen una evaluación de visto bueno/no visto bueno basada en su pilar de calidad individual.
Cada problema:
- debe ser un problema concreto y procesable
- incluye una evaluación de impacto del problema
- Asigna uno de estos niveles de impacto a cada problema: Showstopper, Crítico, Moderado o Mejora
- incluye una descripción clara del problema y el nombre del archivo y los números de línea relevantes (si los hay)
- proporciona una recomendación para una solución
4. Crear un informe
Finaliza recopilando todos los resultados de los subagentes y crea un informe detallado en HTML y da un resumen de alto nivel en el chat. Abre el informe HTML en el navegador para que el usuario lo revise.
Características clave del informe:
- Una recomendación de visto bueno/no visto bueno
- Requisitos: resumen de alto nivel del producto y sus requisitos principales
- Problemas: una lista de los problemas encontrados ordenados por nivel de impacto, del más grave al más leve
- Otra información: cualquier otro hallazgo importante que un revisor necesitaría
Ejemplo de informe:
Recomendación: No Visto Bueno
El clasificador de cafés Fourgrounds es una aplicación pública que permite a los clientes de la cafetería Fourgrounds clasificar sus bebidas de café favoritas.
Requisitos principales:
- El usuario debe ver una lista de las bebidas actualmente disponibles en Fourgrounds
- El usuario debe poder arrastrar para reordenar las bebidas en su clasificación preferida
- El usuario debe poder enviar su clasificación y ser recompensado con un vale para un artículo de panadería gratuito de su elección
- El usuario solo debe poder enviar su clasificación una vez
Problemas:
El usuario puede enviar múltiples veces los jueves
Impacto: CRÍTICO - El usuario puede acumular múltiples recompensas gratuitas.
Debido a un error en el análisis de la fecha en date.js línea: 42, una excepción no controlada puede hacer que la comprobación de un envío anterior se omita en check-reward.js línea: 16.
Recomendación: Usa el analizador de fechas incorporado y envuelve el análisis de la fecha en un try/catch para evitar que las excepciones afecten otras áreas de la aplicación.
Otra información:
- El archivo
coffee-products.jsonse genera a diario; si los productos cambian a mitad del día, esto podría estar desactualizado. Los consumidores externos de las clasificaciones deben tener cuidado de validar la existencia de los productos.