Skip to content
Schemas

Schemas your editor can read.

Ensemblr reads two configuration files, and each has a published JSON Schema so an editor can complete, validate and document it without Ensemblr running. Both are JSON Schema draft 2020-12.

~/.config/ensemblr/config.json

Ensemblr user config

User-scope app settings and declarative configuration. Ensemblr watches the file, so an external edit applies immediately, and every field falls back to its own default — one bad value costs that value rather than the file.

Add the key. Ensemblr writes it into the config it creates on first launch, so only an older file needs it by hand.

{
	"$schema": "https://www.ensemblr.dev/schemas/config.schema.json",
	"schemaVersion": 1,
	"app": {}
}

Guide: App settings

.ensemblr/settings.toml

Ensemblr repository settings

A repository’s committed per-repository settings, checked in and reviewed like code. It outranks every reader’s personal settings for that repository, and an unrecognised key becomes a warning naming its exact path rather than failing the file.

Taplo’s directive, as the first line. A save from Repo settings → Scripts re-serialises the file and drops its comments, but reads this one back and restores it.

#:schema https://www.ensemblr.dev/schemas/settings.schema.json

Guide: Repository settings

Provenance

Where these come from.

Both files are written in the app repository, at schemas/, and copied here verbatim — this site serves them because each one names this domain in its own $id. A check in CI compares the copies against the originals and fails when they differ.

TOML has no schema language of its own. Taplo — the engine behind the Even Better TOML extension — validates TOML against JSON Schema, which is why settings.toml gets one too.