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-linkOr browse the interactive picker via the CLI:
npx typix addStart 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)
| Extension | npm package | What it adds |
|---|---|---|
| Starter Kit | @typix-editor/extension-starter-kit | Rich-text + history + lists + headings + basic marks (bundles many of the below). |
| Link | @typix-editor/extension-link | Link node + click-to-open + serialization. |
| Tailwind | @typix-editor/extension-tailwind | Tailwind-friendly editor theme tokens. |
Text & inline formatting
| Extension | npm package | What it adds |
|---|---|---|
| Auto Complete | @typix-editor/extension-auto-complete | Inline ghost-text suggestions. |
| Auto Link | @typix-editor/extension-auto-link | URLs become links as you type. |
| Mention | @typix-editor/extension-mention | @-mention picker with custom trigger + suggestion list. |
| Keywords | @typix-editor/extension-keywords | Highlight a configurable set of keywords inline. |
| Markdown Shortcuts | @typix-editor/extension-markdown-shortcuts | Convert markdown syntax (## , * , > …) as you type. |
| Short Cuts | @typix-editor/extension-short-cuts | Keyboard shortcuts (⌘B, ⌘I, ⌘U, …). |
| Tab Focus | @typix-editor/extension-tab-focus | Tab key navigates in/out of the editor (a11y). |
Block-level
| Extension | npm package | What it adds |
|---|---|---|
| Collapsible | @typix-editor/extension-collapsible | Collapsible content sections. |
| Code Block | @typix-editor/extension-code-block | Multi-line code blocks with language selection. |
| Code Block Prettier | @typix-editor/extension-code-block-prettier | Format code blocks on demand. |
| Code Highlight (Prism) | @typix-editor/extension-code-highlight-prism | Syntax highlighting via Prism.js. |
| Code Highlight (Shiki) | @typix-editor/extension-code-highlight-shiki | Syntax highlighting via Shiki. |
| Table | @typix-editor/extension-table | Tables with merging, resizing, frozen headers. |
Media
| Extension | npm package | What it adds |
|---|---|---|
| Image | @typix-editor/extension-image | Block-level images with resize, alignment, caption, alt. |
| Drag & Drop Paste | @typix-editor/extension-drag-drop-paste | Drop/paste images into the editor. |
Editor surface
| Extension | npm package | What it adds |
|---|---|---|
| Floating Link | @typix-editor/extension-floating-link | Floating UI for editing inline links. |
| Draggable Block | @typix-editor/extension-draggable-block | Drag handle to reorder content blocks. |
| Context Menu | @typix-editor/extension-context-menu | Right-click context menu. |
| Slash Command | @typix-editor/extension-slash-command | Notion-style / menu for inserting blocks. |
Input & accessibility
| Extension | npm package | What it adds |
|---|---|---|
| Character Limit | @typix-editor/extension-character-limit | Visual character count + warning state. |
| Max Length | @typix-editor/extension-max-length | Hard cap on input length. |
| Speech to Text | @typix-editor/extension-speech-to-text | Voice 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.
| Extension | Paired 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-blockPer-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: