Project Settings JSON Schema
Every LaTeX project includes a settings file. This page explains each field, the allowed types, and how to edit the file without breaking your project.
Where is this file?
In the file explorer, open:
/project/project.rudra.config.jsonWhile that file is open in the editor, hover a property for a hint, use autocomplete for valid keys, and watch for red underlines if a value does not match the schema.
What this file controls
project.rudra.config.json stores project-level settings: which .tex file is the main file, which compiler to use, and whether auto-compile and autosave are on. Extra properties are not allowed. If you add a key that is not listed below, the editor will flag it as invalid.
Field reference
| Property | Type | Required | What it means | Example |
|---|---|---|---|---|
| configVersion | string | Yes | Version of this settings file format. Use "1.0" for the current format. | "1.0" |
| project | object | Yes | Identifies the project and its main LaTeX file. | — |
| project.type | string | Yes | Kind of project. LaTeX projects use "latex". | "latex" |
| project.root | string | Yes | Project root folder. "." means the project root itself. | "." |
| project.mainTexPath | string | Yes | Path to the main .tex file, relative to project.root. This is the file used as the compile entry point. | "hello-world/main.tex" |
| latex | object | Yes | LaTeX toolchain settings for this project. | — |
| latex.compiler | object | Yes | The compiler used to build the PDF. | — |
| latex.compiler.name | string | Yes | Compiler name. Current projects typically use "tectonic". Other names are allowed. | "tectonic" |
| latex.compiler.version | string | Yes | Compiler version as text (not a number). For example "0.15.0". | "0.15.0" |
| sync | object | Yes | Editor sync defaults stored with the project. | — |
| sync.autoCompile | boolean | Yes | When true, the project should recompile after you edit. Use true or false, not "true". | true |
| sync.autosave | boolean | Yes | When true, the project should save automatically. The property name is autosave (lowercase s). | true |
Valid example
A complete settings file looks like this:
{
"configVersion": "1.0",
"project": {
"type": "latex",
"root": ".",
"mainTexPath": "hello-world/main.tex"
},
"latex": {
"compiler": {
"name": "tectonic",
"version": "0.15.0"
}
},
"sync": {
"autoCompile": true,
"autosave": true
}
}Common mistakes
- Using
"true"or"false"forsync.autoCompileorsync.autosave. These must be booleans:true/false. - Setting
latex.compiler.versionto a number such as0.15. It must be a string, for example"0.15.0". - Removing
project.mainTexPath. The main TeX path is required. - Adding extra keys (for example at the top level or inside
sync). Unknown properties are rejected. - Changing
configVersionaway from"1.0"unless a newer format has been published.
Hints in the editor
When you edit /project/project.rudra.config.json, the editor uses this schema automatically:
- Hover a property name to read what it does.
- Start typing inside an object to see allowed property names.
- Invalid types, missing required fields, and unknown keys are underlined.
Still stuck? Visit Help or contact support.
Last updated: Aug 17, 2026