Quick Start
Create and install a complete Elyx plugin.
Build your first Elyx plugin
This tutorial creates a small localized greeting plugin with multiple Python files, persistent settings, and an SVG asset.
Create with ElyxBuilder
The fastest way to start is to let ElyxBuilder generate the initial project:
Complete the interactive wizard, then edit the generated metadata, source, locales, and resources. To generate a project without prompts:
The following steps build the same concepts manually, which is useful for
understanding refmap and the archive layout. If you started with
ElyxBuilder, keep its generated paths and adapt the example code to
<GeneratedName>/src/main.py.
See the complete ElyxBuilder guide for project generation, compiled builds, watch mode, ignore lists, and links to the official CLI documentation.
1. Create the project
Create this directory tree:
The directory name is not used as plugin metadata during installation, but
keeping it equal to id makes local development easier.
2. Map the files
Create refmap.yml:
All paths are relative to the archive root.
3. Add metadata
Create metainfo.yml:
id and name are required. The {plugin_description} placeholder is read
from the current locale.
4. Add translations
Create strings/strings_en.yml:
Create strings/strings_ru.yml:
English is the fallback locale, so always ship an en file.
5. Split out a helper module
Create src/__init__.py as an empty file, then add src/greeting.py:
Local modules are isolated inside this plugin. Another installed plugin can
also have src/greeting.py without causing an import collision.
6. Create the plugin class
Create main.py:
There are no top-level __id__ or __name__ constants in main.py.
Structured plugin metadata comes from metainfo.yml.
7. Add an asset
Save any valid SVG as assets/wave.svg. A minimal example is:
8. Create an archive
ZIP the contents of elyx_hello, not the outer directory. The first level
inside the archive must contain refmap.yml.
Rename the resulting ZIP file to elyx_hello.elyx or
elyx_hello.eaf.
If you use ElyxBuilder, run the command from the directory containing
refmap.yml:
See ElyxBuilder for compiled builds and watch mode, and Development and build for live reload.
9. Install and enable it
- Send the archive to the device or open it from a file manager.
- Open it with exteraGram.
- Review the metadata and installation warnings.
- Install the plugin and enable it.
- Open the plugin settings page.
The greeting row should follow the device language and the name saved in the input row.