Features
A scannable cheat sheet of what’s in the box. For the mental model behind these, see Concepts; for runtime UX inside a specific tool, see Supported Editors.
At a glance
- 7 MCP tools for the agent:
aide_recall,aide_remember,aide_update,aide_forget,aide_search,aide_memories,aide_import - 13 CLI commands for you:
init,recall,remember,update,forget,search,list,stats,recall-log,config,sync,migrate,cleanup - 6 hooks wired into the editor at init
- 4 typed memory layers with a personal/shared split for preferences
- Local-first storage (JSON files + SQLite cache, no cloud)
- Cross-editor (Claude Code + Cursor today)
- Free for individuals; potential team/pro tiers later
Capture
Six hooks fire automatically in your editor:
- SessionStart, injects top-N preferences + guidelines + priority-always memories
- PreToolUse, blocks first read of a file with un-recalled scoped memories until
aide_recallruns; soft-nudges thereafter; tunable per-mode - PostToolUse, records what was recalled so re-reads don’t re-prompt
- UserPromptSubmit, detects correction patterns and prompts the agent to call
aide_remember - Stop, periodic “anything worth remembering?” reflection on a tunable schedule (default ramps every 3 → every 5 → every 10 turns by session length)
- PreCompact, clears session tracking so post-compact reads re-prompt cleanly
Recall
- Glob scopes with inheritance:
src/auth/**covers everything under it; queryingsrc/matches sub-scoped memories - Layer priority:
area_context>technical>preferences>guidelines - Scope specificity: deeper scopes rank above broader scopes within a layer
- Layer diversity rebalance: when total results are small, under-represented layers swap up so each enabled layer is represented
- Bounded pagination:
recall.limit(default 20) caps per-call returns; remaining IDs nudge the agent to fetch the next batch recall.minScopeDepthdial: tune which scopes qualify for per-file recall vs SessionStart-only
Search
- FTS5 BM25 keyword search across
whatandwhyfields - LIKE fallback when FTS5 is unavailable
- Optional semantic supplement when fewer than 3 keyword hits are found, via:
- Local Transformers.js (
@huggingface/transformers, in optional dependencies) - Local Ollama server (
http://localhost:11434) - No extra setup if you don’t want semantic; keyword search works fine on its own
- Local Transformers.js (
Storage
- One JSON file per memory under
.aide/memories/<layer>/ .aide/memories/preferences/personal/is gitignored.aide/memories/preferences/shared/and the other three layers are committed to the repo- Local SQLite cache at
~/.aide/projects/<hash>/memory.db(WAL mode), rebuildable from the JSON files post-checkoutgit hook rebuilds the cache aftergit pullor branch switch
Sync
git add .aide/memories/then commit and push- Teammates
git pulland the post-checkout hook rebuilds their cache - Conflicts resolve by
updated_attimestamp; newer wins - No sync service, no auth, no daemon
Editor support today
- Claude Code: reference adapter, every feature works as designed.
aide-memory initwrites.claude/settings.json,.mcp.json,.claude/rules/aide-memory.md. Restart Claude Code after init so it picks up the new MCP server. - Cursor: full hook + MCP wiring.
aide-memory initwrites.cursor/hooks.json,.cursor/mcp.json, and a dynamically-regenerated.cursor/rules/aide-memory.mdc. Restart Cursor (Cmd+Q) and enable the aide-memory MCP server in Cursor → Settings → MCP, both required first time. - Codex / Copilot / Windsurf: rules template only at launch. Deeper integration may come based on user feedback.
See Supported Editors for the full per-editor table.
Configurable
- 7 hook controls (
hooks.read.maxBlocks,hooks.edit.maxBlocks,hooks.search.mode,hooks.correction.enabled,hooks.precompact.mode,hooks.stop.schedule,hooks.visible) - 4 recall controls (
recall.limit,recall.ensureLayerDiversity,recall.layerDiversityMinLimit,recall.minScopeDepth) - 7 SessionStart-injection controls (
injection.enabled,injection.preferences,injection.excludeScopedPreferences,injection.technical,injection.area_context,injection.guidelines,injection.priorityAlwaysOverride,injection.maxChars) - 3 memory-storage controls (
memories.hideFromGrep,memories.softening.threshold,memories.defaultShared) - Embeddings:
embeddings.backend(auto / transformers / ollama / none) andembeddings.model - Identity:
contributor(defaultautoreadsgit config user.name) - Tags:
tags.presetsarray - Updates:
updates.check(non-blocking npm version check)
Run aide-memory config <key> to read, aide-memory config <key> <value> to set, or edit .aide/config.json directly.
Privacy
- Code and memory content never leave your machine.
- Anonymized event counts ship to PostHog by default. Disable with
AIDE_TELEMETRY=off. - When opted in, only the event type, a SHA256-hashed
hostname:usernamefor deduplication, the platform, and the Node version are sent. No memory content, file paths, query strings, or any other user-identifying data.
Free / pricing
- aide-memory is proprietary freeware. Free to use today.
- Future enhancements may stay free; some may ship as paid team / pro tiers.
- The core memory engine stays free for solo developers.