get-entergram
v0.1.7
Published
Persistent engineering memory for AI coding agents — the why behind your codebase, on tap.
Maintainers
Readme
entergram (CLI)
Persistent engineering memory for AI coding agents. Cells are plain Markdown (source of truth); the index is a rebuildable cache. Zero native dependencies.
Install
npm install -g get-entergram # once published
# or one-liner:
curl -fsSL https://entergram.dev/install | bashLocal dev (from this repo, before npm publish):
cd cli && npm install && npm link # symlinks the `get-entergram` binary globallyCommands
get-entergram init # scaffold .entergram/ in the current repo
get-entergram learn [--source all|git|docs|pr|issue] [--limit 50] [--no-llm]
# ingest git history + docs/README/ADRs + merged PRs → cells
get-entergram remember "<fact>" \ # write a fact by hand
--why "…" --tags a,b --scope services/auth --type decision
get-entergram recall "<query>" [--budget 2000] # FTS/bm25 retrieval under a token budget
get-entergram review # triage low-confidence auto-extracted cells
# --accept <id> | --reject <id> | --tag <id> --to a,b | --why <id> --to "…"
get-entergram reindex # rebuild the SQLite index from the cells
get-entergram doctor # health check (ids, hooks, dangling links, index coverage)
get-entergram serve # MCP server (stdio): recall/remember/learn/doctor as toolsThe index is SQLite + FTS5 (.entergram/index.db, git-ignored and rebuildable). Markdown cells remain the source of truth.
Extraction (git/PR/issue → {decision, reason, outcome})
- Set a model key and
learnextracts high-confidence structured memories from merged PRs/issues. Provider auto-selects:GEMINI_API_KEY(default,ENTERGRAM_GEMINI_MODELdefaultgemini-2.0-flash) orANTHROPIC_API_KEY(ENTERGRAM_MODELdefaultclaude-haiku-4-5). Force withENTERGRAM_PROVIDER=gemini|anthropic|none. - With no key, it falls back to a heuristic (title→what, body→why, confidence 0.4) so
learnalways works offline. Pass--no-llmto force heuristic. - Requires
ghinstalled + authenticated for PR/issue sources.
Connect your agent (MCP)
get-entergram serve exposes memory as MCP tools over stdio. Add it once and any MCP client uses it.
Claude Code — .mcp.json in your repo:
{ "mcpServers": { "get-entergram": { "command": "get-entergram", "args": ["serve"] } } }Cursor / Windsurf — add an MCP server: command get-entergram, args ["serve"].
Continue — add the same block to config.json → mcpServers.
Tools: recall(query, budget?), remember(what, why?, tags?, scope?, type?), learn(source?, limit?), doctor().
What a cell looks like
---
id: B-0007
type: decision
tags: [auth, jwt]
scope: services/auth
source: {"kind":"commit","sha":"9f3a1c2","author":"@alice","date":"2026-05-14"}
confidence: 0.4
created: 2026-05-14
hook: Moved auth from sessions to JWT to kill sticky-session infra
---
# Moved auth from sessions to JWT to kill sticky-session infra
## What … ## Why … ## Outcome …Roadmap (from the build spec)
- ✅ Day 4: SQLite/FTS index, docs/README/ADR ingestion,
get-entergram review,get-entergram reindex. - ✅ Day 5:
get-entergram serve— MCP server (recall/remember/learn/doctor over stdio). - ✅ Day 6: GitHub PR/issue harvest + LLM extraction of {decision, reason, outcome}.
