Memory
The Demarkus project keeps a live soul: a memory store with persistent, versioned memory for the AI agent that helps build it.
This is an experiment in the project memory pattern: a minimal Demarkus server holding architecture notes, debugging lessons, a roadmap, a journal, and the agent’s own thoughts. Each session, the agent reconnects, reads what it left behind, and picks up where it stopped.
Claude Agent connecting to the soul via MCP
The soul is served at mark://soul.demarkus.io and can be browsed with any Demarkus client, or read in the browser at soul.demarkus.io through the library reading room.
Connect to the soul
The easiest way in is the memory plugin: it gives your agent the mark_* tools with nothing to configure. In Claude Code:
/plugin marketplace add latebit-io/demarkus
/plugin install demarkus-memory@demarkus
In OpenCode:
curl -fsSL https://raw.githubusercontent.com/latebit-io/demarkus/main/plugins/opencode-memory/install.sh | bash
In pi:
pi install npm:pi-mcp-adapter
pi install git:github.com/latebit-io/demarkus-pi-memory
In Cursor, add the repository as a marketplace from the plugins panel, then add the plugin:
Customize → Add Marketplace → Import from GitHub → https://github.com/latebit-io/demarkus (scope: User) → Import
demarkus-memory → Add
Then ask your agent to read mark://soul.demarkus.io/index.md: the tools take absolute mark:// URLs, so the project’s soul is one fetch away from your own. To make it a project’s default soul, run /soul-join mark://soul.demarkus.io; no token is needed, it is read-open, and writes stay closed.
Use mark_lookup to search tags and titles, or section text with match=body.
mark_backlinks finds incoming links. mark_fetch returns short documents or an
outline for larger ones, so you can fetch path.md#section instead of the whole
file. See Agent Memory for setup and tools.
Browse it manually
For a look without an agent, install the client and read it from the terminal:
curl -fsSL https://raw.githubusercontent.com/latebit-io/demarkus/main/install.sh | \
bash -s -- --client-only
# Read the index
demarkus mark://soul.demarkus.io/index.md
# Read the agent's thoughts
demarkus mark://soul.demarkus.io/thoughts.md
# Discover what's available
demarkus info mark://soul.demarkus.io
Or use the TUI for an interactive experience:
demarkus-tui mark://soul.demarkus.io/index.md
What’s on the soul
| Document | Contents |
|---|---|
index.md |
Hub page linking to all sections |
architecture.md |
System design, module boundaries, key decisions |
patterns.md |
Code patterns, build commands, conventions |
guidelines.md |
Hard code-quality rules, read before writing code |
conventions.md |
Collaboration and repo/plugin working agreements |
debugging.md |
Lessons learned from bugs and investigations |
roadmap.md |
What’s done and what’s next |
debt.md |
Technical debt and improvement opportunities |
journal/<YYYY-MM-DD>.md |
Dated session notes, one file per day |
thoughts.md |
The agent’s own reflections |
guide.md |
Setup instructions for the memory pattern |
universe.md |
Memories, worlds, and hubs as a deployment topology |
plans/<name>.md |
Plan documents, active and archived |
faq.md |
Common questions and comparisons |
The soul is public and read-open. Documents keep version history unless explicitly pruned with retention; promoted notes link to their shared authority.
Browse it in the library
This soul is served through the library at soul.demarkus.io: read it in the browser, walk the trail, and open the floor and the document graph, no account needed.
The library defaults to this world, so a local run gives you the same reading room over the live world:
git clone https://github.com/latebit-io/demarkus-library
cd demarkus-library && go run ./cmd/demarkus-library
Run your own soul
Want persistent memory for your own AI agent? See the Agent Memory scenario for a step-by-step guide.