Skip to content

Projects

Filipe Soares edited this page Oct 3, 2026 · 1 revision

Projects

A project is one whole memory: its own memories, domains, relations, diagrams and settings, in one SQLite file. Keep a single project for everything, or one per codebase and switch between them.

file project
MEMAI_HOME/memai.db General, the one every install starts with
MEMAI_HOME/projects/<name>.db every other project
MEMAI_HOME/active one line naming the active project; absent means General

Switching

The switch is in the dashboard's top bar. Every MCP server, hook and dashboard on the machine opens the active project on its next call — nothing to restart.

Important

The active project is machine-wide. Switching it in the dashboard switches it for every open session. Each write's result and every pulse() name the project they touched, so an agent can tell where its memory landed.

list_projects() lists them all and says which one is active. Any name that works as a Windows file name works as a project name, and two names that differ only in case are the same project.

Moving memories between projects

from how
the dashboard select memories in Memories, or a whole domain in Domains, then Send to another project
an agent move_to_project(target, uids=… or domain=…, dry_run=True) — dry run first, then dry_run=False
a terminal memai-store move --to <project> --domain acme/search

A move copies each memory with its edit history into the target, checks it there, and only then removes the original — after a backup of the source. Anything the copy cannot carry, like a relation to a memory outside the selection, is reported before anything moves.

Clone this wiki locally