Quiero crear desde cero una aplicación web sencilla de gestión de tareas.

Este proyecto se utilizará como primera aplicación práctica de un tutorial para personas que quieren aprender a crear apps con inteligencia artificial sin tener conocimientos avanzados de programación.

## Objetivo

Crear una aplicación de tareas sencilla, visualmente cuidada y fácil de entender.

Debe permitir inicialmente:

- Crear una tarea.
- Ver la lista de tareas.
- Marcar una tarea como completada.
- Volver a marcarla como pendiente.
- Eliminar una tarea.
- Asignar una prioridad: baja, media o alta.
- Mantener las tareas al recargar el navegador mediante almacenamiento local.

No habrá por ahora:

- Backend.
- Base de datos externa.
- Login.
- Usuarios.
- APIs externas.
- Pagos.
- Docker.
- Funcionalidades de IA dentro de la aplicación.

Quiero mantener esta primera app deliberadamente sencilla.

## Tecnología

Utiliza:

- React.
- Vite.
- JavaScript, salvo que exista una razón clara para utilizar TypeScript.
- CSS sencillo y mantenible.

Antes de añadir cualquier dependencia adicional, comprueba si realmente es necesaria.

Evita frameworks, librerías o abstracciones que no aporten valor real a esta aplicación.

## Forma de trabajo

Antes de implementar código:

1. Analiza el estado actual del directorio/repo.
2. Comprueba si existe contenido previo que deba conservarse.
3. Define una propuesta sencilla de estructura para la aplicación.
4. Crea un archivo `ROADMAP.md` que divida el desarrollo en fases pequeñas y verificables.
5. No implementes todavía todas las fases.

El roadmap debe permitir que otra IA con acceso de solo lectura al mismo repositorio pueda revisar el proyecto y comprobar objetivamente si cada fase está terminada.

## ROADMAP.md

Divide el proyecto aproximadamente en estas etapas, ajustándolas si existe una razón técnica clara:

### Fase 1 — Preparación del proyecto
- Crear o preparar el proyecto.
- Comprobar que arranca correctamente.
- Definir estructura mínima.

### Fase 2 — Interfaz base
- Crear la estructura visual.
- Campo para introducir tareas.
- Botón para añadirlas.
- Zona donde aparecerá la lista.

### Fase 3 — Gestión de tareas
- Crear tareas.
- Mostrar tareas.
- Completar/descompletar tareas.
- Eliminar tareas.

### Fase 4 — Prioridades
- Añadir prioridad baja, media y alta.
- Mostrarla claramente en la interfaz.

### Fase 5 — Persistencia local
- Guardar las tareas en el navegador.
- Recuperarlas al volver a abrir o recargar la aplicación.

### Fase 6 — Revisión final
- Revisar comportamiento.
- Revisar errores.
- Ejecutar las comprobaciones disponibles.
- Confirmar que todos los requisitos iniciales funcionan.

Cada fase debe incluir:

- Objetivo.
- Tareas.
- Criterios de aceptación verificables.
- Estado.

Utiliza estados claros como:

- ⚪ Pendiente
- 🟡 En progreso
- 🟢 Completado

No marques una fase como completada hasta haber realizado las comprobaciones necesarias.

## Regla fundamental

Trabajaremos **una fase cada vez**.

Después de crear `ROADMAP.md`, detente.

No empieces la implementación de la Fase 1 hasta que yo revise el roadmap y te autorice expresamente a continuar.

Después ocurrirá lo mismo con cada fase:

1. Yo te indicaré qué fase puedes ejecutar.
2. Implementarás únicamente esa fase.
3. Ejecutarás las comprobaciones pertinentes.
4. Actualizarás `ROADMAP.md` únicamente cuando la evidencia justifique el cambio de estado.
5. Me entregarás el informe de cierre.
6. Te detendrás y esperarás mi autorización antes de pasar a la siguiente fase.

## Informe al terminar cada fase

Utiliza el formato definido en tus instrucciones generales:

### Resumen
Qué objetivo tenía la fase y qué has realizado.

### Cambios
Qué archivos has creado o modificado y por qué.

No pegues grandes cantidades de código si pueden revisarse directamente en el repositorio.

### Comprobaciones
Indica exactamente:

- Qué comandos o pruebas ejecutaste.
- Si pasaron o fallaron.
- Qué verificaste manualmente, si corresponde.

No afirmes haber realizado una comprobación que no hayas ejecutado realmente.

### Riesgos, supuestos y pendientes
Indica cualquier problema, warning, supuesto o elemento que siga pendiente.

## Supervisión

ChatGPT Work tendrá acceso al mismo repositorio en modo de solo lectura.

Después de cada fase revisará:

- Tu informe.
- El código real.
- Los archivos modificados.
- `ROADMAP.md`.
- Las comprobaciones realizadas.
- La correspondencia entre lo solicitado y lo implementado.

Por tanto, mantén `ROADMAP.md` y el estado real del proyecto sincronizados.

Si ChatGPT Work encuentra un problema, recibirás posteriormente una instrucción concreta para corregirlo.

## Alcance

No amplíes el proyecto por iniciativa propia.

No añadas funcionalidades como:

- categorías,
- fechas límite,
- filtros avanzados,
- búsqueda,
- usuarios,
- sincronización,
- backend,
- base de datos,
- animaciones complejas,
- modo oscuro,
- notificaciones,

salvo que posteriormente te lo solicite expresamente.

El objetivo no es construir el gestor de tareas más completo posible.

El objetivo es construir **una primera aplicación sencilla, comprensible y bien verificada**, avanzando por fases y mostrando un flujo de desarrollo controlado con IA.

Empieza únicamente analizando el proyecto y creando `ROADMAP.md`.

Después detente y enséñame el resultado.