mcpField
T
tiptap

tiptap

github.com/oakossDevelopment21112 installsUpdated 12w ago
Repository

About tiptap

tiptap is a headless rich-text editor built on ProseMirror, with a modular extension system for React applications. It suits developers building content editors and collaboration features.

Key features

  1. 01Modular extension system
  2. 02React integration
  3. 03Built-in text and list features
  4. 04Markdown support
  5. 05Optional real-time collaboration

Use cases

  1. 01Building blog and documentation editors
  2. 02Adding comment or task-list interfaces
  3. 03Creating collaborative editing apps

Install

Copy the command and run it in a terminal.

$npx skills add https://github.com/oakoss/agent-skills --skill tiptap

After installing, type/tiptapin Claude Code to confirm it loaded.

Bundled files

References and scripts installed along with SKILL.md.

references/
extensions.md
image-upload.md
known-issues.md
patterns.md
prose-styling.md
setup.md

Details

From the project README

Tiptap Rich Text Editor

Overview

Tiptap is a headless rich text editor built on ProseMirror, providing a modular extension system for React applications. It supports React 19, Tailwind v4, and SSR frameworks like Next.js. Use when building blog editors, comment systems, documentation tools, or Notion-like collaborative apps. Do NOT use with Create React App (CRA is incompatible with Tiptap v3 ESM module structure; use Vite instead).

Quick Reference

PatternAPI / Key Point
Create editoruseEditor({ extensions: [StarterKit], immediatelyRender: false })
Render editor<EditorContent editor={editor} />
Prose stylingAdd className="prose dark:prose-invert max-w-none" to container
Configure StarterKitStarterKit.configure({ heading: { levels: [1, 2, 3] } })
Disable undo/redoStarterKit.configure({ undoRedo: false }) (required for Y.js collab)
Image uploadSet allowBase64: false, use upload handler with URL replacement
Markdown supportimport { Markdown } from '@tiptap/markdown' (official, open-source)
shadcn componentnpx shadcn@latest add https://raw.githubusercontent.com/Aslam97/shadcn-minimal-tiptap/main/registry/block-registry.json
Null guarduseEditor() returns Editor | null — guard before calling methods

Core Dependencies

PackagePurpose
@tiptap/reactReact integration (React 19 supported since v2.10.0)
@tiptap/starter-kitBundled extensions: marks, nodes, and functionality
@tiptap/pmProseMirror peer dependency (required, not auto-installed)
@tailwindcss/typographyProse styling for headings, lists, links

StarterKit v3 Contents

CategoryIncluded
MarksBold, Italic, Strike, Code, Link (v3), Underline (v3)
NodesDocument, Paragraph, Text, Heading, BulletList, OrderedList, ListItem, Blockquote, CodeBlock, HorizontalRule, HardBreak
FunctionalityUndo/Redo, Dropcursor, Gapcursor, ListKeymap (v3), TrailingNode (v3)

Common Additional Extensions

ExtensionPackageUse Case
Image@tiptap/extension-imageImage support with resize
Color@tiptap/extension-colorText color (requires TextStyle)
Typography@tiptap/extension-typographySmart quotes, dashes, ellipsis
Placeholder@tiptap/extension-placeholderPlaceholder text (requires CSS)
Table@tiptap/extension-tableTable support (+ Row, Cell, Header)
TaskList@tiptap/extension-task-listCheckbox task lists
CodeBlockLowlight@tiptap/extension-code-block-lowlightSyntax-highlighted code
Collaboration@tiptap/extension-collaborationReal-time multi-user editing (Y.js)
Markdown@tiptap/markdownBidirectional markdown (open-source)

Common Mistakes

MistakeFix
Missing immediatelyRender: falseAdd to useEditor() config — required for SSR/Next.js
No prose classes on editor containerAdd className="prose prose-sm dark:prose-invert max-w-none"
Images stored as base64Set allowBase64: false, use upload handler with URL replacement
Using EditorProvider + useEditor togetherChoose one — EditorProvider wraps useEditor internally
Undo/Redo enabled with CollaborationSet undoRedo: false in StarterKit when using Y.js
ProseMirror version conflictsAdd resolutions for prosemirror-model/view/state in package.json
Using Create React AppSwitch to Vite — CRA incompatible with v3 ESM modules
Not checking editor for nulluseEditor() returns Editor | null — guard before use
Using history: false for collabConfig key renamed to undoRedo in v3
Importing @tiptap/extension-markdownCorrect package is @tiptap/markdown

Delegation

  • Tailwind styling: see tailwind skill
  • Form integration: see tanstack-form skill

References

Comments

Markdown supported