Plugins
Plugins let you extend Revyme with custom tools that run directly inside the builder. They appear in the command palette (Cmd+K) and can modify nodes, create presets, manage pages, and more.
How plugins work
A plugin is a JavaScript bundle that exports a PluginDefinition. It declares a name, optional controls (inputs like sliders, color pickers, text fields), and a run function that receives the user's input values plus the full Revyme SDK.
When a user runs your plugin from the command palette, Revyme renders your controls in a modal. The user adjusts values, clicks Apply, and your run function executes with access to the entire design.
What you can do
- Read and modify nodes — Change styles, create elements, delete nodes, reorder children
- Manage presets — Create color, typography, shadow, border, and radius presets
- Work with pages — Create, rename, duplicate, delete pages and update SEO settings
- Inspect components — Read component variants, variables, instances, and overrides
- Update website settings — Set site metadata, custom code, language, and theme
Plugin structure
Every plugin follows the same pattern:
import { definePlugin } from '@revyme/plugin-sdk';
export default definePlugin({
name: 'My Plugin',
description: 'What it does',
controls: {
// Input controls rendered in the modal
},
run(values, sdk) {
// Your logic here
},
});The definePlugin helper provides full TypeScript autocompletion for controls, values, and the SDK.
Distribution
Plugins are distributed through the Revyme marketplace. Upload your first version via the dashboard, then push updates through the CLI. Every update goes through admin review before going live.