Learn how to set up Mnemonic for your first project.
By the end of this tutorial, you will:
- Install and configure Mnemonic in a project
- Understand the directory structure
- Verify the installation
- Create your first memory
- Claude Code CLI installed
- Git initialized in your project
- Basic command-line familiarity
15 minutes
Mnemonic uses git remote to organize memories by organization and project.
# Check if remote exists
git remote -v
# Add remote if missing
git remote add origin https://github.com/your-org/your-project.git
# Verify
git remote get-url originExpected output:
https://github.com/your-org/your-project.git
# One-time setup: add plugin to settings
claude settings plugins add /path/to/mnemonic
# Verify plugin is loaded
claude settings plugins listExpected output:
Plugins:
- /path/to/mnemonic
Run the setup command to configure Mnemonic:
# Inside Claude Code session
/mnemonic:setupThis command will:
- Detect your current git remote to infer organization and project names
- Write global Mnemonic config to
~/.config/mnemonic/config.json - Create the unified memory store directory at the configured path (by default
~/.claude/mnemonic/{org}/{project}/) - Initialize the default ontology and index structures in that directory
What happens:
- Creates or updates
~/.config/mnemonic/config.jsonwith organization, project, and memory store path - Creates
~/.claude/mnemonic/{org}/{project}/if it does not already exist - Populates that project directory in the memory store with the default layout used by all Mnemonic commands
- Initializes git repository for versioning at memory store root
# Check memory store structure for this project
tree -L 3 ~/.claude/mnemonic/your-org/your-project/Expected structure:
~/.claude/mnemonic/
├── .git/
└── your-org/
└── your-project/
├── _semantic/
├── _episodic/
└── _procedural/
/mnemonic:statusExample output (will vary by project):
✓ Memory root: ~/.claude/mnemonic/
✓ Organization: your-org
✓ Project: your-project
✓ Git initialized
✓ Total memories: 0
Capture a decision about your project:
/mnemonic:capture _semantic/decisions "Use React for frontend" --tags frontend,architectureWhat happens:
- Generates UUID for memory
- Creates
.memory.mdfile with frontmatter - Opens editor for content
- Commits to git
Example memory file:
---
id: 550e8400-e29b-41d4-a716-446655440000
type: semantic
namespace: _semantic/decisions
created: 2026-02-16T17:00:00Z
modified: 2026-02-16T17:00:00Z
title: "Use React for frontend"
tags:
- frontend
- architecture
provenance:
source_type: conversation
agent: claude-opus-4
confidence: 0.95
---
# Use React for Frontend
We decided to use React for our frontend framework.
## Rationale
- Component-based architecture
- Large ecosystem
- Team familiarity# List all memories
/mnemonic:list
# Search for the memory
/mnemonic:search "React"
# Check git history
cd ~/.claude/mnemonic
git log --onelineExpected: Memory file appears in search results and git shows commit.
/mnemonic:recall --namespace _semantic/decisionsExpected: Your React decision memory is displayed.
- Git remote configured
- Plugin loaded
-
/mnemonic:statusshows no errors - Directory structure exists
- First memory created successfully
- Memory appears in search results
- Git shows memory commit
Solution: Add git remote in step 1.
Solution: Verify plugin path with claude settings plugins list.
Solution: Check directory permissions:
ls -la ~/.claude/
chmod 755 ~/.claude/mnemonicSee Troubleshooting Guide for more issues.
Now that you have Mnemonic set up, continue learning:
- CLI Usage - Learn all Mnemonic commands
- Ontologies Guide - Explore memory types and namespaces
- Architecture - Create a comprehensive project knowledge base
- ✓ How to install and configure Mnemonic
- ✓ Understanding the directory structure
- ✓ Creating and verifying memories
- ✓ Using basic Mnemonic commands
- Architecture - How Mnemonic works
- CLI Usage - Command-line operations
- MIF Specification - Memory Interchange Format standard