MemoryCustodian
Repository-native project memory for coding agents, stored in Markdown and routed as bounded context packages by manifest rules.
About MemoryCustodian
MemoryCustodian is a repository-native project memory tool for coding agents. It helps agents remember architecture decisions, constraints, rejected approaches, and project context across sessions, agents, and teams. It stores memory as plain Markdown files in the code repository and routes bounded context packages using manifest rules, task categories, and explicit scope, without semantic guessing or LLM ranking. The project uses only the Python standard library, has zero third-party runtime dependencies, runs fully offline, and needs neither RAG nor a vector database; memory constrains project conventions only and does not override system instructions or security boundaries. The project is open source under the MIT license.
Best for
Best use cases
Give agents the project's architecture decisions, constraints, and current shape at the start of a new session
Record decisions, constraints, and rejected approaches as Markdown memory in the repository
Route a bounded context package for the current task by task category and explicit scope
Generate guidance files for Codex, Claude, and Gemini agents to connect to project memory
Features
Repository-native memory
Stores decisions, constraints, rejected approaches, and project context as plain Markdown in the code repository.
Bounded context-package routing
Routes bounded context packages using manifest rules, task categories, and explicit scope, without semantic guessing or LLM ranking.
Multi-agent guidance files
Generates guidance files for agents to read with --agent codex, --agent claude, --agent gemini, or --agent all.
Lightweight offline design
Implemented only with the Python standard library, with zero third-party runtime dependencies and full offline operation, without RAG or a vector database.
Pros
- Uses only the Python standard library, with zero third-party runtime dependencies and full offline operation
- Uses deterministic manifest routing, with no RAG or vector database required
- Stores memory as plain Markdown in your own code repository
- Memory constrains project conventions only; it does not override system instructions or security boundaries