Metadata-Version: 2.4
Name: agent-logbook
Version: 0.1.0
Summary: Local SQLite long-term memory for AI assistants, served over MCP
Project-URL: Homepage, https://github.com/YOUR_ORG/agent-logbook
Project-URL: Repository, https://github.com/YOUR_ORG/agent-logbook
Author-email: Your Name <you@example.com>
License: MIT
License-File: LICENSE
Keywords: agent,context,mcp,memory,sqlite
Classifier: Development Status :: 3 - Alpha
Classifier: Intended Audience :: Developers
Classifier: License :: OSI Approved :: MIT License
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3.10
Classifier: Programming Language :: Python :: 3.11
Classifier: Programming Language :: Python :: 3.12
Classifier: Programming Language :: Python :: 3.13
Classifier: Topic :: Software Development :: Libraries :: Python Modules
Requires-Python: >=3.10
Requires-Dist: mcp>=1.2.0
Provides-Extra: dev
Requires-Dist: pytest>=8.0; extra == 'dev'
Description-Content-Type: text/markdown

# agent-logbook

Local SQLite long-term memory for AI assistants, served over MCP.
Context window = working memory. This database = long-term memory.

Every decision logged, nothing erased: agent-logbook writes distilled facts and
decisions to a plain SQLite file as your assistant works, ranks them by
relevance and salience so retrieval stays cheap no matter how old the project
gets, and keeps a full supersession chain when something changes — so you can
always ask "why did we think that before."

## Install

```bash
pip install agent-logbook
```

## Quickstart

Register the server with Claude Code (project scope, shared via `.mcp.json`):

```bash
claude mcp add --scope project --transport stdio memory -- \
    python -m agent_logbook.server --db .claude/logbook.db
```

Then paste `MEMORY_PROTOCOL.md` into your project's `CLAUDE.md`.

Docs: [IMPLEMENTATION_GUIDE.md](IMPLEMENTATION_GUIDE.md) (architecture + setup)
and [TESTING_GUIDE.md](TESTING_GUIDE.md) (3-layer test strategy).

## Development

```bash
pip install -e ".[dev]" && pytest
```
