EveryInc /
proof-sdk
Collaborative markdown editor with edit history and an HTTP bridge for AI agents
- 1.1k stars
- 11 stars since 3 Oct
- TypeScript
- Updated 2 months ago
- Some experience
- Productivity & personal
Proof SDK is the code behind Proof, a hosted collaborative document editor made by Every. The SDK gives you the pieces: a markdown editor, a realtime collaboration server, a provenance model, and an HTTP bridge for agents.
Provenance means tracking where each piece of text came from. The editor supports comments, suggestions, and rewrite operations. The server stores documents in SQLite and exposes them through a set of HTTP routes.
The agent bridge is the distinctive part. An agent can read document state, see marks, post comments and suggestions, make edits, announce presence, and poll for events, all over plain HTTP. The README does not compare it to other editors, so this page doesn't either.
What it does
Markdown editor with provenance
Collaborative editing that tracks the origin of changes. It includes comments, suggestions, and rewrite operations.
Realtime collaboration server
A server package keeps multiple editors in sync. A SQLite-backed store package handles persistence.
Agent HTTP bridge
Routes under /documents/:slug/bridge let agents read state and marks, add comments and suggestions, rewrite text, and set presence.
Event polling
Agents fetch pending events and acknowledge them, so they can react to changes in a document.
Example app and agent docs
A small app in apps/proof-example shows usage. The docs include an agent contract and a skill file for agents.
What you could build
- Build a shared document editor where a human and an AI agent both edit.
- Let an agent leave comments and suggestions on a draft instead of overwriting it.
- Self-host a collaborative markdown editor with a SQLite backend.
- Write an agent that watches a document for events and responds to them.
- Study how a provenance model can record who or what wrote each change.
Get started
You need Node.js 18 or newer. Install dependencies, start the editor (served on localhost:3000), then start the server in a second terminal (API on localhost:4000).
npm installnpm run devnpm run serveCommands are copied from the project's README. Read it on GitHub for the full setup.