Skip to content
docs-plusPublic

About

Free and open-source real-time collaborative document editor. Hierarchical table of contents, per-heading chat, built on Tiptap, ProseMirror and Yjs.

Topics

Resources

Code of conduct

Contributing

Security policy

Stars

98 stars

Watchers

6 watching

Forks

Latest commit

 

History

3,815 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

docs.plus

Get everyone on the same page.

Shared documents with a chatroom on every heading.
The talk stays next to the text it is about. docs.plus is free and open source.

Try docs.plus · Demo · Docs · Host it yourself · Tiptap extensions · Discord

Latest release License: MIT

Open docs.plus. The docs.plus demo document, with its table of contents on the left and the page on the right.

Try it now

Open docs.plus in your browser. There is nothing to install.

  • Open a blank document. You do not need an account. Write, and paste a link to a video or picture to embed it. Then send the link to your group.
  • Take the tour. The demo has a section for each feature. You cannot edit its text, but many sections let you try the feature right there.
  • Use it from your AI app. Claude, ChatGPT, Cursor and other MCP apps can work in your documents.

Sign in with Google or an email link when you need more. You need an account to post, comment or react in a chatroom, and to upload, import or export files. You also need one to restore a version and to connect an AI app. Writing and printing do not need one.

What you get

A chatroom on every heading. Ask a question under a section, and the answer stays with that section. Nobody has to guess which part you meant. On desktop, select a passage to comment on it, and the comment posts in that heading's chatroom. Reply in thread turns a message into a new heading. Open a chatroom in the demo.

Find the busy sections. The table of contents shows a message count beside each heading with messages. Sign in, and each count shows only what you have not read. On desktop, faces show who has each chatroom open, and you can drag a row to move its whole section. The slot you drop it in sets its level. Try it in the demo.

Send the exact view you mean. Filter a document by a word, and it folds to the sections that contain it. The filter is part of the link, so you can send that view to someone. Here is the demo, filtered to "spotify".

Public by default, on purpose. A new document is public, and anyone with the link can read and edit it. We kept this rule from Etherpad, where docs.plus began. Sign in before you first click into, type in or open chat in a new document, and it becomes yours. As the owner, you can make it Private or Read-only. A document you start signed out has no owner, so nobody can make it Private later.

Catch up on what changed. Open a document while signed in, and you follow it. Turn on email in Settings, and a digest shows what others changed, with the added and removed words under each heading. History lets you compare any two versions and restore one. Compare versions in the demo.

Use it from your AI app

Connect Claude, ChatGPT, Claude Code, Codex, Cursor, VS Code or any app that supports remote MCP. The app signs in as you, and it reads only the documents and chatrooms you can open. It can create documents, but it edits and posts chat only in documents you own. It never edits or removes an existing heading, and it never removes media. History marks each version an AI app wrote. Set up your AI app · How to connect

Also inside

Write Share and keep On any device
Live co-editing with presence Import .docx and .md A phone layout, with the chatroom below the document
Mermaid diagrams drawn in the document Print or save as PDF, with no account Install it from the browser
Pictures, video, YouTube, Loom and more Voice notes, reactions and mentions in chatrooms Push and email alerts, with Quiet hours

Host it yourself

docs.plus is MIT-licensed, and you can run it on your own server. It needs Docker, outside services such as Supabase and S3-compatible storage, and a paid license key for the chat list. Read Self-hosting for the full list, then follow Install.

Run the code on your computer

This path is for trying the code and for contributing. It is not a production setup. Install the Prerequisites first.

git clone https://github.com/docs-plus/docs.plus.git
cd docs.plus
make dev-local

make dev-local sets up everything. It creates env files, installs dependencies, and starts PostgreSQL, Redis and a local Supabase. Then it starts the REST API, the WebSocket server, the worker and the webapp.

Note

The first run downloads Docker images and takes several minutes. Later runs skip the downloads and start faster.

Then open http://localhost:3000. Sign in with a real email address: its domain must accept mail, so you need a network connection. Open the sign-in link in the local inbox at http://127.0.0.1:54324. No real mail leaves your machine. Google sign-in is optional; see Turn on Google sign-in.

All local addresses

If the first run stops, see Development Setup. It covers the health check, stop and reset, the full-Docker path and Supabase Cloud.

Tiptap extensions

The editor parts we build are open too. We publish six MIT Tiptap extensions on npm, and docs.plus runs on them in production. Choose an extension, or see them all on npm.

npm install @docs.plus/extension-hyperlink

Or use pnpm add, yarn add, or bun add with the same package name.

Documentation

Full documentation lives in docs/.

I want to Read
Call the API from my code API overview, then Quickstart
Use docs.plus from Claude or ChatGPT How to connect, then the MCP connector reference
See what changed in each release CHANGELOG.md · Releases
See what is planned Roadmap
Add a docs.plus badge to my README Badges

Contributing

We are a small team, and every pull request helps. A typo fix is as welcome as a new feature. Start with the contributing guide, and follow our Code of Conduct.

First contribution? Start here:

  • Run make dev-local from a clean clone. Then tell us where it was hard, in #149. Your notes make the first run easier for the next person.
  • Pick an issue labeled good first issue or help wanted.
  • Planning a large change? Ask in Discord first, so we can tell you early whether the idea fits.

Community and support

Channel Best for
Discord Chat with the team and other users
GitHub Discussions Questions and ideas
GitHub Issues Bugs and feature requests
X: @docsdotplus Follow the project
contact@newspeak.house Anything else
SECURITY.md A security problem. Do not report it in a public issue or on Discord

docs.plus is free to use, and a small team keeps it running. If it helps you, you can support us on Patreon.

The hosted service at docs.plus has a Privacy policy and Terms.

Our story

docs.plus began as a fork of Etherpad. We changed it to fit our needs, with plugins for section filtering, video chat on each heading and a mobile view. The idea of a chatroom on every heading comes from those years.

Etherpad struggled when many people worked in one long document, for example a hundred people at once. So in September 2022, after our last Etherpad-based tag, v1.8.18, we started again on Tiptap, ProseMirror and Yjs. We owe a lot to Etherpad and its contributors, and we thank them.

docs.plus is a free and open-source project by Newspeak House, seed funded by Grant for the Web and Nesta. Hossein Marzban (HMarzban) maintains it.

Built with Bun, Next.js, React, Hono, Hocuspocus, Supabase, PostgreSQL and Redis. Pele draws the Mermaid diagrams.

License

MIT © 2023-2026 Hossein Marzban

About

Free and open-source real-time collaborative document editor. Hierarchical table of contents, per-heading chat, built on Tiptap, ProseMirror and Yjs.

Topics

Resources

Code of conduct

Contributing

Security policy

Stars

98 stars

Watchers

6 watching

Forks

Releases

Sponsor this project

Packages

Used by

Contributors

Languages