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.

reading-time.tsPlanned API
// 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

The ecosystemBrowse the plugin marketplace

In development

We'll announce the Plugin Engine in the changelog the day it ships.

Ready to build your next site?

Start on Cloud in minutes, or scaffold your own project with one command.

$npx create-lyrix-app