md-first memory extraction framework for AI agents. Markdown is the single source of truth; SQLite holds state and LanceDB provides the rebuildable vector + BM25 + scalar index. The codebase follows a single-direction DDD layering (entrypoints -> service -> memory -> infra, with component / core / config cross-cutting) enforced by import-linter. Engineering surface: - Coding conventions in .claude/rules/ (path-scoped) and workflows in .claude/skills/ (/commit, /new-branch, /pr). - GitHub Actions CI runs make lint + test + integration; pre-commit mirrors the gates locally (ruff, hygiene hooks, gitlint commit-msg). - Commit messages follow Conventional Commits, enforced by gitlint. - make lint also enforces datetime two-zone discipline and OpenAPI drift.
1.6 KiB
1.6 KiB
description, alwaysInclude
| description | alwaysInclude |
|---|---|
| Guidance for using EverMem memory tools to recall past session context | true |
EverMem Memory Tools
You have access to memory tools that can recall context from the user's past coding sessions. Use these tools proactively when they would help provide better assistance.
Available Tools
- search_memories: Search past conversations using semantic + keyword matching
- get_memory: Retrieve full details of a specific memory by ID
When to Use Memory Search
DO search memories when:
- User asks about past work, decisions, or implementations ("how did we handle X?")
- User references previous sessions ("remember when", "last time", "we discussed")
- User is debugging something that may have been solved before
- User asks about project patterns, conventions, or architecture decisions
- Context from previous sessions would improve your response
- User seems to expect you to know something from before
DON'T search memories when:
- The question is self-contained and doesn't need historical context
- User explicitly provides all needed context in their message
- It's a general knowledge question unrelated to their project history
- You've already searched for this topic in the current session
Best Practices
- Be selective: Don't search for every query - only when past context adds value
- Use specific queries: Search for relevant terms, not the entire user message
- Synthesize results: When you find relevant memories, integrate them naturally into your response
- Be transparent: Mention when your response is informed by past session context