Metadata-Version: 2.4
Name: project-memory
Version: 0.2.4
Summary: Project Memory: repo-scoped memory engine for AI agents
Project-URL: Homepage, https://github.com/jflamb/project-memory
Project-URL: Repository, https://github.com/jflamb/project-memory
Author: jflamb
License: MIT
Keywords: AI,mcp,memory,semantic search,sqlite
Requires-Python: >=3.10
Requires-Dist: httpx>=0.24
Requires-Dist: mcp>=1.12.4
Requires-Dist: pydantic>=2.0.0
Requires-Dist: sqlite-vec>=0.1
Requires-Dist: starlette>=0.52.0
Requires-Dist: typer>=0.10.0
Requires-Dist: uvicorn[standard]>=0.23.0
Provides-Extra: dev
Requires-Dist: pytest-anyio>=0.0.0; extra == 'dev'
Requires-Dist: pytest>=7.0; extra == 'dev'
Description-Content-Type: text/markdown

# Project Memory — Repo-Scoped Memory Engine

This project is a repo-scoped memory engine, including:
- CLI (`project-memory`) via Typer
- SQLite memory database under `.project-memory/`
- File ingestion plus typed memory for notes, learnings, tasks, and plans
- Immutable history snapshots for notes, learnings, tasks, and plans
- Keyword search across indexed files and typed memory
- MCP HTTP server over streamable HTTP
- GitHub Actions CI/release/publish workflows

## Quickstart

```bash
python -m pip install -e .
project-memory init
project-memory index
project-memory search "your query"
project-memory remember deploy "Run migrations before restart"
project-memory plan create branching "Use feature branches" --type protocol
project-memory serve-mcp
```

## Current behavior

- `project-memory index` indexes repository text files only. Reindexing cleans up stale file documents, but it does not delete notes, learnings, tasks, or plans.
- `project-memory search` is keyword-only today. Search results can include both indexed files and typed memory.
- `project-memory export` / `project-memory import` round-trip task and plan status, including archived plans.
- Typed memory writes create immutable history snapshots, and entries can be diffed or restored via `project-memory history ...`.
- Embedding configuration commands exist, but embedding-backed indexing and query-time hybrid search are not implemented yet.

## Commands

- `project-memory init` - initialize `.project-memory/project_memory.db`
- `project-memory index` - ingest repository text files into SQLite
- `project-memory search QUERY` - perform a keyword search across files and typed memory
- `project-memory remember KEY CONTENT` - store a note
- `project-memory learn KEY CONTENT` - store a learning
- `project-memory task ...` - manage tracked tasks
- `project-memory plan ...` - manage implementation plans and protocols
- `project-memory export` / `project-memory import` - round-trip memory through `MEMORY.md`
- `project-memory history ...` - list, inspect, diff, and restore typed memory revisions
- `project-memory serve-mcp` - run the MCP server at `http://127.0.0.1:8000/mcp/`

## Project structure

- `src/project_memory/` core implementation
- `.project-memory/` runtime storage
- `.github/workflows` CI/CD
