Cursor Rules

Intermedio
CursorAI
CursorAI
Actualizado: 10/07/2025

¡Desbloquea el curso completo!

IA
Ejercicios
Certificado
Entrar

Sistema de Rules para personalizar IA

El sistema de Rules de Cursor IDE representa una de las funcionalidades más avanzadas para personalizar el comportamiento de la inteligencia artificial según las necesidades específicas de cada proyecto o desarrollador. Este sistema permite definir instrucciones precisas que la IA seguirá durante la generación de código, estableciendo patrones, estilos y restricciones que se aplicarán de forma consistente.

Arquitectura del sistema de Rules

Cursor implementa un sistema jerárquico de reglas que opera en diferentes niveles de aplicación. Las reglas se organizan en una estructura que permite desde configuraciones globales hasta especificaciones muy concretas para proyectos individuales.

El sistema distingue entre Project Rules y User Rules, cada una con su propio ámbito de aplicación y prioridad. Las Project Rules se almacenan dentro del directorio del proyecto y afectan únicamente a ese contexto específico, mientras que las User Rules se aplican globalmente a todos los proyectos del usuario.

# Ejemplo de estructura de directorios con rules
mi_proyecto/
├── .cursor/
│   └── rules
├── src/
│   └── main.py
└── requirements.txt

Project Rules: configuración específica del proyecto

Las Project Rules se definen mediante un archivo llamado rules ubicado en el directorio .cursor/ dentro de la raíz del proyecto. Estas reglas tienen precedencia sobre las configuraciones globales y permiten establecer convenciones específicas para el contexto de trabajo actual.

La creación de Project Rules es muy útil cuando trabajamos en equipos de desarrollo, ya que garantiza que todos los miembros del equipo reciban sugerencias de código consistentes con los estándares establecidos para el proyecto.

# Ejemplo de código que seguiría project rules específicas
class DataProcessor:
    """Procesador de datos siguiendo convenciones del proyecto."""
    
    def __init__(self, config_path: str) -> None:
        self._config = self._load_config(config_path)
        self._logger = self._setup_logger()
    
    def _load_config(self, path: str) -> dict:
        """Carga configuración desde archivo JSON."""
        # Implementación específica del proyecto
        pass

Jerarquía y precedencia de reglas

El sistema implementa una jerarquía clara donde las Project Rules tienen prioridad sobre las User Rules. Esta estructura permite mantener flexibilidad personal mientras se respetan las convenciones específicas de cada proyecto.

Cuando Cursor genera código, evalúa primero si existen Project Rules aplicables. En caso de no encontrarlas, recurre a las User Rules del usuario. Si ninguna regla específica está definida, la IA utiliza sus patrones predeterminados.

# La IA aplicará diferentes estilos según las rules activas
def procesar_datos(datos: list) -> dict:
    """
    Función que se adapta al estilo definido en las rules.
    El formato de docstrings, naming conventions y estructura
    dependerán de las reglas configuradas.
    """
    resultado = {}
    
    for item in datos:
        # El estilo de procesamiento seguirá las rules establecidas
        clave = item.get('id')
        valor = item.get('valor')
        resultado[clave] = valor
    
    return resultado

Beneficios del sistema de Rules

La implementación de un sistema de reglas personalizado ofrece ventajass en el desarrollo de software. Permite mantener consistencia en el estilo de código a lo largo de todo el proyecto, reduce la necesidad de revisiones manuales de código y facilita la integración de nuevos desarrolladores al equipo.

Además, el sistema de Rules mejora la productividad al automatizar decisiones de estilo que tradicionalmente requerían discusión y documentación manual. La IA aprende y aplica estas convenciones de forma automática, liberando tiempo para enfocarse en la lógica de negocio y arquitectura del software.

La flexibilidad del sistema permite desde reglas simples de formato hasta instrucciones complejas sobre patrones arquitectónicos, manejo de errores o convenciones de nomenclatura específicas del dominio del proyecto.

Tipos de rules y formato MDC

Guarda tu progreso

Inicia sesión para no perder tu progreso y accede a miles de tutoriales, ejercicios prácticos y nuestro asistente de IA.

Progreso guardado
Asistente IA
Ejercicios
Iniciar sesión gratis

Más de 25.000 desarrolladores ya confían en CertiDevs

El formato .mdc (Markdown Components) constituye el estándar para definir reglas en Cursor IDE. Los archivos .mdc combinan metadatos (frontmatter) con contenido de reglas, proporcionando una sintaxis estructurada para personalizar el comportamiento de la IA. Este formato combina la simplicidad del markdown con extensiones específicas que Cursor interpreta para personalizar el comportamiento de generación de código.

Estructura básica del formato MDC

Las reglas se escriben utilizando sintaxis markdown estándar, donde los encabezados definen categorías de reglas y el contenido describe las instrucciones específicas. El formato MDC permite organizar las reglas de manera jerárquica, facilitando tanto la lectura humana como el procesamiento por parte de la IA.

# Convenciones de código Python

## Nomenclatura
- Usar snake_case para variables y funciones
- Usar PascalCase para clases
- Constantes en MAYÚSCULAS

## Documentación
- Incluir docstrings en todas las funciones públicas
- Usar type hints en parámetros y valores de retorno

Tipos de reglas por categoría

El sistema de rules admite diferentes categorías de instrucciones que abarcan desde aspectos sintácticos hasta patrones arquitectónicos complejos. Cada categoría se enfoca en un aspecto específico del desarrollo de software.

Reglas de estilo y formato:

# Estilo de código

## Formato
- Líneas máximo 88 caracteres
- Usar comillas dobles para strings
- Espacios alrededor de operadores

## Imports
- Imports estándar primero
- Imports de terceros después
- Imports locales al final

Reglas de patrones y arquitectura:

# Patrones de diseño

## Clases
- Implementar __str__ y __repr__ en clases de datos
- Usar properties para atributos calculados
- Aplicar principio de responsabilidad única

## Funciones
- Máximo 20 líneas por función
- Un solo nivel de abstracción por función
- Evitar efectos secundarios en funciones puras

Reglas específicas para Python

Dado el enfoque en desarrollo con Python, las reglas pueden incluir especificaciones detalladas sobre el uso de características específicas del lenguaje, bibliotecas comunes y patrones idiomáticos.

# Especificaciones Python

## Manejo de datos
- Usar pandas para manipulación de datasets
- Implementar validación con pydantic
- Aplicar list comprehensions cuando mejoren legibilidad

## Machine Learning
- Usar scikit-learn para algoritmos estándar
- Implementar pipelines para preprocesamiento
- Documentar hiperparámetros en configuración

Reglas condicionales y contextuales

El formato MDC permite definir reglas condicionales que se aplican únicamente en contextos específicos, proporcionando flexibilidad para adaptar el comportamiento de la IA según el tipo de archivo o funcionalidad que se esté desarrollando.

# Reglas contextuales

## Para archivos de testing
- Prefijo "test_" en nombres de función
- Usar pytest fixtures para setup
- Un assert por test cuando sea posible

## Para scripts de análisis
- Incluir logging detallado
- Guardar resultados en formato pickle
- Generar visualizaciones con matplotlib

Sintaxis avanzada del formato MDC

El formato admite elementos avanzados como ejemplos de código, plantillas y referencias cruzadas que enriquecen las instrucciones proporcionadas a la IA.

# Plantillas de código

## Clase base para procesadores
    ```python
    class BaseProcessor:
    def __init__(self, config: dict):
    self.config = config
    self.logger = self._setup_logger()

    def process(self, data):
    raise NotImplementedError
    ```

## Patrón de factory
- Usar cuando se necesiten múltiples implementaciones
- Registrar tipos en diccionario de factories
- Validar parámetros antes de crear instancias

Reglas de validación y restricciones

Las reglas pueden incluir restricciones específicas que la IA debe respetar durante la generación de código, estableciendo límites y validaciones que garanticen la calidad y consistencia del código generado.

# Restricciones de código

## Seguridad
- No usar eval() ni exec()
- Validar inputs de usuario
- Usar secrets para datos sensibles

## Performance
- Evitar loops anidados profundos
- Usar generadores para datasets grandes
- Implementar caching cuando sea apropiado

Organización y mantenimiento de rules

La organización efectiva de las reglas requiere una estructura lógica que facilite el mantenimiento y la evolución del sistema. Las reglas deben agruparse por funcionalidad y mantenerse actualizadas conforme evoluciona el proyecto.

# Estructura recomendada

## Core (reglas fundamentales)
## Styling (formato y presentación)  
## Architecture (patrones y estructura)
## Domain (específicas del dominio)
## Testing (reglas para pruebas)

El formato MDC proporciona la flexibilidad necesaria para crear sistemas de reglas sofisticados que evolucionan junto con las necesidades del proyecto, manteniendo siempre la claridad y facilidad de mantenimiento que caracterizan a las mejores prácticas de desarrollo de software.

Aprendizajes de esta lección

  • Comprender la arquitectura jerárquica del sistema de Rules en Cursor IDE.
  • Diferenciar entre Project Rules y User Rules y su ámbito de aplicación.
  • Aprender a definir reglas personalizadas usando el formato MDC para controlar estilo, patrones y restricciones.
  • Reconocer la importancia de la precedencia y jerarquía en la aplicación de reglas.
  • Valorar los beneficios de mantener consistencia y productividad mediante reglas automatizadas en proyectos de desarrollo.

Completa CursorAI y certifícate

Únete a nuestra plataforma y accede a miles de tutoriales, ejercicios prácticos, proyectos reales y nuestro asistente de IA personalizado para acelerar tu aprendizaje.

Asistente IA

Resuelve dudas al instante

Ejercicios

Practica con proyectos reales

Certificados

Valida tus conocimientos

Más de 25.000 desarrolladores ya se han certificado con CertiDevs

⭐⭐⭐⭐⭐
4.9/5 valoración