Interactive command-line interface for managing your memory store.
Prefer a GUI? Use the Memory agent in VS Code for natural language interaction with GitHub Copilot.
npm run devYou'll see:
Loaded 0 memories
Type "help" for available commands, "exit" to quit.
memory>
Memories are automatically indexed with extracted keywords for better search.
# Basic usage
add I prefer TypeScript over JavaScript for large projects
# With tags for organization
add --tags preference,language I prefer TypeScript over JavaScript
# Multi-word with quotes
add --tags architecture,decision "We chose PostgreSQL for ACID compliance"Returns prettified markdown output by default.
# Basic search
search typescript
# Limit results
search database --limit 5
# Multi-word query
search "error handling patterns"
# Raw output (compact, for scripting)
search typescript --rawScoring: Results ranked by keyword matches (5pts) + tag matches (8pts) + extracted keyword matches (6pts) + recency bonus (0-5pts)
The key feature for context injection into LLMs.
# Basic compression (deterministic, no LLM needed)
compress --query "react patterns"
# With character budget
compress --query "authentication" --budget 800
# Limit memories considered
compress --query "database" --budget 1200 --limit 10
# LLM-assisted compression (requires DEEPSEEK_API_KEY)
compress --query "project decisions" --budget 1000 --llm# Delete by ID (creates tombstone, recoverable)
delete m_20241213T150000000Z_abc123# By exact ID
purge --id m_20241213T150000000Z_abc123
# By tag (deletes ALL with this tag)
purge --tag temporary
# By substring match
purge --match "test data"
# Preview what would be deleted
purge --match "test" --dry-run# Outputs raw JSON (including tombstoned items)
exportstats
# Output:
# total=42 active=40 deleted=2
# top tags:
# - preference: 12
# - architecture: 8
# - pattern: 6helpexit
# or
quitadd --tags pref I like X # Bad - inconsistent
add --tags preference I like X # Good - consistent# Bad - too broad
add We use React, TypeScript, Jest, PostgreSQL, and Docker
# Good - atomic, searchable individually
add --tags stack,frontend We use React 18 with TypeScript
add --tags stack,testing Jest for unit tests
add --tags stack,database PostgreSQL as primary database# Bad - vague
add Don't do that thing with the stuff
# Good - searchable
add --tags antipattern,react Avoid prop drilling - use Context or Zustand# Small context window
compress --query "react" --budget 400
# Larger context available
compress --query "react" --budget 2000
# Let LLM prioritize what's important
compress --query "react" --budget 600 --llmpreference- Personal coding preferencespattern- Design patterns to followantipattern- Things to avoidarchitecture- System design decisionsdecision- ADRs and rationalestack- Technology choicesconvention- Team conventions