Tiptap Core
Headless, framework-agnostic rich text editor toolkit built on ProseMirror
Repository Health
Technical Analysis
Tiptap Core is the foundational package of the Tiptap editor suite, a headless rich text editor framework with no bundled UI, giving developers full control over markup and styling. Built on top of ProseMirror, it provides the Editor class, extension system, and command framework that every Tiptap extension (bold, tables, collaboration, mentions, and 100+ others) plugs into, and ships bindings for React, Vue, and vanilla JavaScript.
What You Get
- The
Editorclass: a ProseMirror-backed editor instance with lifecycle events (create, update, selectionUpdate, focus, blur, destroy) Node,Mark, andExtensionbase classes for defining custom schema elements and behavior- A chainable, composable command API (
editor.chain().focus().toggleBold().run()) - An
ExtensionManagerandCommandManagerthat resolve extension configs, schemas, and commands at editor init time - Built-in core extensions for clipboard handling, keymaps, drop/paste events, tabindex, and text direction
- Framework-agnostic JSX runtime helpers used by the React and Vue bindings
Common Use Cases
- Building a custom WYSIWYG or Markdown-style editor UI from scratch with full design control
- Powering collaborative document editors (paired with Tiptap’s Yjs/Hocuspocus extensions)
- Embedding rich text editing inside CMS admin panels, comment boxes, or notion-like block editors
- Extending the schema with custom nodes/marks for domain-specific content (e.g. mentions, embeds, math)
Under The Hood
Architecture — The Editor class (src/Editor.ts) is the central object: it extends a typed EventEmitter, owns a ProseMirror EditorState/EditorView pair, and delegates schema/extension resolution to an ExtensionManager (src/ExtensionManager.ts) and command dispatch to a CommandManager (src/CommandManager.ts). Editor behavior is composed from Node, Mark, and Extension classes (src/Node.ts, src/Mark.ts, src/Extension.ts), all built on a shared Extendable base (src/Extendable.ts) that supports config inheritance/overrides, giving the whole ecosystem — starter-kit, extension-*, react, vue-2/3 — one consistent extension contract on top of this package. Tech Stack — Written entirely in strict-mode TypeScript (tsconfig.json sets strict: true, target: es2019), built with tsup per-package and orchestrated repo-wide with Turborepo (turbo.json) and pnpm workspaces (pnpm-workspace.yaml). The only runtime dependency is @tiptap/pm, Tiptap’s own repackaging of ProseMirror’s model/state/view modules, keeping the dependency surface deliberately thin. Code Quality — The monorepo enforces strict TypeScript, oxlint/oxfmt linting and formatting, commitlint/husky pre-commit hooks, and changesets for versioning. Core has a small but targeted Vitest unit-test suite (src/__tests__/, e.g. transformPastedHTML.test.ts, inputRuleInlineAtoms.test.ts) covering tricky parsing/paste edge cases, while broader editor-behavior coverage lives in a repo-wide Playwright end-to-end suite rather than exhaustive core unit tests — reasonable for a project whose correctness is largely delegated to ProseMirror’s own well-tested primitives. API Design — Public classes and config objects are extensively JSDoc-annotated with @default/@example tags (see NodeConfig in src/Node.ts), and the chainable editor.chain().focus().toggleBold().run() command pattern is consistent across every extension in the ecosystem, giving the API a low-boilerplate, discoverable feel once the extension/command mental model clicks.
Used by 1158 apps in this directory
Abby
Developer Tools · Product Management
Statically typed feature flags, remote config, and A/B testing with framework-native SDKs for TypeScript teams.
Abby
Developer Tools · Product Management
Statically typed feature flags, remote config, and A/B testing with framework-native SDKs for TypeScript teams.
Abby
Developer Tools · Product Management
Statically typed feature flags, remote config, and A/B testing with framework-native SDKs for TypeScript teams.
Abby
Developer Tools · Product Management
Statically typed feature flags, remote config, and A/B testing with framework-native SDKs for TypeScript teams.
Abby
Developer Tools · Product Management
Statically typed feature flags, remote config, and A/B testing with framework-native SDKs for TypeScript teams.
Abby
Developer Tools · Product Management
Statically typed feature flags, remote config, and A/B testing with framework-native SDKs for TypeScript teams.
Activepieces
Automation · AI Assistants
Open-source AI automation platform that converts 280+ workflow integrations into MCP servers for LLMs, with no-code builders and TypeScript extensibility.
Activepieces
Automation · AI Assistants
Open-source AI automation platform that converts 280+ workflow integrations into MCP servers for LLMs, with no-code builders and TypeScript extensibility.
Activepieces
Automation · AI Assistants
Open-source AI automation platform that converts 280+ workflow integrations into MCP servers for LLMs, with no-code builders and TypeScript extensibility.