Tiptap — паттерны API для WYSIWYG-редактора
engineering
tiptap-editor is a Claude Code skill that documents correct Tiptap API usage patterns for building the vmark WYSIWYG editor. It clarifies when to rely on Tiptap's high-level API — format commands, block type changes, list and table operations, content insertion, and state queries — versus when direct ProseMirror access is appropriate, such as in the Markdown conversion layer (`proseMirrorToMdast.ts`, `mdastToProseMirror.ts`), multi-cursor subclassing, or low-level transaction manipulation. Key patterns covered include `editor.commands.toggleBold()`, chained calls via `editor.chain().focus().run()`, and `$pos` helpers for node traversal instead of the flattening `doc.textContent`. The skill also documents three known vmark issues: block boundary loss in `cursorHandlers.ts`, cursor sync drift after WYSIWYG edits, and a wrong-store write in `HtmlNodeView.ts`.
- #tiptap
- #wysiwyg-editor
- #prosemirror
- #node-traversal
- #text-editing