Instalación de Engram
Antes de instalar
Engram es un binario Go estático. Esto significa que no necesitas instalar Go para usarlo a menos que elijas compilar desde fuente. En la mayoría de los casos, la instalación tarda menos de un minuto.
La base de datos SQLite se crea automáticamente en ~/.engram/engram.db la primera vez que ejecutas cualquier comando de Engram. No hay pasos de inicialización manuales.
Requisitos:
- macOS 12+, Linux (x86_64 o ARM64), o Windows 10+
- Go 1.21+ únicamente si vas a instalar desde fuente
- Sin otras dependencias de runtime
Instalación en macOS y Linux con Homebrew
Homebrew es el método recomendado para macOS y Linux porque gestiona actualizaciones automáticamente y no requiere configurar el PATH manualmente.
brew install gentleman-programming/tap/engram
Para actualizar a la versión más reciente:
brew update && brew upgrade engram
Si instalaste la versión Cask antigua (anterior a v1.0.1, cuando era distribuida como aplicación de escritorio):
brew uninstall --cask engram 2>/dev/null
brew install gentleman-programming/tap/engram
Verifica la instalación:
engram version
# Output: engram v1.x.x
Instalación en Linux sin Homebrew
Si no usas Homebrew, tienes dos opciones en Linux.
Opción A: Descargar el binario precompilado
Ve a GitHub Releases y descarga el archivo correspondiente a tu arquitectura:
| Arquitectura | Archivo |
|---|---|
| Linux x86_64 | engram_<version>_linux_amd64.tar.gz |
| Linux ARM64 | engram_<version>_linux_arm64.tar.gz |
# Ejemplo para x86_64
curl -L https://github.com/Gentleman-Programming/engram/releases/latest/download/engram_linux_amd64.tar.gz -o engram.tar.gz
tar -xzf engram.tar.gz
chmod +x engram
sudo mv engram /usr/local/bin/
Verifica:
engram version
Opción B: Compilar desde fuente
Si tienes Go 1.21+ instalado:
git clone https://github.com/Gentleman-Programming/engram.git
cd engram
go install ./cmd/engram
El binario se instala en $(go env GOPATH)/bin/engram. Si ese directorio está en tu PATH, ya puedes usar engram directamente.
Para compilar con el número de versión visible en engram version:
VERSION=$(git describe --tags --always)
go build -ldflags="-X main.version=$VERSION" -o engram ./cmd/engram
sudo mv engram /usr/local/bin/
Instalación en Windows
Windows tiene tres caminos. El más confiable para usuarios técnicos es go install porque compila el binario localmente, evitando alertas de antivirus.
Opción A: go install (recomendado)
Con Go instalado en tu sistema:
go install github.com/Gentleman-Programming/engram/cmd/engram@latest
El binario se instala en %GOPATH%\bin\engram.exe (típicamente %USERPROFILE%\go\bin\). Asegúrate de que esa ruta esté en tu variable de entorno PATH.
Para verificar:
engram version
Opción B: Compilar desde fuente
git clone https://github.com/Gentleman-Programming/engram.git
cd engram
go install ./cmd/engram
# Con número de versión:
$v = git describe --tags --always
go build -ldflags="-X main.version=local-$v" -o engram.exe ./cmd/engram
Opción C: Binario precompilado
Descarga engram_<version>_windows_amd64.zip desde GitHub Releases y extrae engram.exe a un directorio en tu PATH.
Expand-Archive engram_*_windows_amd64.zip -DestinationPath "$env:USERPROFILE\bin"
# Agrega al PATH permanentemente:
[Environment]::SetEnvironmentVariable(
"Path",
"$env:USERPROFILE\bin;" + [Environment]::GetEnvironmentVariable("Path", "User"),
"User"
)
Nota sobre antivirus en Windows: Los binarios precompilados de proyectos open source pequeños pueden activar falsos positivos en Windows Defender y otros antivirus (alerta típica:
Trojan:Script/Wacatac.H!ml). Esto ocurre porque el binario no está firmado digitalmente (los certificados de firma cuestan cientos de dólares anuales). El código fuente es completamente auditable en GitHub. Si tu antivirus bloquea el binario, usa la Opción A (go install) que compila en tu máquina local y no activa estas alertas.
Rutas de datos en Windows:
- Base de datos:
%USERPROFILE%\.engram\engram.db - Configurable con:
set ENGRAM_DATA_DIR=D:\ruta\personalizada
Variables de entorno
Engram respeta estas variables de entorno en todos los sistemas operativos:
| Variable | Descripción | Valor por defecto |
|---|---|---|
ENGRAM_DATA_DIR | Directorio para la base de datos SQLite | ~/.engram |
ENGRAM_PORT | Puerto del servidor HTTP | 7437 |
ENGRAM_PROJECT | Nombre del proyecto para el servidor MCP | Auto-detectado via git |
Puedes establecerlas en tu ~/.bashrc, ~/.zshrc, o equivalente:
export ENGRAM_DATA_DIR="$HOME/.config/engram"
export ENGRAM_PORT=8000
Verificar la instalación
Después de instalar, ejecuta estos comandos para confirmar que todo funciona:
# Verificar versión
engram version
# Verificar que la base de datos se puede crear
engram stats
# Ver todos los comandos disponibles
engram --help
La primera ejecución de engram stats crea automáticamente ~/.engram/engram.db si no existe. Deberías ver algo como:
Project: (ninguno detectado)
Observations: 0
Sessions: 0
Estructura de archivos creada
Después de la primera ejecución, Engram habrá creado:
~/.engram/
├── engram.db # Base de datos SQLite principal
└── cloud.json # Configuración cloud (se crea al configurar)
Eso es todo. No hay archivos de configuración adicionales, no hay demonios corriendo en segundo plano, no hay servicios systemd que configurar manualmente (aunque es posible hacerlo — ver capítulo 7).
Actualizar Engram
Homebrew:
brew update && brew upgrade engram
go install:
go install github.com/Gentleman-Programming/engram/cmd/engram@latest
Binario manual: Descarga la nueva versión desde GitHub Releases y reemplaza el binario anterior.
Importante después de actualizar cuando un cliente MCP está corriendo: Si Claude Code u otro agente MCP ya está en ejecución cuando actualizas el binario de Engram, necesitas reiniciar el agente para que recargue el subproceso MCP con la versión nueva. En Claude Code:
engram setup claude-code # regenera los hooks y configs # luego reinicia Claude CodeActualizar el binario en disco no reemplaza un proceso MCP stdio ya corriendo.
Desinstalación
Si necesitas eliminar Engram completamente:
# Homebrew
brew uninstall engram
# Manual
sudo rm /usr/local/bin/engram # o donde esté el binario
rm -rf ~/.engram # base de datos y configuración
Ten en cuenta que eliminar ~/.engram borra toda tu historia de memorias. Si quieres hacer una copia de seguridad antes:
engram export engram-backup-$(date +%Y%m%d).json
En el siguiente capítulo conectamos Engram con los distintos agentes de IA.