🧠 WrapUp Multi-Project

Sistema Completo: Cómo asignar Notebooks a Proyectos

📦 GitHub: claude-second-brain-plus

1️⃣ ¿QUÉ ES EL SISTEMA WRAPUP?

En Simple:

Es un sistema que permite que cada proyecto tenga su propio cerebro en NotebookLM.

Proyecto_React
Notebook_React


Proyecto_Python
Notebook_Python


Proyecto_Web
Notebook_Web

¿Por qué separar?

❌ 1 Notebook para TODO

  • Contexto contaminado
  • 5000 tokens por sesión
  • Claude confundido
  • CARO

✅ 1 Notebook por Proyecto

  • Contexto puro
  • 500 tokens por sesión
  • Claude enfocado
  • 10x más barato

2️⃣ ¿CÓMO FUNCIONA?

El flujo completo:

TÚ ABRES PROYECTO_REACT ↓ ~/.claude/rules/common/dispatch.md SE ACTIVA AUTOMÁTICAMENTE ↓ dispatch.md PREGUNTA: "¿Cuál es el Notebook ID de este proyecto?" ↓ Lee: .wrapup-config (archivo en el proyecto) Ve: NOTEBOOK_ID=abc123... ↓ dispatch.md CONSULTA NOTEBOOKLM: "Mándame las reglas de Proyecto_React" ↓ NOTEBOOKLM RESPONDE: "Usa Tailwind, ESLint, custom hooks..." ↓ CLAUDE TRABAJA CON TUS ESTÁNDARES ↓ /wrapup GUARDA EN NOTEBOOK_REACT

¿Qué archivo hace qué?

Archivo Ubicación ¿Qué hace?
.wrapup-config Proyecto_React/ Guarda: nombre del proyecto + Notebook ID
dispatch.md ~/.claude/rules/common/ Lee .wrapup-config y consulta NotebookLM
projects.conf ~/.wrapup/ Índice de todos tus proyectos

3️⃣ SETUP INICIAL (Una sola vez)

1 Clonar el repositorio base desde GitHub
git clone https://github.com/jhbrow4/claude-second-brain-plus cd claude-second-brain-plus

O descarga el ZIP desde: github.com/jhbrow4/claude-second-brain-plus

2 Ejecutar el instalador

Comando genérico:

bash install-wrapup.sh

⭐ En tu caso (ruta real de tu Mac):

bash "/Users/maykacenteno/Development/WRAPUP FILES/WrapUpa_setup/install-wrapup.sh"
⚠️ Nota: Las comillas son necesarias porque la ruta tiene espacios.
3 El script pregunta: ¿Cuántos proyectos?

Escribes: 3 (o el número de tus proyectos)

4 Para CADA proyecto:

El script pregunta:

Nombre: Proyecto_React Path: /Users/maykacenteno/Proyectos/Proyecto_React Notebook ID: (creas en NotebookLM)
5 ✅ LISTO

El script automáticamente:

  • Crea ~/.wrapup/
  • Crea .wrapup-config en cada proyecto
  • Configura dispatch.md
  • Crea projects.conf

4️⃣ CÓMO SE ASIGNAN NOTEBOOKS A PROYECTOS

Durante el setup:

Proyecto_React ↓ Setup pregunta Notebook ID ↓ Escribes: abc123... ↓ Script crea: Proyecto_React/.wrapup-config ├─ PROJECT_NAME=Proyecto_React └─ NOTEBOOK_ID=abc123... ↓ ✅ ASIGNADO: Proyecto_React → abc123

¿Cómo sabe /wrapup cuál notebook usar?

Tú estás en: Proyecto_React/ Haces: /wrapup ↓ Claude busca: .wrapup-config en el directorio actual ↓ Lee: NOTEBOOK_ID=abc123... ↓ Guarda AQUÍ: notebooklm → abc123 ↓ ✅ Guarda en el notebook correcto
🔑 CLAVE: Cada proyecto tiene su .wrapup-config con el ID del notebook. /wrapup lee automáticamente ESE archivo.

5️⃣ CREAR UN PROYECTO NUEVO

Opción A: Agregar proyecto (Recomendado)

1 Crear notebook en NotebookLM
notebooklm create "Brain - Mi Nuevo Proyecto" # Copia el ID: xyz987-...
2 Agregar con manager
bash ~/development/wrapupfiles/wrapup-manager.sh add # Responde: Nombre: Mi Nuevo Proyecto Path: /home/usuario/Proyectos/Mi_Nuevo_Proyecto ID: xyz987-...
3 ✅ LISTO

El manager automáticamente:

  • Crea .wrapup-config en el proyecto
  • Agrega a projects.conf
  • Configura dispatch.md

Opción B: Si quieres hacerlo manual (No recomendado)

# 1. Crear carpeta .claude mkdir -p ~/.claude/rules/common # 2. Crear .wrapup-config EN EL PROYECTO echo 'PROJECT_NAME=Mi Nuevo Proyecto' > ~/Proyectos/Mi_Nuevo_Proyecto/.wrapup-config echo 'NOTEBOOK_ID=xyz987-...' >> ~/Proyectos/Mi_Nuevo_Proyecto/.wrapup-config # ⚠️ Mucho más complicado y propenso a errores

6️⃣ ¿QUÉ ES dispatch.md?

En simple:

Es una regla automática que consulta NotebookLM cada vez que trabajas.

ANTES (sin dispatch.md): Tú: "Crea componente" Claude: Código genérico ❌ DESPUÉS (con dispatch.md): Tú: "Crea componente" ↓ dispatch.md se activa ↓ Consulta NotebookLM ↓ "¿Qué estándares tiene?" ↓ Claude recibe: "Usa Tailwind, hooks custom..." ↓ Claude: Código personalizado ✅

¿Cómo funciona?

1 dispatch.md está en ~/.claude/rules/common/

Se ejecuta AUTOMÁTICAMENTE

2 Lee el proyecto actual

Busca: .wrapup-config en el directorio

3 Obtiene el Notebook ID

Ve: NOTEBOOK_ID=abc123...

4 Consulta NotebookLM

Pregunta: "¿Qué reglas tiene este proyecto?"

5 Claude recibe las reglas

Y las aplica automáticamente

✨ RESULTADO: Claude siempre sabe qué estándares usar para CADA proyecto, sin que tengas que repetir.

7️⃣ FLUJO DIARIO (Cómo trabaja)

DÍA 1: ├─ Trabajas en Proyecto_React ├─ Haces: /wrapup └─ Guarda en: Notebook_React DÍA 2: ├─ Trabajas en Proyecto_Python ├─ Haces: /wrapup └─ Guarda en: Notebook_Python DÍA 3: ├─ Vuelves a Proyecto_React ├─ dispatch.md activa ├─ Lee: Notebook_React ID ├─ Consulta: NotebookLM ├─ Claude: "Recuerdo que usaste Tailwind..." ├─ Continúa: Consistentemente └─ /wrapup → Guarda aquí ✅ RESULTADO: Cada proyecto tiene su cerebro separado Contexto puro y limpio 10x menos tokens Claude inteligente en CADA proyecto

8️⃣ RESUMEN: LO QUE DEBES HACER

PASO 1: Setup Inicial (Una sola vez)

bash ~/development/wrapupfiles/wrapup-manager.sh add # Responde las preguntas del script # Listo automáticamente

PASO 2: Crear Proyecto Nuevo (Cuando necesites)

# 1. Crear notebook notebooklm create "Brain - Nuevo" # 2. Agregar con manager bash ~/development/wrapupfiles/wrapup-manager.sh add # 3. Responde: Nombre, Path, ID # Listo

PASO 3: Trabajar (Todos los días)

cd ~/Proyectos/Proyecto_React # Trabajas en Claude Code /wrapup # Automático, guarda en su notebook

PASO 4: Ver proyectos (Opcional)

bash ~/development/wrapupfiles/wrapup-manager.sh list # Muestra todos tus proyectos
🎯 TODO AUTOMÁTICO: El sistema se encarga. Solo haz setup inicial y usa /wrapup.

📊 /WRAPUP EN ACCIÓN: Ejemplo Real

Al final de CADA sesión de trabajo, escribe:

/wrapup

Eso es todo. Claude guarda automáticamente en el notebook correcto.

Ejemplo real: Proyecto React Dashboard

🔵 SESIÓN 1: Crear componentes base ├─ Creas ButtonComponent.jsx ├─ Creas CardComponent.jsx ├─ Decides usar Tailwind CSS └─ /wrapup ← GUARDA TODO NotebookLM recuerda: • Que usaste Tailwind • Estructura de componentes • Decisiones tomadas 🟢 SESIÓN 2: Agregar funcionalidad ├─ Claude Lee el cerebro ├─ "Recuerdo que usaste Tailwind..." ├─ Agrega features CONSISTENTES └─ /wrapup ← GUARDA DE NUEVO Ahora NotebookLM sabe: • Todo de la Sesión 1 • Todo de la Sesión 2 • Tendencias de código 🟡 SESIÓN 3+: Continuar proyecto ├─ Claude = Super inteligente ├─ Recuerda TODOS los detalles ├─ Trabajo = 30-50% más rápido └─ /wrapup
🎯 REGLA DE ORO: Al final de cada sesión → /wrapup. Sin excepciones.

9️⃣ PREGUNTAS FRECUENTES

P: ¿Dónde ejecuto los comandos?

R: Depende del comando:

Comando ¿Dónde?
wrapup-manager.sh add Cualquier lado
wrapup-manager.sh list Cualquier lado
wrapup-manager.sh info DENTRO del proyecto
wrapup-manager.sh update DENTRO del proyecto
/wrapup (en Claude) Automático, cualquier proyecto

P: ¿Qué pasa si no encuentro el script?

R: Verifica que el archivo está en la ruta correcta:

ls ~/development/wrapupfiles/wrapup-manager.sh

P: ¿dispatch.md se crea automáticamente?

R: SÍ. El script wrapup-manager.sh lo crea automáticamente.

Tú NO tienes que crear nada manual.

P: ¿Cómo sabe dispatch.md cuál es mi Notebook ID?

R: Lee el .wrapup-config del proyecto actual.

cd ~/Proyectos/Proyecto_React /wrapup ↓ dispatch.md busca: .wrapup-config ↓ Lee: NOTEBOOK_ID=abc123... ↓ Usa ese ID automáticamente

P: ¿Puedo cambiar el Notebook ID después?

R: SÍ, con wrapup-manager.sh update

cd ~/Proyectos/Proyecto_React bash ~/development/wrapupfiles/wrapup-manager.sh update # Pide: Nuevo Notebook ID # Actualiza automáticamente

🔟 DIAGRAMA FINAL: TODO JUNTO

TU ORDENADOR: ├─ ~/.wrapup/ │ ├─ projects.conf (índice) │ └─ (archivos del sistema) │ ├─ ~/.claude/rules/common/ │ └─ dispatch.md (consulta NotebookLM) │ ├─ ~/development/wrapupfiles/ │ └─ wrapup-manager.sh (gestor principal) │ ├─ ~/Proyectos/Proyecto_React/ │ ├─ .wrapup-config (ID: abc123) │ ├─ src/ │ └─ ... │ ├─ ~/Proyectos/Proyecto_Python/ │ ├─ .wrapup-config (ID: def456) │ ├─ main.py │ └─ ... │ └─ ~/Proyectos/Proyecto_Web/ ├─ .wrapup-config (ID: ghi789) ├─ index.html └─ ... ↓↓↓ /wrapup guarda aquí ↓↓↓ GOOGLE NOTEBOOKLM (en la nube): ├─ 📘 Proyecto_React (abc123) │ ├─ Sesión 1 │ ├─ Sesión 2 │ └─ Sesión 3 │ ├─ 📘 Proyecto_Python (def456) │ ├─ Sesión 1 │ └─ Sesión 2 │ └─ 📘 Proyecto_Web (ghi789) └─ Sesión 1 ✅ CADA PROYECTO = SU NOTEBOOK SEPARADO ✅ dispatch.md CONSULTA AUTOMÁTICAMENTE ✅ /wrapup GUARDA EN EL CORRECTO ✅ CONTEXTO PURO Y LIMPIO
📍 RUTA DEL MANAGER: Todos los comandos usan:
bash ~/development/wrapupfiles/wrapup-manager.sh [add|list|info|update]

1️⃣1️⃣ WRAPUP EN CODEX (SIN ROMPER CLOUD)

Qué significa

Puedes usar el mismo notebook por proyecto también desde Codex. No se crea otro sistema paralelo: se reutiliza el mismo .wrapup-config con el mismo NOTEBOOK_ID.

Regla principal

Si existe .wrapup-config en la carpeta del proyecto: ├─ Claude usa NOTEBOOK_ID de ese archivo └─ Codex usa NOTEBOOK_ID de ese mismo archivo Resultado: ✅ Ambos leen y guardan en el MISMO notebook de NotebookLM

Similitudes: Claude vs Codex

Punto Claude Codex
Fuente de verdad .wrapup-config .wrapup-config
Notebook objetivo NOTEBOOK_ID del proyecto NOTEBOOK_ID del proyecto
Formato de memoria Sesión en .md dentro de Fuentes Sesión en .md dentro de Fuentes

Diferencias prácticas

Tarea Claude Codex
Guardar cierre de sesión /wrapup Pides en chat: .wrapup
Cargar contexto al iniciar dispatch automático Pides en chat: recall

Flujo básico para alguien nuevo

1 Abre el proyecto correcto

Ejemplo: /Users/maykacenteno/Development/vitallink_plus

2 Inicia con contexto

En Codex escribe: recall

3 Trabaja normalmente

Implementa cambios, decisiones, pruebas.

4 Cierra sesión

En Codex escribe: .wrapup

✅ Verificación de guardado: Debe aparecer confirmación tipo GUARDADO OK y en NotebookLM debe verse una Fuente nueva (no solo una Nota en Studio).
⚠️ Importante: Si un proyecto no tiene .wrapup-config, no se puede enrutar al notebook correcto y se usará fallback o fallará la operación.

Cómo se determina el notebook correcto (prioridad)

1) .wrapup-config del proyecto (más confiable) 2) CLAUDE.md del proyecto (si incluye NOTEBOOK_ID) 3) Fallback: notebook activo en notebooklm status Objetivo recomendado: ✅ Que todos los proyectos tengan .wrapup-config

Señales de guardado: éxito vs duda

Salida que ves Qué significa
Added source: ... + GUARDADO OK Guardado confirmado como Fuente en NotebookLM
Solo resumen de texto (sin "Added source") No hay confirmación real de subida
Saved as note: ... Se guardó como Nota (Studio), no como Fuente

Nota vs Fuente (muy importante)

📝 Nota (Studio)

  • Útil para trabajo rápido
  • No siempre aparece en panel Fuentes
  • Puede dar sensación de "no se guardó"

📄 Fuente (.md)

  • Se ve en panel Fuentes del notebook
  • Trazabilidad más clara por sesión
  • Formato recomendado para WrapUp

1️⃣2️⃣ MANTENIMIENTO DEL NOTEBOOK (CONSOLIDAR Y LIMPIAR)

¿NotebookLM lee solo la última sesión?

No. NotebookLM busca en todas las fuentes del notebook (RAG semántico) y responde con lo más relevante.

Riesgo real con muchas sesiones

Si hay decisiones antiguas que contradicen decisiones nuevas, pueden aparecer respuestas ambiguas. Por eso los wrapups deben incluir siempre el Estado actual del proyecto.

Comando de consolidación

/wrapup consolidate

Este comando debe hacer lo siguiente:

1 Pide al notebook que se resuma a sí mismo
2 Genera un documento maestro con el estado actual
3 Sube ese maestro como nueva Fuente (.md)
4 Limpia sesiones antiguas

Deja solo: maestro + últimas 3 sesiones

5 Respeta fuentes con prefijo KEEP_

Nunca se borran automáticamente

¿Conviene borrar archivos del notebook?

❌ NO borres si contiene

  • Decisiones con contexto histórico ("elegimos X porque Y")
  • Errores relevantes y cómo se resolvieron
  • Evolución útil para entender el porqué actual

✅ SÍ borra cuando

  • Es obsoleto y contradice totalmente el estado actual
  • Supera el límite de fuentes de tu plan
  • Hay duplicados o sesiones casi idénticas sin valor

Estrategia recomendada (simple y segura)

Cada 10-15 sesiones: 1) Ejecutar consolidación 2) Conservar: documento maestro + últimas 3-4 sesiones + KEEP_ 3) Eliminar resto obsoleto/duplicado Resultado: ✅ Notebook limpio ✅ Menos contradicciones ✅ Contexto fuerte y actual
Frecuencia sugerida: usa consolidación cada 10-15 sesiones o cuando notes respuestas contradictorias.

1️⃣3️⃣ ERRORES REALES (Y CÓMO EVITARLOS)

Problemas que encontramos en la práctica

Síntoma Causa Solución
Solo aparece resumen en chat, pero no en NotebookLM No se ejecutó subida real Exigir salida Added source + GUARDADO OK
Se guarda en Brain - General por error No encontró .wrapup-config Crear .wrapup-config en la raíz del proyecto
El comando funciona en una carpeta pero falla en otra Alias atado a $(pwd) Usar alias global apuntando a ruta absoluta del script
No guarda si no pasas texto manual Wrapup exigía resumen obligatorio Permitir wrapup sin argumentos (autoresumen mínimo)
Ves contenido en Studio, pero Fuentes sigue vacío Guardado como Nota, no como Fuente Usar source add para guardar .md en Fuentes

Checklist para instalar en otro ordenador

1 Instalar y autenticar NotebookLM CLI
notebooklm login notebooklm status
2 Configurar cada proyecto con su notebook
# en la raíz del proyecto cat > .wrapup-config << 'EOF' PROJECT_NAME=MiProyecto NOTEBOOK_ID=xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx WRAPUP_ENABLED=true EOF
3 Usar protocolo diario
recall .wrapup

Al cerrar, valida siempre: Added source + GUARDADO OK.

Recomendación para comunidad: comparte esta regla simple: .wrapup-config manda. Si está bien, Claude y Codex guardan en el notebook correcto.