Getting Started
Follow this document to create and run a FlexDesigner plugin.
Plugin Architecture
FlexDesigner plugins consist of two parts: a frontend and a backend.
Frontend
Frontend is built with vue3 and Vuetify3 and runs in a Chromium environment. Communicate with FlexDesigner via window object.
Backend
Backend is written in JavaScript and runs in Node.js. Communicate with FlexDesigner via WebSocket.
Prerequisites
To develop a FlexDesigner plugin, you need:
Node.js 18 or above
FlexDesigner v1.0.0 or above
A Flexbar
A code editor (we recommend VS Code)
We recommend using nvm to install and manage your Node.js environment. nvm for MacOS nvm for Windows
Obtaining the SDK
Use Flex CLI to install and configure the SDK.
Install FlexCLI
Run:
npm install -g @eniac/flexcli
This installs FlexCLI in your development environment. After installation, run flexcli in your terminal to ensure it’s correctly installed.
Create Your First Plugin
Run:
flexcli plugin create
Then follow the prompts to provide the required parameters.
Note: If you plan to share your plugin on our online platform, make sure to provide the correct repository link where your plugin is hosted. FlexDesigner will fetch and update your plugin from that link.
After a successful creation, your workspace will look like this:
│ .gitignore
│ package.json
│ rollup.config.mjs
│
├─com.eniac.example.plugin
│ │ config.json
│ │ manifest.json
│ │
│ ├─backend
│ ├─logs
│ ├─resources
│ └─ui
└─src
plugin.js
src
This directory contains your backend code, which runs as a child process in Node.js and communicates with FlexDesigner through WebSocket.
First Run
Make sure FlexDesigner is running, then execute:
npm run build
npm run dev
This automatically compiles, bundles, and installs your plugin. You should then see your plugin in FlexDesigner’s Key Library:

Any changes you make in the plugin will automatically sync with FlexDesigner.
Congratulations! You’ve successfully created and run your first plugin.
For further development, you can refer to the sample plugins:
Example – Shows all supported features and APIs
ScreenMirror – Mirrors a specific area of your screen to the Flexbar