Saltar al contenido principal

Programar con Cursor

Referencia inicial

Esta guía se basa como inspiración en este video:

Programación con Cursor - YouTube

y también

Cursor AI - YouTube

Paso a Paso

Estructura de proyecto recomendada

  • Crea un directorio raíz
  • Crea un repositorio/directorio con las especificaciones de todo el proyecto
  • Crea un directorio para cada componente principal, front y back

Por ejemplo:

Estructura de directorios

/nombre-del-proyecto-raiz/
├── /nombre-del-proyecto-specs/
│ ├── PRD.md
│ ├── diagramas-arquitectura/
│ ├── historias-de-usuario/
│ └── ...otros-documentos-de-especificacion
├── /nombre-del-proyecto-frontend/
│ ├── /src/
│ │ ├── /components/
│ │ ├── /pages/
│ │ ├── /services/
│ │ └── App.js
│ ├── package.json
│ └── ...otros-archivos-de-frontend
├── /nombre-del-proyecto-backend/
│ ├── /src/
│ │ ├── /controllers/ (o /handlers/)
│ │ ├── /models/ (o /schemas/)
│ │ ├── /services/ (o /usecases/)
│ │ ├── /routes/
│ │ └── server.js (o app.py, etc.)
│ ├── package.json (o requirements.txt, pom.xml, etc.)
│ └── ...otros-archivos-de-backend
├── /nombre-del-proyecto-otro/
│ └── ...
└── README.md

Genera el alcance de tu proyecto con Deep Research o Manus

Instrucciones Generales: Define claramente los objetivos, entregables, funcionalidades principales y limitaciones del proyecto. Utiliza herramientas como "Deep Research" (investigación profunda de mercado, competidores, tecnologías) o "Manus" (si es una herramienta específica, describe su uso para la definición del alcance) para recopilar toda la información necesaria. Documenta los hallazgos de forma estructurada.

Describe las tecnologías que vas a utilizar

Instrucciones Generales: Enumera y describe brevemente cada tecnología (lenguajes de programación, frameworks, bases de datos, APIs, herramientas de desarrollo, etc.) que se emplearán en el proyecto. Justifica la elección de cada tecnología en función de los requisitos del proyecto.

Genera el PRD en base a las especificaciones generadas previamente

Instrucciones Generales: Elabora un Documento de Requisitos del Producto (PRD) detallado. Este documento debe traducir el alcance y las decisiones tecnológicas en especificaciones funcionales y no funcionales claras. Incluye casos de uso, wireframes o mockups si es necesario.

Divide las especificaciones en Épicas de acuerdo a las prioridades y mayor impacto

Instrucciones Generales: Agrupa los requisitos del PRD en Épicas. Una Épica es un cuerpo grande de trabajo que puede subdividirse. Prioriza las Épicas basándote en el valor que aportan al negocio/usuario y el impacto que generan.

Divide cada Épica en Historias de Usuarios

Instrucciones Generales: Desglosa cada Épica en Historias de Usuarios. Una Historia de Usuario describe una funcionalidad desde la perspectiva del usuario final, indicando qué quiere y por qué. Generalmente siguen el formato: "Como [tipo de usuario], quiero [acción] para que [beneficio]".

Divide cada Historia de Usuarios en tareas

Instrucciones Generales: Descompón cada Historia de Usuario en tareas técnicas concretas y accionables que el equipo de desarrollo pueda ejecutar. Las tareas deben ser lo suficientemente pequeñas para ser completadas en un corto período de tiempo (e.g., unas pocas horas o un día).

Te puedes asistir con el paquete taskmaster

Puedes ver este video como referencia.

Taskmaster Video Tutorial

Incluye las convenciones que vas a utilizar de cada tecnología y acceso a la documentación actualizada

Instrucciones Generales: Documenta las convenciones de código (estilo, nombramiento, etc.) para cada tecnología. Proporciona enlaces directos a la documentación oficial y cualquier guía de estilo o mejores prácticas que el equipo deba seguir.

  • Agrega GitMCP para acceder al repositorio a través de un MCP.
  • Agrega Context7 para acceder documentación actualizada de los frameworks.

Incorpora el acceso a las herramientas que vas a utilizar en el proyecto

Instrucciones Generales: Agrega los MCPs (Model Control Protocol) de todas las herramientas que sean convenientes para el proyecto. Esto incluye herramientas de desarrollo, despliegue, monitoreo, testing y cualquier otra que se utilice en el ciclo de vida del proyecto. Asegúrate de incluir los enlaces directos a la documentación oficial de cada MCP.

Incorpora la documentación complementaria sobre estructura del proyecto

Instrucciones Generales: Describe la arquitectura general del proyecto, la estructura de directorios, los módulos principales y cómo interactúan entre sí. Incluye diagramas si ayudan a clarificar.

Genera pruebas unitarias y e2e para componentes del back

Instrucciones Generales: Define la estrategia de pruebas para los componentes del backend. Escribe pruebas unitarias para verificar la lógica de los módulos individuales y pruebas de extremo a extremo (e2e) para asegurar que los flujos de trabajo completos funcionen como se espera.

Integra los datos que se generan cuando las aplicaciones están desplegadas

Instrucciones Generales: Planifica cómo se recopilarán, almacenarán y analizarán los datos generados por la aplicación en producción. Esto incluye logs, métricas de rendimiento, datos de uso, errores, etc. Define qué herramientas se utilizarán para la monitorización y la observabilidad.

  • Por ejemplo si despliegas en Heroku utiliza el MCP de Heroku.
  • Para acceder a la cónsola de Chrome utiliza el Chrome MCP