@folterung/project-memory
v0.1.22
Published
Local-first Project Memory: scoped indexing, embeddings, Cursor integration
Readme
Project Memory
Local-first project understanding for Cursor: scoped indexing, embeddings, and Cursor integration.
Quick start
Option A — Run tasks (easiest)
Open this repo in Cursor/VS Code, then Terminal → Run Task (or Cmd+Shift+B for default build task) and pick:
- Project Memory: Init — create
.mem/(config, state dir, docker-compose copy) and.memignore - Project Memory: Scaffold — Phase 1: start Qdrant, build index, start memory server (default build task)
Then register the MCP server in Cursor (or Claude Desktop) and use the agent with the Project Memory skill.
Using with Cursor MCP
Register the Project Memory MCP server in Cursor, Claude Desktop, or any MCP client. The agent can then call search_project_memory, explain_symbol, refresh_project_memory_index, and store_project_memory (store a summary or finding so future search can use it — incremental context from the agent). Ask the agent to refresh the index when the codebase changes so the vector DB stays up to date.
- Ensure the memory server is running (
mem scaffoldin the project). - Add the MCP server: In Cursor, add the server via MCP settings (e.g.
.cursor/mcp.jsonin the project) with a stdio config pointing atproject-memory-mcp. SetMEM_SERVER_URLif needed (defaulthttp://127.0.0.1:31415). If the project hasnode_modules/@folterung/project-memory, run the MCP from that package; otherwise useproject-memory-mcpon your PATH (e.g. afternpm install -g @folterung/project-memory). See docs/commands.md and Cursor’s MCP docs for the config format. - Logs: Tool calls and responses are written to
/tmp/project-memory-mcp.logon macOS/Linux, or%TEMP%\project-memory-mcp.logon Windows. Override withPROJECT_MEMORY_MCP_LOG_FILE. Every line is prefixed with[project: <name>](workspace dir name or PID) so multiple projects sharing the same file are distinguishable. Usetail -f /tmp/project-memory-mcp.logto watch.
Option B — npm scripts
From the repo root (run mem:init once for first-time setup):
npm install && npm run build
npm run mem:init
npm run mem:scaffoldOption C — CLI directly
- From this repo: run from the repo root; run
initfirst if you haven’t (e.g. via Option A or B), then scaffold:node packages/cli/bin/mem.js init node packages/cli/bin/mem.js scaffold - From another repo: after
npm install -g @folterung/project-memory, run in that repo:mem init mem scaffold
Requirements
- Node.js 18+
- Docker and Docker Compose (for Qdrant)
Documentation
| Topic | Doc | |-------|-----| | Architecture (diagram, pipeline, components) | docs/architecture.md | | Commands (tasks, scripts, CLI) | docs/commands.md | | Configuration (config.yml, .memignore, defaults) | docs/configuration.md | | Packages (CLI, server, MCP, skill) | docs/packages.md | | Cursor skill (use Project Memory in the agent) | docs/skill.md | | Testing (run tests, coverage) | docs/testing.md | | Development (build, run services) | docs/development.md | | Publishing (npm, use in other projects) | docs/publishing.md |
All docs live under docs/. The Cursor skill (packages/skill) tells the agent when and how to use Project Memory; see docs/skill.md to install it.
