Gentleman-Programming / engram
git clone https://github.com/Gentleman-Programming/engram.git
v3.5.1 · today
🔥 on GitHub Trending today
Persistent memory system for AI coding agents. Agent-agnostic Go binary with SQLite + FTS5, MCP server, HTTP API, CLI, and TUI.
—
stars, 24h
+323
stars, 7 days · #181
+786
stars, 30 days · #386
7.5k
★ total · +5% this week
781
forks · 101 open issues
Star history starts 2026-10-20; the chart appears after the second daily snapshot.
LanguageGo
LicenseMIT
Created2026-02-16 (8mo ago)
Last pushtoday
Watchers38
OwnerOrganization
Seen on GitHub Trending
- 2026-10-20 — #4 monthly in go · +786 ★
- 2026-10-20 — #8 weekly in go · +323 ★
Links
- GitHub: github.com/Gentleman-Programming/engram
- Homepage: https://engram.gentlemanprogramming.com/
- Releases · Issues · Hacker News mentions
README excerpt
Engram™ Persistent memory for AI coding agents. Website • Quickstart • Docs • Candidate staging • Gentle-AI • Wiki engram /ˈen.ɡræm/ — neuroscience : the physical trace of a memory in the brain. Your AI coding agent forgets everything when the session ends. Engram gives it a brain. One brain. Local or cloud. Agent-agnostic, single binary, zero dependencies. If Engram saved you from re-explaining your project, a star helps other people find it. WORKS WITH THE AGENT YOU ALREADY HAVE Claude Code · Pi · OpenCode · Gemini CLI · Codex · Antigravity · Windsurf Qwen Code · Kiro · Cursor · VS Code (Copilot) · Kilo Code · Kimi Code · CommandCode 14 setup targets · plus any MCP-compatible agent · per-agent setup → ## Features --- ### One binary — Memory without a stack [code] Codex mutating Engram tools require the running core's `/health` response to advertise `capabilities.runtime_session_resolution: true` before resolving the host session. `root_session_resume` alone is not sufficient. If the core is incompatible, upgrade it to match the CLI, manually restart the running Engram server, and start a new Codex session. Hooks never restart the server automatically. Unregistered sessions and connection or invalid-response failures remain safely blocked with distinct diagnostics; read-only and non-Engram calls are unaffected. A **Go binary** with SQLite + FTS5 full-text search, exposed through CLI, HTTP API, MCP, and an interactive TUI. It works with any MCP-compatible agent, including Claude Code, OpenCode, Gemini CLI, Codex, VS Code (Copilot), Antigravity, Cursor, and Windsurf. No Node.js, Python, or Docker is required: one binary, one SQLite file. The data directory defaults to `~/.engram`; a nonblank `ENGRAM_DATA_DIR` overrides it and must be an absolute path. On Windows, local-SQLite commands (including `serve`, `mcp`, and `doctor`) create and check ` /tmp/sqlite` before opening SQLite, then set `TEMP` and `TMP` for that process only. Startup fails with an operation-specific diagnostic if the directory cannot be used. User/system environment settings and the working directory are unchanged. The directory is shared between processes and is not cleaned by Engram; SQLite manages its own uniquely named temporary files. This preparation also covers cloud `status`, `enroll`, `unenroll`, `attest-prompt-source`, and the local-store `cloud upgrade` operations (`doctor`, `repair`, `bootstrap`, `remirror`, `status`, `rollback`). It does not run for `protocol-mode`, `setup`, `cloud serve`, `cloud config`, top-level `cloud repair` or `cloud bootstrap` (distinct from the included `cloud upgrade repair` and `cloud upgrade bootstrap`), other `cloud upgrade` subcommands, or unknown commands. Existing orphan-database migration behavior is unchanged, including for commands excluded from this preparation. Linux/macOS, config-free commands, isolated self-tests, `compatibility`, and `migrate-copy` retain their existing behavior. **Docs →*