Skip to main content

Command Palette

Search for a command to run...

Personalizar

Reglas

Las reglas proporcionan instrucciones a nivel de sistema al Agent. Agrupan instrucciones, scripts y otros elementos, lo que facilita gestionar y compartir flujos de trabajo en todo el equipo.

Cursor admite cuatro tipos de reglas:

Reglas del proyecto

Se almacenan en .cursor/rules, están controladas por versiones y se aplican a tu base de código.

Reglas de usuario

Son globales para tu entorno de Cursor. Las usa el Agent (Chat).

Reglas del equipo

Reglas para todo el equipo gestionadas desde el Panel de control. Disponibles en los planes Team y Enterprise.

AGENTS.md

Instrucciones para el Agent en formato markdown. Una alternativa sencilla a .cursor/rules.

Cómo funcionan las reglas

Los modelos de lenguaje de gran tamaño no conservan la memoria entre completions. Las reglas proporcionan contexto persistente y reutilizable a nivel de instrucción.

Cuando se aplican, el contenido de las reglas se incluye al inicio del contexto del modelo. Esto proporciona a la IA una guía coherente para generar código, interpretar ediciones o ayudar con flujos de trabajo.

Reglas del proyecto

Las reglas del proyecto se almacenan en .cursor/rules como archivos .mdc y están bajo control de versiones. Se aplican según patrones de ruta, se invocan manualmente o se incluyen en función de su relevancia.

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 arquitectura

Estructura de los archivos de reglas

Cada regla es un archivo .mdc al que puedes ponerle el nombre que quieras. Las reglas del proyecto deben usar la extensión .mdc. El sistema de reglas ignora los archivos .md simples en .cursor/rules porque no tienen frontmatter para especificar description, globs y alwaysApply. Si prefieres usar markdown simple, usa AGENTS.md.

.cursor/rules/  react-patterns.mdc       # Se reconoce como regla de proyecto  api-guidelines.md        # Se ignora (extensión incorrecta)  frontend/                # Organiza las reglas en carpetas    components.mdc

Anatomía de una regla

Cada regla es un archivo markdown con metadatos de frontmatter y contenido. Controla cómo se aplican las reglas desde el menú desplegable de tipo, que modifica las propiedades description, globs y alwaysApply.

Tipo de reglaDescripción
Aplicar siempreSe aplica a todas las sesiones de chat
Aplicar de forma inteligenteCuando el Agent decide que es relevante según la descripción
Aplicar a archivos específicosCuando un archivo coincide con un patrón especificado
Aplicar manualmenteCuando se menciona con @ en el chat (p. ej., @my-rule)

Internamente, los tres campos de frontmatter interactúan para determinar cuándo se incluye una regla:

alwaysApplydescriptionglobsComportamiento
trueSiempre se incluye. Se ignoran los globs y la descripción.
falseproporcionadoSe adjunta automáticamente cuando hay un archivo coincidente en el contexto.
falseproporcionadoomitidoEl Agent lee la descripción e incluye la regla cuando es relevante.
falseomitidoomitidoSe incluye solo cuando mencionas la regla con @ en el chat.
Always applied
---alwaysApply: true---- Todos los archivos fuente deben incluir el aviso de derechos de autor de la empresa- Si tienes dudas sobre los detalles de implementación, lee los  archivos fuente pertinentes antes de proponer cambios- Nunca modifiques archivos generados en los directorios `dist/` o `build/`
Auto-attached by file pattern
---globs: src/components/**/*.tsxalwaysApply: false---- Use exportaciones con nombre, no exportaciones predeterminadas- Ubique los estilos en un archivo de módulo CSS junto al componente- Mantenga los componentes por debajo de 200 líneas. Extraiga los subcomponentes al mismo  directorio cuando un archivo supere ese límite- Prefiera la composición frente al prop drilling. Pase children o render props  en lugar de pasar datos a través de varias capas
Agent-selected based on description
---description: RPC service conventions and patterns for the backendalwaysApply: false---- Define each service in its own file under `src/services/`- Always validate inputs at the service boundary before passing data  to internal functions- Return structured error objects with a `code` and `message` field,  never throw raw strings- Add a `@service-template.ts` reference file when creating a new  service for the standard boilerplate
Manual — only via @-mention
---alwaysApply: false---- Toda migración de base de datos debe tener funciones `up` y `down`  para poder revertirse por completo- Nunca modifiques el tipo de una columna in situ. Añade una columna nueva,  haz la carga retroactiva y luego elimina la antigua en una migración aparte- Consulta la plantilla para conocer la estructura de archivos esperada@migration-template.sql

Ejemplos de patrones glob

Usa globs para aplicar una regla a archivos o directorios específicos. Separa varios patrones con comas.

PatrónCoincide con
*Cualquier segmento de nombre de archivo
**Cualquier número de directorios (recursivo)
*.tsTodos los archivos .ts en la raíz
**/*.tsTodos los archivos .ts en cualquier directorio
src/**Todos los archivos dentro de src/
src/**/*.tsxTodos los archivos .tsx dentro de src/
docs/**/*.md, docs/**/*.mdxArchivos .md y .mdx en docs/ (separados por comas)
tailwind.config.*tailwind.config con cualquier extensión

Crear una regla

Hay dos formas de crear reglas:

  • /create-rule en el chat: Escribe /create-rule en Agent y describe lo que quieres. Agent genera el archivo de regla con el frontmatter adecuado y lo guarda en .cursor/rules.
  • Desde Personalizar: Abre Personalizar en la barra lateral, ve a Reglas y haz clic en Añadir regla. Se creará un nuevo archivo de regla en .cursor/rules. Desde Personalizar, puedes ver todas las reglas y su estado.

Mejores prácticas

Las buenas reglas son específicas, prácticas y tienen un alcance definido.

  • Mantén las reglas por debajo de 500 líneas
  • Divide las reglas extensas en varias reglas componibles
  • Incluye ejemplos concretos o archivos de referencia
  • Evita indicaciones imprecisas. Escribe las reglas como documentación interna clara
  • Reutiliza las reglas al repetir instrucciones en el chat
  • Haz referencia a archivos en lugar de copiar su contenido; así las reglas se mantienen cortas y no quedan desactualizadas a medida que cambia el código

Qué evitar en las reglas

  • Copiar guías de estilo completas: Usa un linter. Agent ya conoce las convenciones de estilo habituales.
  • Documentar todos los comandos posibles: Agent conoce herramientas comunes como npm, git y pytest.
  • Añadir instrucciones para casos límite que rara vez se dan: Mantén las reglas centradas en los patrones que usas con frecuencia.
  • Duplicar lo que ya está en tu base de código: Remite a ejemplos canónicos en lugar de copiar código.

Guarda tus reglas en git para que todo el equipo se beneficie. Cuando veas que Agent comete un error, actualiza la regla. Incluso puedes mencionar a @cursor en un problema o una PR de GitHub para que Agent actualice la regla por ti.

Formato de los archivos de reglas

Cada regla es un archivo markdown con metadatos en el frontmatter y contenido. Los metadatos del frontmatter se usan para controlar cómo se aplica la regla. El contenido es la regla propiamente dicha.

---description: "This rule provides standards for frontend components and API validation"alwaysApply: false---...rest of the rule content

Si alwaysApply es true, la regla se aplicará a cada sesión de chat. De lo contrario, se presentará la descripción de la regla al Cursor Agent para que decida si debe aplicarla.

Ejemplos

Esta regla establece estándares para los componentes de frontend:

Al trabajar en el directorio de componentes:

  • Usa siempre Tailwind para los estilos
  • Usa Framer Motion para las animaciones
  • Sigue las convenciones de nomenclatura de los componentes

Esta regla exige la validación de los endpoints de la API:

En el directorio de la API:

  • Usa zod para todas las validaciones
  • Define los tipos de retorno con esquemas de zod
  • Exporta los tipos generados a partir de los esquemas

Esta regla proporciona una plantilla para los servicios de Express:

Usa esta plantilla al crear un servicio de Express:

  • Sigue los principios RESTful
  • Incluye middleware de gestión de errores
  • Configura el registro correctamente

@express-service-template.ts

Esta regla define la estructura de los componentes de React:

Los componentes de React deben seguir esta estructura:

  • Interfaz de props en la parte superior
  • Componente como exportación con nombre
  • Estilos en la parte inferior

@component-template.tsx

Esta regla automatiza el análisis de la aplicación:

Cuando se solicite analizar la aplicación:

  1. Ejecuta el servidor de desarrollo con npm run dev
  2. Obtén los registros de la consola
  3. Sugiere mejoras de rendimiento

Esta regla ayuda a generar documentación:

Ayuda a redactar documentación mediante:

  • Extraer comentarios del código
  • Analizar README.md
  • Generar documentación en markdown

Primero, crea una propiedad que se pueda activar o desactivar en @reactiveStorageTypes.ts.

Añade un valor predeterminado a INIT_APPLICATION_USER_PERSISTENT_STORAGE en @reactiveStorageService.tsx.

Para las funciones beta, añade un interruptor en @settingsBetaTab.tsx; de lo contrario, añádelo en @settingsGeneralTab.tsx. Puedes añadir interruptores como <SettingsSubSection> para casillas de verificación generales. Consulta 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 usarla en la aplicación, importa reactiveStorageService y usa la propiedad:

const flagIsEnabled =  vsContext.reactiveStorageService.applicationUserPersistentStorage    .myNewProperty;

Hay ejemplos disponibles de proveedores y frameworks. Las reglas aportadas por la comunidad se encuentran en colecciones y repositorios colaborativos en línea.

Reglas del equipo

Los planes Team y Enterprise pueden crear y aplicar reglas en toda la organización desde el panel de control de Cursor. Los admins pueden configurar si cada regla es obligatoria para los miembros del equipo.

Las reglas del equipo funcionan junto con otros tipos de reglas y tienen prioridad para garantizar el cumplimiento de los estándares de la organización en todos los proyectos. Permiten mantener estándares de programación, prácticas y flujos de trabajo coherentes en todo el equipo sin necesidad de configuración individual.

Gestión de reglas del equipo

Los administradores del equipo pueden crear y gestionar reglas directamente desde el panel de control de Cursor:

Una vez creadas, las reglas del equipo se aplican automáticamente a todos los miembros del equipo y aparecen en el panel de control:

Activación y cumplimiento

  • Activar esta regla inmediatamente: Al marcar esta opción, la regla se activa en cuanto la creas. Al desmarcarla, la regla se guarda como borrador y no se aplica hasta que la actives más adelante.
  • Forzar esta regla: Al activarla, la regla es obligatoria para todos los miembros del equipo y no se puede desactivar en Personalizar. Si no se fuerza, los miembros del equipo pueden desactivarla en Reglas del equipo, dentro de Personalizar.

Formato y aplicación de las Reglas del equipo

  • Contenido: Las Reglas del equipo son texto de formato libre. No usan la estructura de carpetas de las reglas del proyecto.
  • Patrones glob: Las Reglas del equipo admiten patrones glob para aplicarse a archivos específicos. Cuando se establece un patrón glob (p. ej., **/*.py), la regla solo se aplica cuando hay archivos coincidentes en el contexto. Las reglas sin un patrón glob se aplican a todas las conversaciones.
  • Dónde se aplican: Cuando una regla del equipo está activada (y el usuario no la ha desactivado, salvo que sea obligatoria), se incluye en el contexto del modelo para Agent (Chat) en todos los repositorios y proyectos de ese equipo.
  • Precedencia: Las reglas se aplican en este orden: Reglas del equipo → Reglas del proyecto → Reglas de usuario. Se combinan todas las reglas aplicables; las fuentes anteriores tienen precedencia cuando las instrucciones entran en conflicto.

Importar reglas

Puedes importar reglas desde fuentes externas para reutilizar configuraciones existentes o incorporar reglas de otras herramientas.

Reglas remotas (a través de GitHub)

Importa reglas directamente desde cualquier repositorio de GitHub al que tengas acceso, público o privado.

  1. Abre Personalizar en la barra lateral
  2. Ve a Reglas y haz clic en Añadir regla
  3. Selecciona Regla remota (GitHub)
  4. Pega la URL del repositorio de GitHub que contiene las reglas. Cursor buscará todos los archivos .mdc del repositorio.
  5. Cursor descargará y sincronizará las reglas con tu proyecto

Las reglas se guardarán en .cursor/rules/imported/<repoName>. También conservarán sus rutas relativas, por lo que dir/rule.mdc se importará como .cursor/rule/imported/<repoName>/dir/rule.mdc.

AGENTS.md

AGENTS.md es un archivo Markdown sencillo para definir instrucciones para el agente. Colócalo en la raíz de tu proyecto como alternativa a .cursor/rules para casos de uso simples.

A diferencia de las reglas del proyecto, AGENTS.md es un archivo Markdown sin metadatos ni configuraciones complejas. Es ideal para proyectos que necesitan instrucciones simples y fáciles de leer sin la sobrecarga de las reglas estructuradas.

Cursor es compatible con AGENTS.md en la raíz del proyecto y en los subdirectorios.

# 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

Mejoras

Ya está disponible la compatibilidad con archivos AGENTS.md anidados en subdirectorios. Puedes colocar archivos AGENTS.md en cualquier subdirectorio de tu proyecto y se aplicarán automáticamente al trabajar con archivos de ese directorio o de sus subdirectorios.

Esto permite un control más granular de las instrucciones del agente según el área de la base de código en la que estés trabajando:

project/  AGENTS.md              # Instrucciones globales  frontend/    AGENTS.md            # Instrucciones específicas del frontend    components/      AGENTS.md          # Instrucciones específicas del componente  backend/    AGENTS.md            # Instrucciones específicas del backend

Las instrucciones de los archivos AGENTS.md anidados se combinan con las de los directorios principales, y las más específicas tienen prioridad.

Reglas de usuario

Las reglas de usuario son preferencias globales definidas en Personalizar → Reglas que se aplican a todos los proyectos. Agent (Chat) las utiliza y son ideales para establecer el estilo de comunicación o las convenciones de código preferidas:

Responde de forma concisa. Evita repeticiones innecesarias o lenguaje de relleno.

Preguntas frecuentes

Comprueba el tipo de regla. En Aplicar inteligentemente, asegúrate de definir una descripción. En Aplicar a archivos específicos, asegúrate de que el patrón de archivo coincida con los archivos referenciados.

Sí. Usa @filename.ts para incluir archivos en el contexto de tu regla. También puedes mencionar reglas con @ en el chat para aplicarlas manualmente.

Sí, puedes pedirle al agente que cree una regla nueva.

No. Las reglas no afectan a Cursor Tab ni a otras funciones de IA.

No. Las reglas de usuario no se aplican a Inline Edit (Cmd/Ctrl+K). Solo las usa Agent (Chat).