Headless rich text editor built on ProseMirror with extensible architecture for building custom editors
94
{
"context": "This criteria evaluates the engineer's ability to implement keyboard shortcuts in @tiptap/core, including custom shortcut definition, extension configuration, and proper use of the keyboard shortcut system with platform-specific modifier keys.",
"type": "weighted_checklist",
"checklist": [
{
"name": "Editor initialization",
"description": "Creates an Editor instance using the Editor class from @tiptap/core with proper configuration including element mounting and extensions array",
"max_score": 10
},
{
"name": "StarterKit usage",
"description": "Includes StarterKit extension (or equivalent built-in formatting extensions like Bold, Italic, Strike, Code) to provide base formatting capabilities",
"max_score": 10
},
{
"name": "Custom Extension creation",
"description": "Creates a custom Extension using Extension.create() method to define keyboard shortcuts",
"max_score": 15
},
{
"name": "addKeyboardShortcuts method",
"description": "Uses the addKeyboardShortcuts() method within the custom extension to register keyboard shortcuts",
"max_score": 15
},
{
"name": "Format shortcuts",
"description": "Implements keyboard shortcuts for text formatting (bold, italic, strikethrough, code) using 'Mod-b', 'Mod-i', 'Mod-Shift-x', 'Mod-e' (or similar) where Mod handles platform differences",
"max_score": 20
},
{
"name": "Toggle commands",
"description": "Uses toggleBold(), toggleItalic(), toggleStrike(), and toggleCode() commands (or equivalent toggle commands) for formatting shortcuts",
"max_score": 10
},
{
"name": "Navigation shortcuts",
"description": "Implements selectAll and focus shortcuts using commands like selectAll() and focus() methods",
"max_score": 10
},
{
"name": "History shortcuts",
"description": "Implements undo and redo shortcuts using 'Mod-z' and 'Mod-Shift-z' with undo() and redo() commands",
"max_score": 5
},
{
"name": "Custom clear shortcut",
"description": "Implements a custom shortcut (e.g., 'Mod-Shift-d') that uses clearContent() command to remove all editor content",
"max_score": 5
}
]
}Install with Tessl CLI
npx tessl i tessl/npm-tiptap--coredocs
evals
scenario-1
scenario-2
scenario-3
scenario-4
scenario-5
scenario-6
scenario-7
scenario-8
scenario-9
scenario-10