Minimal project
jolter.json
| Field | Meaning |
|---|---|
runtime.node | Use Node.js 24.x |
tools.eslint | Install an ESLint 8.x tool release |
plugins["@eslint/eslint"] | Use the Jolter plugin provider in the 1.x line |
Built-in and plugin tools
Built-in tools and plugin-provided tools can coexist:jolter.json
pnpm is built in. eslint is resolved by the plugin selected in plugins.
Use canonical provider names
The registry can accept official aliases such aseslint, but committed project configuration should prefer canonical scoped names:
jolter.json
Selector rules
Plugin provider versions and plugin tool versions accept numeric selectors and wildcards:lts is only for Node.js runtimes. It is not valid for plugins, built-in tools, or plugin-provided tools.
Plugin-provided tool names and commands must be lowercase and use ASCII letters, digits, ., _, or -.
Sync behavior
--yes, Jolter verifies that required plugins are already installed. Missing plugins fail.
--yes, Jolter may install missing declared plugins before resolving plugin tools.
CI behavior
--yes only when the CI job is allowed to install plugin code declared by the repository.
For untrusted pull requests, prefer a read-only cache from a trusted branch or preinstalled plugins. Do not share a writable JOLTER_HOME across trust boundaries.
Review checklist
Before committing plugin requirements:- the canonical provider name;
- the plugin version selector;
- every command the plugin exposes;
- the registry host if
JOLTER_REGISTRY_URLis set; - any lockfile, script, or CI changes caused by the plugin-provided tool.