Qué se transfiere realmente
El contenido de tu AGENTS.md, tal cual. Comandos de configuración, estilo, instrucciones de prueba, convenciones. Sin cambios de formato, sin frontmatter que añadir.
Archivos de directorios anidados, con semánticas de precedencia diferentes. Ambas herramientas admiten archivos de instrucciones por directorio. Codex "concatena archivos desde la raíz hacia abajo, uniéndolos con líneas en blanco", y "los archivos más cercanos a tu directorio actual anulan las pautas anteriores porque aparecen más tarde en el prompt combinado". Los archivos AGENTS.md anidados de Cursor se "combinan con los directorios principales, teniendo precedencia las instrucciones más específicas". Prácticamente similar. No idéntico: el efecto de ordenación de Codex es posicional, el de Cursor se define como precedencia.
Nada más, y aquí está la lista específica.
AGENTS.override.md no tiene equivalente en Cursor. Este es el que da problemas. En Codex, se busca en cada directorio AGENTS.override.md primero, luego AGENTS.md, y "Codex incluye como máximo un archivo por directorio". Por lo tanto, un directorio con ambos archivos verá su AGENTS.md ignorado. Abre ese repositorio en Cursor y el nombre del archivo override no significará nada: Cursor leerá AGENTS.md, que es el archivo que Codex estaba omitiendo deliberadamente. Tus instrucciones efectivas cambian sin realizar una sola edición.
El alcance global se mueve a un lugar diferente con un nombre diferente. Codex lee la guía global desde tu directorio de inicio de Codex (~/.codex, a menos que CODEX_HOME esté configurado), tomando AGENTS.override.md si está presente, de lo contrario AGENTS.md, y "Codex utiliza solo el primer archivo no vacío en este nivel". El equivalente de Cursor es User Rules (Reglas de usuario), descritas como "preferencias globales definidas en Customize → Rules que se aplican a todos los proyectos" y utilizadas por Agent (Chat). Mismo trabajo, diferente hogar, y es un panel de configuración en lugar de un archivo que puedas confirmar (commit) o sincronizar.
Las secciones ## Code Review Rules dejan de hacer nada. En Codex, añades esa sección al AGENTS.md más cercano al código que gobierna, y esta impulsa la revisión de código de Codex en las pull requests de GitHub y merge requests de GitLab, invocada con @codex review o @codex security review. Cursor no tiene ningún consumidor para esa sección. El texto se seguirá leyendo como instrucciones ordinarias, lo cual suele ser inofensivo y ocasionalmente confuso.
Los límites son cantidades completamente diferentes. Codex "deja de añadir archivos una vez que el tamaño combinado alcanza el límite definido por project_doc_max_bytes (32 KiB por defecto)", un presupuesto para toda la cadena. La guía de Cursor es por regla: "Mantén las reglas por debajo de las 500 líneas" y divide las reglas grandes en otras componibles. Si estabas cerca de los 32 KiB de Codex, vas a querer dividir en lugar de pegar.
Cualquier cosa en config.toml o en una definición de subagente. Los modos de aprobación, la configuración del sandbox y la propia configuración de subagentes de Codex son conceptos de Codex. Reconstruye la intención, no el archivo.
La migración manual
Step 1: Aplana los archivos override antes de cambiar
Haz esto mientras Codex siga siendo tu fuente de verdad, porque es el paso que evita cambios de comportamiento silenciosos.
Recorre tu repositorio buscando AGENTS.override.md. En cada directorio que tenga tanto un override como un AGENTS.md, recuerda que Codex ha estado leyendo solo el override. Decide qué contenido deseas realmente, fusiónalo en AGENTS.md y elimina el override. Haz lo mismo con el archivo global: si existe ~/.codex/AGENTS.override.md, ha estado eclipsando por completo a ~/.codex/AGENTS.md.
Existe una forma documentada de confirmar qué está cargando Codex antes de empezar a eliminar cosas. Ejecútalo desde el directorio que te interesa:
codex --cd services/payments --ask-for-approval never "List the instruction sources you loaded."La documentación describe la salida esperada como Codex informando primero el archivo global, en segundo lugar el AGENTS.md de la raíz del repositorio y, por último, el override anidado. Eso te da la cadena real en lugar de tu suposición al respecto.
Step 2: Reconstruye la capa global y elige tu formato de reglas en Cursor
Dos decisiones del lado de Cursor.
Preferencias globales → User Rules. Abre Customize → Rules y pega lo que vivía en ~/.codex/AGENTS.md. Limítalo a preferencias genuinamente universales; se aplica a todos tus proyectos.
Instrucciones del repositorio → conservar AGENTS.md o convertir a .cursor/rules. Conservar AGENTS.md es la opción que no requiere trabajo y es el valor predeterminado correcto. Convierte solo cuando desees una carga condicional, porque esa es la capacidad que añade .cursor/rules: archivos .mdc cuyo frontmatter decide cuándo se aplican. Los cuatro tipos de reglas de Cursor son Always Apply (Aplicar siempre), Apply Intelligently (Aplicar inteligentemente - "Cuando el Agent decide que es relevante según la descripción"), Apply to Specific Files (Aplicar a archivos específicos - "Cuando el archivo coincide con un patrón especificado") y Apply Manually (Aplicar manualmente - "Cuando se menciona con @ en el chat").
Si realizas la conversión, ten en cuenta la trampa que no tiene nada que ver con Codex: "El sistema de reglas ignora un archivo .md simple en .cursor/rules porque no tiene frontmatter para especificar description, globs y alwaysApply. Si prefieres markdown simple, usa AGENTS.md en su lugar". Cambia el nombre a .mdc y configura el frontmatter, o quédate con AGENTS.md.
And keep expectations calibrated on what rules are. El propio enfoque de Cursor: "Los modelos de lenguaje grandes no retienen la memoria entre completados. Las reglas proporcionan un contexto persistente y reutilizable a nivel de prompt". Las reglas son contexto proporcionado por solicitud, lo mismo que era tu cadena AGENTS.md. La mecánica para hacer que eso persista a través de las sesiones se encuentra en llevar el contexto de Cursor a través de las sesiones.
Vale la pena saberlo en la otra dirección, si terminas ejecutando ambos durante un tiempo: Codex también puede extraer configuración de otras herramientas, que es el tema de lo que Codex puede importar de Cursor y Claude.
La mejor manera: mover el razonamiento fuera de los archivos de reglas por completo
Ahora tienes las mismas instrucciones en una nueva herramienta. Lo que no has movido es lo que hizo que tu configuración de Codex fuera realmente buena después de seis meses de uso: el conocimiento acumulado del porqué.
Ninguna de las dos herramientas lo retiene bien, y ambas lo demuestran a través de sus límites. Codex limita toda la cadena de instrucciones a 32 KiB por defecto. Cursor te dice que mantengas las reglas por debajo de las 500 líneas y que "hagas referencia a los archivos en lugar de copiar su contenido; esto mantiene las reglas cortas y evita que se queden obsoletas a medida que cambia el código". Esos límites no son arbitrarios; el contenido siempre activo se envía con cada solicitud.
Por lo tanto, las decisiones, las restricciones y los enfoques que ya rechazaste no tienen dónde vivir en ninguna de las dos herramientas, razón por la cual un cambio de herramienta se siente como un borrado de memoria incluso cuando los archivos se transfirieron perfectamente.
Eso es lo que alberga MemoryLake: el conocimiento duradero de tu proyecto en una capa de la que leen tus herramientas, independientemente del editor en el que te encuentres este trimestre. La configuración consta de tres pasos.
Step 1: Crea una clave API
Inicia sesión en MemoryLake y crea una clave API. Una sola credencial para todas las herramientas que conectes.

Step 2: Sube tus primeras memorias
Entradas cortas, una afirmación cada una. Qué escribir mientras la migración está fresca en tu cabeza:

Decisiones con la restricción que las forzó. "Las migraciones son solo aditivas porque la réplica de lectura se retrasa bajo carga". Una regla puede establecer la política; solo esto evita que se proponga la misma alternativa la próxima semana.
Lo que ya rechazaste en esta base de código. La categoría que no existe en ningún archivo ni mensaje de confirmación (commit). Cada nuevo agente lo vuelve a proponer.
Datos del entorno que aprendiste por las malas. La prueba que solo falla en CI, la dependencia que se comporta de manera diferente a la documentada, el límite de velocidad que no está en la documentación.
Correcciones que hiciste más de una vez. El propio consejo de Cursor es añadir una regla cuando notes que el Agent repite un error; coloca la razón de la corrección aquí, al lado.
Step 3: Conecta tu IA y agentes
Conecta las herramientas que utilizas. Se puede acceder a MemoryLake a través de MCP y de una API, por lo que los agentes nativos de MCP (entre ellos Claude Code, Codex y OpenClaw) se conectan apuntando al servidor MCP, mientras que otros asistentes leen la misma memoria a través de la API. Lo que significa que no tienes que terminar el cambio para empezar a beneficiarte: ambas herramientas pueden leer la misma capa mientras decides.

Tres límites honestos. MemoryLake no escribe tus reglas de Cursor ni tu AGENTS.md; estas son la forma en que diriges cada herramienta y debes configurarlas correctamente. Solo contiene lo que tú o tus agentes escriben en él, por lo que el Paso 2 es manual. Y las reglas son contexto en lugar de una configuración forzada; una capa de memoria no cambia el cumplimiento.
Qué cambia esto en la práctica
El cambio deja de ser de todo o nada. El hecho de que ambas herramientas lean la misma memoria externa significa que puedes usar Cursor durante una semana sin abandonar tu configuración de Codex.
Aplanar los overrides se convierte en un trabajo de una sola vez. Una vez fusionados, no hay ningún archivo eclipsado que explicar a la siguiente persona, o a ti mismo en noviembre.
Los archivos de reglas también se mantienen cortos en la nueva herramienta. La razón por la que tu cadena de Codex se acercaba a los 32 KiB era que estaba haciendo dos trabajos. Divídelos una vez y ninguno de los límites será una restricción.
Una tercera herramienta no cuesta casi nada. La mayor parte del ecosistema lee AGENTS.md, y el razonamiento está en una capa que cualquier agente nativo de MCP puede consultar.
"No conoce mi proyecto" tiene una respuesta real. No "escribe más reglas", sino "el conocimiento nunca estuvo en las reglas", el caso general en por qué RAG no es memoria.
Buenas prácticas para cambiar de Codex a Cursor
Aplana AGENTS.override.md primero. Cursor no reconoce el nombre del archivo, por lo que un override que olvides se convertirá en instrucciones que no tenías intención de activar.
Vuelca la cadena cargada antes de cambiar nada. Pide a Codex que enumere las fuentes de instrucciones que cargó y trabaja a partir de ahí, no de memoria.
Verifica CODEX_HOME. Si está configurado, tu archivo global no está en ~/.codex y migrarás el incorrecto.
Coloca las preferencias globales en User Rules, no en el repositorio. Las User Rules de Cursor se aplican a todos los proyectos, que es lo que hacía ~/.codex/AGENTS.md.
Conserva AGENTS.md a menos que necesites carga condicional. Convertir a .cursor/rules te aporta tipos de reglas; también te aporta el mantenimiento del frontmatter.
Nunca dejes un .md simple en .cursor/rules. Se ignora silenciosamente. Usa .mdc con frontmatter, o AGENTS.md.
Elimina o vuelve a etiquetar ## Code Review Rules. Nada en Cursor lo consume, y dejarlo como instrucciones sin marcar puede confundirte tanto a ti como al agente.
Divide en lugar de pegar cuando alcances un límite. Ambas herramientas apuntan en la misma dirección: archivos anidados y componibles en lugar de uno largo, la estructura detrás de por qué Cursor olvida las reglas del proyecto.
Conclusión
La migración de Codex a Cursor es ese caso raro en el que el archivo en sí no necesita trabajo: ambas herramientas leen AGENTS.md, por lo que tus instrucciones llegan intactas. El riesgo está completamente en las partes que lo rodean. AGENTS.override.md es un concepto exclusivo de Codex y, dado que Codex incluye como máximo un archivo por directorio, un override ha estado ocultando el AGENTS.md que Cursor ahora leerá. La guía global se mueve de ~/.codex a las User Rules de Cursor. ## Code Review Rules deja de estar conectada a nada. Y una cadena que cabía dentro de 32 KiB se convierte en un conjunto de reglas que deben mantenerse por debajo de las 500 líneas cada una.
Aplana los overrides, vuelca la cadena de instrucciones real antes de editarla, reconstruye la capa global en Customize → Rules y conserva AGENTS.md a menos que desees específicamente una carga condicional. Luego, coloca las decisiones, restricciones y enfoques rechazados en algún lugar que ambas herramientas puedan consultar, para que el próximo cambio sea una preferencia en lugar de un proyecto.