Plate (PlateJS)
The React + shadcn/ui-native rich-text editor framework: a headless Slate runtime, composable plugins, and copy-paste shadcn UI you own — with first-party AI and MCP. The natural pick when you are already on shadcn/Tailwind and want full UI ownership.
Plate is an open-source rich-text editor framework for React, built on top of Slate (slate-react), maintained by the udecode org. MIT-licensed, TypeScript-first, ~16.3k GitHub stars / ~983 forks, in continuous release (latest v53.1.0, 2026-06-10; project created 2019-12-02). Repo topics: slate, wysiwyg, react, typescript, ai, shadcn-ui, mcp. Source: github.com/udecode/plate, 2026-06-10
Architecture — what Plate owns
Plate separates a headless runtime from an app-local UI layer you copy in and edit, mirroring the shadcn/ui model. Source: platejs.org/docs, 2026-06-10
| Layer | What it owns |
|---|---|
platejs |
Core editor runtime, React bindings, editor APIs (the Slate plugin system) |
@platejs/* packages |
Headless plugins for nodes, marks, serialization, collaboration, AI, and behavior (40+ plugins) |
| Plate UI registry | App-local UI components, kits, editor templates, and API routes installed through the shadcn CLI; built on Radix UI primitives |
| Your app | The copied component code, styling, routing, data model, and product-specific editor behavior |
Source: platejs.org/docs, 2026-06-10; BuildPilot "Plate Editor Review 2026", 2026-06-10
The shadcn/ui ownership model
Plate UI is distributed as registry code through the shadcn CLI, not a sealed npm component package: you copy the code, own it, and keep editing it. Design principles: open code (UI is app-local), composition (predictable React + shadcn/ui conventions), CLI distribution (add kits/templates/components/API routes/docs), AI-ready (open code + consistent registry metadata give agents real context), and MCP-ready. It reuses shadcn/ui conventions for editor-specific UI only — you still use shadcn/ui for the rest of the app. Source: platejs.org/docs, 2026-06-10
AI and MCP
AI editing is a 2026 differentiator and a first-party feature. Plate AI ships slash commands (write / improve / translate), inline autocomplete, rewrite, and Copilot-style ghost-text suggestions; advanced AI components and the Notion-like template sit behind the paid Plate pro tier. The MCP setup lets AI tools inspect and apply Plate registry items directly. One-line install for the AI editor: npx shadcn@latest add @plate/editor-ai. Source: platejs.org, 2026-06-10; StarterPick "Block Editor for SaaS 2026", 2026-06-10; BuildPilot, 2026-06-10
Templates
| Template | Plate | Plugins | AI | Backend |
|---|---|---|---|---|
| Notion-like ("Potion", pro) | ✅ | ✅ | ✅ | ✅ |
| Plate playground template | ✅ | ✅ | ✅ | |
| Plate minimal template | ✅ |
Source: github.com/udecode/plate README, 2026-06-10
Positioning vs. alternatives (2026)
| Editor | Built on | Framework | Bundle (~) | Best for |
|---|---|---|---|---|
| Plate | Slate | React-only | ~35KB | React + shadcn/ui projects; plugin-heavy/structured; "Notion clone in a weekend"; UI ownership |
| Tiptap | ProseMirror | Framework-agnostic | ~45KB | Most popular; deepest extension ecosystem; best collaboration (Yjs/Hocuspocus); safest SaaS default |
| Lexical | Custom (Meta) | React-first | ~22KB | Performance-critical, editor-is-the-product, A11y-first; steeper curve |
| BlockNote | Tiptap | React | — | Batteries-included Notion-like UI with the least setup |
Source: BuildPilot "Tiptap vs Lexical vs Plate 2026", 2026-06-10; StarterPick, 2026-06-10
Choose Plate when you are already on shadcn/ui + Tailwind, want to own/override every component (copy-paste model, never fight a library's CSS), prefer Slate's data model, and value strong TypeScript and a clean plugin system. Limitations: React-only (no Vue/Svelte/vanilla); Slate edge cases on deeply nested structures; fast iteration means occasional migration work; more configuration than Tiptap's drop-in; collaboration via Slate-Yjs/Liveblocks needs more wiring; for very large docs (10K+ blocks) Lexical performs better. Source: BuildPilot "Plate Editor Review 2026", 2026-06-10; StarterPick, 2026-06-10
Relevance to Kevin
Squarely in Kevin's stack — React/Next.js + Tailwind + shadcn/ui design engineering. The "open code + registry metadata so agents get real context" and MCP-ready posture parallels the Sigil UI / Reticle Design System thesis that visual identity should be an agent-editable token layer ("constraints over context"). It sits next to JSON Render -- Generative UI Framework in the agent-driven-UI space — Plate owns the human editing surface (Slate document model), json-render owns catalog-constrained generated UI — and slots into Frontier Stack 2026 as the missing document/rich-text-editor layer for React+shadcn products. Distributed through the same shadcn CLI as the rest of the Shadcn UI Ecosystem. Source: compiled from sigil-ui + platejs.org/docs, 2026-06-10
Timeline
- 2026-06-10 | Captured from Kevin chat paste ("review this fully and add, i quite like — Rich-text editor with AI and shadcn/ui"). Filed to
tools/; linked from shadcn ecosystem/registry, actionable tools, frontier stack; added rich-text-editor routing to SKILL-RESOLVER + tool-hierarchy. Source: User, 2026-06-10 - 2026-06-10 |
v53.1.0is current; repo at ~16.3k stars, MIT, TypeScript, actively pushed (continuous releases through v53.x in May–June 2026). Source: github.com/udecode/plate, 2026-06-10 - 2026 | Plate positioned as the shadcn/ui-native React editor among Tiptap (ProseMirror), Lexical (Meta), and BlockNote; AI + MCP are the headline 2026 additions. Source: BuildPilot + StarterPick, 2026-06-10
- 2019-12-02 | Repository created (
udecode/plate). Source: github.com/udecode/plate, 2026-06-10