---
name: "@plate"
slug: "plate"
description: "Plate is a React framework for building AI-powered rich-text editors built on Slate and Slate-React. The shadcn registry (325 items) delivers Plate UI: copyable toolbar components (fixed, floating, AI menu), block draggable, cursor overlay, inline combobox, caption, comment/suggestion toolbars, media upload, ghost text, and full editor kits. Headless @platejs/* plugins cover formatting, serialization, collaboration (Yjs/Loro), AI completions, and more. Tailwind v3/v4 compatible, Radix UI-based. Free and open-source (MIT, 16k+ GitHub stars); a paid Notion-like Potion template is offered separately via pro.platejs.org. Use for: embedding a fully featured, extensible rich-text editor (with AI, comments, or collaborative editing) into a React or Next.js app."
category: "Editor (rich text/code)"
tags: ["ai", "audio", "blocks", "buttons", "cards", "charts", "editor", "forms", "media", "mobile", "navigation", "overlays", "pro-available", "tables"]
framework: "react"
license: null
author: "udecode"
website: "https://platejs.org"
github: "https://github.com/udecode/plate"
registry: "https://platejs.org/r/registry.json"
pro: true
pro_url: "https://pro.platejs.org/"
github_stars: 16400
component_count: 250
generated_at: "2026-07-28T08:00:50.948Z"
---

# @plate

Plate is a React framework for building AI-powered rich-text editors built on Slate and Slate-React. The shadcn registry (325 items) delivers Plate UI: copyable toolbar components (fixed, floating, AI menu), block draggable, cursor overlay, inline combobox, caption, comment/suggestion toolbars, media upload, ghost text, and full editor kits. Headless @platejs/* plugins cover formatting, serialization, collaboration (Yjs/Loro), AI completions, and more. Tailwind v3/v4 compatible, Radix UI-based. Free and open-source (MIT, 16k+ GitHub stars); a paid Notion-like Potion template is offered separately via pro.platejs.org. Use for: embedding a fully featured, extensible rich-text editor (with AI, comments, or collaborative editing) into a React or Next.js app.

## Links

- Website: https://platejs.org
- GitHub: https://github.com/udecode/plate
- Registry JSON: https://platejs.org/r/registry.json
- Directory page: https://sh4dcn.vercel.app/registry/plate
- This file: https://sh4dcn.vercel.app/md/plate.md
- Pro / pricing: https://pro.platejs.org/

## Install

```sh
# add the whole registry (shadcn CLI)
npx shadcn@latest add https://platejs.org/r/registry.json
pnpm dlx shadcn@latest add https://platejs.org/r/registry.json
bunx shadcn@latest add https://platejs.org/r/registry.json
# clone the source repo
git clone https://github.com/udecode/plate.git
# fetch the raw registry index
curl -s https://platejs.org/r/registry.json
```

## Components (250)

| name | type | description | install |
| --- | --- | --- | --- |
| plate | registry:lib | Install Plate package | `npx shadcn@latest add https://platejs.org/r/plate.json` |
| plate-ui | registry:style | Install Plate package and styles | `npx shadcn@latest add https://platejs.org/r/plate-ui.json` |
| ai-menu | registry:ui | A menu for AI-powered content generation and insertion. | `npx shadcn@latest add https://platejs.org/r/ai-menu.json` |
| ai-toolbar-button | registry:ui | A toolbar button for accessing AI features. | `npx shadcn@latest add https://platejs.org/r/ai-toolbar-button.json` |
| align-toolbar-button | registry:ui | A dropdown menu for text alignment controls. | `npx shadcn@latest add https://platejs.org/r/align-toolbar-button.json` |
| block-context-menu | registry:ui | A context menu for block-level operations. | `npx shadcn@latest add https://platejs.org/r/block-context-menu.json` |
| block-selection | registry:ui | A visual overlay for selected blocks. | `npx shadcn@latest add https://platejs.org/r/block-selection.json` |
| import-toolbar-button | registry:ui | A toolbar button to import editor content from a file. | `npx shadcn@latest add https://platejs.org/r/import-toolbar-button.json` |
| export-toolbar-button | registry:ui | A toolbar button for exporting editor content in various formats (HTML, PDF, Image, Markdown). | `npx shadcn@latest add https://platejs.org/r/export-toolbar-button.json` |
| caption | registry:ui | A text field for adding captions to media elements. | `npx shadcn@latest add https://platejs.org/r/caption.json` |
| font-color-toolbar-button | registry:ui | A color picker toolbar button with text and background color controls. | `npx shadcn@latest add https://platejs.org/r/font-color-toolbar-button.json` |
| comment-toolbar-button | registry:ui | A toolbar button for adding inline comments. | `npx shadcn@latest add https://platejs.org/r/comment-toolbar-button.json` |
| block-suggestion | registry:ui | Block Suggestion | `npx shadcn@latest add https://platejs.org/r/block-suggestion.json` |
| block-discussion | registry:ui | A popover interface for managing discussions: comments, replies, suggestions. | `npx shadcn@latest add https://platejs.org/r/block-discussion.json` |
| cursor-overlay | registry:ui | A visual overlay for cursors and selections. | `npx shadcn@latest add https://platejs.org/r/cursor-overlay.json` |
| block-draggable | registry:ui | A block wrapper with a drag handle for moving editor blocks. | `npx shadcn@latest add https://platejs.org/r/block-draggable.json` |
| editor | registry:ui | A container for the editor content and styling. | `npx shadcn@latest add https://platejs.org/r/editor.json` |
| select-editor | registry:ui | An editor to select tags. | `npx shadcn@latest add https://platejs.org/r/select-editor.json` |
| emoji-toolbar-button | registry:ui | An emoji picker toolbar button. | `npx shadcn@latest add https://platejs.org/r/emoji-toolbar-button.json` |
| fixed-toolbar-buttons | registry:ui | A set of commonly used formatting buttons. | `npx shadcn@latest add https://platejs.org/r/fixed-toolbar-buttons.json` |
| fixed-toolbar-classic-buttons | registry:ui | Fixed Toolbar List Buttons | `npx shadcn@latest add https://platejs.org/r/fixed-toolbar-classic-buttons.json` |
| fixed-toolbar | registry:ui | A fixed toolbar that stays at the top of the editor. | `npx shadcn@latest add https://platejs.org/r/fixed-toolbar.json` |
| floating-toolbar-buttons | registry:ui | A set of formatting buttons for the floating toolbar. | `npx shadcn@latest add https://platejs.org/r/floating-toolbar-buttons.json` |
| floating-toolbar-classic-buttons | registry:ui | A set of commonly used formatting buttons for the floating toolbar with classic list support. | `npx shadcn@latest add https://platejs.org/r/floating-toolbar-classic-buttons.json` |
| floating-toolbar | registry:ui | A contextual toolbar that appears over selected text. | `npx shadcn@latest add https://platejs.org/r/floating-toolbar.json` |
| ghost-text | registry:ui | A text suggestion system that displays AI-generated content after the cursor. | `npx shadcn@latest add https://platejs.org/r/ghost-text.json` |
| history-toolbar-button | registry:ui | Toolbar buttons for undo and redo operations. | `npx shadcn@latest add https://platejs.org/r/history-toolbar-button.json` |
| list-toolbar-button | registry:ui | A toolbar control for adjusting list indentation. | `npx shadcn@latest add https://platejs.org/r/list-toolbar-button.json` |
| indent-toolbar-button | registry:ui | Toolbar controls for block indentation. | `npx shadcn@latest add https://platejs.org/r/indent-toolbar-button.json` |
| inline-combobox | registry:ui | A combobox for inline suggestions. | `npx shadcn@latest add https://platejs.org/r/inline-combobox.json` |
| insert-toolbar-button | registry:ui | A menu for inserting different types of blocks. | `npx shadcn@latest add https://platejs.org/r/insert-toolbar-button.json` |
| insert-toolbar-classic-button | registry:ui | A menu for inserting different types of blocks with classic list support. | `npx shadcn@latest add https://platejs.org/r/insert-toolbar-classic-button.json` |
| line-height-toolbar-button | registry:ui | A menu for controlling text line spacing. | `npx shadcn@latest add https://platejs.org/r/line-height-toolbar-button.json` |
| link-toolbar | registry:ui | A floating interface for link editing. | `npx shadcn@latest add https://platejs.org/r/link-toolbar.json` |
| link-toolbar-button | registry:ui | A toolbar control for link management. | `npx shadcn@latest add https://platejs.org/r/link-toolbar-button.json` |
| list-classic-toolbar-button | registry:ui | Toolbar controls for list creation and management. | `npx shadcn@latest add https://platejs.org/r/list-classic-toolbar-button.json` |
| mark-toolbar-button | registry:ui | A toolbar control for basic text formatting. | `npx shadcn@latest add https://platejs.org/r/mark-toolbar-button.json` |
| media-toolbar | registry:ui | A toolbar interface for media settings. | `npx shadcn@latest add https://platejs.org/r/media-toolbar.json` |
| media-toolbar-button | registry:ui | Toolbar button for inserting and managing media. | `npx shadcn@latest add https://platejs.org/r/media-toolbar-button.json` |
| media-upload-toast | registry:ui | Show toast notifications for media uploads. | `npx shadcn@latest add https://platejs.org/r/media-upload-toast.json` |
| mode-toolbar-button | registry:ui | A menu for switching between editor modes. | `npx shadcn@latest add https://platejs.org/r/mode-toolbar-button.json` |
| more-toolbar-button | registry:ui | A menu for additional text formatting options. | `npx shadcn@latest add https://platejs.org/r/more-toolbar-button.json` |
| resize-handle | registry:ui | A resizable wrapper with resize handles. | `npx shadcn@latest add https://platejs.org/r/resize-handle.json` |
| table-toolbar-button | registry:ui | A menu for table manipulation and formatting. | `npx shadcn@latest add https://platejs.org/r/table-toolbar-button.json` |
| toggle-toolbar-button | registry:ui | A toolbar button for expanding and collapsing blocks. | `npx shadcn@latest add https://platejs.org/r/toggle-toolbar-button.json` |
| turn-into-toolbar-button | registry:ui | A menu for converting between different block types. | `npx shadcn@latest add https://platejs.org/r/turn-into-toolbar-button.json` |
| turn-into-toolbar-classic-button | registry:ui | A dropdown to convert block types with classic list support. | `npx shadcn@latest add https://platejs.org/r/turn-into-toolbar-classic-button.json` |
| remote-cursor-overlay | registry:ui | A cursor overlay to display multiplayer cursors in the yjs plugin. | `npx shadcn@latest add https://platejs.org/r/remote-cursor-overlay.json` |
| toolbar | registry:ui | A customizable toolbar component with various button styles and group | `npx shadcn@latest add https://platejs.org/r/toolbar.json` |
| suggestion-toolbar-button | registry:ui | A toolbar button for toggling suggestion mode in the editor. | `npx shadcn@latest add https://platejs.org/r/suggestion-toolbar-button.json` |
| ai-node | registry:ui | A text highlighter for AI-generated content. | `npx shadcn@latest add https://platejs.org/r/ai-node.json` |
| block-list | registry:ui | List components. | `npx shadcn@latest add https://platejs.org/r/block-list.json` |
| blockquote-node | registry:ui | A quote component for block quotes. | `npx shadcn@latest add https://platejs.org/r/blockquote-node.json` |
| callout-node | registry:ui | A callout component for highlighting important information with customizable icons and styles. | `npx shadcn@latest add https://platejs.org/r/callout-node.json` |
| code-block-node | registry:ui | A code block with syntax highlighting and language selection. | `npx shadcn@latest add https://platejs.org/r/code-block-node.json` |
| code-drawing-node | registry:ui | Create diagrams from code using PlantUML, Graphviz, Flowchart, or Mermaid. | `npx shadcn@latest add https://platejs.org/r/code-drawing-node.json` |
| code-node | registry:ui | An inline component for code snippets. | `npx shadcn@latest add https://platejs.org/r/code-node.json` |
| column-node | registry:ui | Resizable column components for layout. | `npx shadcn@latest add https://platejs.org/r/column-node.json` |
| comment-node | registry:ui | A text component for displaying comments with visual indicators. | `npx shadcn@latest add https://platejs.org/r/comment-node.json` |
| suggestion-node | registry:ui | A text component for suggestion. | `npx shadcn@latest add https://platejs.org/r/suggestion-node.json` |
| date-node | registry:ui | A date field component with calendar picker. | `npx shadcn@latest add https://platejs.org/r/date-node.json` |
| equation-node | registry:ui | Displays a LaTeX equation element with an editable popover for inputting and rendering mathematical expressions. | `npx shadcn@latest add https://platejs.org/r/equation-node.json` |
| equation-toolbar-button | registry:ui | A toolbar button for inserting and editing equations. | `npx shadcn@latest add https://platejs.org/r/equation-toolbar-button.json` |
| emoji-node | registry:ui | An input component for emoji search and insertion. | `npx shadcn@latest add https://platejs.org/r/emoji-node.json` |
| excalidraw-node | registry:ui | A drawing component powered by Excalidraw. | `npx shadcn@latest add https://platejs.org/r/excalidraw-node.json` |
| font-size-toolbar-button | registry:ui | A toolbar control for adjusting font size. | `npx shadcn@latest add https://platejs.org/r/font-size-toolbar-button.json` |
| footnote-node | registry:ui | Inline footnote references, definitions, and input UI. | `npx shadcn@latest add https://platejs.org/r/footnote-node.json` |
| heading-node | registry:ui | A heading with multiple level support. | `npx shadcn@latest add https://platejs.org/r/heading-node.json` |
| highlight-node | registry:ui | A text highlighter with customizable colors. | `npx shadcn@latest add https://platejs.org/r/highlight-node.json` |
| hr-node | registry:ui | A horizontal rule component with focus states. | `npx shadcn@latest add https://platejs.org/r/hr-node.json` |
| media-image-node | registry:ui | Image element with lazy loading, resizing capabilities, and optional caption. | `npx shadcn@latest add https://platejs.org/r/media-image-node.json` |
| media-preview-dialog | registry:ui | A modal component for previewing and manipulating images. | `npx shadcn@latest add https://platejs.org/r/media-preview-dialog.json` |
| kbd-node | registry:ui | A component for styling keyboard shortcuts. | `npx shadcn@latest add https://platejs.org/r/kbd-node.json` |
| link-node | registry:ui | A component for rendering hyperlinks with hover states. | `npx shadcn@latest add https://platejs.org/r/link-node.json` |
| list-classic-node | registry:ui | List (classic) nodes for ordered and unordered items. | `npx shadcn@latest add https://platejs.org/r/list-classic-node.json` |
| media-audio-node | registry:ui | An audio player component with caption support. | `npx shadcn@latest add https://platejs.org/r/media-audio-node.json` |
| media-embed-node | registry:ui | A component for embedded media content with resizing and caption support. | `npx shadcn@latest add https://platejs.org/r/media-embed-node.json` |
| media-file-node | registry:ui | A file attachment component with download capability and caption. | `npx shadcn@latest add https://platejs.org/r/media-file-node.json` |
| media-placeholder-node | registry:ui | A placeholder for media upload progress indication. | `npx shadcn@latest add https://platejs.org/r/media-placeholder-node.json` |
| media-video-node | registry:ui | A video player component with YouTube and file upload support. | `npx shadcn@latest add https://platejs.org/r/media-video-node.json` |
| mention-node | registry:ui | A mention element with customizable prefix and label, powered by a combobox. | `npx shadcn@latest add https://platejs.org/r/mention-node.json` |
| paragraph-node | registry:ui | A paragraph block with background color support. | `npx shadcn@latest add https://platejs.org/r/paragraph-node.json` |
| search-highlight-node | registry:ui | A component that highlights search results in text. | `npx shadcn@latest add https://platejs.org/r/search-highlight-node.json` |
| slash-node | registry:ui | A command input component for inserting various elements. | `npx shadcn@latest add https://platejs.org/r/slash-node.json` |
| table-node | registry:ui | A table component with floating toolbar and border customization. | `npx shadcn@latest add https://platejs.org/r/table-node.json` |
| tag-node | registry:ui | A tag element component with selection states and styling. | `npx shadcn@latest add https://platejs.org/r/tag-node.json` |
| toc-node | registry:ui | A table of contents component with links to document headings. | `npx shadcn@latest add https://platejs.org/r/toc-node.json` |
| toggle-node | registry:ui | A collapsible component for toggling content visibility. | `npx shadcn@latest add https://platejs.org/r/toggle-node.json` |
| align-base-kit | registry:component | — | `npx shadcn@latest add https://platejs.org/r/align-base-kit.json` |
| basic-blocks-base-kit | registry:component | — | `npx shadcn@latest add https://platejs.org/r/basic-blocks-base-kit.json` |
| basic-marks-base-kit | registry:component | — | `npx shadcn@latest add https://platejs.org/r/basic-marks-base-kit.json` |
| callout-base-kit | registry:component | — | `npx shadcn@latest add https://platejs.org/r/callout-base-kit.json` |
| code-block-base-kit | registry:component | — | `npx shadcn@latest add https://platejs.org/r/code-block-base-kit.json` |
| code-drawing-base-kit | registry:component | — | `npx shadcn@latest add https://platejs.org/r/code-drawing-base-kit.json` |
| column-base-kit | registry:component | — | `npx shadcn@latest add https://platejs.org/r/column-base-kit.json` |
| comment-base-kit | registry:component | — | `npx shadcn@latest add https://platejs.org/r/comment-base-kit.json` |
| date-base-kit | registry:component | — | `npx shadcn@latest add https://platejs.org/r/date-base-kit.json` |
| footnote-base-kit | registry:component | — | `npx shadcn@latest add https://platejs.org/r/footnote-base-kit.json` |
| excalidraw-kit | registry:component | — | `npx shadcn@latest add https://platejs.org/r/excalidraw-kit.json` |
| font-base-kit | registry:component | — | `npx shadcn@latest add https://platejs.org/r/font-base-kit.json` |
| indent-base-kit | registry:component | — | `npx shadcn@latest add https://platejs.org/r/indent-base-kit.json` |
| line-height-base-kit | registry:component | — | `npx shadcn@latest add https://platejs.org/r/line-height-base-kit.json` |
| link-base-kit | registry:component | — | `npx shadcn@latest add https://platejs.org/r/link-base-kit.json` |
| list-base-kit | registry:component | — | `npx shadcn@latest add https://platejs.org/r/list-base-kit.json` |
| math-base-kit | registry:component | — | `npx shadcn@latest add https://platejs.org/r/math-base-kit.json` |
| media-base-kit | registry:component | — | `npx shadcn@latest add https://platejs.org/r/media-base-kit.json` |
| mention-base-kit | registry:component | — | `npx shadcn@latest add https://platejs.org/r/mention-base-kit.json` |
| suggestion-base-kit | registry:component | — | `npx shadcn@latest add https://platejs.org/r/suggestion-base-kit.json` |
| table-base-kit | registry:component | — | `npx shadcn@latest add https://platejs.org/r/table-base-kit.json` |
| toc-base-kit | registry:component | — | `npx shadcn@latest add https://platejs.org/r/toc-base-kit.json` |
| toggle-base-kit | registry:component | — | `npx shadcn@latest add https://platejs.org/r/toggle-base-kit.json` |
| editor-base-kit | registry:component | — | `npx shadcn@latest add https://platejs.org/r/editor-base-kit.json` |
| ai-kit | registry:component | — | `npx shadcn@latest add https://platejs.org/r/ai-kit.json` |
| align-kit | registry:component | — | `npx shadcn@latest add https://platejs.org/r/align-kit.json` |
| autoformat-classic-kit | registry:component | — | `npx shadcn@latest add https://platejs.org/r/autoformat-classic-kit.json` |
| autoformat-kit | registry:component | — | `npx shadcn@latest add https://platejs.org/r/autoformat-kit.json` |
| basic-blocks-kit | registry:component | — | `npx shadcn@latest add https://platejs.org/r/basic-blocks-kit.json` |
| basic-marks-kit | registry:component | — | `npx shadcn@latest add https://platejs.org/r/basic-marks-kit.json` |
| basic-nodes-kit | registry:component | — | `npx shadcn@latest add https://platejs.org/r/basic-nodes-kit.json` |
| block-menu-kit | registry:component | — | `npx shadcn@latest add https://platejs.org/r/block-menu-kit.json` |
| block-placeholder-kit | registry:component | — | `npx shadcn@latest add https://platejs.org/r/block-placeholder-kit.json` |
| block-selection-kit | registry:component | — | `npx shadcn@latest add https://platejs.org/r/block-selection-kit.json` |
| callout-kit | registry:component | — | `npx shadcn@latest add https://platejs.org/r/callout-kit.json` |
| code-block-kit | registry:component | — | `npx shadcn@latest add https://platejs.org/r/code-block-kit.json` |
| code-drawing-kit | registry:component | — | `npx shadcn@latest add https://platejs.org/r/code-drawing-kit.json` |
| column-kit | registry:component | — | `npx shadcn@latest add https://platejs.org/r/column-kit.json` |
| comment-kit | registry:component | — | `npx shadcn@latest add https://platejs.org/r/comment-kit.json` |
| copilot-kit | registry:component | — | `npx shadcn@latest add https://platejs.org/r/copilot-kit.json` |
| cursor-overlay-kit | registry:component | — | `npx shadcn@latest add https://platejs.org/r/cursor-overlay-kit.json` |
| date-kit | registry:component | — | `npx shadcn@latest add https://platejs.org/r/date-kit.json` |
| discussion-kit | registry:component | — | `npx shadcn@latest add https://platejs.org/r/discussion-kit.json` |
| dnd-kit | registry:component | — | `npx shadcn@latest add https://platejs.org/r/dnd-kit.json` |
| docx-kit | registry:component | — | `npx shadcn@latest add https://platejs.org/r/docx-kit.json` |
| docx-export-kit | registry:component | — | `npx shadcn@latest add https://platejs.org/r/docx-export-kit.json` |
| editor-kit | registry:component | — | `npx shadcn@latest add https://platejs.org/r/editor-kit.json` |
| emoji-kit | registry:component | — | `npx shadcn@latest add https://platejs.org/r/emoji-kit.json` |
| exit-break-kit | registry:component | — | `npx shadcn@latest add https://platejs.org/r/exit-break-kit.json` |
| fixed-toolbar-classic-kit | registry:component | — | `npx shadcn@latest add https://platejs.org/r/fixed-toolbar-classic-kit.json` |
| fixed-toolbar-kit | registry:component | — | `npx shadcn@latest add https://platejs.org/r/fixed-toolbar-kit.json` |
| floating-toolbar-kit | registry:component | — | `npx shadcn@latest add https://platejs.org/r/floating-toolbar-kit.json` |
| floating-toolbar-classic-kit | registry:component | — | `npx shadcn@latest add https://platejs.org/r/floating-toolbar-classic-kit.json` |
| footnote-kit | registry:component | — | `npx shadcn@latest add https://platejs.org/r/footnote-kit.json` |
| font-kit | registry:component | — | `npx shadcn@latest add https://platejs.org/r/font-kit.json` |
| indent-kit | registry:component | — | `npx shadcn@latest add https://platejs.org/r/indent-kit.json` |
| line-height-kit | registry:component | — | `npx shadcn@latest add https://platejs.org/r/line-height-kit.json` |
| link-kit | registry:component | — | `npx shadcn@latest add https://platejs.org/r/link-kit.json` |
| list-classic-kit | registry:component | — | `npx shadcn@latest add https://platejs.org/r/list-classic-kit.json` |
| list-kit | registry:component | — | `npx shadcn@latest add https://platejs.org/r/list-kit.json` |
| markdown-kit | registry:component | — | `npx shadcn@latest add https://platejs.org/r/markdown-kit.json` |
| math-kit | registry:component | — | `npx shadcn@latest add https://platejs.org/r/math-kit.json` |
| media-kit | registry:component | Media kit without API (see media-uploadthing-api for reference) | `npx shadcn@latest add https://platejs.org/r/media-kit.json` |
| media-uploadthing-kit | registry:component | media-kit + media-uploadthing-api | `npx shadcn@latest add https://platejs.org/r/media-uploadthing-kit.json` |
| mention-kit | registry:component | — | `npx shadcn@latest add https://platejs.org/r/mention-kit.json` |
| slash-kit | registry:component | — | `npx shadcn@latest add https://platejs.org/r/slash-kit.json` |
| suggestion-kit | registry:component | — | `npx shadcn@latest add https://platejs.org/r/suggestion-kit.json` |
| tabbable-kit | registry:component | — | `npx shadcn@latest add https://platejs.org/r/tabbable-kit.json` |
| table-kit | registry:component | — | `npx shadcn@latest add https://platejs.org/r/table-kit.json` |
| toc-kit | registry:component | — | `npx shadcn@latest add https://platejs.org/r/toc-kit.json` |
| toggle-kit | registry:component | — | `npx shadcn@latest add https://platejs.org/r/toggle-kit.json` |
| ai-api | registry:file | — | `npx shadcn@latest add https://platejs.org/r/ai-api.json` |
| copilot-api | registry:file | — | `npx shadcn@latest add https://platejs.org/r/copilot-api.json` |
| media-uploadthing-api | registry:file | — | `npx shadcn@latest add https://platejs.org/r/media-uploadthing-api.json` |
| settings-dialog | registry:component | — | `npx shadcn@latest add https://platejs.org/r/settings-dialog.json` |
| use-chat | registry:component | — | `npx shadcn@latest add https://platejs.org/r/use-chat.json` |
| transforms | registry:component | — | `npx shadcn@latest add https://platejs.org/r/transforms.json` |
| transforms-classic | registry:component | — | `npx shadcn@latest add https://platejs.org/r/transforms-classic.json` |
| plate-types | registry:component | — | `npx shadcn@latest add https://platejs.org/r/plate-types.json` |
| editor-ai | registry:block | An AI editor | `npx shadcn@latest add https://platejs.org/r/editor-ai.json` |
| editor-select | registry:block | A multi-select editor | `npx shadcn@latest add https://platejs.org/r/editor-select.json` |
| editor-basic | registry:block | A basic editor | `npx shadcn@latest add https://platejs.org/r/editor-basic.json` |
| slate-to-html | registry:block | — | `npx shadcn@latest add https://platejs.org/r/slate-to-html.json` |
| suggestion | registry:lib | — | `npx shadcn@latest add https://platejs.org/r/suggestion.json` |
| uploadthing | registry:hook | — | `npx shadcn@latest add https://platejs.org/r/uploadthing.json` |
| markdown-joiner-transform | registry:hook | — | `npx shadcn@latest add https://platejs.org/r/markdown-joiner-transform.json` |
| tailwind-scrollbar-hide | registry:style | — | `npx shadcn@latest add https://platejs.org/r/tailwind-scrollbar-hide.json` |
| highlight-style | registry:style | — | `npx shadcn@latest add https://platejs.org/r/highlight-style.json` |
| use-debounce | registry:hook | — | `npx shadcn@latest add https://platejs.org/r/use-debounce.json` |
| use-mobile | registry:hook | — | `npx shadcn@latest add https://platejs.org/r/use-mobile.json` |
| use-mounted | registry:hook | — | `npx shadcn@latest add https://platejs.org/r/use-mounted.json` |
| use-is-touch-device | registry:hook | — | `npx shadcn@latest add https://platejs.org/r/use-is-touch-device.json` |
| copilot-demo | registry:example | Renders AI ghost text suggestions at the cursor position. | `npx shadcn@latest add https://platejs.org/r/copilot-demo.json` |
| select-editor-demo | registry:example | A form with a select editor component for managing labels. | `npx shadcn@latest add https://platejs.org/r/select-editor-demo.json` |
| controlled-demo | registry:example | — | `npx shadcn@latest add https://platejs.org/r/controlled-demo.json` |
| huge-document-demo | registry:example | — | `npx shadcn@latest add https://platejs.org/r/huge-document-demo.json` |
| hundreds-editors-demo | registry:example | — | `npx shadcn@latest add https://platejs.org/r/hundreds-editors-demo.json` |
| multiple-editors-demo | registry:example | — | `npx shadcn@latest add https://platejs.org/r/multiple-editors-demo.json` |
| version-history-demo | registry:example | — | `npx shadcn@latest add https://platejs.org/r/version-history-demo.json` |
| preview-markdown-demo | registry:example | — | `npx shadcn@latest add https://platejs.org/r/preview-markdown-demo.json` |
| markdown-to-slate-demo | registry:example | — | `npx shadcn@latest add https://platejs.org/r/markdown-to-slate-demo.json` |
| markdown-streaming-demo | registry:example | — | `npx shadcn@latest add https://platejs.org/r/markdown-streaming-demo.json` |
| collaboration-demo | registry:example | Real-time collaboration with cursors and selections. | `npx shadcn@latest add https://platejs.org/r/collaboration-demo.json` |
| installation-next-demo | registry:example | — | `npx shadcn@latest add https://platejs.org/r/installation-next-demo.json` |
| tabbable-demo | registry:example | — | `npx shadcn@latest add https://platejs.org/r/tabbable-demo.json` |
| docs-meta | registry:file | Fumadocs metadata for plate documentation | `npx shadcn@latest add https://platejs.org/r/docs-meta.json` |
| docs | registry:file | All documentation files for plate | `npx shadcn@latest add https://platejs.org/r/docs.json` |
| fumadocs | registry:file | Fumadocs app for plate | `npx shadcn@latest add https://platejs.org/r/fumadocs.json` |
| controlled-docs | registry:file | Control initial values, persistence, replacement, and async initialization. | `npx shadcn@latest add https://platejs.org/r/controlled-docs.json` |
| debugging-docs | registry:file | Debugging in Plate. | `npx shadcn@latest add https://platejs.org/r/debugging-docs.json` |
| editing-behavior-docs | registry:file | How Plate handles Enter, Backspace, merge, normalize, and selection behavior. | `npx shadcn@latest add https://platejs.org/r/editing-behavior-docs.json` |
| editor-methods-docs | registry:file | Read, mutate, and configure a Plate editor instance. | `npx shadcn@latest add https://platejs.org/r/editor-methods-docs.json` |
| editor-docs | registry:file | Learn how to configure and customize the Plate editor. | `npx shadcn@latest add https://platejs.org/r/editor-docs.json` |
| feature-kits-docs | registry:file | Use registry kits to add groups of Plate plugins and UI wiring. | `npx shadcn@latest add https://platejs.org/r/feature-kits-docs.json` |
| form-docs | registry:file | How to integrate Plate editor with react-hook-form. | `npx shadcn@latest add https://platejs.org/r/form-docs.json` |
| performance-docs | registry:file | Latest Plate vs Slate large-document benchmark snapshot and how to rerun it locally. | `npx shadcn@latest add https://platejs.org/r/performance-docs.json` |
| playwright-docs | registry:file | Learn how to write Playwright tests that integrate with Plate. | `npx shadcn@latest add https://platejs.org/r/playwright-docs.json` |
| plugin-components-docs | registry:file | Render Plate plugin nodes with React components. | `npx shadcn@latest add https://platejs.org/r/plugin-components-docs.json` |
| plugin-context-docs | registry:file | Use editor, plugin, option, API, and transform context inside Plate plugins. | `npx shadcn@latest add https://platejs.org/r/plugin-context-docs.json` |
| plugin-input-rules-docs | registry:file | Typed editor rules for markdown shortcuts, block fences, autolinks, and text substitutions. | `npx shadcn@latest add https://platejs.org/r/plugin-input-rules-docs.json` |
| plugin-methods-docs | registry:file | Configure, extend, and override Plate plugins. | `npx shadcn@latest add https://platejs.org/r/plugin-methods-docs.json` |
| plugin-rules-docs | registry:file | Configure common editing behaviors. | `npx shadcn@latest add https://platejs.org/r/plugin-rules-docs.json` |
| plugin-shortcuts-docs | registry:file | Configure keyboard shortcuts on Plate plugins. | `npx shadcn@latest add https://platejs.org/r/plugin-shortcuts-docs.json` |
| plugin-docs | registry:file | How to configure and customize Plate plugins. | `npx shadcn@latest add https://platejs.org/r/plugin-docs.json` |
| static-docs | registry:file | A minimal, memoized, read-only version of Plate with RSC/SSR support. | `npx shadcn@latest add https://platejs.org/r/static-docs.json` |
| troubleshooting-docs | registry:file | Diagnose common Plate setup and runtime issues. | `npx shadcn@latest add https://platejs.org/r/troubleshooting-docs.json` |
| typescript-docs | registry:file | Configure TypeScript (tsconfig) for using Plate, including module resolution solutions. | `npx shadcn@latest add https://platejs.org/r/typescript-docs.json` |
| unit-testing-docs | registry:file | Learn how to unit test Plate editor and plugins. | `npx shadcn@latest add https://platejs.org/r/unit-testing-docs.json` |
| ai-docs | registry:file | AI-powered writing assistance. | `npx shadcn@latest add https://platejs.org/r/ai-docs.json` |
| copilot-docs | registry:file | AI-powered text completion suggestions. | `npx shadcn@latest add https://platejs.org/r/copilot-docs.json` |
| comment-docs | registry:file | Documentation for Comment | `npx shadcn@latest add https://platejs.org/r/comment-docs.json` |
| discussion-docs | registry:file | Documentation for Discussion | `npx shadcn@latest add https://platejs.org/r/discussion-docs.json` |
| suggestion-docs | registry:file | Documentation for Suggestion | `npx shadcn@latest add https://platejs.org/r/suggestion-docs.json` |
| yjs-docs | registry:file | Real-time collaboration with Yjs | `npx shadcn@latest add https://platejs.org/r/yjs-docs.json` |
| basic-blocks-docs | registry:file | Paragraphs, headings, blockquotes, and horizontal rules. | `npx shadcn@latest add https://platejs.org/r/basic-blocks-docs.json` |
| blockquote-docs | registry:file | Documentation for Blockquote | `npx shadcn@latest add https://platejs.org/r/blockquote-docs.json` |
| callout-docs | registry:file | Documentation for Callout | `npx shadcn@latest add https://platejs.org/r/callout-docs.json` |
| code-block-docs | registry:file | Documentation for Code Block | `npx shadcn@latest add https://platejs.org/r/code-block-docs.json` |
| code-drawing-docs | registry:file | Documentation for Code Drawing | `npx shadcn@latest add https://platejs.org/r/code-drawing-docs.json` |
| column-docs | registry:file | Documentation for Column | `npx shadcn@latest add https://platejs.org/r/column-docs.json` |
| date-docs | registry:file | Inline void date elements with canonical and raw date storage. | `npx shadcn@latest add https://platejs.org/r/date-docs.json` |
| equation-docs | registry:file | Block and inline LaTeX equation nodes rendered with KaTeX. | `npx shadcn@latest add https://platejs.org/r/equation-docs.json` |
| excalidraw-docs | registry:file | Void Excalidraw drawing blocks stored inside Plate values. | `npx shadcn@latest add https://platejs.org/r/excalidraw-docs.json` |
| footnote-docs | registry:file | Documentation for Footnote | `npx shadcn@latest add https://platejs.org/r/footnote-docs.json` |
| heading-docs | registry:file | H1 through H6 block elements with shortcuts, input rules, and static renderers. | `npx shadcn@latest add https://platejs.org/r/heading-docs.json` |
| horizontal-rule-docs | registry:file | Void divider blocks rendered as horizontal rules. | `npx shadcn@latest add https://platejs.org/r/horizontal-rule-docs.json` |
| link-docs | registry:file | Documentation for Link | `npx shadcn@latest add https://platejs.org/r/link-docs.json` |
| list-classic-docs | registry:file | Documentation for List Classic | `npx shadcn@latest add https://platejs.org/r/list-classic-docs.json` |
| media-docs | registry:file | Documentation for Media | `npx shadcn@latest add https://platejs.org/r/media-docs.json` |
| mention-docs | registry:file | Inline markable void mentions backed by trigger combobox input. | `npx shadcn@latest add https://platejs.org/r/mention-docs.json` |
| table-docs | registry:file | Documentation for Table | `npx shadcn@latest add https://platejs.org/r/table-docs.json` |
| toc-docs | registry:file | Documentation for Table of Contents | `npx shadcn@latest add https://platejs.org/r/toc-docs.json` |
| toggle-docs | registry:file | Documentation for Toggle | `npx shadcn@latest add https://platejs.org/r/toggle-docs.json` |
| combobox-docs | registry:file | Documentation for Combobox | `npx shadcn@latest add https://platejs.org/r/combobox-docs.json` |
| emoji-docs | registry:file | Inline emoji search and toolbar emoji picking. | `npx shadcn@latest add https://platejs.org/r/emoji-docs.json` |
| slash-command-docs | registry:file | Documentation for Slash Command | `npx shadcn@latest add https://platejs.org/r/slash-command-docs.json` |
| exit-break-docs | registry:file | Documentation for Exit Break | `npx shadcn@latest add https://platejs.org/r/exit-break-docs.json` |
| forced-layout-docs | registry:file | Path-based normalization for required document structure. | `npx shadcn@latest add https://platejs.org/r/forced-layout-docs.json` |
| single-block-docs | registry:file | Restrict an editor to one root block or one line of text. | `npx shadcn@latest add https://platejs.org/r/single-block-docs.json` |
| trailing-block-docs | registry:file | Keep a required block at the end of an editor or nested level. | `npx shadcn@latest add https://platejs.org/r/trailing-block-docs.json` |
| autoformat-docs | registry:file | Markdown shortcuts and text substitutions powered by input rules. | `npx shadcn@latest add https://platejs.org/r/autoformat-docs.json` |
| block-menu-docs | registry:file | Context-menu actions for selected editor blocks. | `npx shadcn@latest add https://platejs.org/r/block-menu-docs.json` |

## For AI agents

```text
You are adding components from @plate to a shadcn-compatible project.
1. Read this file (https://sh4dcn.vercel.app/md/plate.md) for the component list.
2. Fetch the machine-readable index: https://platejs.org/r/registry.json
3. Install a single component with its install command from the table above.
4. Full structured record: https://sh4dcn.vercel.app/json (library slug: plate).
```
