The config object
The root of every config file.
| Key | Type | Required | Notes |
|---|---|---|---|
$schema |
string | no | Path or URL to this JSON Schema, for editor autocomplete. Use https://mlabel.vlad.gg/mlabel.schema.json for a standalone config. |
version |
2 |
yes | Config format version. This build reads version 2 only; a config with no version, or a different one, is rejected with a single clear message rather than a cascade of shape errors. |
ui |
object | no | Chrome-level presentation. |
network |
object | no | Network policy. The update check is the only remote request this app ever performs, and it is opt-out. |
input |
object | yes | What is read from the source file and shown read-only. |
output |
object | yes | What the labeler captures, or the app fills in. |
Chrome-level presentation.
| Key | Type | Required | Notes |
|---|---|---|---|
appTitle |
string | object | no | The window title: a literal string, or { "field": "…" } to use the value of an input field, which changes per record. |
network
Section titled “network”Network policy. The update check is the only remote request this app ever performs, and it is opt-out.
| Key | Type | Required | Notes |
|---|---|---|---|
updateChecks |
boolean | no | Whether to check GitHub Releases for updates. false forbids every network call the app could make. Absent or true means checks run. |
What is read from the source file and shown read-only.
| Key | Type | Required | Notes |
|---|---|---|---|
adapterId |
string | no | Which format adapter handles this side. csv is the only one built in; it also reads .tsv. min length 1 |
adapterConfig |
object | no | Opaque, adapter-owned options — for CSV, delimiter and quoteChar on input, delimiter and newline on output. The core never reads this, so it is the one object in the config where unknown keys are allowed. |
fields |
array of InputField | yes | The source columns to read and show read-only. at least 1 item |
rules |
array of DisplayRule | no | Purely visual rules over displayed input values. A rule can never change what is exported. |
cards |
array of Card | no | Layout. Omit for one implicit card holding every field, one per row. |
output
Section titled “output”What the labeler captures, or the app fills in.
| Key | Type | Required | Notes |
|---|---|---|---|
adapterId |
string | no | Which format adapter handles this side. csv is the only one built in; it also reads .tsv. min length 1 |
adapterConfig |
object | no | Opaque, adapter-owned options — for CSV, delimiter and quoteChar on input, delimiter and newline on output. The core never reads this, so it is the one object in the config where unknown keys are allowed. |
fields |
array of OutputField | yes | The columns written to the output file. at least 1 item |
cards |
array of Card | no | Layout. Omit for one implicit card holding every field, one per row. |