# Yjs Docs

## Yjs Docs

- [Introduction](https://docs.yjs.dev/readme.md): Modular building blocks for building collaborative applications like Google Docs and Figma.
- [Yjs in the Wild](https://docs.yjs.dev/yjs-in-the-wild.md): Companies using Yjs to achieve amazing collaborative experiences
- [License ❤️](https://docs.yjs.dev/license.md)
- [A Collaborative Editor](https://docs.yjs.dev/getting-started/a-collaborative-editor.md): A five minute guide to make an editor collaborative
- [Awareness & Presence](https://docs.yjs.dev/getting-started/adding-awareness.md): Propagating awareness information such as presence &  cursor locations.
- [Offline Support](https://docs.yjs.dev/getting-started/allowing-offline-editing.md): Adding offline support with y-indexeddb.
- [Shared Types](https://docs.yjs.dev/getting-started/working-with-shared-types.md)
- [Editor Bindings](https://docs.yjs.dev/ecosystem/editor-bindings.md)
- [ProseMirror](https://docs.yjs.dev/ecosystem/editor-bindings/prosemirror.md): Shared Editing with the ProseMirror Editor
- [Tiptap](https://docs.yjs.dev/ecosystem/editor-bindings/tiptap2.md)
- [Monaco](https://docs.yjs.dev/ecosystem/editor-bindings/monaco.md)
- [Quill](https://docs.yjs.dev/ecosystem/editor-bindings/quill.md)
- [CodeMirror](https://docs.yjs.dev/ecosystem/editor-bindings/codemirror.md)
- [Remirror](https://docs.yjs.dev/ecosystem/editor-bindings/remirror.md)
- [Milkdown](https://docs.yjs.dev/ecosystem/editor-bindings/milkdown.md)
- [Connection Provider](https://docs.yjs.dev/ecosystem/connection-provider.md): Connection providers handle syncing with the network
- [y-websocket](https://docs.yjs.dev/ecosystem/connection-provider/y-websocket.md): WebSocket Provider for Yjs that ships with a extendable server implementation
- [y-webrtc](https://docs.yjs.dev/ecosystem/connection-provider/y-webrtc.md)
- [y-dat](https://docs.yjs.dev/ecosystem/connection-provider/y-hyper.md)
- [Database Provider](https://docs.yjs.dev/ecosystem/database-provider.md): Database providers sync documents to a database
- [y-indexeddb](https://docs.yjs.dev/ecosystem/database-provider/y-indexeddb.md): IndexedDB database provider for Yjs
- [y-leveldb](https://docs.yjs.dev/ecosystem/database-provider/y-leveldb.md)
- [y-redis](https://docs.yjs.dev/ecosystem/database-provider/y-redis.md)
- [Other](https://docs.yjs.dev/ecosystem/other.md)
- [y-protocols](https://docs.yjs.dev/ecosystem/other/y-protocols.md)
- [Ports to other languages](https://docs.yjs.dev/ecosystem/ports-to-other-languages.md): Yjs has been ported to other languages.
- [Y.Doc](https://docs.yjs.dev/api/y.doc.md)
- [Shared Types](https://docs.yjs.dev/api/shared-types.md)
- [Y.Map](https://docs.yjs.dev/api/shared-types/y.map.md): A shared type with a similar API to global.Map
- [Y.Array](https://docs.yjs.dev/api/shared-types/y.array.md): A shared type to store data in a sequence-like data structure
- [Y.Text](https://docs.yjs.dev/api/shared-types/y.text.md): A shared type that represents Text & RichText
- [Y.XmlFragment](https://docs.yjs.dev/api/shared-types/y.xmlfragment.md): A shared type to manage a collection of Y.Xml\* Nodes
- [Y.XmlElement](https://docs.yjs.dev/api/shared-types/y.xmlelement.md): A shared type that represents an XML node
- [Y.XmlText](https://docs.yjs.dev/api/shared-types/y.xmltext.md): Extends Y.Text to represent a Y.Xml node.
- [Y.UndoManager](https://docs.yjs.dev/api/undo-manager.md): A selective Undo/Redo manager for Yjs.
- [Y.Event](https://docs.yjs.dev/api/y.event.md)
- [Delta Format](https://docs.yjs.dev/api/delta-format.md)
- [Document Updates](https://docs.yjs.dev/api/document-updates.md): How to sync documents with other peers.
- [Y.RelativePosition](https://docs.yjs.dev/api/relative-positions.md): A powerful position encoding that transforms back to index positions
- [Awareness](https://docs.yjs.dev/api/about-awareness.md): API documentation of the Awareness CRDT
- [Subdocuments](https://docs.yjs.dev/api/subdocuments.md): Embedding Yjs documents into Yjs documents
- [Internals](https://docs.yjs.dev/api/internals.md): Implementation Details - The inner working of Yjs
- [FAQ](https://docs.yjs.dev/api/faq.md)
- [Meshing Providers](https://docs.yjs.dev/tutorials/meshing-providers.md)
- [Persisting the Document to a Central Database](https://docs.yjs.dev/tutorials/persisting-the-document-to-a-central-database.md)
- [Indefinite Scaling with y-redis](https://docs.yjs.dev/tutorials/untitled-3.md)
- [Lessons Learned](https://docs.yjs.dev/tutorials/lessons-learned.md)
- [Custom Provider](https://docs.yjs.dev/tutorials/creating-a-custom-provider.md): How to sync document updates to a database or network
- [Talks, Podcasts, and Blogs](https://docs.yjs.dev/other-resources/talks-and-podcasts.md): Yjs related resources in chronological order


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## Querying This Documentation
If you need additional information, you can query the documentation dynamically by asking a question.
Perform an HTTP GET request on a page URL with the `ask` query parameter:
```
GET https://docs.yjs.dev/readme.md?ask=<question>
```
The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.
Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
