Deno
Plugins are TypeScript run under Deno (ADR-008), so adeno has to exist on the machine. Arch is the only distribution that packages one, and Cordial’s AUR packages depend on it. Fedora and Debian ship none, and inside the Flatpak there is no host to install one on.
Where there is no deno on PATH, Settings → Plugins shows a row offering to download it. The row is absent when you already have one, and a deno on PATH is always used in preference to the downloaded one.
- It is a pinned Deno release, about 39 MB, downloaded once.
- Its checksum is written into Cordial’s source and verified before the file is put in place.
- It lands under Cordial’s own data directory, not anywhere system-wide.
Before 0.13.1 there was no interpreter and no row. On every install except a hand-built one with Deno already present, plugins were listed, granted and switched on without running a line.
Load a plugin from a folder
While writing a plugin, skip the archive. Either put the folder in the plugins directory, so thatplugin.json is at <plugin-id>/plugin.json, or load it where it is.
To load a folder in place, open Settings → Plugins → Developing a plugin → Add a plugin folder and choose the folder that has
plugin.json in it.
- It is listed under Installed with a Development tag and its path, with the same switch, permissions and health line as any other plugin. There is no update or uninstall, because there is no archive to replace.
- The minus button on its row stops Cordial loading the folder. It asks first and never deletes the folder or anything in it. What you allowed the plugin stays on the profile.
- Adding or removing a folder takes effect the next time you press Roblox. Edits inside a listed folder reload as you save. Why: ADR-038.
- A folder whose id an installed or built-in plugin already has, and one that has gone missing, are listed with the reason they did not load.
- Folders you put in
CORDIAL_UNPACKED_PLUGINSyourself, outside Settings, are not shown on this page and cannot be removed from it.
What needs a restart
Nothing, except FastFlags. A running client notices a new plugin directory, a grant, and Settings’ own switch within a second or two, and starts, stops or restarts only the plugin that changed (ADR-038). That covers installing, updating, removing, enabling, disabling and granting. Aflags.write layer takes effect at the next launch, because the engine reads its flags once at startup.