Skip to content

Engram Workflow — Sistema Bautista

Quick Start

Proyecto Engram: bautista — Guarda memoria de todo (ERP, Portal, Ecommerce).

Sync & Save

bash
# Guardar memoria durante sesión
mem_save --project bautista --title "Portal: Multi-tenant schema isolation"

# Al final de sesión, sincronizar
./scripts/engram-sync.sh

Comandos

Guardar Observaciones

bash
# Decisión arquitectónica
mem_save --project bautista \
  --title "Backend: Cache invalidation strategy" \
  --type architecture

# Bug fix
mem_save --project bautista \
  --title "Portal: Fixed missing tenant header" \
  --type bugfix

# Patrón descubierto
mem_save --project bautista \
  --title "Ecommerce: Product filtering with facets" \
  --type pattern

Buscar Memoria

bash
# Contexto reciente
mem_context --project bautista

# Buscar específicamente
mem_search --project bautista --query "multi-tenant schema"

Sincronizar

bash
# Exportar memoria a .engram/
./scripts/engram-sync.sh

# Sync + Import automático
./scripts/engram-sync.sh --import

# Ver estado
./scripts/engram-sync.sh --status

# Auto-sync cada 10 minutos (background)
./scripts/engram-sync.sh --watch

Estructura de Contenido

Formato What/Why/Where/Learned:

**What**: Implementé multi-tenant schema switching en el portal

**Why**: Portal users need aislamiento de datos por tenant, cada uno ve solo su data

**Where**: 
- bautista-backend/src/Middleware/TenantMiddleware.php
- portal-usuarios/src/hooks/useTenant.ts

**Learned**: 
- El header X-Tenant debe validarse en cada request
- Cache debe ser keyed por tenant + resource

Tipos de Observaciones

  • decision — Decisión arquitectónica o de diseño
  • architecture — Patrón, estructura, patrón de datos
  • bugfix — Corregir un bug (incluir root cause)
  • pattern — Patrón recurrente descubierto
  • discovery — Gotcha, comportamiento inesperado, learning
  • config — Cambio de configuración o setup

Scopes

bash
# project (default) — Solo visible en este proyecto
mem_save --project bautista --scope project --title "..."

# personal — Visible en TODOS los proyectos (reutilizable)
mem_save --project bautista --scope personal --title "PostgreSQL FTS5 gotcha"

Sincronización con Git

Engram guarda en ~/.engram/NO commitear.

Para compartir en equipo:

bash
# Exportar a JSON
engram export engram-bautista.json

# Compartir archivo, otro dev importa
engram import engram-bautista.json

Ver también:

  • engram --help — Comandos completos
  • ./scripts/engram-sync.sh --help — Opciones del script