Typix LogoTypix
Extensions

Overview

All 25 official Typix extensions — what each one ships and when to use it

Typix v2 ships 25 official extensions. Each is a separate npm package under the @typix-editor/extension-* scope. Install only what you use.

# One extension
pnpm add @typix-editor/extension-mention

# Several
pnpm add @typix-editor/extension-mention @typix-editor/extension-floating-link

Or browse the interactive picker via the CLI:

npx typix add

Start with the Starter Kit

StarterKit bundles the common defaults (rich text, history, headings, lists, links, basic marks). For 90% of projects, this is your first extension:

import { StarterKit } from "@typix-editor/extension-starter-kit";

const extensions = [StarterKit()];

Skip it only if you need a stripped-down editor (e.g., just inline marks, no block-level nodes).

All 25 by category

Core (always-on for most editors)

Extensionnpm packageWhat it adds
Starter Kit@typix-editor/extension-starter-kitRich-text + history + lists + headings + basic marks (bundles many of the below).
Link@typix-editor/extension-linkLink node + click-to-open + serialization.
Tailwind@typix-editor/extension-tailwindTailwind-friendly editor theme tokens.

Text & inline formatting

Extensionnpm packageWhat it adds
Auto Complete@typix-editor/extension-auto-completeInline ghost-text suggestions.
Auto Link@typix-editor/extension-auto-linkURLs become links as you type.
Mention@typix-editor/extension-mention@-mention picker with custom trigger + suggestion list.
Keywords@typix-editor/extension-keywordsHighlight a configurable set of keywords inline.
Markdown Shortcuts@typix-editor/extension-markdown-shortcutsConvert markdown syntax (## , * , > …) as you type.
Short Cuts@typix-editor/extension-short-cutsKeyboard shortcuts (⌘B, ⌘I, ⌘U, …).
Tab Focus@typix-editor/extension-tab-focusTab key navigates in/out of the editor (a11y).

Block-level

Extensionnpm packageWhat it adds
Collapsible@typix-editor/extension-collapsibleCollapsible content sections.
Code Block@typix-editor/extension-code-blockMulti-line code blocks with language selection.
Code Block Prettier@typix-editor/extension-code-block-prettierFormat code blocks on demand.
Code Highlight (Prism)@typix-editor/extension-code-highlight-prismSyntax highlighting via Prism.js.
Code Highlight (Shiki)@typix-editor/extension-code-highlight-shikiSyntax highlighting via Shiki.
Table@typix-editor/extension-tableTables with merging, resizing, frozen headers.

Media

Extensionnpm packageWhat it adds
Image@typix-editor/extension-imageBlock-level images with resize, alignment, caption, alt.
Drag & Drop Paste@typix-editor/extension-drag-drop-pasteDrop/paste images into the editor.

Editor surface

Extensionnpm packageWhat it adds
Floating Link@typix-editor/extension-floating-linkFloating UI for editing inline links.
Draggable Block@typix-editor/extension-draggable-blockDrag handle to reorder content blocks.
Context Menu@typix-editor/extension-context-menuRight-click context menu.
Slash Command@typix-editor/extension-slash-commandNotion-style / menu for inserting blocks.

Input & accessibility

Extensionnpm packageWhat it adds
Character Limit@typix-editor/extension-character-limitVisual character count + warning state.
Max Length@typix-editor/extension-max-lengthHard cap on input length.
Speech to Text@typix-editor/extension-speech-to-textVoice dictation via Web Speech API.

Extension shape

All extensions follow the same pattern. Most take an optional config via configExtension:

import { configExtension } from "@typix-editor/core";
import { MentionExtension } from "@typix-editor/extension-mention";

const extensions = [
  StarterKit(),
  configExtension(MentionExtension, {
    trigger: "@",
    // ...
  }),
];

Some extensions are bare exports (no config needed):

import { AutoLinkExtension } from "@typix-editor/extension-auto-link";

const extensions = [StarterKit(), AutoLinkExtension];

Some are constructors with options at call time:

import { DraggableBlockExtension } from "@typix-editor/extension-draggable-block";

const extensions = [StarterKit(), DraggableBlockExtension({ /* opts */ })];

The extension's docs page tells you which shape applies.

Many extensions have matching UI components

For each behavior extension, Typix UI often ships a paired React component that you vendor into your repo via the CLI's typix ui add.

ExtensionPaired UI component
extension-floating-link<FloatingLinkUI />
extension-mention<MentionUI />
extension-code-block<CodeBlockUI />
extension-table<TableUI />
extension-draggable-block<DraggableBlock />
extension-context-menu<EditorContextMenu />
extension-slash-command<SlashDropdownMenu />
extension-character-limit<CharacterLimit />
npx typix ui add floating-link mention code-block

More on UI vendoring →

Per-extension docs

Each extension has a dedicated page with its config options, exposed commands, and a live preview. Browse the sidebar or jump straight in:

On this page