StarterKit
Bundles common nodes, marks and editing behavior. Configure or disable individual children instead of installing duplicate names.
Bundles common nodes, marks and editing behavior. Configure or disable individual children instead of installing duplicate names.
@quirekit/starter-kit · MIT
Editor compatibility
Layer:Shared document capability
| Editor | Status | Assembly and boundaries |
|---|---|---|
| Classic | Supported | classicEditorPreset — Use the product-neutral classicEditorPreset without duplicating installed capabilities. The Word preset replaces paragraphs, headings and container lists; do not stack generic structures onto that model. |
| Block | Supported | createBlockEditorPreset — The default createBlockEditor preset installs this capability. Configure the corresponding preset child; graphic editing uses the preset's workspace ports, while persistence and assets remain host-owned. Avoid duplicate extensions. |
“Supported” means the product assembly above exists; interaction, host services and file formats retain their own conditions. See status and integration rules. Licensing is shown separately.
Installation
pnpm add @quirekit/starter-kit@alpha
Install in Editor extensions. The host supplies a view, container and persistence; see Quick start.
import { StarterKit } from '@quirekit/starter-kit'
const starter = StarterKit.configure({
heading: { levels: [1, 2, 3] },
undoRedo: false,
})
Use compatible versions available from your distribution source. This site uses the Alpha workspace. License labels come from package metadata; see support and licensing.
Integration by editor
These snippets use an existing host element named element. The host owns container sizing and persistence; call instance.destroy() on teardown. Avoid duplicating preset capabilities and supply required host ports before installation.
Classic · Supported
Use the product-neutral classicEditorPreset without duplicating installed capabilities. The Word preset replaces paragraphs, headings and container lists; do not stack generic structures onto that model.
classicEditorPresetimport { createClassicEditor } from '@quirekit/classic-editor'
import '@quirekit/classic-editor/styles.css'
const instance = createClassicEditor({ element })Block · Supported
The default createBlockEditor preset installs this capability. Configure the corresponding preset child; graphic editing uses the preset's workspace ports, while persistence and assets remain host-owned. Avoid duplicate extensions.
createBlockEditorPresetimport { createBlockEditor } from '@quirekit/block-editor'
import '@quirekit/block-editor/styles.css'
const instance = createBlockEditor({
element,
content: { type: 'doc', content: [{ type: 'paragraph' }] },
})Configuration
These are extension-level defaults. Presets can override them; they are distinct from current document attributes. See configuration.
document
Document extension options, or false to omit the extension.
Type:StarterKitExtensionOption<object>
Default:undefined
See Document for child settings. Only pass false when this field's type permits it.
paragraph
Paragraph extension options, or false to omit the extension.
Type:StarterKitExtensionOption<ParagraphOptions>
Default:undefined
See Paragraph for child settings. Only pass false when this field's type permits it.
text
Text extension options, or false to omit the extension.
Type:StarterKitExtensionOption<object>
Default:undefined
See Text for child settings. Only pass false when this field's type permits it.
blockquote
Blockquote extension options, or false to omit the extension.
Type:StarterKitExtensionOption<BlockquoteOptions>
Default:undefined
See Blockquote for child settings. Only pass false when this field's type permits it.
hardBreak
Hard break extension options, or false to omit the extension.
Type:StarterKitExtensionOption<HardBreakOptions>
Default:undefined
See HardBreak for child settings. Only pass false when this field's type permits it.
heading
Heading extension options, or false to omit the extension.
Type:StarterKitExtensionOption<HeadingOptions>
Default:undefined
See Heading for child settings. Only pass false when this field's type permits it.
horizontalRule
Horizontal rule extension options, or false to omit the extension.
Type:StarterKitExtensionOption<HorizontalRuleOptions>
Default:undefined
See HorizontalRule for child settings. Only pass false when this field's type permits it.
bold
Bold mark extension options, or false to omit the extension.
Type:StarterKitExtensionOption<BoldOptions>
Default:undefined
See Bold for child settings. Only pass false when this field's type permits it.
code
Code mark extension options, or false to omit the extension.
Type:StarterKitExtensionOption<CodeOptions>
Default:undefined
See Code for child settings. Only pass false when this field's type permits it.
codeBlock
Code block node extension options, or false to omit the extension.
Type:StarterKitExtensionOption<CodeBlockOptions>
Default:undefined
See CodeBlock for child settings. Only pass false when this field's type permits it.
bulletList
Bullet list node extension options, or false to omit the extension.
Type:StarterKitExtensionOption<BulletListOptions>
Default:undefined
See BulletList for child settings. Only pass false when this field's type permits it.
listItem
List item node extension options, or false to omit the extension.
Type:StarterKitExtensionOption<ListItemOptions>
Default:undefined
See ListItem for child settings. Only pass false when this field's type permits it.
listKeymap
List keymap extension options, or false to omit the extension.
Type:StarterKitExtensionOption<ListKeymapOptions>
Default:undefined
See ListKeymap for child settings. Only pass false when this field's type permits it.
orderedList
Ordered list node extension options, or false to omit the extension.
Type:StarterKitExtensionOption<OrderedListOptions>
Default:undefined
See OrderedList for child settings. Only pass false when this field's type permits it.
italic
Italic mark extension options, or false to omit the extension.
Type:StarterKitExtensionOption<ItalicOptions>
Default:undefined
See Italic for child settings. Only pass false when this field's type permits it.
strike
Strike mark extension options, or false to omit the extension.
Type:StarterKitExtensionOption<StrikeOptions>
Default:undefined
See Strike for child settings. Only pass false when this field's type permits it.
underline
Underline mark extension options, or false to omit the extension.
Type:StarterKitExtensionOption<UnderlineOptions>
Default:undefined
See Underline for child settings. Only pass false when this field's type permits it.
gapcursor
Gap cursor extension options, or false to omit the extension.
Type:StarterKitExtensionOption<object>
Default:undefined
See Gapcursor for child settings. Only pass false when this field's type permits it.
trailingNode
Trailing node extension options, or false to omit the extension.
Type:StarterKitExtensionOption<TrailingNodeOptions>
Default:undefined
See TrailingNode for child settings. Only pass false when this field's type permits it.
baseKeymap
Whether to include the base keymap extension.
Type:boolean
Default:undefined
See BaseKeymap for child settings. Only pass false when this field's type permits it.
undoRedo
Undo-redo extension options, or false to omit the extension.
Type:StarterKitExtensionOption<UndoRedoOptions>
Default:undefined
See UndoRedo for child settings. Only pass false when this field's type permits it.
Commands and runtime
This entry declares no directly enumerable commands. Children supply bundle commands; product plugins use contributions or document services.
Next steps
Return to all plugins, or read configuration to distinguish options, attributes and commands.
See extension development for custom capabilities and Build a product for complete hosting.