MemoryLake
Volver a todos los artículos
Tutorial21 de agosto de 2026·10 min de lectura

Cómo migrar de Cline a Claude Code sin perder el contexto (2026)

Esta migración se divide claramente en dos, y las dos mitades tienen destinos opuestos.

Tus archivos de .clinerules/ tienen una ruta documentada y casi automática hacia Claude Code. Tu Memory Bank no la tiene, y no porque falte algo, sino porque la memoria de Claude Code es un árbol de instrucciones concatenado, mientras que el Memory Bank es una máquina de estados de seis documentos con un ritual asociado. No hay un espacio donde soltarlo.

Es importante saber esto antes de empezar, porque el Memory Bank suele ser la mitad que realmente te importa. .clinerules contiene tus convenciones; memory-bank/activeContext.md contiene dónde te habías quedado. Esta guía recorre la mitad automática, la mitad manual y dónde debería vivir realmente esta última. El lado de los síntomas se detalla en por qué Cline olvida el contexto del proyecto.

Qué se transfiere realmente

.clinerules/ se transfiere, y existen dos mecanismos documentados.

El primero es /init. Según la documentación de Claude Code, este "lee las reglas de Cursor, en .cursor/rules/ o .cursorrules, y las reglas de Copilot, en .github/copilot-instructions.md, e incorpora las partes relevantes en el archivo CLAUDE.md generado. Con CLAUDE_CODE_NEW_INIT=1 configurado, /init también lee AGENTS.md, .devin/rules/, .windsurf/rules/ o .windsurfrules, y .clinerules".

Ten en cuenta la condición: .clinerules solo se lee cuando esa variable de entorno está configurada. Si ejecutas /init sin ella, tus reglas de Cline se omitirán en silencio.

El segundo es /import, que hace más. Trae "la configuración de un agente de codificación compatible a Claude Code, lo que añade una copia única de los archivos de instrucciones como AGENTS.md al CLAUDE.md correspondiente y transfiere los servidores MCP, comandos, subagentes y habilidades. Requiere Claude Code v2.1.213 o posterior". Hay dos cosas que debes tener en cuenta: es una copia única, no una sincronización, y tiene una versión mínima requerida.

Las reglas siempre activas se mapean limpiamente. Cline "procesa todos los archivos .md y .txt dentro de .clinerules/, combinándolos en un conjunto unificado de reglas", y "Las reglas sin frontmatter siempre están activas". El archivo CLAUDE.md de Claude Code siempre está activo bajo la misma lógica, por lo que esas reglas terminan donde esperarías.

Las reglas condicionales no se mapean. Las reglas de Cline filtradas por frontmatter se activan según tu contexto de trabajo actual: archivos abiertos, pestañas visibles, rutas mencionadas, el archivo que se está editando. Claude Code no tiene condicionales de frontmatter en CLAUDE.md. Lo que tiene en su lugar es un comportamiento de árbol de directorios: "lee los archivos CLAUDE.md subiendo por el árbol de directorios desde tu directorio de trabajo actual", y por separado, los archivos en subdirectorios "se incluyen cuando Claude lee archivos en esos subdirectorios" en lugar de cargarse al inicio. Esto se basa en rutas en lugar de patrones. Es similar en espíritu, pero diferente en su mecanismo: una regla de Cline con alcance de glob se convierte en un CLAUDE.md en el directorio al que se aplica.

La precedencia de las reglas cambia de una manera importante. Cline: "Cuando existen tanto reglas de espacio de trabajo como globales, Cline las combina. Las reglas del espacio de trabajo tienen precedencia cuando entran en conflicto con las reglas globales". Claude Code: "Todos los archivos descubiertos se concatenan en el contexto en lugar de anularse entre sí", ordenados "desde la raíz del sistema de archivos hasta tu directorio de trabajo", con CLAUDE.local.md añadido después de CLAUDE.md en cada directorio. Así que Claude Code no tiene una resolución de conflictos explícita: el texto posterior simplemente aparece más tarde. Las contradicciones que Cline resolvía por precedencia se convierten en contradicciones de las cuales Claude Code simplemente lee ambas partes. Límpialas durante la migración.

El Memory Bank no tiene destino. Sus seis archivos (projectbrief.md, productContext.md, activeContext.md, systemPatterns.md, techContext.md, progress.md) son markdown ordinario, por lo que sobrevivirán como archivos. Lo que no sobrevive es el sistema: la propia instrucción de la metodología, escrita en la voz de Cline, es "DEBO leer TODOS los archivos del memory bank al inicio de CADA tarea; esto no es opcional", impulsada por comandos como "initialize memory bank", "update memory bank" y "follow your custom instructions".

Ese es un ritual impuesto por el prompt, y es la parte que hacía que funcionara. Claude Code no tiene un comando equivalente, y pegar seis documentos en CLAUDE.md no es un sustituto: son seis documentos que se envían con cada solicitud.

La migración manual

Paso 1: Importar las reglas y luego conciliarlas

Primero verifica tu versión: /import necesita Claude Code v2.1.213 o posterior. Luego:

CLAUDE_CODE_NEW_INIT=1 claude

...y ejecuta /init para que .clinerules se integre en un CLAUDE.md generado, o ejecuta /import si también deseas transferir servidores MCP, comandos, subagentes y habilidades. Recuerda que /import añade una copia única; no rastreará ediciones posteriores en el lado de Cline.

Luego lee el resultado en lugar de confiar ciegamente en él. Tres cosas que debes corregir a mano:

Reglas condicionales que se volvieron incondicionales. Cualquier cosa que tuviera un alcance de glob en .clinerules ahora está siempre activa. Mueve cada una a un CLAUDE.md en el directorio que realmente gobierna, o elimínala si solo era relevante para un área.

Contradicciones que solían resolverse. La precedencia de espacio de trabajo sobre global ya no se aplica. Si dos reglas no coincidían y Cline elegía una, Claude Code leerá ambas.

Longitud. La guía de Claude Code indica que los archivos más largos consumen más contexto y reducen el cumplimiento de las instrucciones, y existe una alternativa estructurada: .claude/rules/ para organizar las instrucciones. Divide en lugar de acumular.

Verifica con /context y confirma que CLAUDE.md aparezca bajo Memory files.

Una advertencia si tu CLAUDE.md termina importando algo desde fuera del proyecto: "La primera vez que Claude Code encuentra importaciones externas en un proyecto, muestra un cuadro de diálogo de aprobación que enumera los archivos. Si lo rechazas, las importaciones permanecen deshabilitadas y el cuadro de diálogo no vuelve a aparecer". Las importaciones en archivos de alcance de usuario como ~/.claude/CLAUDE.md se cargan sin el cuadro de diálogo. Si parecen faltar instrucciones después de una migración, un diálogo rechazado es un posible culpable.

Paso 2: Decidir qué pasa con el Memory Bank

Lee los seis archivos y clasifica su contenido en tres grupos. Este es el verdadero trabajo de la migración y toma unos veinte minutos.

Convenciones y restricciones → CLAUDE.md. La mayor parte de systemPatterns.md y techContext.md es esto: patrones de arquitectura, relaciones de componentes, pila tecnológica, configuración, dependencias. Es estable, es corto cuando se comprime en reglas y pertenece al archivo de instrucciones.

Requisitos y contexto del producto → el repositorio, referenciado, no pegado. projectbrief.md y productContext.md son documentos tanto para humanos como para agentes. Manténlos como documentos y apúntalos; no los incluyas en línea.

Estado → a ningún lado, y ese es el problema. activeContext.md ("Enfoque actual, cambios recientes, próximos pasos", y las notas de la documentación indican que "se actualiza con mayor frecuencia") y progress.md ("Qué funciona, qué queda, problemas conocidos") son estado de ejecución. No son convenciones y no son documentación. Si los pones en CLAUDE.md, estarás enviando el estado del martes pasado con cada solicitud; si los dejas como archivos, nada los leerá.

Ese tercer grupo es la razón por la que existía el Memory Bank, y es para el que Claude Code no tiene un contenedor. Vale la pena mantener el hábito incluso sin el mecanismo; el caso general se detalla en por qué Cline olvida el historial de tareas.

La mejor manera: dale al estado un hogar que no sea un archivo de instrucciones

El Memory Bank acertó exactamente en una cosa: algunos conocimientos del proyecto son estado en lugar de reglas, y es necesario escribirlos y volverlos a leer. Donde encontró su límite fue en que el almacenamiento consistía en seis archivos markdown mantenidos a raya por un prompt, lo que significaba que dependía de que el agente siguiera un ritual, y vivía en un solo repositorio para una sola herramienta.

Para eso está MemoryLake: el estado y el razonamiento de los que leen tus agentes, como entradas individuales recuperables en lugar de documentos enviados en su totalidad. La configuración consta de tres pasos.

Paso 1: Crear una clave API

Inicia sesión en MemoryLake y crea una clave API. Una sola credencial para todas las herramientas que conectes.

Creación de una clave API de MemoryLake al migrar de Cline a Claude Code
Creación de una clave API de MemoryLake al migrar de Cline a Claude Code

Paso 2: Sube tus primeras memorias

Tu Memory Bank es un punto de partida inusualmente bueno, porque alguien ya hizo la extracción. No pegues los archivos: divídelos en entradas cortas, una afirmación por cada una:

División del Memory Bank de Cline en entradas individuales de MemoryLake
División del Memory Bank de Cline en entradas individuales de MemoryLake

De progress.md: qué funciona, qué queda y los problemas conocidos. Cada problema conocido es una entrada con su síntoma y causa. Este es el contenido de mayor valor en todo el Memory Bank y se recupera mucho mejor como entradas individuales que como un documento completo.

De activeContext.md: las decisiones detrás del enfoque actual. No "trabajando en la refactorización de facturación", eso expira. "La refactorización de facturación utiliza el patrón outbox porque el proveedor reintenta sin claves de idempotencia" no expira.

De systemPatterns.md: la razón detrás de cada patrón. El patrón va en CLAUDE.md; el argumento a favor va aquí, para que un agente maneje el caso que no anticipaste.

Todo lo que hayas tenido que corregir dos veces. Tanto Cline como Claude Code volverán a proponer el enfoque rechazado a menos que el rechazo esté registrado por escrito.

Mantén las entradas cortas y descarta cualquier cosa que describa un sistema que hayas retirado. Un Memory Bank de seis archivos suele generar entre veinte y cuarenta entradas; si estás produciendo doscientas, estás transcribiendo.

Paso 3: Conecta tu IA y tus agentes

Conecta las herramientas que utilizas. MemoryLake es accesible 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 puedes hacer esto antes de terminar la transición, y ambas herramientas leerán el mismo estado mientras realizas la evaluación.

Conexión de Claude Code y agentes nativos de MCP a una capa de memoria portátil
Conexión de Claude Code y agentes nativos de MCP a una capa de memoria portátil

Tres límites honestos. MemoryLake no es un reemplazo para CLAUDE.md o .clinerules; estos son la forma en que diriges cada herramienta, y vale la pena realizar la importación anterior por sí sola. Solo contiene lo que tú o tus agentes escriben en él, por lo que el Paso 2 es un trabajo manual. Y no es un mecanismo de imposición: el contexto recuperable no garantiza que un modelo actúe en consecuencia.

What this changes in practice

activeContext.md deja de ser un archivo que nadie lee. El estado de ejecución como entradas recuperables está disponible bajo demanda en lugar de pegarse por completo o ser olvidado.

El archivo de instrucciones se mantiene corto. CLAUDE.md contiene convenciones. No contiene seis documentos, lo que lo mantiene dentro de la longitud donde se sostiene el cumplimiento de las instrucciones.

"Update memory bank" deja de ser necesario como ritual. El valor estaba en escribir las cosas, no en la ceremonia de volver a leer seis archivos al inicio de cada tarea.

Un cuadro de diálogo de importación rechazado deja de costarte tu contexto. Cuando el conocimiento duradero es externo, un archivo de instrucciones que no se pudo cargar es un inconveniente en lugar de un reinicio completo.

Cambiar de herramienta de nuevo es económico. El estado no está en un contenedor con forma de Cline o de Claude, el concepto que se cubre en qué es y qué no es la memoria de IA.

Best practices for the switch

Configura CLAUDE_CODE_NEW_INIT=1 antes de /init. Sin esto, .clinerules no estará entre los archivos leídos.

Verifica la versión v2.1.213 antes de confiar en /import. Ese es el mínimo documentado, y /import es lo que transfiere servidores MCP, comandos, subagentes y habilidades.

Trata la importación como una instantánea. Añade una copia única. Las ediciones posteriores de .clinerules no se propagan.

Vuelve a definir el alcance de cada regla condicional. Una regla de Cline con alcance de glob se vuelve siempre activa a menos que la muevas al directorio que gobierna.

Resuelve las contradicciones tú mismo. Claude Code concatena en lugar de anular, por lo que la precedencia que aplicaba Cline desaparece.

Mantén projectbrief.md como un documento. Referéncalo; no lo incluyas en línea.

Nunca pegues activeContext.md en CLAUDE.md. Es el archivo que cambia con más frecuencia, según los propios documentos de Cline; el peor contenido posible para algo que se envía con cada solicitud.

Ejecuta /context después de cada cambio. Confirmar CLAUDE.md bajo Memory files toma cinco segundos y resuelve la mayoría de las preguntas sobre "si se cargó"; un tema relacionado en por qué Claude Code olvida el contexto del proyecto.

Conclusion

La mitad de las reglas de esta migración está casi resuelta para ti: /init con CLAUDE_CODE_NEW_INIT=1 lee .clinerules, e /import en v2.1.213 o posterior transfiere la configuración más amplia, incluyendo servidores MCP, comandos, subagentes y habilidades. En su lugar, reserva tiempo para la conciliación: reglas condicionales que silenciosamente se volvieron incondicionales, y la precedencia de espacio de trabajo sobre global que ya no existe porque Claude Code concatena en lugar de anular.

El Memory Bank es la mitad en la que vale la pena pensar. Su idea era correcta: algunos conocimientos son estado, y el estado debe escribirse y volver a leerse. Su implementación consistía en seis documentos mantenidos unidos por un prompt en un solo repositorio para una sola herramienta. Mueve las convenciones a CLAUDE.md, mantén los resúmenes como documentos referenciados y coloca los problemas conocidos, las decisiones y los enfoques rechazados en una capa que tus agentes consulten, para que el próximo cambio de herramienta no te cueste la parte que tardaste seis meses en acumular.

Preguntas frecuentes

¿Puede Claude Code importar mi .clinerules automáticamente?

Sí, con una condición. Ejecutar /init incorpora las reglas de Cursor y Copilot por defecto; .clinerules se incluye solo cuando CLAUDE_CODE_NEW_INIT=1 está configurado. Alternativamente, /import trae la configuración de un agente compatible y también transfiere servidores MCP, comandos, subagentes y habilidades; requiere Claude Code v2.1.213 o posterior.

¿Mantiene /import mis reglas de Cline sincronizadas?

No. La documentación lo describe como la adición de una copia única de los archivos de instrucciones al CLAUDE.md correspondiente. Los cambios posteriores en el lado de Cline no se propagan.

¿Qué pasa con el Memory Bank de Cline?

Los seis archivos markdown sobreviven como archivos, pero el sistema que los rodea no. Memory Bank funciona a través de instrucciones que le indican a Cline que lea todos sus archivos al inicio de cada tarea, además de comandos como "initialize memory bank" y "update memory bank". Claude Code no tiene un comando equivalente, por lo que el contenido debe reubicarse: las convenciones en CLAUDE.md, los resúmenes como documentos referenciados y el estado de ejecución en una capa de memoria.

¿Cómo se comportan las reglas condicionales de Cline en Claude Code?

Se vuelven incondicionales. Cline activa las reglas filtradas por frontmatter según tu contexto de trabajo; CLAUDE.md no tiene condicionales de frontmatter. El equivalente más cercano de Claude Code se basa en rutas (los archivos en un subdirectorio se incluyen cuando Claude lee archivos allí), por lo que debes mover una regla con alcance de glob al directorio al que se aplica.

¿Qué reglas ganan si dos entran en conflicto después de la migración?

Ninguna de forma explícita. Cline combina las reglas del espacio de trabajo y las globales, teniendo prioridad las del espacio de trabajo en caso de conflicto. Claude Code concatena todos los archivos descubiertos en el contexto en lugar de anularse entre sí, desde la raíz hasta tu directorio de trabajo, por lo que se leen ambas partes de una contradicción. Resuelve los conflictos durante la migración.

Mis instrucciones parecen faltar después de la importación. ¿Qué debo verificar?

Ejecuta /context y busca CLAUDE.md bajo Memory files. Si tu CLAUDE.md importa algo desde fuera del proyecto, verifica si rechazaste el cuadro de diálogo de aprobación de importación externa; según la documentación, rechazarlo deja las importaciones deshabilitadas y el cuadro de diálogo no vuelve a aparecer.