greet executor that prints a message. This example uses
plain CommonJS JavaScript so you can run it without a compilation step. Once it
works, use the TypeScript executor contract to add types.
1. Prepare a workspace
Use an existing Isox workspace with Node.js 24 or 26+. If you need a new one:2. Create the plugin package
Create this directory structure:tools/isox-greeting/package.json:
executors field tells Isox where to find the registry. Add
tools/isox-greeting/executors.json:
tools/isox-greeting/greet.cjs:
{ success: false } or throw an error to fail the target. Isox passes
options to your executor; the executor is responsible for validating them.
3. Install and configure it
Install the local package so Isox can resolve it from the workspace root:apps/demo/project.json:
@example/isox-greeting:greet.
4. Run the executor
demo: My first Isox plugin works. The second overrides the
configured message and logs demo: Hello again!.
Reset refreshes cached project definitions after adding or editing project.json.
If you change the plugin’s package metadata, reinstall the local package too.
Where to go next
- Use TypeScript and package the build.
- Run processes, handle cancellation, and cache results.
- Add generators to configure projects automatically.
- Test the packaged plugin in a temporary workspace.
private: true, and check the package contents with
npm pack --dry-run. See layout and packaging for
compiled implementations and schemas.