
Plugin EngineComing soon
Extend it with plain functions.
Don't fight restrictive APIs. In Lyrix, creating a plugin to add new blocks, commands, or editing capabilities will be as simple as writing a TypeScript function.
Extend anytime, anywhere
Function-Based Hooks
Tap into Lyrix's lifecycle by exporting hooks. Hook into saving, publishing, or rendering.
Custom Field Types
Need a color picker? A map coordinate selector? Register custom UI fields that your content team can use anywhere.
Developer Native
No proprietary DSLs. Use the React and TypeScript knowledge you already have to extend the platform.
The plugin shape
A plugin is just a function.
Give it a name and a setup function. Inside setup, register whatever you want to add. No manifest format, no proprietary DSL, just TypeScript you can test and version like the rest of your code.
Sketch of the planned API. Names may change before release.
// lyrix/plugins/reading-time.ts
import type { LyrixPlugin } from "lyrix";
export const readingTime: LyrixPlugin = {
name: "reading-time",
setup(api) {
// Add a block editors can drop onto any page
api.registerBlock(ReadingTimeBlock);
// Add a command to the editor
api.registerCommand({
id: "reading-time.refresh",
label: "Recalculate reading time",
run: (page) => page.update(estimate(page)),
});
},
};Extension points
Five ways to extend Lyrix.
Everything a plugin can register, from what editors see to what visitors get.
Blocks
Ship new widgets your content team can drag onto any page.
Commands
Add actions to the editor, from tidy-ups to one-click imports.
Editor panels
Give editors custom fields and controls, like a color picker or a map selector.
AI tools
Plug your own prompts and models into Lyrix AI.
Render transforms
Adjust how page data turns into HTML before it reaches the browser.
Where plugins live
In your repo, next to your blocks.
Plugins sit in a plugins folder inside your project, so they're reviewed in pull requests and deployed with everything else. The starter template will ship with an example to copy.
lyrix/
plugins/
example-plugin.tsStarts with the template
reading-time.tsYour plugin
blocks.tsBlock registry
In development
We'll announce the Plugin Engine in the changelog the day it ships.
More of the toolkit
Ready to build your next site?
Start on Cloud in minutes, or scaffold your own project with one command.
$npx create-lyrix-app
