Uso de Cursor para generar proyectos con FastAPI y Python

Clase 3 de 4Curso de tips y trucos de IA

Resumen

Aprende paso a paso a utilizar Cursor, un editor de texto con inteligencia artificial integrada, para generar código de calidad profesional con Python y FastAPI. Este enfoque moderno une herramientas automáticas y fundamentos sólidos de ingeniería de software, permitiendo que la AI sea una extensión de tu flujo de trabajo, no una sustitución del conocimiento técnico.

¿Qué es Cursor y cómo se compara con otros editores de código con AI?

Cursor destaca entre una variedad de editores modernos (como Devin, Windsurf y GitHub Copilot) gracias a tener AI integrada en todas sus funciones, sobre la base de Visual Studio Code. Permite editar, crear y guardar código o texto, siendo compatible con extensiones populares, por ejemplo la de Python.

  • Cursor integra Large Language Models (LLMs) y tiene acceso a varios modelos como Claude 3.7.
  • Ofrece una interfaz donde puedes interactuar con AI vía chat para generar código, solucionar errores o recibir sugerencias contextuales de programación.
  • Cada acción de AI puede ser aceptada, revertida o revisada por el usuario, fomentando el control humano y la calidad del código generado.

¿Cuáles son los pasos esenciales para crear un proyecto FastAPI con Cursor y AI?

Con Cursor puedes iniciar un proyecto de Python y FastAPI casi sin escribir código manualmente, pero necesitas comprender las bases de software e intervenir en puntos clave.

  • Crea un entorno de trabajo (repositorio y carpeta), instala la extensión de Python y selecciona el modelo AI adecuado.
  • Utiliza prompts en lenguaje natural para pedir a Cursor que genere el esqueleto del proyecto usando herramientas como UV y FastAPI.
  • Supervisa las sugerencias de AI, ajustando los archivos creados a lo que realmente necesitas (por ejemplo, simplificar la estructura a solo main.py y settings.py cuando el contexto lo requiera).
  • Ejecuta comandos generados para instalar dependencias y configurar archivos esenciales como pyproject.toml.

¿Cómo se depuran errores y se resuelven problemas de dependencias en un entorno AI?

La integración de la AI facilita la identificación de errores y la búsqueda de soluciones en tiempo real.

  • Cuando tienes un error, puedes copiar los mensajes de log y pedirle ayuda a Cursor para sugerir soluciones inmediatas.
  • El uso del Debugger (depurador) permite inspeccionar variables, puertos y rutas en ejecución directamente desde la interfaz de Cursor.
  • Puedes ajustar configuraciones, como cambiar el puerto del servidor FastAPI, y validar el funcionamiento con comandos de prueba (como curl), todo orquestado desde el chat AI.

¿Cómo se genera y organiza código a partir de imágenes y reglas personalizadas?

Cursor soporta el procesamiento de imágenes multimodales; por ejemplo, puedes añadir una imagen de un diagrama de base de datos para pedir la generación automática de modelos en Python.

  • Al exportar un diagrama desde Excalidraw y cargarlo en Cursor, la AI reconoce atributos e implementa clases, como modelos de Pydantic, según el esquema visual.
  • Puedes pedir que el código generado se almacene en archivos específicos, como schemas.py, asegurando la organización deseada por el equipo.
  • Cursor también permite referenciar archivos y símbolos (ej.: main.py, clases, o documentación) en los prompts para contextualizar mejor las peticiones.

¿Cómo se indexa documentación externa relevante y se usan buenas prácticas con Cursor?

Para mejorar la precisión de la AI y generar mejores respuestas, puedes indexar documentación oficial directamente en Cursor.

  • Agrega URLs (ej.: la documentación de FastAPI) desde el menú de configuración para que la AI utilice fuentes confiables y actualizadas.
  • Al mencionar archivos, símbolos o documentación en los prompts, Cursor otorga contexto adicional generando código más alineado con las mejores prácticas del framework.
  • Es posible automatizar la corrección de comentarios y docstrings para cumplir con reglas internas (como idioma y existencia de documentación en funciones y métodos).

Ejemplo práctico: - Solicita la corrección de todos los comentarios en inglés y completa los docstrings faltantes usando prompts específicos.

¿Qué son las Cursor Rules y cómo se integran en proyectos colaborativos?

Cursor permite definir reglas de estilo y calidad mediante archivos .cursor.rules y carpetas dedicadas.

  • Estas reglas pueden ser propias o descargadas de la comunidad (cursor.directory), adaptadas al lenguaje y framework que utilices (como FastAPI o TypeScript).
  • Puedes crear archivos de reglas para distintos contextos o carpetas (ej.: solo para funciones), personalizando docstrings, idioma, uso de Pydantic base models y más.
  • La integración de reglas fomenta el desarrollo colaborativo y el cumplimiento de los lineamientos de la compañía.