Engraphis - Local-first memory for coding agents

by•
Engraphis gives Claude Code, Cursor, and Codex durable memory across sessions. Decisions are stored in local SQLite with workspace and repo scope, retrieved with vector, lexical, graph, and code-aware search, and exposed over MCP. The local core is free and Apache-2.0. Pro adds hosted memory health and sync.

Add a comment

Replies

Best
Maker
📌

Hey Product Hunt. I built Engraphis because my coding agents kept forgetting the decisions behind the code. I would explain the same auth pattern or deployment rule every week, and the agent would still suggest the opposite.

Engraphis keeps those decisions in local SQLite, scoped by workspace, repo, and session. It returns the source and history with each recall, so the agent can show why it believes something before it changes your code. Works with Claude Code, Cursor, Codex, Cline, Windsurf, and Zed over MCP.

The local core is free and Apache-2.0. Pro is optional and adds hosted memory health and sync.

I would love blunt feedback on one thing: what is the first decision you wish your coding agent remembered reliably? I will answer every comment today.

I'll start: for me it was the auth migration. We moved from JWT to PASETO, and the agent kept suggesting JWT for every new endpoint because the old pattern was still in its context. A scoped memory that says "this repo uses PASETO, migrated on this date, reason: token replay" would have saved a week of reviews.

For anyone curious about how the retrieval works under the hood:

Instead of vector-only search, Engraphis runs four separate retrieval paths in parallel on your local machine:

- Dense vector similarity (local embeddings)

- Lexical search via SQLite FTS5 (BM25)

- Graph Personalized PageRank across connected entities and decisions

- AST code symbol and call links

These are combined using Reciprocal Rank Fusion (RRF). In our offline fixtures, this structure-aware approach cut prompt context from 740 to 214 tokens per query while keeping top-5 recall at 1.0.

Contradictions are handled by closing validity timestamps (valid_to = now) instead of deleting past decisions, so you can still query what the agent knew at any historical git commit.

Quick start via pip:

pip install "engraphis[all]"

engraphis-dashboard

Repo:

Demo video (26s):