Cambiar tema

Configuración avanzada de Cursor Rules: crea tu asistente de programación con IA

Easton editorial illustration: Codex project workflow bench

En el mismo proyecto, Cursor a veces genera código elegante y a veces algo que no encaja con tu estilo. Escribes reglas en .cursorrules y parece que la IA no las ve. Cambias de proyecto y vuelves a configurar todo.

La primera vez pasé horas escribiendo reglas sin cambio real: el problema no eran las reglas, sino cómo entendía el sistema.

Este artículo trata el uso avanzado de Cursor Rules: no un «qué es .cursorrules», sino prácticas para sacarle partido de verdad.

1. Reconceptualizar Cursor Rules

1.1 De .cursorrules a .cursor/rules

Si llevas tiempo con Cursor, quizá sigues con un único .cursorrules. Funciona, pero con límites claros.

Un solo archivo concentra todo y complica el mantenimiento. No puedes reglas distintas por tipo de archivo: React y Python en el mismo repo, reglas separadas — el formato antiguo no lo permite bien.

En 2026, Cursor añadió .cursor/rules/ con formato MDC.

.cursor/
└── rules/
    ├── base.mdc
    ├── frontend.mdc
    ├── backend.mdc
    └── testing.mdc

Cada .mdc es un módulo con globs: frontend.mdc para .tsx, backend.mdc para .py.

La migración es sencilla: .cursorrules sigue válido; para actualizar, divide en varios .mdc.

1.2 Tres tipos de reglas

Project Rules en .cursor/rules/, solo el proyecto actual. Stack (React 18 + Tailwind), etc. El equipo las hereda al clonar.

Team Rules en la nube, compartidas. Estándares de equipo; requiere plan Team de Cursor.

User Rules en ajustes de Cursor, todos tus proyectos. Preferencias personales (tabs vs espacios, idioma de comentarios).

Prioridad: User > Team > Project.

1.3 Cómo se activan las reglas

El contenido de las reglas entra en el contexto del modelo y consume tokens. Más no es mejor.

Los globs funcionan como .gitignore: ["**/*.tsx"] o ["app/api/**/*"].

Si varias reglas aplican al mismo archivo, Cursor carga por orden lexicográfico del nombre. Prefijos numéricos (00-base.mdc, 01-frontend.mdc) controlan prioridad.

2. Configuración práctica

2.1 React + TypeScript

Copia en .cursor/rules/react.mdc:

---
description: Reglas proyecto React + TypeScript
globs: ["**/*.{ts,tsx}"]
---

# Stack
- React 18+
- TypeScript 5.0+
- Tailwind CSS

# Estilo
- Componentes funcionales con function
- Props con interfaces TypeScript
- Estructura: componente exportado → subcomponentes → helpers → types
- Exportaciones nombradas, evitar default export

# Buenas prácticas React
- Server Components si usas Next.js
- useState / useReducer para estado
- useEffect con cleanup
- React.memo en componentes sensibles al rendimiento

# Errores
- early return
- guard clauses
- Mensajes amigables al usuario

Orden: stack → estilo → prácticas → errores.

2.2 Next.js 14 full-stack

.cursor/
└── rules/
    ├── base.mdc
    ├── api.mdc
    ├── components.mdc
    ├── database.mdc
    └── testing.mdc

Ejemplo api.mdc:

---
globs: ["app/api/**/*.{ts,tsx}"]
---

# Rutas API
- Route Handlers (app/api/)
- Tipo APIResponse unificado
- Validación con Zod
- Errores con next-safe-action

# Formato de respuesta
- GET: { success, data?, error? }
- POST: validar → procesar → responder
- Clasificar: validación, negocio, sistema

Las reglas API solo actúan en app/api/.

2.3 Python FastAPI

---
description: Reglas Python FastAPI
globs: ["**/*.py"]
---

# Stack
- Python 3.12+
- FastAPI 0.100+
- SQLAlchemy 2.0
- Pydantic v2

# Estilo
- Black + isort
- type hints obligatorios
- snake_case en funciones

# FastAPI
- Inyección de dependencias para BD
- Validación Pydantic
- background tasks
- Middleware de errores unificado

# Base de datos
- SQLAlchemy 2.0 async
- Alembic para migraciones
- soft delete y auditoría

2.4 Trabajo en equipo

proyecto/
├── .cursor/rules/
│   ├── README.md
│   ├── base.mdc
│   ├── frontend.mdc
│   ├── backend.mdc
│   └── team-guidelines.mdc
└── .cursorrules  # opcional
  • Versiona las reglas en Git
  • Comenta cada archivo para onboarding
  • Revisa y actualiza cada iteración

3. Depuración y optimización

3.1 Diagnóstico

  1. Ubicación: .cursor/rules/ o .cursorrules en raíz
  2. globs: pregunta a la IA qué reglas ve
  3. YAML: frontmatter MDC bien indentado
  4. Conflictos: fusiona requisitos contradictorios

3.2 Estrategias

Concisión: lo importante primero.

Especificidad: «componentes funcionales» mejor que «código limpio».

Capas: Stack → estilo → prácticas → errores.

Iteración: ajusta según la calidad del código generado.

3.3 Métricas

  • Tasa de uso directo del código generado
  • Consistencia de estilo
  • Menos bugs
  • Mayor velocidad de desarrollo

4. MDC y modularización (2026)

4.1 Formato MDC

---
description: Descripción (opcional)
globs: ["patrón"]
alwaysApply: false
---

# Contenido de la regla

alwaysApply: true gasta tokens; úsalo con cuidado.

4.2 Arquitectura modular

.cursor/rules/
    ├── 00-base.mdc
    ├── 01-tech-stack.mdc
    ├── 10-frontend/react.mdc
    ├── 20-backend/api.mdc
    └── README.md

4.3 Herramientas

cursor.directory, cursorrules.org, awesome-cursorrules — personaliza, no copies a ciegas.

5. Resumen y acción

5.1 Checklist

  1. Tipo de proyecto
  2. Plantilla de comunidad
  3. Personalizar stack y hábitos
  4. Probar generación de código
  5. Compartir en el repo

5.2 Evitar

  • Reglas vagas o archivos >200 líneas
  • Desplegar sin probar
  • No actualizar cuando el proyecto cambia

5.3 Recursos

Abre tu proyecto y configura la primera regla. Empieza simple: verás cómo la IA se acerca más a tu forma de trabajar.

Configurar Cursor Rules avanzadas

Configurar desde cero reglas modulares de Cursor Rules para mejorar la comprensión del asistente de IA

⏱️ Estimated time: 30 min

  1. 1

    Step 1: Crear estructura de directorios

    En la raíz del proyecto:

    ```bash
    mkdir -p .cursor/rules
    ```

    Si migras desde .cursorrules antiguo, conserva el archivo; ambos formatos pueden coexistir.
  2. 2

    Step 2: Crear regla base

    Crea base.mdc con normas generales:

    ```markdown
    ---
    description: Normas base del proyecto
    globs: ["**/*"]
    ---

    # Información del proyecto
    - Nombre: tu proyecto
    - Stack: tecnologías principales

    # Normas generales
    - Estilo de código
    - Convenciones de nombres
    - Comentarios
    ```

    Se aplica a todos los archivos.
  3. 3

    Step 3: Reglas por tipo de archivo

    Crea frontend.mdc u otros:

    ```markdown
    ---
    globs: ["**/*.{ts,tsx}"]
    ---

    # Reglas frontend
    - Componentes
    - Estado
    - Estilos
    ```

    globs admite varios patrones: `["**/*.ts", "**/*.tsx"]`
  4. 4

    Step 4: Probar que las reglas cargan

    Abre un archivo objetivo en Cursor y pregunta:

    "¿Qué reglas tienes cargadas ahora?"

    Si no aparecen, revisa ubicación, globs y sintaxis YAML.
  5. 5

    Step 5: Incluir en control de versiones

    Sube las reglas a Git:

    ```bash
    git add .cursor/rules/
    git commit -m "feat: add cursor rules configuration"
    ```

    El equipo las obtiene al clonar.

FAQ

¿Dónde deben ir los archivos de Cursor Rules?
En `.cursor/rules/` del proyecto, un `.mdc` por regla. `.cursorrules` sigue soportado, pero proyectos nuevos conviene usar el directorio modular.
¿Qué diferencia hay entre .cursorrules y .cursor/rules/?
`.cursorrules` es un solo archivo con todo mezclado. `.cursor/rules/` permite varios `.mdc` con globs para alcance preciso; mejor en proyectos medianos o grandes.
¿Por qué no aplican mis reglas?
Cuatro causas habituales:

• Ubicación incorrecta
• globs que no coinciden
• YAML frontmatter mal formado
• Contenido demasiado largo o vago

Pregunta en Cursor: «¿Qué reglas tienes cargadas?»
¿Qué longitud conviene para un archivo de reglas?
Menos de 200 líneas. Ocupa tokens y reglas largas confunden al modelo. Prioriza lo esencial al inicio y usa ejemplos concretos.
¿Prioridad entre User, Team y Project Rules?
De mayor a menor: User Rules → Team Rules → Project Rules. Las de mayor prioridad prevalecen.
¿Cómo escribir globs en MDC?
Patrones glob en rutas. Ejemplos:

• `["**/*.tsx"]` — todos los tsx
• `["app/api/**/*"]` — todo bajo app/api
• `["*.test.{ts,tsx}"]` — solo tests
• `["**/*.ts", "**/*.tsx"]` — varios tipos
¿Hay plantillas listas para usar?
cursor.directory, cursorrules.org y awesome-cursorrules en GitHub (100+ plantillas, 20+ frameworks). Parte de plantilla y adapta a tu proyecto.

4 min de lectura · Publicado el: 20 mar 2026 · Actualizado el: 21 ago 2026

Comentarios

Inicia sesión con GitHub para dejar un comentario

Easton BlogEaston Blog