Saltar al contenido principal

Cursor Rules - Reglas para Cursor

Las Cursor Rules son instrucciones personalizadas que guían el comportamiento de la IA en tu entorno de desarrollo. Funcionan como un manual de instrucciones detallado que asegura consistencia y calidad en el código generado.

Aplicar reglas en tus proyectos te permite controlar mejor el comportamiento de Cursor y obtener resultados más consistentes. Un problema común que mencionan los usuarios es que a medida que tus proyectos crecen, se vuelven más difíciles de mantener, y los modelos de IA comienza a generar código que no cumple con tus estándares o requerimientos.

Cursor Rules te permite definir reglas específicas para tu proyecto, asegurando que el código generado cumpla con tus estándares y requerimientos.

Además, puedes usar Cursor Rules para:

  • Darle un rol específico a la IA.
  • Establecer estándares de código.
  • Establecer convenciones de nombrado.
  • Establecer estándares de seguridad.
  • Establecer estándares de accesibilidad y mucho más.

Tipos de Reglas

Reglas Globales

Las reglas globales se aplican a todas tus interacciones con la IA, independientemente del proyecto en el que estés trabajando:

  • Configuración: Cursor Settings > General > Rules for AI
  • Uso ideal: Preferencias generales de codificación, estándares que sigues en todos tus proyectos
  • Prioridad: Menor que las reglas de proyecto o directorio

Reglas de Proyecto

Las reglas de proyecto son específicas para cada repositorio:

  • Configuración: Archivo .cursorrules en la raíz del proyecto
  • Uso ideal: Estándares específicos del proyecto, arquitectura, patrones de diseño
  • Prioridad: Mayor que las reglas globales, menor que las reglas por directorio

Reglas por Directorio

Las reglas por directorio permiten definir instrucciones específicas para diferentes partes de tu proyecto:

  • Configuración: Archivos en .cursor/rules/*.mdc
  • Uso ideal: Reglas específicas por dominio o tecnología
  • Prioridad: Organizadas jerárquicamente, las más específicas tienen mayor prioridad

Evolución de Cursor Rules

Las Cursor Rules modernas han evolucionado de ser un listado pasivo de reglas a instrucciones activas para agentes:

Eres instructa, ¡un desarrollador senior de Rails con superpoderes! ⚡

# Comportamiento del Agente
- Leer primero Roadmap.md
- Planificar cambios en el esquema de base de datos
- Usar ViewComponents para UI compleja
- Escribir pruebas de sistema para rutas críticas

# Estándares de Código
- Seguir convenciones de Rails
- Usar concerns para lógica compartida
- Las pruebas deben pasar antes de fusionar

Este enfoque permite "personificar" a la IA, dándole un rol específico y directrices claras sobre cómo debe comportarse.

Estructura y Organización

Una estructura bien organizada hace que tus reglas sean más efectivas:

# TypeScript Development Rules

description: Guías para Desarrollo TypeScript
globs: *.ts, *.tsx

## Estándares de Código
- Usar TypeScript estricto
- Seguir patrones funcionales
- Implementar manejo de errores

## Convenciones de Nombrado
- Componentes: PascalCase
- Funciones: camelCase
- Archivos: kebab-case

Elementos clave:

  1. Encabezado principal: Define el propósito general
  2. Metadatos: Descripción y patrones glob para aplicación
  3. Secciones: Agrupan reglas relacionadas
  4. Reglas específicas: Instrucciones concretas y accionables

Consejos Pro para Cursor Rules

Referencias a Documentación

Puedes referenciar otros documentos usando la sintaxis @:

# API Development Rules

## Arquitectura
- Seguir el patrón de diseño descrito en @docs/architecture/services.md
- Implementar validación según @docs/validation/schema.md

Patrones Glob Estratégicos

Los patrones glob determinan a qué archivos se aplican las reglas:

globs: app/models/**/*.rb, !app/models/legacy/**/*.rb

Este ejemplo aplica las reglas a todos los archivos Ruby en app/models, excepto los que están en el subdirectorio legacy.

Organización Jerárquica

Organiza tus reglas en directorios estructurados:

.cursor/
└── rules/
├── typescript.mdc # Reglas TypeScript
├── react.mdc # Reglas React
├── api/
│ └── rest.mdc # Reglas API REST
└── testing/
└── jest.mdc # Reglas de Testing

Reglas Cardinales

Las reglas cardinales son instrucciones no negociables que guían a la IA de Cursor de manera consistente en todas las interacciones. Estas reglas tienen prioridad sobre cualquier otra instrucción y se cargan primero en cada interacción con la IA.

tip

Mantén tus reglas cardinales concisas y esenciales. Cursor las carga primero y las incluye en cada interacción con la IA, por lo que la claridad es clave.

Ejemplos de Reglas Cardinales

Aprovechar el Razonamiento LLM, Evitar Lógica Rígida

"Utiliza el razonamiento y la comprensión contextual de los LLMs para guiar el 
comportamiento de la aplicación, evitando lógica rígida preprogramada. Combina
siempre el razonamiento dinámico con las instrucciones del usuario, el contexto
del proyecto y las mejores prácticas."

Seguir las Pautas Arquitectónicas del Proyecto

"Adhiérete a nuestra arquitectura y patrones de diseño establecidos. No propongas 
soluciones que entren en conflicto con la estructura existente o que eviten
verificaciones críticas. Todos los cambios de código deben ser consistentes con
la arquitectura del sistema documentada y las guías de estilo."

Respetar la Confidencialidad y Privacidad

"Nunca reveles ni almacenes credenciales privadas, datos sensibles de usuarios 
o información propietaria en código generado o registros de conversación.
Cualquier token o secreto privado debe permanecer oculto y protegido."

Mejores Prácticas

  1. Sé específico: Instrucciones vagas producen resultados inconsistentes
  2. Prioriza: Las reglas más importantes deben aparecer primero
  3. Actualiza regularmente: Revisa y refina tus reglas basándote en los resultados
  4. Contextualiza: Incluye ejemplos concretos cuando sea posible
  5. Equilibra: Demasiadas reglas pueden limitar la creatividad de la IA

Ejemplos de Reglas por Dominio

Desarrollo Frontend

# Frontend Development Rules

## Accesibilidad
- Usar atributos ARIA apropiados
- Asegurar contraste de color suficiente
- Implementar navegación por teclado

## Rendimiento
- Minimizar renderizaciones innecesarias
- Implementar lazy loading para imágenes
- Optimizar bundle size

Desarrollo Backend

# Backend Development Rules

## Seguridad
- Validar todas las entradas de usuario
- Implementar autenticación para endpoints sensibles
- Evitar consultas SQL vulnerables a inyección

## Escalabilidad
- Diseñar para operaciones asíncronas cuando sea posible
- Implementar caché para operaciones costosas
- Usar paginación para grandes conjuntos de datos

Solución de Problemas Comunes

ProblemaSolución
La IA ignora algunas reglasReduce la cantidad de reglas o priorízalas mejor
Reglas contradictoriasRevisa y elimina contradicciones, establece prioridades claras
Reglas demasiado restrictivasEquilibra entre directrices y libertad creativa
Reglas demasiado vagasAñade ejemplos concretos y criterios específicos