> ## Documentation Index
> Fetch the complete documentation index at: https://docs.bluejutzu.dev/llms.txt
> Use this file to discover all available pages before exploring further.

# $schema Reference for .glua-baseline.json

> Every property baseline.schema.json accepts — the schema behind the findings glua lint --suppress-all accepts into .glua-baseline.json.

`.glua-baseline.json` is validated against
[glua.bluejutzu.dev/schemas/baseline.schema.json](https://glua.bluejutzu.dev/schemas/baseline.schema.json).
Unlike `.glua.json` and `.gluafmtrc.json`, you do not write this file by hand —
`glua lint --suppress-all` and `--prune-suppressions` write it for you. See
[Adopting on a codebase you inherited](/glua/reference/cli#adopting-on-a-codebase-you-inherited)
for the workflow this file supports.

<Info>
  The schema sets `additionalProperties: false` at the top level, and requires `files`.
</Info>

## Properties

<ParamField path="$schema" type="string">
  URL of the JSON schema for this file. Written automatically by `glua lint --suppress-all`.
</ParamField>

<ParamField path="generated" type="string">
  When the baseline was last written, as an ISO timestamp. For a human reading a diff — never read back.
</ParamField>

<ParamField path="files" type="object" required>
  Project-relative file path → rule code → number of findings accepted for it. See [Shape of `files`](#shape-of-files).
</ParamField>

## Shape of `files`

Keyed by file path, then by the **diagnostic code** (the kebab-case name shown
in the Problems panel and listed on the [rules reference](/glua/reference/rules) —
not the camelCase settings key used in `.glua.json`), then a count of at least
`1`.

```json theme={"system"}
{
  "$schema": "https://glua.bluejutzu.dev/schemas/baseline.schema.json",
  "generated": "2026-08-20T12:00:00.000Z",
  "files": {
    "lua/autorun/server/sv_legacy.lua": {
      "unused-local": 4,
      "undefined-global": 2
    },
    "lua/entities/my_ent/init.lua": {
      "argument-count": 1
    }
  }
}
```

Findings are counted per file and rule rather than by line number, so moving
code around does not invalidate the baseline — a file baselined at two
`unused-local` findings still accepts exactly two no matter where in the file
they move. A third one is reported as new.

<Warning>
  This file is generated. Hand-editing a count down is indistinguishable from the code actually improving, which is exactly what `--prune-suppressions` exists to do safely — see the [pruning note](/glua/reference/cli#adopting-on-a-codebase-you-inherited).
</Warning>
