Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up
Appearance settings

CLI Cheatsheet

Varun Pratap Bhardwaj edited this page May 24, 2026 · 2 revisions

CLI Cheatsheet

Quick reference for all SuperLocalMemory commands - Copy-paste ready commands organized by task for fast lookup.


Memory Operations

Remember (Save)

# Basic memory
slm remember "content"
# With tags
slm remember "content" --tags tag1,tag2,tag3
# With project
slm remember "content" --project myapp
# With importance (1-10)
slm remember "content" --importance 8
# All options combined
slm remember "Critical: Production requires approval" \
 --tags deployment,production \
 --project myapp \
 --importance 10

Parameters:

  • content - Text to remember (required)
  • --tags - Comma-separated tags (optional)
  • --project - Project name (optional, default: "default")
  • --importance - Priority 1-10 (optional, default: 5)

Recall (Search)

# Basic search
slm recall "query"
# Limit results
slm recall "query" --limit 5
# Minimum relevance score (0.0-1.0)
slm recall "query" --min-score 0.7
# Filter by tags
slm recall "query" --tags security,auth
# Filter by project
slm recall "query" --project myapp
# Combined filters
slm recall "authentication" \
 --limit 3 \
 --min-score 0.7 \
 --tags security \
 --project myapp

Parameters:

  • query - Search query (required)
  • --limit - Max results (optional, default: 10)
  • --min-score - Minimum relevance 0.0-1.0 (optional, default: 0.3)
  • --tags - Filter by tags (optional)
  • --project - Filter by project (optional)

List Recent

# List 10 most recent
slm list
# Custom limit
slm list --limit 20
# Filter by project
slm list --project myapp
# Filter by tags
slm list --tags important

Parameters:

  • --limit - Number to show (optional, default: 10)
  • --project - Filter by project (optional)
  • --tags - Filter by tags (optional)

Knowledge Graph

Build Graph

# Build or update graph
slm build-graph
# Force complete rebuild
slm build-graph --force
# With topic clustering (requires python-igraph, leidenalg)
slm build-graph --clustering
# Verbose output
slm build-graph --verbose
# Dry run (preview without saving)
slm build-graph --dry-run

When to run:

  • After bulk imports (50+ memories)
  • Monthly maintenance
  • When search quality degrades
  • After database restore

See Knowledge Graph Guide for details.

Graph Statistics

# View graph stats
slm status
# Detailed graph info
slm status --verbose

Profile Management

Switch Profiles

# List all profiles
slm switch-profile list
# Create new profile
slm switch-profile create work --description "Work projects"
# Switch to profile
slm switch-profile work
# Switch back to default
slm switch-profile default
# Delete profile (with confirmation)
slm switch-profile delete work --confirm

Use cases:

  • Separate work/personal memories
  • Client-specific knowledge bases
  • Project-specific contexts
  • Experimentation sandboxes

See Multi-Profile Workflows for best practices.


System Management

Status Check

# Basic status
slm status
# Verbose with all details
slm status --verbose
# JSON output (for scripts)
slm status --format json

Status includes:

  • Total memories count
  • Database size
  • Knowledge graph statistics
  • Pattern learning stats
  • Current active profile

Pattern Learning

# Update learned patterns
python3 ~/.claude-memory/pattern_learner.py update
# Get identity context
python3 ~/.claude-memory/pattern_learner.py context 0.5
# View all patterns
python3 ~/.claude-memory/pattern_learner.py list
# Reset patterns
python3 ~/.claude-memory/pattern_learner.py reset

See Pattern Learning Explained for details.


Advanced Operations

Database Management

# Check database integrity
sqlite3 ~/.claude-memory/memory.db "PRAGMA integrity_check;"
# Count total memories
sqlite3 ~/.claude-memory/memory.db "SELECT COUNT(*) FROM memories;"
# List all tags
sqlite3 ~/.claude-memory/memory.db "SELECT DISTINCT tag FROM memory_tags ORDER BY tag;"
# Vacuum database (optimize space)
sqlite3 ~/.claude-memory/memory.db "VACUUM;"
# Backup database
cp ~/.claude-memory/memory.db ~/.claude-memory/memory.db.backup

Export/Import

# Export all memories to JSON
sqlite3 ~/.claude-memory/memory.db \
 "SELECT json_group_array(json_object(
 'id', id,
 'content', content,
 'tags', tags,
 'project_name', project_name,
 'created_at', created_at
 )) FROM memories;" > memories.json
# Import from JSON (Python script)
python3 << 'EOF'
import json, sqlite3
conn = sqlite3.connect("/Users/$(whoami)/.claude-memory/memory.db")
with open('memories.json') as f:
 data = json.load(f)
 for mem in data:
 conn.execute(
 "INSERT INTO memories (content, tags, project_name) VALUES (?, ?, ?)",
 (mem['content'], mem['tags'], mem['project_name'])
 )
conn.commit()
EOF

Bulk Operations

# Bulk import from text file (one per line)
while IFS= read -r line; do
 slm remember "$line"
done < memories.txt
# Bulk import from CSV
while IFS=',' read -r content tags project importance; do
 slm remember "$content" \
 --tags "$tags" \
 --project "$project" \
 --importance "$importance"
done < memories.csv
# Bulk tag update (SQL)
sqlite3 ~/.claude-memory/memory.db \
 "UPDATE memories SET tags = tags || ',reviewed' WHERE created_at < date('now', '-30 days');"

Scripting & Automation

Daily Standup Helper

#!/bin/bash
# Save as: ~/bin/standup.sh
echo "Yesterday's Decisions:"
slm recall "decided" --limit 5
echo -e "\nCurrent Blockers:"
slm recall "blocked" --tags critical --limit 3
echo -e "\nRecent TODOs:"
slm recall "TODO" --limit 5

Git Post-Commit Hook

#!/bin/bash
# Save as: .git/hooks/post-commit
commit_msg=$(git log -1 --pretty=%B)
commit_hash=$(git log -1 --pretty=%H)
slm remember "Commit: $commit_msg (${commit_hash:0:7})" \
 --tags git,commit \
 --project "$(basename $(git rev-parse --show-toplevel))"

Weekly Graph Rebuild (Cron)

# Add to crontab (crontab -e)
# Every Sunday at 3 AM
0 3 * * 0 /usr/local/bin/slm build-graph --clustering >> /var/log/slm-build.log 2>&1

Context Injection for Aider

# Use aider-smart wrapper (auto-context injection)
aider-smart
# Or manually inject context
context=$(slm recall "current project" --limit 3 --min-score 0.7)
aider --message "Context: $context. Now help me with..."

Output Formatting

JSON Output

# Status as JSON
slm status --format json
# Search results as JSON
slm recall "query" --format json
# Parse with jq
slm recall "FastAPI" --format json | jq '.results[0].content'

CSV Output

# Export search results to CSV
slm recall "query" --format csv > results.csv
# Import into spreadsheet
# File β†’ Import β†’ CSV

Common Tasks

Setup New Project

# Create project profile
slm switch-profile create myproject
# Add initial context
slm remember "Tech stack: FastAPI, PostgreSQL, React" --project myproject
slm remember "Repository: github.com/me/myproject" --project myproject
slm remember "Team: @alice, @bob, @charlie" --project myproject
# Build initial graph
slm build-graph

Search by Time Range

# Last 7 days (SQL)
sqlite3 ~/.claude-memory/memory.db \
 "SELECT id, content, created_at FROM memories WHERE created_at >= date('now', '-7 days') ORDER BY created_at DESC;"
# Specific date range
sqlite3 ~/.claude-memory/memory.db \
 "SELECT id, content FROM memories WHERE created_at BETWEEN '2026-02-01' AND '2026-02-07';"

Find High-Importance Memories

# Importance >= 8
sqlite3 ~/.claude-memory/memory.db \
 "SELECT id, content, importance FROM memories WHERE importance >= 8 ORDER BY importance DESC;"

Archive Old Memories

# Export old memories (90+ days)
sqlite3 ~/.claude-memory/memory.db \
 "SELECT * FROM memories WHERE created_at < date('now', '-90 days');" > old_memories.sql
# Delete old memories (with backup first!)
cp ~/.claude-memory/memory.db ~/.claude-memory/memory.db.backup
sqlite3 ~/.claude-memory/memory.db \
 "DELETE FROM memories WHERE created_at < date('now', '-90 days');"
# Rebuild graph
slm build-graph --force

Troubleshooting Commands

Check Installation

# Verify files exist
ls -la ~/.claude-memory/
ls -la ~/.claude-memory/memory.db
# Check slm command
which slm
# Test database
sqlite3 ~/.claude-memory/memory.db "SELECT COUNT(*) FROM memories;"

Fix Permissions

# Fix directory permissions
chmod 755 ~/.claude-memory/
# Fix database permissions
chmod 644 ~/.claude-memory/memory.db
# Fix script permissions
chmod +x ~/.claude-memory/*.py

Database Repair

# Check integrity
sqlite3 ~/.claude-memory/memory.db "PRAGMA integrity_check;"
# Rebuild indexes
sqlite3 ~/.claude-memory/memory.db "REINDEX;"
# Vacuum
sqlite3 ~/.claude-memory/memory.db "VACUUM;"

Reset Everything

# Backup first!
cp -r ~/.claude-memory/ ~/.claude-memory.backup/
# Soft reset (clear memories, keep structure)
rm ~/.claude-memory/memory.db
cd ~/path/to/superlocalmemory
./install.sh
# Hard reset (complete removal)
rm -rf ~/.claude-memory/
cd ~/path/to/superlocalmemory
./install.sh

Quick Reference Table

Task Command Notes
Save memory slm remember "text" Basic save
Search slm recall "query" Multi-method search
List recent slm list Last 10 by default
System status slm status Health check
Build graph slm build-graph Improve search
Switch profile slm switch-profile <name> Change context
View patterns python3 ~/.claude-memory/pattern_learner.py list Learned preferences
Database backup cp ~/.claude-memory/memory.db backup.db Safety first
Check integrity sqlite3 ~/.claude-memory/memory.db "PRAGMA integrity_check;" Verify DB
Count memories sqlite3 ~/.claude-memory/memory.db "SELECT COUNT(*) FROM memories;" Total count

Related Pages


Created by Varun Pratap Bhardwaj Solution Architect β€’ SuperLocalMemory

GitHub β€’ Issues β€’ Wiki

Clone this wiki locally

AltStyle γ«γ‚ˆγ£γ¦ε€‰ζ›γ•γ‚ŒγŸγƒšγƒΌγ‚Έ (->γ‚ͺγƒͺγ‚ΈγƒŠγƒ«) /