loading…
Search for a command to run...
loading…
Persistent intelligence infrastructure for agentic development that gives AI coding assistants cumulative memory and pattern learning. Hybrid TypeScript/Rust im
Persistent intelligence infrastructure for agentic development that gives AI coding assistants cumulative memory and pattern learning. Hybrid TypeScript/Rust implementation with local-first storage using SQLite + SurrealDB for semantic analysis and incremental codebase understanding.
npm version npm downloads License: MIT Discord
Giving AI coding assistants a memory that actually persists.
Watch In Memoria in action: learning a codebase, providing instant context, and routing features to files.
You know the drill. You fire up Claude, Copilot, or Cursor to help with your codebase. You explain your architecture. You describe your patterns. You outline your conventions. The AI gets it, helps you out, and everything's great.
Then you close the window.
Next session? Complete amnesia. You're explaining the same architectural decisions again. The same naming conventions. The same "no, we don't use classes here, we use functional composition" for the fifteenth time.
Every AI coding session starts from scratch.
This isn't just annoying, it's inefficient. These tools re-analyze your codebase on every interaction, burning tokens and time. They give generic suggestions that don't match your style. They have no memory of what worked last time, what you rejected, or why.
In Memoria is an MCP server that learns from your actual codebase and remembers across sessions. It builds persistent intelligence about your code (patterns, architecture, conventions, decisions) that AI assistants can query through the Model Context Protocol.
Think of it as giving your AI pair programmer a notepad that doesn't get wiped clean every time you restart the session.
Current version: 0.6.0 - See what's changed
# First time: Learn your codebase
npx in-memoria learn ./my-project
# Start the MCP server
npx in-memoria server
# Now in Claude/Copilot:
You: "Add password reset functionality"
AI: *queries In Memoria*
"Based on your auth patterns in src/auth/login.ts, I'll use your
established JWT middleware pattern and follow your Result<T>
error handling convention..."
# Next session (days later):
You: "Where did we put the password reset code?"
AI: *queries In Memoria*
"In src/auth/password-reset.ts, following the pattern we
established in our last session..."
No re-explaining. No generic suggestions. Just continuous, context-aware assistance.
# Install globally
npm install -g in-memoria
# Or use directly with npx
npx in-memoria --help
Claude Desktop - Add to your config (~/Library/Application Support/Claude/claude_desktop_config.json):
{
"mcpServers": {
"in-memoria": {
"command": "npx",
"args": ["in-memoria", "server"]
}
}
}
Claude Code CLI:
claude mcp add in-memoria -- npx in-memoria server
GitHub Copilot - See Copilot Integration section below
# Analyze and learn from your project
npx in-memoria learn ./my-project
# Or let AI agents trigger learning automatically
# (Just start the server and let auto_learn_if_needed handle it)
npx in-memoria server
In Memoria is built on Rust + TypeScript, using the Model Context Protocol to connect AI tools to persistent codebase intelligence.
┌─────────────────────┐ MCP ┌──────────────────────┐ napi-rs ┌─────────────────────┐
│ AI Tool (Claude) │◄──────────►│ TypeScript Server │◄─────────────►│ Rust Core │
└─────────────────────┘ └──────────┬───────────┘ │ • AST Parser │
│ │ • Pattern Learner │
│ │ • Semantic Engine │
▼ │ • Blueprint System │
┌──────────────────────┐ └─────────────────────┘
│ SQLite (persistent) │
│ SurrealDB (in-mem) │
└──────────────────────┘
Rust Layer - Fast, native processing:
TypeScript Layer - MCP server and orchestration:
Storage - Local-first:
This isn't just another RAG system or static rules engine:
src/auth/login.tsWe recently completed Phases 1-4 of the implementation roadmap:
Instant project context without full learning. Ask about a codebase and get tech stack, entry points, key directories, and architecture all in under 200 tokens.
AI agents can now track work sessions, maintain task lists, and record architectural decisions. Resume work exactly where you left off.
Feature-to-file mapping across 10 categories (auth, API, database, UI, etc.). Vague requests like "add password reset" get routed to specific files automatically.
No more janky console spam. Progress bars update in-place with consistent 500ms refresh rates.
In Memoria provides 13 specialized tools that AI assistants can call via MCP. They're organized into 4 categories (down from 16 after Phase 4 consolidation merged redundant tools):
analyze_codebase - Analyze files/directories with concepts, patterns, complexity (Phase 4: now handles both files and directories)search_codebase - Multi-mode search (semantic/text/pattern)learn_codebase_intelligence - Deep learning to extract patterns and architectureget_project_blueprint - Instant project context with tech stack and entry points ⭐ (Phase 4: includes learning status)get_semantic_insights - Query learned concepts and relationshipsget_pattern_recommendations - Get patterns with related files for consistencypredict_coding_approach - Implementation guidance with file routing ⭐get_developer_profile - Access coding style and work contextcontribute_insights - Record architectural decisionsauto_learn_if_needed - Smart auto-learning with staleness detection ⭐ (Phase 4: includes quick setup functionality)get_system_status - Health checkget_intelligence_metrics - Analytics on learned patternsget_performance_status - Performance diagnosticsPhase 4 Consolidation: Three tools were merged into existing tools for better AX (agent experience haha):
analyze_codebaseget_project_blueprintauto_learn_if_neededFor AI agents: See AGENT.md for complete tool reference with usage patterns and decision trees.
In Memoria works with GitHub Copilot through custom instructions and chat modes.
This repository includes:
.github/copilot-instructions.md - Automatic guidance for Copilot.github/chatmodes/ - Three specialized chat modes:In Memoria integrates with GitHub Copilot Chat using MCP + Custom Agents (formerly called Chat Modes). These agents allow Copilot to query In Memoria’s persistent intelligence when working in Agent mode.
⚠️ Important: Copilot will only call MCP tools when the chat is in Agent mode (not Ask or Edit).
Create or edit the following file in your workspace:
.vscode/mcp.json
{
"servers": {
"in-memoria": {
"command": "npx",
"args": ["in-memoria", "server"]
}
}
}
Open this file in VS Code and click Start when prompted, or start it manually.
This repository includes:
.github/copilot-instructions.mdVS Code automatically loads this file and applies guidance to Copilot Chat. No additional setup is required.
This repository provides three Custom Agents for Copilot:
| Agent | Purpose |
|---|---|
| 🔍 inmemoria-explorer | Intelligent codebase navigation |
| 🚀 inmemoria-feature | Feature implementation using learned patterns |
| 🔎 inmemoria-review | Consistency & pattern-based code review |
⚠️ VS Code has renamed Chat Modes → Custom Agents
To ensure compatibility with current VS Code versions:
Create the folder:
.github/agents/
Move or copy files from:
.github/chatmodes/
into:
.github/agents/
Rename each file:
*.chatmode.md → *.agent.md
Example:
inmemoria-feature.chatmode.md → inmemoria-feature.agent.md
If agents do not appear:
.github/agents/Where is the authentication logic?
→ Copilot queries In Memoria’s semantic index
Add password reset functionality
→ Copilot retrieves:
Review this code for consistency
→ Copilot compares against learned conventions
.github/chatmodes/ only| Old Name | Current Name |
|---|---|
| Chat Modes | Custom Agents |
Chat: Configure Chat Modes… |
Chat: Configure Custom Agents |
.github/chatmodes/ |
.github/agents/ |
VS Code still recognizes legacy files, but .github/agents/*.agent.md is the recommended format going forward.
Native AST parsing via tree-sitter for:
Build artifacts (node_modules/, dist/, .next/, etc.) are automatically filtered out.
Let's be honest: In Memoria is early-stage software. It works, but it's not perfect.
This is open-source infrastructure for AI-assisted development. Currently a solo project by @pi22by7, but contributions are not just welcome, they're essential.
Before contributing code, please:
Ways to contribute:
See CONTRIBUTING.md for development setup and guidelines.
vs GitHub Copilot's memory:
vs Cursor's rules:
vs Custom RAG:
In Memoria works for both individual developers and teams:
Individual:
Team:
.in-memoria.db files to distribute learned patternsgit clone https://github.com/pi22by7/in-memoria
cd in-memoria
npm install
npm run build
Requirements:
Development:
npm run dev # Start in development mode
npm test # Run test suite (98.3% pass rate)
npm run build:rust # Build Rust components
Quality metrics:
Q: Does this replace my AI coding assistant? A: No, it enhances them. In Memoria provides the memory and context that tools like Claude, Copilot, and Cursor can use to give better suggestions.
Q: What data is collected? A: Everything stays local. No telemetry, no phone-home. Your code never leaves your machine. All embeddings are generated locally using transformers.js models.
Q: How accurate is pattern learning? A: It improves with codebase size and consistency. Projects with established patterns see better results than small or inconsistent codebases. The system learns from frequency and repetition.
Q: What's the performance impact? A: Minimal. Initial learning takes time (proportional to codebase size), but subsequent queries are fast. File watching enables incremental updates. Smart filtering skips build artifacts automatically.
Q: What if analysis fails or produces weird results? A: Open an issue with details. Built-in timeouts and circuit breakers handle most edge cases, but real-world codebases are messy and we need your feedback to improve.
Q: Can I use this in production? A: You can, but remember this is v0.5.x. Expect rough edges. Test thoroughly. Report issues. We're working toward stability but aren't there yet.
Q: Why Rust + TypeScript? A: Rust for performance-critical AST parsing and pattern analysis. TypeScript for MCP server and orchestration. Best of both worlds: fast core, flexible integration layer.
Q: What about other AI tools (not Claude/Copilot)? A: Any tool supporting MCP can use In Memoria. We've tested with Claude Desktop, Claude Code, and GitHub Copilot. Others should work but may need configuration.
We're following a phased approach:
See GitHub Projects for detailed tracking.
Project maintained by: @pi22by7
Before contributing: Please discuss your ideas on Discord, via email, or in an issue before starting work on significant features. This helps ensure alignment with project direction and avoids duplicate efforts.
MIT - see LICENSE
Built with ❤️ by @pi22by7 for the AI-assisted development community.
Try it: npx in-memoria server
Latest release: v0.6.0 - Smooth progress tracking and Phase 1-4 complete
In memoria: in memory. Because your AI assistant should remember.
Questions? Ideas? Join us on Discord or reach out at [email protected]
Добавь это в claude_desktop_config.json и перезапусти Claude Desktop.
{
"mcpServers": {
"pi22by7-in-memoria": {
"command": "npx",
"args": []
}
}
}