engram
your team's AI memory, in one place

Your AI's memory, in one terminal.

Claude Code writes memories to disk, one folder per project. engram brings them into one fast TUI — and shares the best with your team over plain git.

brew install ertugrulhaskan/tap/engram

macOS, Linux · single binary · no servers, no signup

▌ engram (3)

[project]Bubble Tea model…
[feedback]Prefer concise commits
[project]Use lipgloss for styling

▌ payments-api (2)

[feedback]Never log full PANs
[reference]Stripe webhook secret…

[project] engram · edited yesterday

Bubble Tea model lives in internal/tui

All UI state is one model struct. It holds no file logic — mutations go through internal/memory.

type model struct {
    memories []memory.Memory
    cursor   int
}
/ filter · e edit · n new · g group · t type
// what engram is

Your AI already takes notes. engram is where you read them.

As you work, Claude Code quietly writes notes to itself — what a project does, how you like things, decisions you've made — as Markdown scattered under ~/.claude. You rarely open those files, they drift out of date, and there's no clean way to fix or share them. engram is the window: everything your AI remembers in one place — yours to correct, and to hand to your team.

Every memory, one place

One searchable two-pane TUI across all your projects. No more grepping ~/.claude by hand.

Share over plain git

Promote a memory; teammates pull it. No servers, no account — your git host is the auth.

Safe by default

Read-only until you act. engram only adds its own frontmatter — never rewrites Claude's — and scans for secrets before anything reaches your shared repo.

// the moat

Your memory, not their server.

Every assistant keeps a memory of how you work. The real question is where it lives — and whether you can read, move, and version it.

Claude Code + engramyour disk · plain Markdownyes — it's just files in git
GeminiGoogle account · serverno — vendor-locked
GrokxAI account · serverno — vendor-locked
CopilotGitHub account · serverno — vendor-locked

Claude Code is the outlier — it writes memory to ~/.claude as Markdown you own. engram adds the fast UI and the git layer, so your team's context stays portable and never trapped behind a login.

// what about Claude's own team memory?

Claude Code now syncs team memory too — through Anthropic's servers. engram does the same job through your git remote: the same memories, on infrastructure you already control. The answer for repos that can't leave your own walls.

// team sharing

Every memory is personal — until you promote it.

Promote asks one thing: who is this for? Your answer decides where the memory lives — and engram keys it all to your git remote, with no server in the middle.

default

Personal

Stays on your disk. Never synced, never leaves — no badge, just yours.

team · this project

Shared with this repo

Teammates who pull in their clone get it in their memory folder. Keyed to the git remote, so it travels with the code.

team · global

Shared team-wide

Tied to no repo. Lives in the team store for anyone to browse and pull into whichever project they choose.

engram keys sharing to your git remote — project memories follow the repo, global memories follow the team.

1 · onceengram init-team <git-url>
2 · in the TUIselect & promote — commit + push
3 · teammatepull — lands where Claude reads

sync-status badges — engram checks on launch and names where each shared memory stands

✓ syncedmatches the team copy
↓ incomingthe store advanced — safe to take
↑ aheadyour unshared edits — promote to share
↕ conflictboth moved — resolve in your editor
! missingpromoted, but not in the store
● differschanged, no anchor to name a direction

Personal memories carry no badge — they never leave your disk. A conflict opens both versions with git-style markers in your $EDITOR via >resolve.

// command palette

One palette, three prefixes: / @ >

ctrl+p opens it. Type / to jump around engram, @ to hand the work to Claude, or > to run team sharing.

ctrl+p type / commands · @ Claude · > team

/   jump around engram

/memorybrowse memories
/plansplan-mode plans
/filesCLAUDE.md · read-only
/settingstheme, editor

@   hand off to Claude

@Claudefix & edit memories

Launches an interactive Claude Code session in the right folder — run Claude's own /memory there. engram reloads when it exits.

>   team sharing

>promoteshare the selected memory
>pullfetch teammates' memories
>resolvemerge a conflict in $EDITOR
>withdrawtake a shared memory back
>initset up the team store
// roadmap

What's here, what's next.

available

Local browsing

Discover, search, edit, themes, plans, the @Claude assistant.

available

Team sharing over git

Promote, pull, resolve & withdraw, direction-aware badges, secret-scan on the way out.

next

Other assistants

Pluggable sources — ChatGPT, Gemini memory.

Stop grepping your memory files.

One binary. No servers. No signup — yours today, your team in one keystroke.

brew install ertugrulhaskan/tap/engram