engram

Grafo local de conocimiento de código + memoria bi-temporal de errores para agentes de codificación de IA. Sirve un paquete estructural clasificado en lugar de archivos completos al leer o buscar, y muestra correcciones que tu repositorio ya revirtió (extraídas del historial de git). Sin nube, Apache-2.0.

Documentación

Engram — Nicholas Ashkar repository collection

Engram

Un kit de herramientas local de grafo de código estructural y contexto para agentes de IA. Engram indexa entidades de código fuente, relaciones de Git y memoria de proyecto seleccionada, y luego expone contexto enfocado a través de una CLI, hooks de agente, MCP y un panel local autenticado.

Úsalo para encontrar código relevante antes de leer archivos completos, inspeccionar relaciones y llevar errores registrados a una sesión posterior. Lee el código fuente devuelto por una consulta antes de hacer una afirmación sobre el comportamiento: la recuperación del grafo es una ayuda para la investigación.

Inicio rápido

El paquete inspeccionado es engramx 4.5.0 y requiere Node >=20. Este ejemplo de compilación desde el código fuente está inspeccionado desde el código fuente, no ejecutado; no asume una versión publicada actualmente del paquete o extensión.

git clone https://github.com/NickCirv/engram.git
cd engram
git checkout 9fa2a4b74ca8e66560d74d1255c16c43157d32bd
npm install --ignore-scripts
npm run build
export ENGRAM_NO_UPDATE_CHECK=1
node dist/cli.js init ../your-project --no-hook
node dist/cli.js query "authentication" --project ../your-project --budget 2000
node dist/cli.js stats --project ../your-project

Reemplaza ../your-project con un código base que puedas inspeccionar. La indexación escribe el grafo .engram/ del proyecto. La bandera --no-hook es importante: la CLI predeterminada init también instala un hook de Sentinel. Comienza con el grafo, examina la salida y luego decide qué integración habilitar. La compilación incluye el empaquetado de gramáticas; inspecciona los scripts del paquete y las dependencias antes de la instalación.

La consulta devuelve entidades de grafo coincidentes y un recuento estimado de tokens, o un mensaje de no-hay-nodos-coincidentes. Los recuentos dependen del proyecto indexado; no se fabrica ninguna salida de referencia aquí.

Qué está implementado

Flujo de trabajoPuntos de entrada respaldados por código fuente
Explorar estructuraquery, path, gods, callers, callees, impact, stats
Mantener contextoinit, watch, reindex, learn, mistakes
Generar documentos de agentegen, gen-mdc, gen-aider, gen-windsurfrules, gen-ccs
Inspeccionar integración de hooksinstall-hook --dry-run, hook-preview, hook-stats, hook-disable, hook-enable
Servir contextoserver, ui, engram-serve ejecutable MCP
Revisar medicionesmeasure, bench, cost, scripts de referencia del paquete
Mantener instalacióndoctor, setup --dry-run, update --check, comandos de base de datos/caché/plugins

Estos puntos de entrada están declarados en la CLI fijada. Consulta la ayuda de cada comando antes de una operación de escritura. Los generadores, instaladores de hooks, comandos de caché/base de datos e instalación de plugins pueden modificar el estado local.

Arquitectura

Los mineros de código fuente extraen entidades, referencias, co-cambios de Git e información seleccionada de errores/sesiones. El almacén de grafos persiste SQLite local del proyecto usando sql.js. Las consultas recorren el grafo y renderizan contexto acotado. El resolvedor de proveedores combina fuentes integradas y plugins/proveedores MCP opcionales; las integraciones pueden agregar procesos externos y acceso a red.

La guía de arquitectura e integración mapea estas rutas, documenta la autenticación HTTP y proporciona una configuración MCP local. Los registros de diseño existentes, notas de versión, documentos de integración y el borrador de ECP permanecen enlazados en el inventario de documentación. Conservan contexto histórico y no están todos certificados contra esta revisión.

Privacidad y límites operativos

El grafo central es local, pero no se garantiza que todo el sistema esté libre de red. La CLI tiene comprobaciones de actualización de npm, Context7 puede llamar a un envoltorio externo, y los proveedores MCP/plugins configurados pueden ejecutar sus propios procesos. ENGRAM_NO_UPDATE_CHECK=1 desactiva la ruta de comprobación de actualizaciones; no desactiva cada integración opcional. Revisa los proveedores configurados y el agente que recibe la salida del grafo.

El servidor HTTP se vincula a 127.0.0.1, valida Host/Origin y requiere un token portador o cookie de panel para rutas protegidas. Resuelve un token desde ENGRAM_API_TOKEN o un archivo de token local. Mantén ese token privado y conserva la política de seguridad existente.

Límites y medición

El tamaño del contexto estructural, las reducciones estimadas de tokens, la reproducción de sesiones y la facturación real del proveedor responden preguntas diferentes. Un paquete más pequeño no demuestra por sí mismo igual calidad de respuesta o una factura más baja. Reproduce los puntos de referencia incluidos en tu propia carga de trabajo representativa y rastrea la corrección junto con el costo. Esta revisión de documentación no ejecutó una compilación, suite de pruebas, punto de referencia o sesión de agente.

Desarrollo

npm run build
npm run lint
npm test -- --run

El repositorio contiene fuentes de pruebas unitarias y de integración para almacenamiento de grafos, proveedores, hooks, seguridad HTTP y otros módulos. Su presencia es evidencia de la intención de cobertura de pruebas; los resultados en esta revisión permanecen sin verificar aquí. Consulta la guía de contribución conservada antes de cambiar el comportamiento.

Licencia y autor

Licencia Apache-2.0. La especificación ECP lleva su propia atribución y licencia en su documento fuente; esta reescritura no altera ninguna de las dos.

Nicholas Ashkar · IA aplicada, sistemas y consultoría.

Guías de usuario

El manual de usuario cubre configuración, habilidades, solución de problemas y eliminación. Sentinel explica el comportamiento actual de los hooks y los modos de guardia. Los autores de herramientas pueden usar la guía de integración.