Layout
.jolter-install.json. Built-in tools contain .jolter-tool.json. Plugins contain .jolter-plugin.json. These are implementation state; do not edit them manually.
Active selections
config/active.json stores global fallback versions. Project requirements still win during shim dispatch.
Forced uninstall clears an active selection only when it removes the exact active version.
Cache
The cache stores:- provider metadata;
- verified downloaded archives;
- lock files used to coordinate cache and installation activity.
Locks and atomic publication
Jolter uses exact-version locks for runtime, tool, and plugin-tool publication and removal. It also uses metadata-key locks and a maintenance lock for cache cleanup. A version becomes visible at its final path only after integrity verification, extraction, payload checks, manifest writing, and atomic rename.Moving storage
SetJOLTER_HOME consistently, then run:
jolter sync into the new home. Copying installed executables across platforms or architectures is not guaranteed.
Manual cleanup
Prefer:JOLTER_HOME, make the smallest targeted change, and run jolter doctor.