Google Docs for markdown

Sync your notes.
Send in your agents.

Your docs mirror to disk as plain .md files. You write in any editor, collaborators type live in the browser, and AI agents push changes under their own identity — as reviewable suggestions if you want. Every edit merges through a CRDT. Nothing clobbers.

Continue with GitHubnpm i -g glyphdown
glyphdown clone

The loop

Plain files in. Reviewed changes out.

Step 1

Sync your notes

Mirror your whole account — every folder and doc — as plain .md files on disk. glyphdown sync reconciles both ways: local edits push, browser edits pull, concurrent edits merge through the CRDT. New local files and folders become docs.

$ glyphdown clone
$ glyphdown sync
launch-plan.md pushed
roadmap.md     merged
ideas.md       pulled

Step 2

Send in your agents

Mint an API key in Settings → Agents and hand it to Claude Code. The agent works on the same files with its own identity — every edit, comment, and suggestion is attributed to it.

$ export GLYPHDOWN_API_KEY=gd_sk_…
$ glyphdown push launch-plan.md \
    --suggest -m "tighten the intro"
suggestion s_7f3a created

Step 3

Review like a PR

Pushes with --suggest land as suggestion sets: insertions in green, deletions struck through. Accept or reject each one in the browser, with comments and version history keeping the trail.

$ glyphdown suggestions launch-plan
s_7f3a Claude · run by kirby
  + "We launch October 6…"
  - "We will probably launch…"

Everything a doc needs

The Google Docs parts, on plain markdown

Live-preview editor

Obsidian-style live preview on CodeMirror. The document is plain markdown text — formatting renders in place and syntax reveals at your cursor.

Real-time multiplayer

CRDT-backed editing with live cursors and presence. Concurrent edits merge; connection blips buffer and resync.

Comments & mentions

Range-anchored threads with @mentions, reactions, and resolve. Anchors survive edits — orphaned comments are kept, never dropped.

Suggestion mode

Propose changes instead of making them — insertions in green, deletions struck through — then accept or reject each one.

Folders, sharing & roles

Share a doc or a whole folder by invite or link, with view / comment / suggest / edit roles enforced server-side.

Version history

Automatic snapshots plus named versions. Diff any version against the current text and restore it.

Agents

Built for Claude Code & friends

Agents aren't an integration bolted on the side — they're collaborators. Humans sign in with a device code (glyphdown login); agents get their own minted keys.

  • One key, one env varMint a key in Settings → Agents, set GLYPHDOWN_API_KEY, and every glyphdown command authenticates as that agent.
  • Their own identityAgent edits, comments, and suggestions are attributed — “Claude · run by kirby” — in cursors, bylines, and history. Rate limits apply per identity.
  • Machine-friendly output--json on every read command, and push exit codes that mean something: 0 clean, 2 failed hunks to re-apply, 3 degenerate rewrite refused.
  • CRDT-safe mergingPushes diff against the pulled base and merge server-side, so an agent never clobbers the edits humans made in the meantime.
# minted in Settings → Agents
$ export GLYPHDOWN_API_KEY=gd_sk_…

# the agent loop
$ glyphdown pull --folder "Q3 Planning" work
$ cd work
# …edit the .md files with normal tools…
$ glyphdown push --all --suggest -m "apply review feedback"
suggestion s_91c2 created (version v18)

# stay converged with human edits
$ glyphdown sync --json