Las reglas proporcionan instrucciones a nivel de sistema para Agent e Inline Edit. Pensalas como contexto, preferencias o flujos de trabajo persistentes para tus proyectos. Cursor admite cuatro tipos de reglas:

Project Rules

Almacenadas en .cursor/rules, con control de versiones y aplicadas al alcance de tu base de código.

User Rules

Globales para tu entorno de Cursor. Definidas en la configuración y siempre aplicadas.

AGENTS.md

Instrucciones para Agent en formato Markdown. Alternativa simple a .cursor/rules.

.cursorrules (Legacy)

Aún compatibles, pero obsoletas. Usá Project Rules en su lugar.

Cómo funcionan las reglas

Los modelos de lenguaje grandes no retienen memoria entre completions. Las reglas proporcionan contexto persistente y reutilizable a nivel de prompt. Cuando se aplican, los contenidos de las reglas se incluyen al inicio del contexto del modelo. Esto le da a la IA una guía coherente para generar código, interpretar ediciones o ayudar con flujos de trabajo.
Regla aplicada en el contexto con el chat
Las reglas se aplican a Chat y a Inline Edit. Las reglas activas se muestran en la barra lateral del agente.

Reglas del proyecto

Las reglas del proyecto se encuentran en .cursor/rules. Cada regla es un archivo y está bajo control de versiones. Pueden limitarse mediante patrones de ruta, invocarse manualmente o incluirse según su relevancia. Los subdirectorios pueden incluir su propio directorio .cursor/rules con alcance limitado a esa carpeta. Usa las reglas del proyecto para:
  • Codificar conocimiento específico del dominio sobre tu base de código
  • Automatizar flujos de trabajo o plantillas específicos del proyecto
  • Estandarizar decisiones de estilo o de arquitectura

Anatomía de una regla

Cada archivo de regla está escrito en MDC (.mdc), un formato que admite metadatos y contenido. Controla cómo se aplican las reglas desde el menú desplegable de tipo, que modifica las propiedades description, globs, alwaysApply.
Rule TypeDescription
AlwaysSiempre incluida en el contexto del modelo
Auto AttachedIncluida cuando se referencian archivos que coinciden con un patrón glob
Agent RequestedDisponible para la IA, que decide si incluirla. Debe proporcionar una descripción
ManualSolo se incluye cuando se menciona explícitamente usando @ruleName
---
description: Plantilla de servicio RPC
globs:
alwaysApply: false
---

- Usa nuestro patrón interno de RPC al definir servicios
- Usa siempre snake_case para los nombres de los servicios.

@service-template.ts

Reglas anidadas

Organiza las reglas colocándolas en directorios .cursor/rules a lo largo de tu proyecto. Las reglas anidadas se aplican automáticamente cuando se hace referencia a archivos dentro de su directorio.
project/
  .cursor/rules/        # Reglas para todo el proyecto
  backend/
    server/
      .cursor/rules/    # Reglas específicas del backend
  frontend/
    .cursor/rules/      # Reglas específicas del frontend

Crear una regla

Crea reglas con el comando New Cursor Rule o desde Cursor Settings > Rules. Esto crea un nuevo archivo de regla en .cursor/rules. Desde la configuración puedes ver todas las reglas y su estado.
Comparación entre reglas concisas y extensas

Generar reglas

Genera reglas directamente en las conversaciones usando el comando /Generate Cursor Rules. Útil cuando ya definiste el comportamiento del agente y quieres reutilizarlo.

Mejores prácticas

Las buenas reglas son concretas, accionables y bien acotadas.
  • Mantén las reglas por debajo de 500 líneas
  • Divide las reglas grandes en varias reglas componibles
  • Proporciona ejemplos concretos o archivos de referencia
  • Evita las indicaciones vagas. Escribe las reglas como documentación interna clara
  • Reutiliza reglas cuando repitas prompts en el chat

Ejemplos

Esta regla define estándares para componentes de frontend:Al trabajar en el directorio de components:
  • Usa siempre Tailwind para estilos
  • Usa Framer Motion para animaciones
  • Sigue las convenciones de nomenclatura de componentes
Esta regla aplica validación para endpoints de API:En el directorio de API:
  • Usa zod para toda la validación
  • Define los tipos de retorno con esquemas de zod
  • Exporta los tipos generados a partir de los esquemas
Esta regla proporciona una plantilla para servicios de Express:Usa esta plantilla al crear un servicio de Express:
  • Sigue los principios RESTful
  • Incluye middleware de manejo de errores
  • Configura un logging adecuado
@express-service-template.tsEsta regla define la estructura de los componentes de React:Los componentes de React deben seguir este esquema:
  • Interfaz de Props al inicio
  • Componente como export nombrado
  • Estilos al final
@component-template.tsx
Esta regla automatiza el análisis de la app:Cuando te pidan analizar la app:
  1. Ejecuta el servidor de desarrollo con npm run dev
  2. Obtén los logs de la consola
  3. Sugiere mejoras de rendimiento
Esta regla ayuda a generar documentación:Ayuda a redactar documentación:
  • Extrayendo comentarios del código
  • Analizando README.md
  • Generando documentación en Markdown
Primero crea una propiedad con toggle en @reactiveStorageTypes.ts.Añade el valor por defecto en INIT_APPLICATION_USER_PERSISTENT_STORAGE en @reactiveStorageService.tsx.Para funciones beta, agrega el toggle en @settingsBetaTab.tsx; de lo contrario, agrégalo en @settingsGeneralTab.tsx. Los toggles se pueden añadir como <SettingsSubSection> para checkboxes generales. Revisa el resto del archivo para ver ejemplos.
<SettingsSubSection
				label="Your feature name"
				description="Your feature description"
				value={
					vsContext.reactiveStorageService.applicationUserPersistentStorage
						.myNewProperty ?? false
				}
				onChange={(newVal) => {
					vsContext.reactiveStorageService.setApplicationUserPersistentStorage(
						'myNewProperty',
						newVal
					);
				}}
			/>
Para usarlo en la app, importa reactiveStorageService y usa la propiedad:
const flagIsEnabled = vsContext.reactiveStorageService.applicationUserPersistentStorage.myNewProperty
Hay muchos ejemplos disponibles de proveedores y frameworks. Las reglas aportadas por la comunidad se encuentran en colecciones y repositorios colaborativos en línea.

AGENTS.md

AGENTS.md es un archivo markdown simple para definir instrucciones de agentes. Ponlo en la raíz de tu proyecto como alternativa a .cursor/rules para casos de uso sencillos. A diferencia de las Reglas del proyecto, AGENTS.md es un archivo markdown sin metadatos ni configuraciones complejas. Es perfecto para proyectos que necesitan instrucciones simples y fáciles de leer, sin la sobrecarga de reglas estructuradas.
# Instrucciones del proyecto

## Estilo de código
- Usa TypeScript para todos los archivos nuevos
- Prefiere componentes funcionales en React
- Usa snake_case para las columnas de la base de datos

## Arquitectura
- Sigue el patrón de repositorio
- Mantén la lógica de negocio en las capas de servicio

Reglas de usuario

Las reglas de usuario son preferencias globales definidas en Cursor Settings → Rules que se aplican a todos los proyectos. Son texto plano y van perfectas para establecer tu estilo de comunicación preferido o tus convenciones de código:
Respondé de forma concisa. Evitá la repetición innecesaria o el lenguaje de relleno.

.cursorrules (Legacy)

El archivo .cursorrules en la raíz de tu proyecto sigue siendo compatible, pero se va a deprecar. Te recomendamos migrar a Project Rules para tener más control, flexibilidad y visibilidad.

Preguntas frecuentes

Revisa el tipo de regla. Para Agent Requested, asegúrate de que haya una descripción definida. Para Auto Attached, asegúrate de que el patrón de archivos coincida con los archivos referenciados.
Sí. Usa @filename.ts para incluir archivos en el contexto de tu regla.
Sí, genera reglas del proyecto desde el chat usando el comando /Generate Cursor Rules. Si Memories está habilitado, las memorias se generan automáticamente.
No. Las reglas solo se aplican a Agent y a Inline Edit.