Configurar el contexto y las reglas en Cursor marca la diferencia entre un asistente que improvisa y uno que respeta tu arquitectura. Aquí aprendes a estructurar la carpeta .cursor con reglas y archivos de contexto para que cada prompt en un proyecto iOS con SwiftUI genere código alineado a tu sistema de diseño, contratos de API y arquitectura Clean.
Por qué crear la carpeta .cursor en tu proyecto iOS
La carpeta .cursor vive en el root del proyecto, no dentro de una subcarpeta, y centraliza todo lo que el IDE debe leer antes de responder. Piensa en ella como el cerebro de referencia que Cursor consulta cada vez que escribes un prompt.
Dentro de .cursor se crean dos carpetas hermanas:
context: archivos con información del proyecto que pasarás manualmente como referencia.
rules: archivos .mdc que Cursor aplica de forma automática en cada interacción.
Esa separación es clave. Las reglas se ejecutan siempre; el contexto lo activas tú cuando lo necesitas [00:34].
Cómo configurar el archivo rules.mdc en Cursor
El archivo rules.mdc se ubica dentro de .cursor/rules y define el comportamiento global del modelo en tu proyecto. Tiene una estructura genérica donde declaras al asistente como experto en iOS, especificas la estructura del código, las convenciones de naming y las mejores prácticas que esperas en cada respuesta [01:14].
El detalle crítico está en el campo rule type. Debes elegir la opción always para que estas reglas se apliquen en cada prompt sin que tengas que invocarlas. Si la dejas en otro modo, Cursor podría ignorarlas cuando más las necesitas.
¿Qué es un archivo .mdc en Cursor? Es el formato que Cursor usa para definir reglas persistentes. Combina markdown con metadatos que indican cuándo y cómo aplicar la regla.
Qué archivos de contexto conviene tener en un proyecto SwiftUI
La carpeta context guarda prompts preparados y documentación viva del proyecto. En Platzi Flix se incluyen cuatro piezas que vale la pena replicar.
Prompt de UI con sistema de diseño
Un prompt de interfaz que concentra las reglas del sistema de diseño: tipografía, espaciados, bordes y estilos. Cada vez que pidas una vista o un componente, le pasas este archivo y la salida respeta tu design system sin tener que repetir instrucciones [02:00].
Mockups de referencia visual
Imágenes de diseño que se usan para pedirle a Cursor que construya una vista a partir de un mockup. Es la base para experimentar cómo el modelo interpreta una pantalla y la traduce a código SwiftUI.
Contrato de la API
La definición del contrato documenta las entidades del proyecto y la forma del JSON que devuelve la API al pedir cursos, un curso específico u otros recursos. Este archivo nace de la planeación conjunta entre ingeniería y producto, y evita que el modelo invente campos o estructuras [02:30].
Cómo definir la arquitectura Clean para que Cursor la respete
El último archivo de contexto describe la arquitectura Clean aplicada a este proyecto Swift. Aquí le indicas al modelo qué carpetas y qué archivos esperar en cada capa.
En la capa de dominio se define una carpeta de repositorios con un repository protocol, declarado como protocolo. La misma lógica se replica en las capas de data y presentación, manteniendo coherencia en toda la aplicación SwiftUI [03:14].
Cuando Cursor genera código nuevo, sigue ese mapa de carpetas y respeta los protocolos, en lugar de improvisar una estructura propia.
¿Para qué sirve documentar la arquitectura en un archivo de contexto? Para que el modelo no mezcle capas ni rompa la separación de responsabilidades cuando crea archivos nuevos.
Cómo verificar que las reglas están activas en Cursor settings
Una vez creados los archivos, queda el paso de verificación. Abre Cursor > Preferences > Cursor Settings y entra al tab de Rules [03:46].
Ahí verás dos secciones:
- Reglas del proyecto: las que vienen de
.cursor/rules.
- Reglas del usuario: globales para todo tu Cursor, independientes del proyecto.
Confirma que tu regla aparece listada bajo project rules y que su tipo está marcado como always. Si prefieres mantener las reglas atadas solo al proyecto, no agregues nada en user rules.
¿Cuál es la diferencia entre reglas de proyecto y reglas de usuario en Cursor? Las de proyecto viajan con el repositorio y aplican solo ahí. Las de usuario son personales y afectan todos tus proyectos en Cursor.
Qué ganas al preparar contexto antes de hacer prompts
Con .cursor/context y .cursor/rules configurados, cada prompt que escribas parte de una base sólida: el modelo ya conoce la arquitectura, el contrato de API y el sistema de diseño. Eso reduce iteraciones y eleva la calidad del código generado.
Revisa cada archivo, entiende qué le estás pidiendo al modelo y cómo razona para producir el código. ¿Qué otras reglas o archivos agregarías a un proyecto como Platzi Flix? Déjalo en los comentarios.