Uso de Cursor para crear APIs con Python y Fase API

Clase 3 de 4Curso de tips y trucos de IA

Resumen

La programación asistida por IA está revolucionando la forma en que desarrollamos software. Cursor se posiciona como uno de los editores de código más potentes del mercado, combinando la familiaridad de Visual Studio Code con capacidades avanzadas de inteligencia artificial. En este artículo, exploraremos cómo utilizar Cursor para crear un proyecto completo desde cero, aprovechando al máximo sus funcionalidades de generación de código y asistencia en el desarrollo.

¿Qué es Cursor y por qué deberías utilizarlo?

Cursor es un editor de texto basado en Visual Studio Code que integra inteligencia artificial en todas sus funcionalidades. A diferencia de otros editores, Cursor no solo te permite escribir código, sino que te asiste activamente en el proceso de desarrollo mediante:

  • Generación de código a partir de instrucciones en lenguaje natural
  • Resolución de errores y depuración asistida
  • Indexación de documentación externa para mejorar el contexto
  • Capacidad para entender y procesar imágenes como diagramas o esquemas

Es importante destacar que para aprovechar al máximo Cursor, sigues necesitando conocimientos fundamentales de ingeniería de software. La herramienta potencia tus capacidades, pero no reemplaza la necesidad de entender los conceptos básicos de programación.

¿Cómo crear un proyecto desde cero con Cursor?

Para demostrar las capacidades de Cursor, vamos a crear un proyecto de API con FastAPI y Python. Lo interesante es que la mayor parte del código será generado por la IA integrada en el editor.

Configuración inicial del proyecto

Lo primero que necesitamos es abrir el chat de Cursor con el atajo de teclado Command + L en Mac (o Control + L en Windows). Esto nos permite interactuar con la IA a través de una interfaz conversacional.

Para este proyecto, seleccionaremos el modelo Claude 3.7, que ha demostrado generar mejor código según los benchmarks. Luego, podemos comenzar con un prompt simple:

Quiero crear un proyecto con Python en el que se cree un API con FastAPI. Crea el esqueleto principal de la aplicación y genera los comandos necesarios para poder crear un proyecto en Python. Utiliza UV para crear el proyecto.

La IA nos proporcionará paso a paso los comandos necesarios para:

  1. Crear la estructura de carpetas
  2. Instalar las dependencias necesarias
  3. Configurar los archivos básicos del proyecto

Una ventaja clave de Cursor es que podemos ejecutar directamente los comandos sugeridos desde la interfaz, simplificando enormemente el proceso de configuración.

¿Cómo aprovechar las capacidades multimodales de Cursor?

Una de las características más poderosas de Cursor es su capacidad para procesar diferentes tipos de entrada, incluyendo imágenes. Esto resulta extremadamente útil cuando trabajamos con diagramas o esquemas de arquitectura.

Generación de código a partir de diagramas

Imaginemos que tenemos un diagrama simple de una entidad "Plato" con tres atributos: ID (entero), nombre (string) y precio (flotante). Podemos exportar este diagrama como imagen y pedirle a Cursor que genere el código correspondiente:

Genera un modelo de Pydantic que cumpla con lo que tienes en la imagen.

La IA reconocerá la estructura del diagrama y generará el código apropiado:

from pydantic import BaseModel
from typing import Optional

class Plato(BaseModel):
    id: int
    nombre: str
    precio: float

Luego podemos pedirle que coloque este código en un archivo específico:

Necesito que lo que acabas de generar se encuentre dentro de un archivo que se llame esquemas.py

Y Cursor se encargará de crear el archivo y colocar el código generado en él.

Indexación de documentación externa

Una funcionalidad particularmente útil de Cursor es su capacidad para indexar documentación externa. Esto permite que la IA tenga un contexto más completo sobre las tecnologías que estamos utilizando.

Para indexar la documentación de FastAPI, simplemente:

  1. Copiamos la URL de la documentación (fastapi.tiangolo.com)
  2. Abrimos la configuración de Cursor
  3. Vamos a la sección de "Documentos"
  4. Agregamos la URL de la documentación

Una vez indexada, podemos referenciar esta documentación en nuestros prompts:

En el archivo main, genera los endpoints necesarios para hacer un CRUD del esquema Plato. Utiliza la información que conoces de FastAPI.

La IA utilizará la documentación indexada para generar código de alta calidad siguiendo las mejores prácticas de FastAPI.

¿Cómo establecer reglas para mantener la consistencia del código?

Cursor permite definir reglas que la IA debe seguir al generar código, lo que resulta extremadamente útil para mantener la consistencia y seguir los estándares de tu equipo.

Archivos de reglas de Cursor

Podemos crear archivos con extensión .cursor-rules que definan las reglas globales para nuestro proyecto:

Toda función debe tener un docstring que explique para qué sirve la función.
La documentación debe estar en inglés.

Reglas específicas por contexto

Para reglas más específicas, podemos crear una estructura de carpetas .cursor/rules/ con archivos MDX que definan reglas para contextos particulares:

// .cursor/rules/functions.mdx
Este archivo es útil para cuando tengas que generar docstrings en funciones.
---
extensions: [".py"]
---
Haz la documentación en inglés, y para cada función genera docstrings.

La comunidad de Cursor también ha creado un repositorio de reglas predefinidas en cursor.directory, donde podemos encontrar y generar reglas para diferentes tecnologías y escenarios.

¿Cómo integrar Cursor con el flujo de trabajo de Git?

Cursor también facilita la integración con Git, permitiéndonos generar mensajes de commit basados en los cambios realizados. Simplemente:

  1. Hacemos stage de los cambios
  2. Solicitamos a Cursor que genere un mensaje de commit
  3. Realizamos el commit y push al repositorio

Esto agiliza el proceso de documentación de cambios y mantiene un historial claro de las modificaciones realizadas.

La combinación de todas estas funcionalidades hace de Cursor una herramienta extremadamente poderosa para el desarrollo de software moderno, permitiéndonos centrarnos en la lógica de negocio mientras la IA se encarga de las tareas más repetitivas y mecánicas.

¿Has probado Cursor u otras herramientas de programación asistida por IA? Comparte tu experiencia y cuéntanos cómo estas tecnologías están transformando tu forma de programar.