Guía Completa para Crear Reglas en Cursor

Introducción
Cursor permite definir reglas contextuales para mejorar la asistencia de IA durante la programación. Estas reglas ayudan a mantener consistencia, estilo y buenas prácticas en tus proyectos. En esta guía, exploraremos cómo crear reglas efectivas, cuándo usarlas y en qué se diferencian de los otros dos formatos que Cursor soporta hoy. Y si todavía estás evaluando la herramienta, revisa primero los precios y planes de Cursor para elegir el tier que se ajusta a tu uso.
¿Qué son las Reglas de Cursor?
Las reglas son documentos que ayudan al agente de IA de Cursor a entender el contexto de tu código. Existen varios tipos de reglas:
- Always: Siempre aplicadas.
- Auto Attached: Se activan automáticamente según patrones de archivos.
- Agent Requested: Sugeridas por la IA.
- Manual: Activadas manualmente usando
@ruleName.
Estructura y Ubicación
Las reglas se guardan en .cursor/rules con formato .mdc. Cada archivo puede tener metadata como:
---
description: "Ejemplo de regla"
globs:
- "src/**/*.ts"
alwaysApply: true
---Y debajo, el contenido que describe qué debe hacer el desarrollador.
Si vienes del archivo .cursorrules
El formato original era un único archivo .cursorrules en la raíz del proyecto, en texto plano y sin metadata. Sigue funcionando por compatibilidad, pero es el formato antiguo y conviene migrarlo.
La diferencia práctica es que .cursorrules se cargaba entero y siempre, mientras que .cursor/rules te deja partir las reglas en varios archivos .mdc y decidir cuándo aplica cada uno con globs y alwaysApply. En un proyecto mediano eso es la diferencia entre inyectar todo el contexto en cada petición o solo el que corresponde al archivo que estás tocando.
Para migrar: crea la carpeta .cursor/rules, mueve el contenido a uno o varios .mdc con el frontmatter de arriba, y borra el .cursorrules viejo.
Ejemplo Práctico
---
description: "Usar snake_case en servicios"
globs:
- "backend/**/*.ts"
alwaysApply: false
---
- Los nombres de función deben seguir el formato snake_case.Crear Reglas desde Cursor
Puedes usar la interfaz de Cursor (Settings > Rules > New Rule) o el comando /Generate Cursor Rules para generar contenido automáticamente.
¿Rules, AGENTS.md o SKILL.md?
Cuando escribí este artículo, las Cursor Rules en .mdc eran la única forma de darle contexto permanente al editor. Ya no lo son: Cursor soporta también AGENTS.md y las Agent Skills en .cursor/skills/ y .agents/skills/, y los tres conviven resolviendo cosas distintas.
Antes de invertir tiempo en un formato, conviene saber cuál de los tres te toca:
Rules, AGENTS.md y SKILL.md en Cursor: cuál usar
Mejores Prácticas
- Mantén reglas por debajo de 500 líneas.
- Usa ejemplos concretos.
- Organiza las reglas en carpetas temáticas (frontend, backend, tests).
- Documenta el propósito de cada regla claramente.
Preguntas Frecuentes
¿Puedo usar variables en las reglas?
No directamente, pero puedes estructurarlas para que se apliquen por patrones.
¿Qué diferencia hay entre Auto Attached y Always?
Auto Attached depende del archivo; Always se aplica globalmente.
¿Cómo actualizo reglas sin reiniciar Cursor?
Al guardar el archivo .mdc, Cursor detecta el cambio automáticamente.
¿Se pueden heredar reglas entre proyectos?
No directamente, pero puedes copiar la carpeta .cursor/rules.
¿Puedo usar la IA para generar reglas?
Sí, con el comando /Generate Cursor Rules en el chat de Cursor.
¿Qué pasa si tengo reglas duplicadas?
La regla más específica tiene prioridad según el patrón (globs).
Conclusión
Crear reglas en Cursor es clave para mantener la coherencia y la calidad del código. Empieza por una sola regla corta y concreta, comprueba que el editor la respeta y ve sumando desde ahí. Y si dudas entre .mdc, AGENTS.md o una Skill, lo comparo en Rules, AGENTS.md y SKILL.md en Cursor.
Referencia oficial: Documentación de Reglas en Cursor