MUR
Continuous learning for AI assistants.
MUR captures patterns from your coding sessions and injects them back into your AI tools. Your assistant learns your conventions, remembers your fixes, and gets smarter over time — automatically.
Why MUR?
You're using Claude Code, Gemini CLI, maybe Cursor or Windsurf. But:
- Each session starts from scratch — the AI forgets your preferences
- Patterns you discover stay in your head (or get lost)
- Every AI tool is an isolated island with no shared memory
MUR fixes this.
Key Features
- 🧠 Continuous Learning — Extract patterns from AI sessions automatically with LLM-powered extraction
- 🔄 Universal Sync — Patterns sync to 10+ AI tools: Claude Code, Gemini CLI, Cursor, Windsurf, Codex, Aider, and more
- 🔍 Semantic Search — LanceDB vector search + BM25 hybrid ranking finds patterns by meaning
- 📈 Pattern Lifecycle — Draft → Emerging → Stable → Canonical with automatic promotion and decay
- ⚙️ Workflow Engine — Multi-step workflows separate from patterns, with variables and permissions
- 🌊 Emergence Detection — Cross-session behavior fingerprinting discovers recurring themes
- 🔗 Knowledge Intelligence — Pattern linking, co-occurrence tracking, composition suggestions
- 🔒 Local First — All data on your machine. YAML is source of truth.
Quick Example
# Install
brew tap mur-run/tap && brew install mur
# Initialize
mur init
# Create your first pattern
mur new
# Search patterns semantically
mur search "error handling"
# Sync to all your AI tools
mur sync
# Run pattern lifecycle (promotion/decay)
mur evolve
Supported Tools (16+)
🪝 Native Hooks (mur init --hooks)
| Tool | Hook Events | Config Path |
|---|---|---|
| Claude Code | UserPromptSubmit, PostToolUse, Stop | ~/.claude/settings.json |
| Auggie (Augment Code) | PreToolUse, PostToolUse, Stop | ~/.augment/settings.json |
| Gemini CLI / Antigravity | BeforeAgent, AfterTool, SessionEnd | ~/.gemini/settings.json |
| Copilot CLI (GitHub) | sessionStart, userPromptSubmitted, postToolUse, sessionEnd | ~/.github/hooks.json |
| OpenClaw | session.start, session.end | ~/.openclaw/config.json |
| Cursor | beforeSubmitPrompt, beforeShellExecution, stop | ~/.cursor/hooks.json |
| OpenCode | session.created, tool.execute.after, session.updated | ~/.config/opencode/plugins/mur-plugin.ts |
| Amp (Sourcegraph) | PreToolUse, PostToolUse, Stop | ~/.amp/hooks.json |
⚙️ Config-based (auto-configured)
| Tool | Integration | Config Path |
|---|---|---|
| Codex CLI (OpenAI) | developer_instructions | ~/.codex/config.toml |
| Aider | read directive loads context.md | ~/.aider.conf.yml |
📝 File-based Rules (prints setup hints)
| Tool | Rules File |
|---|---|
| Zed | .rules > .cursorrules > AGENTS.md |
| Junie (JetBrains) | .junie/guidelines.md |
| Trae (ByteDance) | .trae/rules/ |
| Cline / Roo | .clinerules / .roomodes |
| Windsurf | .windsurfrules |
| Amazon Q | .amazonq/rules/ |