Tiptap rich text editor for React and Next.js. Use when building or modifying rich text editors, @tiptap extensions, StarterKit, collaboration, comments, Content AI, import/export, or Pro extensions in this monorepo.
Guidance for coding agents working with the Tiptap rich text stack in this repository.
Use this skill when:
packages/ui/components/shadcn/rich-text-editor/@tiptap/* packagesDo not use this skill when:
<textarea> or a different editor)react-component-dev) or App Router structure (use nextjs-app-router)packages/ui/components/shadcn/rich-text-editor/editor.tsxextensions.tstoolbar.tsxpackages/ui/package.json (@tiptap/react, @tiptap/starter-kit, extensions)@asym/ui (deep imports); do not duplicate editor primitives inside apps/*@tiptap/* in a given workspace should use the same semver line. The root package.json may also list @tiptap/* for app-level usage—keep versions consistent with packages/ui when you touch eitherThis repo standardizes on Bun (bun, bunx). Prefer bunx for one-off CLIs; npx remains valid for the open Skills package manager.
| Purpose | Command |
|---|---|
| Install / refresh the upstream Tiptap agent skill in another workspace | npx skills add ueberdosis/tiptap |
| Tiptap project CLI (init, add UI pieces, cloud login) | bunx @tiptap/cli@latest (or npx @tiptap/cli@latest) |
When running Tiptap CLI against this monorepo, set the working directory to the package that owns the editor (packages/ui) unless the CLI docs require the app root.
After changing this canonical skill under docs/ai/skills/tiptap/, run:
bun run skills:sync
Then commit updates under .cursor/skills/ and .agents/skills/ so CI (bun run skills:verify) stays green.
@tiptap/* versions in the workspace you modifypro-extensions guide)immediatelyRender: false on useEditor (already done in editor.tsx; preserve when refactoring)useEditor, EditorContent, extensions)If you need to grep upstream source or docs locally, clone (or update) into a git-ignored folder such as .reference/ (see repo .gitignore):
Do not commit these clones.
When implementing these capabilities, open the matching section in tiptap-docs (local clone or https://tiptap.dev/docs):
collaboration/comments/tracked-changes/conversion/content-ai/collaboration/documents/pages/packages/ui/components/shadcn/rich-text-editor/* and trace how extensions and the toolbar map to the document schemapackages/ui (and align root @tiptap/* if those packages are also used at root)immediatelyRender: false for Next.js client editorsbunx turbo run lint --filter=@asym/ui and bunx turbo run typecheck --filter=@asym/uipackages/ui unless an app-only integration is explicitly required@tiptap/* versions aligned in touched workspacesimmediatelyRender: false where applicable)@asym/uireferences/upstream.md — attribution and refresh instructionsimmediatelyRender: false and breaking hydration in the App Router@tiptap/* versions across packagesapps/* instead of extending @asym/ui