Everything written for people who use, host, or build on docs.plus. If you want to change the code instead, start at CONTRIBUTING.md.
docs.plus is a real-time collaborative editor. A document is a tree of headings, and every heading carries its own chat thread.
| Page | Answers |
|---|---|
| Requirements | What you must provide before you start, and which path to take |
| Install | Clone to a working site, then check that it worked |
| Configuration | Which file you edit, and which process reads it |
| Page | Answers |
|---|---|
| API overview | Base URL, response shape, error codes, and rate limits |
| Authentication | Which credential your call needs, and which header carries it |
| Quickstart | Create a document, write content, and read it back |
| WebSocket | Connect a Yjs client to a document room |
The full route-by-route contract is apps/hocuspocus.server/API.md. The pages above cover the parts you need first, and link to it for the rest.
https://docs.plus/demo is docs.plus running, not a picture of it. DEMO.md is the Markdown source of that page.
| Page | Answers |
|---|---|
| CONTRIBUTING.md | How to set up a local stack and open a pull request |
| extensions/README.md | The five Tiptap extensions docs.plus publishes to npm |
| SECURITY.md | How to report a vulnerability. Do not open a public issue for one |
| CONTEXT.md | The domain glossary: what each term in this project means |
| apps/hocuspocus.server/ENV.md | Every backend environment variable, its type, and its default |
| RUNBOOK-backend.md | What to do when a backend alert pages you |
Why one piece of the architecture is the way it is. Each record states the decision, the alternatives, and what it cost.
Every page here follows the same rules, so a reader and a coding agent both get the same facts.
- Each page opens with one line stating what it covers and what it does not.
- Every command sits in a fenced block, and states the directory it runs in.
- A value you must replace looks like
<THIS>. A line under the block says where to get it. - Every environment variable is defined on exactly one page.
- Commands use
bun,bunx, ormake. This repository never uses npm, yarn, pnpm, or npx.