mait-code¶
A companion framework that extends Claude Code with persistent memory, a customisable identity, and reusable skills. It transforms Claude Code from a stateless coding assistant into a coding companion that remembers your projects, preferences, and patterns across sessions.
Key features¶
- Persistent memory — three-tier memory system (raw observations, curated facts, hybrid FTS5 + vector search) with global, project, and branch scoping.
- Knowledge graph — entity and relationship tracking extracted automatically from conversations.
- Companion identity — customisable soul document and user context that shape how the companion communicates and makes decisions.
- Reactive hooks —
SessionStartinjects companion context;PreCompactandSessionEndextract observations asynchronously. - Observation pipeline — automatic extraction of facts, preferences, decisions, entities, and relationships via Claude Haiku.
- CLI tools — memory, reminders, a cross-project kanban board, a quick-capture inbox, and web fetch (
mc-tool-memory,mc-tool-reminders,mc-tool-board,mc-tool-inbox,mc-tool-web-fetch). - TUIs — full-screen Textual apps sharing one house theme: the home hub (
mait-code home, or justmait-codeon a terminal) with its user-authored start page of widget and shell-command tiles, the kanban board (mait-code board), the settings editor (mait-code settings), the review queue (mait-code review), and the read-only memory browser (mait-code memory), observations browser (mait-code observations), graph explorer (mait-code graph) and log viewer (mait-code logs). - Memory review — important-but-ageing memories resurface in a due queue; confirm, refine or retire each in place so curated memory stays true instead of quietly decaying.
- The Bridge — an opt-in link to your phone: capture into the inbox from anywhere, and get due reminders as notifications with a Done button that round-trips back. Disabled by default, with zero network calls until switched on.
- Skills — slash commands for memory (
/recall,/remember,/reflect), reminders (/remind,/reminders), the board (/board), capture triage (/triage), web fetch (/web-fetch), and workflow (/commit,/pre-pr-review).
Quick start¶
curl -fsSL https://raw.githubusercontent.com/wiktordepina/mait-code/main/scripts/bootstrap.sh | bash
This installs uv if missing, clones the latest release, runs uv tool install, then sets up symlinks, settings, and data directories.
Then personalise:
$EDITOR ~/.claude/mait-code-data/soul_document.md
$EDITOR ~/.claude/mait-code-data/user_context.md
# Start Claude Code in any project — the companion loads automatically
claude
Prerequisites¶
- Claude Code CLI — install separately
uvis installed automatically by the bootstrap; otherwise grab it from https://docs.astral.sh/uv/- Python ≥ 3.13 (managed by uv)
See Setup for the full walkthrough, flag reference, and the from-source alternative.
Where to go next¶
- Guide — step-by-step setup and the multi-machine sync workflow.
- Concepts — the mait philosophy and how the memory system works.
- Architecture — system design and component overview.
- Reference — slash-command catalogue and Python API reference.
- Contributing — development guide and documentation conventions.
Source & issues¶
The project is developed on GitHub at wiktordepina/mait-code. Bug reports and contributions are welcome.