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 demarkus-memory via MCP

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.