# Pack Memory: Zecher y el cerebro persistente

> Zecher guarda decisiones, lecciones y traspasos de sesión en archivos simples entre sesiones y proyectos. Instalación, detección del cerebro, ocho ejemplos, salidas, comandos de la CLI y límites.

Canonical: https://bmad-plus.rochetta.fr/es/docs/packs/memory-pack/
Language: es
BMAD+ version: 0.23.1
Documentation reviewed: 2026-10-19
Author: Laurent Rochetta
License: MIT

Documentación de BMAD+ › [Packs](https://bmad-plus.rochetta.fr/es/docs/packs/) › Pack Memory: Zecher y el cerebro persistente

Un asistente de IA empieza cada sesión sin saber nada de ayer. El pack Memory lo resuelve con simples archivos Markdown: qué se decidió y por qué, qué salió mal, qué patrones funcionaron, en qué punto está el proyecto y una nota de traspaso al final de cada sesión. Zecher es el agente que mantiene esos archivos: los consolida, recorre tu máquina en busca de proyectos, reconstruye el contexto de una sesión en frío y comprueba la salud de la memoria. Hay dos niveles de memoria, uno por proyecto y otro compartido entre proyectos (un cerebro global).

<a id="when-to-use"></a>
## Cuándo usarlo

- Trabajas en el mismo proyecto durante muchas sesiones y vuelves a explicar una y otra vez las decisiones ya tomadas.
- Manejas varios proyectos y quieres un índice único con su stack, estado y última actividad.
- Ya tienes una carpeta de notas (`_brain/` o `~/.claude/memory/`): el pack se enlaza a ella en lugar de crear una segunda.

<a id="installed"></a>
## Qué se instala

El pack está empaquetado en `.agents/skills/pack-memory/`: el orquestador `memory-orchestrator.md`, el agente `zecher-agent.md`, dos documentos compartidos (`shared/memory-protocol.md` y `shared/karpathy-guardrails.md`) y plantillas para `decisions.md`, `lessons.md`, `patterns.md`, `context.md`, `session-handoff.md` e `identity.yaml`. Al instalar, también crea la memoria de tu proyecto y la enlaza a un cerebro; si no se encuentra ninguno, se crea un cerebro global nuevo en `~/.bmad-plus/brain/`, fuera del proyecto. Si ese paso falla, la instalación continúa.

**Los dos niveles de memoria**

| Nivel | Ubicación | Contiene |
| --- | --- | --- |
| Memoria del proyecto | `.agents/memory/` | `decisions.md`, `lessons.md`, `patterns.md`, `context.md`, `sessions/YYYY-MM-DD-<topic>.md` |
| Cerebro global | `~/.bmad-plus/brain/` | `identity.yaml`, decisiones, lecciones y patrones comunes a los proyectos, `stack-preferences.md`, `projects/<hash>.yaml` y `projects-index.md` |
| Cerebro de cartera | `_brain/` en el proyecto o en una carpeta superior | Tu propia organización de notas; tiene prioridad sobre el cerebro global y conserva sus convenciones |

La regla de oro: lo que afecta a un solo proyecto va a la memoria del proyecto; lo que afecta a dos o más proyectos es candidato al cerebro global, y solo con tu aprobación.

<a id="brain-detection"></a>
### Cómo se encuentra un cerebro

1. La variable de entorno `BMAD_PLUS_BRAIN`, si apunta a una carpeta, prevalece sobre las demás opciones.
2. Una carpeta `_brain/` en el proyecto o en cualquier carpeta superior (un cerebro de cartera).
3. El cerebro global `~/.bmad-plus/brain/`, solo si ya existe (se completan los archivos que faltan, no se sobrescribe nada).
4. La carpeta de memoria propia de Claude `~/.claude/memory/`, solo si no está vacía; se enlaza, no se copia.
5. Si no se encuentra nada: se crea un cerebro global nuevo en `~/.bmad-plus/brain/` (con `identity.yaml`, los tres archivos de notas compartidos y `projects/`) y se enlaza.

**.agents/memory/.brain-link registra qué cerebro se enlazó**

```json
{ "linked_brain": "D:\\workspace\\_brain", "brain_type": "portfolio", "linked_at": "2026-05-17T09:00:00Z" }

```

`brain_type` vale `portfolio` (un `_brain/` de espacio de trabajo o la variable de entorno), `bmad-global` (`~/.bmad-plus/brain`) o `claude-memory` (`~/.claude/memory`). Un cerebro de cartera conserva su propia organización: los agentes leen primero su punto de entrada y no crean `identity.yaml` ni `projects/` dentro sin que se les pida.

<a id="quick-start"></a>
## Inicio rápido

1. **Instalar el pack** Core se añade automáticamente. Solo hace falta Node.js 20: la memoria son archivos, sin base de datos ni servicio vectorial.

   ```sh
   npx bmad-plus install --packs memory
   ```
2. **Dejar que Zecher indexe tus proyectos una vez** Zecher recorre una carpeta, detecta el stack y el estado de cada proyecto y te pide confirmar, editar u omitir cada entrada antes de escribirla.

   ```sh
   Zecher, escanea los proyectos de ~/dev
   ```
3. **Empezar cada sesión posterior con un recordatorio** Pide el estado del proyecto antes de pedir trabajo.

   ```sh
   Zecher, ¿dónde nos quedamos?
   ```

<a id="examples"></a>
## Ejemplos para copiar

<a id="example-memory-pack-scan"></a>
### Indexar tus proyectos

Ejecútalo una vez tras instalar y de nuevo cuando añadas proyectos.

**En tu asistente de IA**

```text
Zecher, escanea los proyectos de ~/dev
```

**Lo que deberías obtener** Zecher encuentra las raíces de proyecto por archivos marcadores (`package.json`, `Cargo.toml`, `go.mod`, `.git` y otros), omitiendo `node_modules`, `vendor`, `dist` y similares, y muestra una tabla de proyecto, stack, estado (activo bajo 30 días, en pausa de 30 a 180, archivado más allá), si BMAD+ está instalado y el último cambio. En cada fila eliges confirmar, editar, omitir o instalar BMAD+; solo los proyectos confirmados se escriben en `~/.bmad-plus/brain/projects/<hash>.yaml` y en el legible `projects-index.md`.

<a id="example-memory-pack-where-were-we"></a>
### Reconstruir el contexto de una sesión en frío

Úsalo al comenzar una sesión, en un proyecto que llevas tiempo sin tocar.

**En tu asistente de IA**

```text
Zecher, ¿dónde nos quedamos?
```

**Lo que deberías obtener** Zecher lee `.agents/memory/context.md`, el último traspaso en `.agents/memory/sessions/`, la entrada del proyecto en el cerebro global, los últimos diez commits de git y `AGENTS.md` o `CLAUDE.md`, y da un breve «estado del proyecto»: qué es, su stack, en qué se trabajó por última vez, las preguntas abiertas de la sesión anterior, los problemas conocidos y las lecciones.

<a id="example-memory-pack-handoff"></a>
### Cerrar una sesión con un traspaso

Úsalo antes de parar. «Traspaso» no es una de las frases fijas de Zecher, así que describe qué quieres registrar y pide tú mismo la distinción entre lo hecho y lo planificado.

**En tu asistente de IA**

```text
Zecher, actualiza la memoria de este proyecto con los cambios y comprobaciones realmente hechos. Separa lo implementado, probado, publicado y aún pendiente. Registra las decisiones y las evidencias útiles, archiva las notas reemplazadas sin borrarlas y escribe un prompt corto para la próxima sesión. Mantén la memoria en este proyecto y excluye los secretos.
```

**Lo que deberías obtener** Zecher actualiza `context.md`, escribe un archivo de traspaso fechado `.agents/memory/sessions/YYYY-MM-DD-<topic>.md` y un prompt de reanudación. La plantilla de traspaso (`session-handoff.md`) tiene los apartados What changed, Decisions made, Open questions, Next steps y Files modified; la separación entre implementado, probado, publicado y pendiente, y el prompt de reanudación que nombra la próxima tarea sin terminar, vienen de tu petición, no de la plantilla. Nunca se destruyen entradas: las reemplazadas se archivan.

<a id="example-memory-pack-health-check"></a>
### Comprobar la salud de la memoria

Úsalo cuando las notas pueden haberse alejado del código.

**En tu asistente de IA**

```text
Zecher, comprobación de salud
```

**Lo que deberías obtener** Un informe: si los archivos de memoria existen y están bien formados, las decisiones aún activas tras más de 90 días (a revisar), las lecciones que se repiten (y por tanto no se aprendieron) y estadísticas como entradas por archivo y fechas de última actualización.

<a id="example-memory-pack-consolidate"></a>
### Consolidar duplicados y entradas obsoletas

No se cambia nada hasta que apruebes cada propuesta.

**En tu asistente de IA**

```text
Zecher, consolida la memoria
```

**Lo que deberías obtener** Tres fases. Auditoría: Zecher lee cada archivo de memoria y nota de sesión. Propuesta: informa de cuántos duplicados, entradas obsoletas y candidatos a promoción encontró y te pide aprobar cada cambio. Ejecución: las fusiones aprobadas conservan la versión más rica, las entradas obsoletas pasan al final con el prefijo `[ARCHIVED]` y las promociones aprobadas van al cerebro global.

<a id="example-memory-pack-what-do-we-know"></a>
### Preguntar qué dicen las notas sobre un tema

Úsalo antes de volver a decidir algo: contrasta decisiones, lecciones, patrones y notas de sesión.

**En tu asistente de IA**

```text
Zecher, ¿qué decidimos sobre la estrategia de autenticación y qué salió mal la última vez?
```

**Lo que deberías obtener** Una respuesta extraída de los archivos de memoria contrastando decisiones, lecciones, patrones y notas de sesión. Las reglas de Zecher piden fechas ISO y enlaces entre una lección y la decisión a la que se refiere. Comprueba las entradas que cita: si las notas no dicen nada del tema, un asistente aún puede rellenar el hueco, así que pídele que nombre su fuente.

<a id="example-memory-pack-promote-lesson"></a>
### Promover una lección al cerebro global

Úsalo cuando una lección se confirmó en un segundo proyecto. Zecher siempre pregunta antes de mover nada.

**En tu asistente de IA**

```text
Zecher, promueve la lección «nunca ejecutar migraciones al arrancar» de este proyecto al cerebro global.
```

**Lo que deberías obtener** Zecher muestra la entrada y el archivo de destino y espera tu aprobación, y entonces la mueve al `lessons.md` global. Si tu cerebro es de cartera, el traslado sigue su propia gobernanza y convenciones en lugar de la organización global.

<a id="example-memory-pack-outcome-evidence"></a>
### Vincular una nota a un resultado verificado

Avanzado: solo después de que una tarea de Nexus se verificó de forma independiente y se aceptó. Registra la procedencia; no prueba que la nota causara el éxito.

**En tu asistente de IA**

```text
Zecher, registra que la lección bajo «Cache invalidation» en .agents/memory/lessons.md se aplicó a la tarea de Nexus aceptada cache-fix del run small-change. Escribe el archivo de observación, ejecuta bmad-plus mem observe con él y luego muestra bmad-plus mem outcomes.
```

**Lo que deberías obtener** El JSON de observación nombra el run, la tarea, una sección de memoria (archivo y encabezado), sus rutas de alcance y tu interpretación. `mem observe` escribe un recibo en `.bmad/memory/outcomes.ndjson` (no en el diario de eventos); `mem outcomes` lista los recibos aún elegibles, excluyendo los obsoletos, reemplazados o contradichos. Un `mem recall --ranking evidence` posterior da un impulso acotado a la evidencia elegible; la recuperación léxica por defecto no cambia.

<a id="cli-companions"></a>
## Comandos de la CLI asociados

**Comandos que leen o escriben la memoria**

| Comando | Qué hace |
| --- | --- |
| `bmad-plus memory status` | Salud de la memoria del proyecto y del cerebro global |
| `bmad-plus memory export` | Escribe `bmad-brain-export-<YYYY-MM-DD>.md` en la carpeta del proyecto |
| `bmad-plus scan <path>` | El escáner de proyectos por línea de comandos; profundidad por defecto 4, activo bajo 30 días, en pausa bajo 180 |
| `bmad-plus mem recall`, `write`, `reinforce`, `observe`, `outcomes` | Consultar y actualizar el diario del proyecto; la clasificación por evidencias es opcional con `--ranking evidence` |

<a id="outputs"></a>
## Qué escribe y dónde

- En el proyecto: `.agents/memory/` (los cuatro archivos Markdown, `sessions/`, `.brain-link`) y, para el diario de la CLI, `.bmad/memory/journal.ndjson` y `.bmad/memory/pattern-scores.json`, además de `.bmad/memory/outcomes.ndjson` para los recibos de resultado.
- En tu carpeta personal, solo si se usa el cerebro global: `~/.bmad-plus/brain/` con `identity.yaml`, notas compartidas y el índice de proyectos.
- Reinstalar o actualizar nunca sobrescribe `decisions.md`, `lessons.md` ni `patterns.md` y nunca borra `sessions/`.

<a id="data-and-prerequisites"></a>
## Flujos de datos y requisitos

Solo Node.js 20. La memoria son archivos locales: el pack no abre ninguna conexión de red y no tiene flujo propio fuera de la máquina. Un servicio de recuperación vectorial o RAG es un añadido opcional, local y desplegado por separado que no forma parte del paquete npm, y `--provision-python` no lo instala; la memoria en Markdown y el escáner funcionan sin él. Lo que tu asistente lee de la memoria va a su modelo como cualquier otro contexto, así que deja los secretos fuera de las notas.

<a id="limits"></a>
## Límites y trampas

> **Advertencia · Nada se ejecuta solo** El pack aporta instrucciones y archivos que tu asistente debe seguir. No se instala ningún gancho al inicio ni al final de una sesión, así que una sesión que termina sin turno de agente no tiene traspaso garantizado. Pide el traspaso antes de parar.

> **Nota · Profundidad del escaneo** El comando `bmad-plus scan` recorre 4 niveles por defecto (`--depth <n>` lo cambia). Cuando pidas un escaneo a Zecher en el chat, indica la profundidad que quieres para obtener el mismo resultado.

> **Nota · La memoria no es una prueba** Las notas son contexto que contrastar con el código actual, no hechos. Los registros de resultado vinculan una nota con una tarea aceptada; no muestran que la nota mejorara los resultados del asistente, y la mera persistencia tampoco.

> **Nota · Procedencia** La arquitectura de la memoria se inspira en el enfoque de notas de cartera del autor. Las cuatro barreras de comportamiento (pensar antes de programar, simplicidad primero, cambios quirúrgicos, ejecución guiada por objetivos) se adaptan de un proyecto comunitario de pautas inspiradas en Karpathy; véase THIRD-PARTY-LICENSES.md.

**Véase también**

- [Los diez packs lado a lado](https://bmad-plus.rochetta.fr/es/docs/packs/packs-overview/)
- [La memoria, cómo funciona](https://bmad-plus.rochetta.fr/es/docs/concepts/how-memory-works/)
- [Referencia del comando memory](https://bmad-plus.rochetta.fr/es/docs/reference/cli-memory/)
- [Referencia del comando mem](https://bmad-plus.rochetta.fr/es/docs/reference/cli-mem/)
- [Referencia del comando scan](https://bmad-plus.rochetta.fr/es/docs/reference/cli-scan/)

[Documentación de BMAD+](https://bmad-plus.rochetta.fr/es/docs/) · [Packs](https://bmad-plus.rochetta.fr/es/docs/packs/)

[Código en GitHub](https://github.com/lrochetta/BMAD-PLUS)
