Cursor Rules: Configúralo Una Sola Vez
Escribes "usa TypeScript, no JavaScript" en Cursor por quinta vez esta semana. Explicas otra vez las convenciones de Tailwind de tu equipo. Cada una de esas correcciones se esfuma en el momento en que termina el chat, porque un prompt no es memoria: es una instrucción de una sola vez. Las Cursor Rules resuelven eso de forma permanente.
Por qué la IA sigue olvidando
Un modelo de lenguaje grande no tiene estado persistente entre conversaciones. A menos que algo se le vuelva a introducir explícitamente en su ventana de contexto, empieza desde cero cada vez. Eso está bien para preguntas puntuales, pero es una fricción para cualquier cosa repetida: estándares de código, convenciones de arquitectura, "siempre escribe pruebas", "nunca toques la carpeta de migraciones". Si lo dejas así, tú te conviertes en la memoria del modelo, repegando manualmente las mismas instrucciones en cada chat nuevo.
Las Cursor Rules existen específicamente para cerrar esta brecha. Una regla es una instrucción pequeña y persistente que Cursor lee e inyecta automáticamente, de modo que el estándar vive en el repositorio en lugar de en tus dedos que teclean.
Anatomía de un archivo de Cursor Rules
Las reglas viven en una carpeta .cursor/rules en la raíz de tu proyecto (Cursor también admite un único archivo heredado .cursorrules, pero la forma de carpeta te permite separar las reglas por tema). Cada archivo de regla tiene un rule type que controla cuándo se activa:
- Always — se aplica a absolutamente cada prompt del proyecto, sin excepciones. Ideal para restricciones estrictas: "usa siempre TypeScript", "nunca subas secretos", "respeta el estilo de imports del archivo existente".
- Auto attached — se aplica automáticamente cuando los archivos que se están editando coinciden con un patrón glob que definas. Ideal para acotar una regla a un subsistema en lugar de a todo el repositorio.
- Agent requested — la regla tiene una descripción, y el agente decide si es relevante para la tarea actual antes de incorporarla. Ideal para orientaciones que solo importan a veces.
Sea cual sea el tipo que uses, el mecanismo es el mismo: una vez que la regla está guardada, Cursor la lee automáticamente en los prompts a los que aplica. Escribes el estándar una vez; Cursor lo vuelve a aplicar para siempre.
Cómo configurarlo
- En la raíz de tu proyecto, crea la carpeta
.cursor/rulessi no existe. - Agrega un nuevo archivo de regla dentro de ella (la interfaz de Cursor puede generar el esqueleto, o escribe a mano un archivo markdown).
- Establece el rule type — para un estándar de todo el repositorio, elige Always.
- Escribe la instrucción de forma sencilla: "Usa siempre TypeScript y Tailwind. No uses estilos en línea. Respeta las convenciones de nombres existentes en el archivo que estás editando."
- Guarda. Cada prompt del proyecto lleva ahora esta instrucción automáticamente.
Si no quieres escribir reglas desde cero, cursor.directory aloja una biblioteca de reglas escritas por la comunidad para stacks y frameworks específicos que puedes copiar directamente en tu proyecto.
Dónde rinden las reglas
- Incorporar a un nuevo compañero de equipo al trabajo asistido por IA. El archivo de reglas le enseña a Cursor las convenciones del equipo desde el primer día, en lugar de que todos aprendan por ensayo y error.
- Trabajar en un repositorio heredado. Una regla puede decirle a Cursor cuál es el patrón vigente para que deje de resucitar enfoques obsoletos.
- Hacer cumplir una guía de estilo estricta. Los linters detectan la sintaxis; las reglas capturan la intención — cosas que un linter no puede expresar.
Errores a evitar
- No vuelques toda tu guía de estilo en una sola regla Always. Una regla gigante consume ventana de contexto en cada prompt, incluso en los irrelevantes. Separa los temas en archivos distintos y usa los tipos Auto attached o Agent requested.
- Las reglas desactualizadas son peores que no tener reglas. Actualiza el archivo de regla en el mismo commit que el cambio de convención — de lo contrario Cursor hará cumplir con confianza un estándar que tu equipo ya abandonó.
- Las reglas describen convenciones, no tareas puntuales. Usa una regla para "haz siempre X", no para una instrucción de una sola vez — eso sigue perteneciendo al prompt del chat.
¿Estás construyendo una función con IA? Yeda AI diseña, audita y lleva a producción sistemas de LLM.