Skip to main content
Version: 0.0.60

Memory System

Memories persist across sessions and auto-inject at session start. They let your AI assistant remember your preferences, patterns, and context without you having to repeat yourself.

How It Works

You: remember that I prefer vitest for testing
# Next session...
You: what testing framework should I use?
AI: Based on your preferences, you prefer vitest for testing.

Memory Categories

Memories are organized by category:

  • learning -- Things you've learned
  • decision -- Choices you've made
  • session -- Session-specific context
  • pattern -- Recurring patterns
  • gotcha -- Things to watch out for
  • discovery -- New findings
  • blocker -- Blockers encountered
  • issue -- Issues found
  • abandoned -- Approaches that were tried and abandoned (prevents repeating failed directions)

Memory Scoping

Tags control when and where memories are injected:

TagScopeBehavior
scope:globalAll projects, all sessionsInjected at every session start, across all projects
project:<name>Single projectInjected only when working in the named project
session:<id>Single sessionGroups memories from the same session

At session start, AIDE fetches:

  1. All memories tagged scope:global (cross-project preferences)
  2. All memories tagged project:<current-project> (project-specific context)
  3. Recent session groups (memories sharing a session:* tag)

Memories without scope tags are still searchable via memory_search but won't be auto-injected.

Auto-Injection

EventWhat Gets Injected
Session StartGlobal memories, project memories, project decisions, recent session summaries
Subagent SpawnGlobal memories, project memories, project decisions
Context CompactionState snapshot to preserve across summarization

Session Summaries

Session summaries are automatically captured when a session ends with meaningful activity (files modified, tools used, or git commits made).

CLI Commands

aide memory add --category=learning --tags=testing "Prefers vitest"
aide memory search "authentication"
aide memory list --category=learning
aide memory delete <id>
aide memory reindex # Rebuild search index
aide memory export --format=markdown # Export to markdown

Skills for Memory

SkillTriggerPurpose
/aide:memoriseremember I prefer vitestStore info for future sessions
/aide:recallwhat testing framework?Search memories and decisions
/aide:forgetforget the old auth decisionSoft-delete or hard-delete memories

Memory Scoring

When memories are injected at session start, they are ranked by a computed priority score. Higher-scoring memories are injected first, ensuring the most important context is always present within the injection limits.

The score is computed from four weighted components:

ComponentWeightDescription
Category50%Base importance by category (user prefs > abandoned > blockers > ...)
Recency25%Exponential decay with 30-day half-life
Provenance15%Boost for user-stated or verified memories
Access10%How frequently the memory is retrieved

For full details, see Memory Scoring.