MemoryLake
Volver a todos los artículos
Tutorial7 de septiembre de 2026·11 min de lectura

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

Si has estado utilizando Cline con un Memory Bank, has invertido un esfuerzo real en un patrón específico: seis archivos Markdown que contienen el estado de tu proyecto, además de un archivo de reglas que le indica al agente que los lea todos al inicio de cada tarea. Funciona lo suficientemente bien como para que la gente cree hábitos a su alrededor.

Kilo Code dejó obsoleta su propia versión de ese patrón. Su documentación es inequívoca: "La función memory bank de Kilo Code ha sido descontinuada en favor de AGENTS.md". Por lo tanto, la lectura obvia es que te estás mudando a una herramienta que ha decidido que tu flujo de trabajo es una mala idea.

Esa lectura es incorrecta, y la razón es importante para la forma en que realizas la migración. La propia documentación de Cline dice que Memory Bank "es una metodología de documentación que funciona con cualquier IA que pueda leer documentos. Los comandos pueden diferir, pero el enfoque funciona en todas las herramientas". Kilo Code no dejó obsoleta la metodología; dejó obsoleto el contenedor de la función integrada que la rodeaba: los indicadores de estado, el directorio con un caso especial. Los archivos en sí son solo Markdown, y Kilo Code lee Markdown.

Lo que se romperá es la conexión, en un lugar específico: la documentación de Kilo Code no incluye .clinerules/ entre las fuentes que descubre. Y hay una trampa al seguir el consejo de obsolescencia de Kilo Code de manera demasiado literal, porque el archivo al que te dice que muevas el contenido está protegido contra escritura. Hacer bien ambas cosas es toda la migración.

Un límite antes de comenzar: esta guía asume que ya tienes un Memory Bank en funcionamiento y lo estás trasladando. Si todavía estás construyendo uno, configurar el Memory Bank de Cline cubre la estructura original y los comandos, y es el mejor lugar para comenzar.

Qué se transfiere realmente

Tu directorio memory-bank/ se transfiere intacto. projectbrief.md, productContext.md, activeContext.md, systemPatterns.md, techContext.md y progress.md son archivos Markdown ordinarios en tu repositorio. Nada en ellos es específico de Cline. La documentación de Cline los describe como "archivos markdown normales en tu proyecto a los que tanto tú como Cline pueden acceder". Déjalos exactamente donde están.

Tu AGENTS.md se transfiere, si tienes uno. Cline lee AGENTS.md y ~/.agents/AGENTS.md como el "formato estándar para la compatibilidad entre herramientas". Kilo Code lee AGENTS.md en la raíz del proyecto, recurriendo a AGENT.md si no existe, y su documentación advierte que "el nombre del archivo debe estar en mayúsculas (AGENTS.md), no en minúsculas". Si ya tenías uno, ese es el único archivo que no requiere pensar.

Tu directorio .clinerules/ no se transfiere como una fuente descubierta. Las fuentes de instrucciones documentadas de Kilo Code son AGENTS.md y AGENT.md en la raíz del proyecto, la clave instructions en el archivo kilo.jsonc del proyecto y global, los archivos .kilo/rules/ y, para compatibilidad con versiones anteriores, los directorios .kilocode/rules/ y los archivos heredados .kilocoderules. La CLI "también admite directorios .claude/ y .agents/ para compatibilidad con otras herramientas". .clinerules/ no está en esa lista.

Este es el punto crítico, porque .clinerules/memory-bank.md es donde vive la instrucción del Memory Bank si seguiste la configuración de Cline. Si te mudas a Kilo Code sin solucionar esto, tus archivos de memory-bank/ se quedarán en el repositorio, completos y actualizados, pero nada los leerá. El propio texto de instrucción de Cline es explícito sobre por qué esto es fatal para el patrón: "DEBO leer TODOS los archivos del banco de memoria al inicio de CADA tarea; esto no es opcional". Elimina la instrucción y los archivos se convertirán en documentación que nadie abre.

Tus reglas condicionales no se transfieren. Cline admite la delimitación de alcance a través de un array paths en el front matter de YAML, y lo evalúa frente al contexto de trabajo real: "recopila contexto de tu trabajo actual (archivos abiertos, pestañas visibles, rutas mencionadas, archivos editados), evalúa las condiciones de cada regla y activa las reglas que coincidan". La clave instructions de Kilo Code acepta rutas de archivos y patrones glob, pero esos globs seleccionan qué archivos cargar, no cuándo cargarlos. El único comportamiento condicional que Kilo Code documenta es de naturaleza diferente: los archivos AGENTS.md por directorio se "cargan dinámicamente cuando el agente lee archivos en ese directorio; no se precargan al inicio de la sesión", y su contenido se "inyecta en la conversación como etiquetas <system-reminder>". Eso es útil, y se basa en directorios en lugar de globs, por lo que una regla con alcance para **/*.test.ts en todo el árbol no tiene un equivalente directo.

La combinación de reglas se comporta de manera diferente. Cline "procesa todos los archivos .md y .txt dentro de .clinerules/, combinándolos en un conjunto unificado de reglas", con prefijos numéricos como una convención de ordenación opcional, y "las reglas del espacio de trabajo tienen prioridad cuando entran en conflicto con las reglas globales". Kilo Code publica en su lugar una lista de prioridad explícita: un prompt por agente en la configuración es el más alto, luego la clave instructions del proyecto en kilo.jsonc, luego AGENTS.md en la raíz del proyecto, luego la clave instructions global, con Skills cargadas bajo demanda. Ten en cuenta dónde se ubica el AGENTS.md raíz: por debajo de la clave instructions del proyecto, no por encima.

Ambas herramientas dejan fuera lo mismo. Ninguna documenta un almacén que acumule lo que tu equipo aprendió a través de proyectos y personas. La respuesta de Cline es una metodología de documentación que tú mantienes; la de Kilo Code es AGENTS.md más archivos de reglas que tú mantienes. Memory Bank existe precisamente porque esa brecha es real (es la razón por la que los asistentes de IA parecen olvidadizos incluso cuando están bien configurados) y vale la pena recordarlo cuando decidas dónde debe vivir su contenido.

La migración manual

Paso 1: Vuelve a vincular la instrucción, no el contenido

Tienes dos formas limpias de hacer que Kilo Code ejecute el patrón de Memory Bank, y no son equivalentes.

La opción más directa es la clave instructions en el archivo kilo.jsonc de tu proyecto. Apúntala al archivo de reglas que ya tienes: el mismo .clinerules/memory-bank.md, o una copia reubicada en .kilo/rules/memory-bank.md si prefieres no mantener un directorio con el nombre de Cline. La documentación de Kilo Code muestra que instructions acepta tanto rutas explícitas como globs, por lo que una sola entrada cubre una carpeta de reglas completa. Esto se sitúa en la prioridad dos, por encima del AGENTS.md raíz, que es el lugar adecuado para una instrucción que debe ejecutarse antes que cualquier otra cosa.

La otra opción es colocar el texto de la instrucción en AGENTS.md. Eso es hacia lo que apunta la nota de obsolescencia de Kilo Code, y funciona. También significa que la instrucción está sujeta a la protección de archivos de Kilo Code, que se analiza en el siguiente paso, y compite por el espacio con el resto de tu AGENTS.md.

Cualquiera que elijas, ajusta el vocabulario de los comandos. La instrucción de Memory Bank de Cline está escrita en torno a tres frases: "sigue tus instrucciones personalizadas", "inicializa el banco de memoria" y "actualiza el banco de memoria". La primera es la que depende de un concepto de Cline. Reescríbela como una declaración directa: lee cada archivo en memory-bank/ antes de comenzar cualquier tarea. Las otras dos son instrucciones en inglés simple para el agente y se trasladan tal cual.

Luego, verifica iniciando una nueva tarea y preguntando qué guía cargó el agente. Estás buscando la lista de archivos de memory-bank/. Cline te daba una señal visible aquí (una notificación de "Reglas condicionales aplicadas") y la señal equivalente de Kilo Code para archivos por directorio es la inyección <system-reminder>, así que pregunta en lugar de asumir.

Paso 2: No vuelques el contenido de memory-bank en AGENTS.md

La nota de obsolescencia de Kilo Code ofrece una migración de dos pasos para su propio banco de memoria: "Examina el contenido en .kilo/rules/memory-bank/ (o el heredado .kilocode/rules/memory-bank/)" y "mueve ese contenido al archivo AGENTS.md de tu proyecto (o pídele a Kilo Code que lo haga por ti)". Ese consejo es correcto para lo que describe: el banco de memoria de Kilo Code vivía dentro de su directorio de reglas, por lo que consolidarlo en AGENTS.md es una simplificación.

Aplicado al Memory Bank de Cline, el mismo movimiento rompe lo que hace que funcione. He aquí por qué, en las propias palabras de Kilo Code: "Tanto AGENTS.md como AGENT.md son archivos protegidos contra escritura en Kilo Code", lo que significa que "el agente de IA no puede modificar estos archivos sin la aprobación explícita del usuario" y "se te pedirá que confirmes cualquier cambio en estos archivos".

Memory Bank no es un documento estático. activeContext.md es el archivo que la documentación de Cline dice que "se actualiza con más frecuencia" y aconseja actualizar "después de cada sesión"; progress.md realiza un seguimiento de los hitos. Todo el patrón depende de que el agente pueda escribir en esos archivos cuando dices "actualiza el banco de memoria". Combínalos en AGENTS.md y cada una de esas escrituras se convertirá en una solicitud de aprobación, lo que te entrenará para hacer clic en las solicitudes en el archivo de configuración de tu proyecto o te entrenará para dejar de ejecutar la actualización.

Así que mantén la división: la instrucción va a una fuente de instrucciones y el contenido se queda en memory-bank/*.md, que son archivos de proyecto ordinarios sin protección especial. Esa división también es una mejor práctica independiente de Kilo Code. Mantiene un archivo que el agente reescribe constantemente fuera del archivo que define las directrices de tu proyecto. Si también deseas un AGENTS.md canónico, migrar CLAUDE.md a AGENTS.md cubre la estructura de ese archivo.

Una cosa más que esperar y de la que no preocuparse: Kilo Code señala que "los indicadores de estado heredados de Memory Bank como [Memory Bank: Active] y [Memory Bank: Missing] aún pueden aparecer, pero no están garantizados en todos los clientes o modos". Si has estado leyendo una insignia para confirmar que el patrón está activo, detente. Pregúntale al agente qué cargó en su lugar.

La mejor manera: dale al banco de memoria un lugar donde vivir que no sea un repositorio

La idea de Memory Bank es correcta: los agentes necesitan un registro duradero, y una carpeta de Markdown es una primera implementación completamente razonable. Sus límites también son estructurales, y probablemente ya los conozcas.

Es por repositorio, por lo que el conocimiento que abarca varios servicios debe duplicarse o se pierde. En la práctica, es por herramienta, porque la instrucción que lo activa es específica de la herramienta, que es la razón completa por la que esta migración tiene pasos. No tiene recuperación; cada tarea lee los seis archivos, sean o no relevantes. Y pertenece a quien se acuerde de ejecutar "actualizar banco de memoria", razón por la cual se queda obsoleto en los equipos y por la que el contexto se va con las personas, un problema que cubrimos en mantener el contexto de IA cuando alguien se va.

MemoryLake es la misma idea con esos cuatro límites eliminados: un almacén fuera de cualquier repositorio o editor, legible a través de MCP o una API, recuperable en lugar de leerse por completo, y compartido en todo un equipo. Tus archivos de memory-bank/ son una buena semilla para ello.

Paso 1: Crea una clave de API

Genera una clave y realiza tu primera solicitud en unos treinta segundos. Una sola clave funciona desde Kilo Code, desde Cline si tus compañeros de equipo todavía lo usan, y desde lo que venga después.

Creación de una clave de API de MemoryLake para que el banco de memoria tenga un lugar donde vivir que no sea el repositorio
Creación de una clave de API de MemoryLake para que el banco de memoria tenga un lugar donde vivir que no sea el repositorio

Paso 2: Sube tus primeras memorias

Arrastra los documentos, imágenes y archivos que ya tienes, comenzando con systemPatterns.md, techContext.md y progress.md, que suelen ser los tres que contienen decisiones reales en lugar de reiteraciones del README.

Subir el registro acumulado del proyecto del banco de memoria a MemoryLake
Subir el registro acumulado del proyecto del banco de memoria a MemoryLake

Paso 3: Conecta tu IA y agentes

Dale acceso a Claude, Codex, OpenClaw y otros agentes a través de MCP o la API. En Kilo Code, eso convierte el "leer los seis archivos en cada tarea" en recuperar los dos datos que importan para la tarea que tienes delante.

Conectar Cline y Kilo Code al mismo almacén de MemoryLake a través de MCP y la API
Conectar Cline y Kilo Code al mismo almacén de MemoryLake a través de MCP y la API

Qué cambia esto en la práctica

La lectura completa obligatoria desaparece. El texto de instrucción de Cline insiste en leer cada archivo del banco de memoria al inicio de cada tarea porque no hay una capa de recuperación; es la única forma de garantizar que se incluya el archivo relevante. Con la recuperación, ese requisito deja de ser necesario, de la misma manera que deja de ser necesario que un agente vuelva a leer la base de código en cada sesión.

activeContext.md deja de desviarse. El archivo que Cline señala como el que cambia con más frecuencia es el que tiene más probabilidades de estar desactualizado, porque actualizarlo es un paso manual al final de una sesión de la que ya te has desconectado mentalmente. Capturar una corrección cuando la haces es una acción más pequeña que reconstruir la sesión a posteriori.

Los cambios de herramienta dejan de afectar a tu conocimiento. Esta migración es complicada porque la instrucción de activación tiene la forma de la herramienta. Cuando el contenido vive fuera, cambiar de herramienta significa escribir una nueva instrucción, no auditar lo que todavía se lee.

Y la estructura de seis archivos se vuelve opcional en lugar de estructural. Era un esquema sensato para una carpeta que debe leerse en su totalidad. Una vez que existe la recuperación, puedes conservarla o simplemente conservar los datos.

Buenas prácticas después de mudarse de Cline a Kilo Code

Confirma el descubrimiento antes de confiar en él. .clinerules/ no está en la lista documentada de Kilo Code. Inicia una tarea y pregunta qué se cargó.

Mantén los archivos con muchas escrituras fuera de AGENTS.md. Está protegido contra escritura por diseño, lo cual es bueno para las directrices y malo para un registro de actividad.

Utiliza la ubicación de directorios para delimitar el alcance. Los archivos AGENTS.md por directorio de Kilo Code se cargan de forma diferida cuando el agente lee archivos allí. Eso es lo más parecido a las reglas condicionales de Cline, y funciona en directorios en lugar de globs.

Ten en cuenta el orden de prioridad. Las instructions del proyecto en kilo.jsonc tienen prioridad sobre el AGENTS.md raíz. Si dos fuentes no coinciden, esa suele ser la razón.

Espera un reinicio. Kilo Code señala que "los cambios en AGENTS.md surten efecto en las nuevas tareas (puede ser necesario reiniciar)". No depures una regla que editaste a mitad de la tarea.

No confíes en las insignias de estado. Los indicadores heredados de Memory Bank están explícitamente "no garantizados en todos los clientes o modos".

Conclusión

Esta migración parece que debería ser hostil (estás trasladando un Memory Bank a una herramienta que dejó obsoletos los bancos de memoria) y no lo es. Kilo Code dejó obsoleto un contenedor de funciones, y la propia documentación de Cline dice que la metodología "funciona con cualquier IA que pueda leer documentos". Los archivos están bien.

Dos cosas requieren cuidado. Las fuentes de instrucciones documentadas de Kilo Code no incluyen .clinerules/, por lo que la regla que hace que el patrón se ejecute debe volver a vincularse, idealmente a través de la clave instructions en kilo.jsonc, donde supera al AGENTS.md raíz. Y el consejo de obsolescencia de Kilo Code sobre mover el contenido del banco de memoria a AGENTS.md no debe aplicarse a la versión de Cline, porque AGENTS.md está protegido contra escritura y el agente necesita escribir en estos archivos constantemente. Instrucción dentro, contenido fuera.

Haz bien eso y no se perderá nada. Entonces, la pregunta más interesante es si una carpeta por repositorio que se lee por completo en cada tarea sigue siendo el mejor hogar para lo que sabe tu equipo, o si eso pertenece a un lugar recuperable, compartido e indiferente a qué editor abriste esta mañana.

Preguntas frecuentes

¿Lee Kilo Code mis archivos .clinerules/?

No como una fuente de descubrimiento documentada. Las fuentes documentadas de Kilo Code son AGENTS.md y AGENT.md en la raíz del proyecto, la clave instructions en el archivo kilo.jsonc del proyecto y global, los archivos .kilo/rules/, además de la compatibilidad con versiones anteriores para .kilocode/rules/ y el legado .kilocoderules; la CLI también admite .claude/ y .agents/. Apunta instructions a tu archivo de reglas de Cline o reubícalo.

¿Debería mover el contenido de mi banco de memoria a AGENTS.md como sugiere la documentación?

Ese consejo está escrito para el propio banco de memoria de Kilo Code, que vivía dentro de su directorio de reglas. Para la versión de Cline, mantén el contenido en memory-bank/*.md. AGENTS.md está protegido contra escritura en Kilo Code, por lo que el agente "no puede modificar estos archivos sin la aprobación explícita del usuario", lo que convierte cada "actualizar banco de memoria" en una solicitud de aprobación.

¿Funcionan las reglas condicionales de paths de Cline en Kilo Code?

No hay un equivalente documentado. Los globs de instructions de Kilo Code eligen qué archivos se cargan, no cuándo. Su mecanismo condicional son los archivos AGENTS.md por directorio que se cargan "cuando el agente lee archivos en ese directorio", así que convierte las reglas con alcance de ruta en archivos ubicados en directorios cuando puedas.

¿Seguirá apareciendo el indicador [Memory Bank: Active]?

Posiblemente, pero no dependas de ello. Kilo Code indica que los indicadores heredados "aún pueden aparecer, pero no están garantizados en todos los clientes o modos".

¿Qué archivos del banco de memoria vale la pena conservar?

En la práctica, systemPatterns.md, techContext.md y progress.md contienen el contenido más duradero. projectbrief.md y productContext.md a menudo reiteran el README, y activeContext.md es un registro de trabajo que envejece rápidamente. La guía de configuración de Cline se cubre en configurar el Memory Bank de Cline si deseas compararla con la estructura original.

¿Pueden los compañeros de equipo en Cline y Kilo Code compartir el mismo contexto durante el cambio?

A través de los archivos, en parte: memory-bank/*.md y AGENTS.md se confirman en el repositorio y ambas herramientas leen Markdown. Lo que no se sincroniza es la instrucción de activación, que es específica de la herramienta en cada una. Un almacén fuera de ambas, accesible a través de MCP, es el puente práctico; otros destinos de Cline se cubren en migrar Cline a Claude Code y migrar Cline a Cursor.