persistent memory infrastructure

Your agents forget.
Engram remembers.

A memory layer for AI coding agents. Persistent context that works across Cursor, Claude Code, Copilot, OpenCode, and every tool your team uses.

Context decay is real

Every AI coding agent starts every session from scratch. Your Cursor session doesn't know what Claude Code decided yesterday. Long sessions hit context limits and compact away critical decisions. Teams have no shared memory across tools.

$ session.context_used # 82% context consumed ! auto-compaction triggered ! 47 decisions lost ! 12 file operations forgotten   $ engram.restore ✓ ledger loaded: 47 decisions ✓ artifacts indexed: 12 files ✓ context: fully restored

How it works

One memory layer. Every tool. Zero context decay.

{}

Persistent Ledger

Every decision, file operation, and architectural choice is recorded in a structured ledger. Survives compaction, survives session boundaries, survives tool switches.

Q

Artifact Search

Full-text search across every artifact from every session. Find that one decision from three weeks ago in milliseconds. Indexed on write, searchable across plans.

Auto-Handoff

At 80% context usage, Engram automatically hands off to a fresh session with the full ledger intact. One continuous session that never degrades.

*

Cross-Tool Memory

Works with Cursor, Claude Code, Copilot, OpenCode, and any MCP-compatible agent. Your team shares one memory, regardless of which tool each developer prefers.

Works everywhere

One memory layer, every coding agent.

Cursor
Claude Code
GitHub Copilot
OpenCode
Windsurf
Cline

Get started in 60 seconds

Three ways to integrate. Pick the one that fits your workflow.

1 CLI (any tool)

Install the CLI and initialize in your project.

$ npm install -g engram-ai
$ cd your-project
$ engram init
# Creates .engram.json + Claude Code commands

$ engram sync    # Sync CLAUDE.md
$ engram recall  # Load context
$ engram push    # Save learnings

2 MCP Server (Claude Code)

Native tool access. Claude Code gets Engram tools automatically.

// .claude.json
{
  "mcpServers": {
    "engram": {
      "command": "npx",
      "args": ["-y", "engram-ai", "mcp"],
      "env": {
        "ENGRAM_PROJECT": "my-project"
      }
    }
  }
}

3 Slash Commands (Claude Code)

After engram init, three slash commands are installed in .claude/commands/:

/engram-recall  Load context from previous sessions — decisions, patterns, file changes
/engram-push    Save session learnings — what you decided, what changed, what you learned
/engram-sync    Sync CLAUDE.md to persistent memory — accessible from any tool

Ledger API

RESTful. Open. Build your own integrations.

POST /ledger/write
Write a single memory entry. Record decisions, file operations, architecture choices, patterns, or any context.
GET /ledger/query?q=...
Full-text search across all entries and artifacts. Ranked by relevance using PostgreSQL tsvector.
GET /ledger/recall?project=...
Smart context pull for session start. Combines recent entries + search results. The one endpoint you need.
POST /ledger/push-session
Batch push session learnings. Summary, decisions, file changes, patterns — all in one call at session end.
POST /ledger/sync
Bulk sync entries from CLAUDE.md or other config files. Replace-mode for clean updates.
GET /ledger/sessions
List distinct sessions with entry counts and time ranges. See your project's memory history.

The infrastructure layer for AI-powered development

AI coding agents are the future. But they need memory to be useful. Engram is the foundation that makes them actually work.