A plugin-based rich-text editor framework for React, built on Slate.js, with integrated AI writing, MCP compatibility, and shadcn/ui components.
Plate is a plugin-based rich-text editor framework for React, built on Slate.js with a three-layer architecture: Core Engine, 50+ headless plugins, and Plate UI. The core editing layer covers headings, lists, tables, code blocks, math equations, multi-column layouts, and media upload, with bidirectional Markdown serialization, slash commands, and block drag-and-drop. AI editing capabilities leverage @ai-sdk/react for streaming Markdown/MDX insertion with context-aware command menus and suggestion/diff tracking, requiring only a standard streaming endpoint on the backend to integrate any model provider. Collaboration is powered by Yjs for real-time multi-user editing, change tracking, and inline comments.
Plate UI follows the shadcn/ui pattern, distributing component code directly into user projects via npx shadcn@latest add editor-ai for full control. The project is managed as a pnpm monorepo with Turborepo across 50+ independent packages, supporting Next.js SSR, RSC, and Vite. It is suitable for building Notion-like editors, CMS editing cores, AI writing tools, and collaborative document platforms.
Three-Layer Architecture#
- Core Engine (
@platejs/core): React plugin system core with SSR support and framework-agnostic API - Extensible Plugins (
packages/*): 50+ headless plugins covering editing behavior, hooks, serialization, normalization - Plate UI: Customizable UI component layer based on shadcn/ui + Radix UI, distributed via CLI
Monorepo Package Structure#
- Core:
core,slate,plate,utils - AI:
ai - Basic Editing:
basic-nodes,basic-styles,autoformat,indent,list,tabbable - Content Blocks:
callout,code-block,date,footnote,layout,math,media,table,toggle,toc - Interaction:
combobox,comment,cursor,dnd,emoji,find-replace,floating,link,mention,slash-command,suggestion - Format Conversion:
csv,diff,docx-io,markdown - Collaboration:
yjs
Installation#
Recommended via shadcn CLI:
npx shadcn@latest add editor-ai
Manual installation available for Next.js, React (Vite), and standalone (without shadcn/ui). Server-side support includes RSC and Node.js environments.
Unconfirmed Information#
- Business model: "Plate Plus" paid tier exists but free/paid boundary is unclear
- MCP implementation details: compatibility mentioned but specific protocol scope needs confirmation
- Slate.js version dependency not explicitly specified