Skip to main content
T1 is trusted local Node code and is not a sandbox. Run only a source you have reviewed and trust.
This page walks through a working T1 (local development) plugin from scratch: create the project → load it into evoX → assign it to a key → see it on the device. For tiers, you can first look at the Trust tiers page:

T0 · Data pack

Profile/icon/sound — no code, publishable today.

T1 · Local dev

This page. Separate Node process, not a sandbox.

T2 · Public sandbox

Default-deny capability; public upload closed.

1. Create the project

Node.js 20+ is enough; no installation needed:
The template produces:
runtime.mjs contains a ready example: the Hello action writes “Hello” when it appears on a key and shows the time when pressed. The template is produced in the CLI language (see Developer CLI); the values on this page are from the --lang en template.

2. Load it into evoX

1

Open the Developer window

In the evoX desktop app, go to the Plugins section and click the Developer button in the top bar.
2

Select the project

Select the my-plugin folder with Select project. The manifest is validated by the host; if there is an error you see a clear message.
3

Grant trust and start

Read the T1 risk text and confirm trust, then start the plugin. The plugin runs as a separate Node process; you follow its status and logs from the same window.
4

Assign it to a key

On the Keys screen, assign the Hello action from the action library to a key. “Hello” appears on the key; pressing it writes the time.

3. Development loop

  • Change the code → reload from the Developer window. You don’t need to close the app.
  • Logs are shown bounded/redacted in the same window; your console.error output lands here.
  • Identity belongs to the host: client.session.plugin.pluginId is assigned, the plugin cannot choose its own identity/permissions.

Next steps

Write an integration plugin

OBS/Twitch/Spotify-style Market integrations (full Node + npm).

First real plugin (tutorial)

Build a weather indicator with settings + host-brokered network.

Event reference

The full event and host-RPC surface.

Manifest

Runtime, permission and action fields.

Public target (T2)

sandbox-js project: npx @evoxapp/plugin-cli init my-plugin (default) — the publication target once public upload opens.