Markbase vs. a markdown folder

Your markdown folder, hosted and conflict-free.

A notes/ folder or a CLAUDE.md is the right shape. It just stops working the moment you have more than one agent or more than one machine. Markbase keeps the shape — plain markdown, plain folders — and adds the parts you're about to need.

You're already doing the right thing

If you've got a CLAUDE.md, an _markbase.md, or a context/ folder of markdown notes committed to a repo, you've already worked out the most important thing: agents want plain text in a predictable place.

Markbase isn't telling you to abandon that. It is that — just hosted, and made safe for multiple writers.

Where the folder pattern breaks

One agent, one machine: it works great. Claude Code reads CLAUDE.md, writes CLAUDE.md, Git tracks the change, you commit. Life is good.

Two agents on the same machine: it gets fragile. Two parallel agents both read the file, both edit it, both write it. The second write silently replaces the first agent's work. You only notice when something downstream breaks.

Two machines, or any remote agent: it stops working. A folder on disk isn't reachable. You can sync it, but now you've put an eventually-consistent file-sync system in front of an agent that expects a read to reflect the last write. Races, conflicts, and the agent has no way to know.

A hosted agent (Claude.ai, an MCP-aware service): impossible. There's no path short of exposing your filesystem on the public internet. Nobody should do that.

Your CLAUDE.md, but inside the memory

The CLAUDE.md / _markbase.md pattern is the other half of what you've already worked out: agents do better when you tell them how to use the memory. "Decisions go here, in this shape. Bug postmortems go there. Don't write to this folder unprompted." That's the right instinct.

The trouble is that file lives outside the memory it governs. It's a sibling on disk, replicated into each harness config, drifting between repos as conventions evolve. Add a second repo or a remote agent and you're maintaining the same set of rules in several places.

Markbase makes that pattern a property of the memory store itself. Every folder in your workspace can carry an _markbase.md: what this folder is for, what the frontmatter contract is, what's append-only. Agents read the chain root-to-leaf before they act on a path. Same shape you're already using — now in one canonical place, traveling with the data it describes.

Structure where the same shape keeps recurring

A grep-able folder is great until you're maintaining the same shape of record across fifty files by hand. Every decision needs a status, a date, a one-line summary; every postmortem needs a severity and an owner. The shape lives in your head and drifts agent by agent.

Markbase lets that shape live in the folder. Drop a _schema.md beside the records and the folder becomes a typed collection: agents append records that conform, and they can query the collection by field — last ten accepted decisions, open postmortems by severity — without grepping. Same .md files underneath; the contract is just YAML frontmatter.

What you learned in one repo is useful in the next

A CLAUDE.md is written for the repo it lives in. The architecture you worked out, the decisions you made, the gotchas you wrote down — they're exactly the kind of evidence that would be useful the next time you build something similar. But they're stuck where they were written. The next project starts with an empty CLAUDE.md and a blank slate.

Markbase keeps each project's memory in its own workspace, but an agent isn't confined to one. Ask it to design a feature in your new project and tell it to draw on the architecture decisions from your old one — same conversation, no clone, no copy-paste. What you figured out once becomes input to what you're building next.

Git solves a different problem

Git solves human conflicts after the fact: you both edit, you both push, the second push fails, a human reconciles.

Agents need conflicts prevented at write time. They don't get to go stare at a merge conflict and figure it out. They need the server to say "the document changed since you read it; here's the new version, try again" — and to handle that in a single tool call.

That's what ETags are for. Markbase's update_doc takes an if_match ETag from your last read_doc. If anything else wrote in between, you get a clean etag_mismatch back with the new ETag, and the agent re-reads and retries. No silent loss.

Side by side

A markdown folder, leveled up.

Feature Local markdown folder Markbase
Format Markdown in folders Markdown in folders
Reach One machine Hosted, public MCP URL
Multiple agents Races silently ETag concurrency, no silent loss
Conventions CLAUDE.md in repo, replicated to every harness _markbase.md per folder, inside the memory store
Version history Git, if you commit Every write is a new version, automatic
Remote / mobile agents Not possible Native
Auth Filesystem permissions OAuth 2.1
Search across docs grep / ripgrep Full-text search, built in
Typed records Freeform .md files in a folder _schema.md per folder — typed records, queryable by field
Cross-project knowledge Stays in the repo it was written for Reusable across your projects in the same conversation
What you maintain The whole thing Nothing — fully hosted
Best for A solo agent on your machine More than one agent, or any remote agent
Same format on both sides — plain .md files in folders. No conversion, no lock-in: your files stay yours, and your repo can still hold a copy.

Invitation-only, for now

You're exactly who we want to talk to.

We're working closely with a small group of early teams to make sure Markbase is exactly the memory layer multi-agent systems deserve. If you're the person already curating a CLAUDE.md by hand, request an invite — we'd love to compare notes.