# Checks

The actions of the lint group, with their input fields and their names on every transport.

3 actions: 3 on the command line, 3 as MCP tools, 2 as HTTP endpoints and 2 in the page.

## lint.run

**Lint.** Runs the grammar linter on slides in the static, rendered or both layers and returns findings.

| Field      | Type                             | Required | Description         |
| ---------- | -------------------------------- | -------- | ------------------- |
| `slideIds` | "all" \| string\[]               | yes      | Slide ids, or 'all' |
| `layers`   | "static" \| "rendered" \| "both" | no       |                     |
| `rule`     | one of 56 values                 | no       |                     |

* Command line: `turboslide lint <slideIds> --json`
* MCP tool: `deck_lint`
* HTTP: `POST /api/actions/lint.run`
* Runs on: command line, MCP, HTTP, page.
* Changes the presentation: no.

## fix.run

**Fix.** Applies the fix mutations of findings that carry one and reports what remains.

| Field          | Type               | Required | Description                                                      |
| -------------- | ------------------ | -------- | ---------------------------------------------------------------- |
| `slideIds`     | "all" \| string\[] | yes      | Slide ids, or 'all'                                              |
| `rule`         | one of 56 values   | no       |                                                                  |
| `dryRun`       | boolean            | no       |                                                                  |
| `baseRevision` | integer            | yes      | The revision the caller read; a stale value is rejected with 409 |

* Command line: `turboslide fix <slideIds> --rule <rule> --dry-run`
* MCP tool: `deck_fix`
* HTTP: `POST /api/actions/fix.run`
* Runs on: command line, MCP, HTTP, page.
* Changes the presentation: yes; send the `baseRevision` you read.

## judge.bundle

**Judge bundle.** Packages renders, sheets with cell maps, render records and findings into a directory for a judge run.

| Field      | Type               | Required | Description         |
| ---------- | ------------------ | -------- | ------------------- |
| `slideIds` | "all" \| string\[] | yes      | Slide ids, or 'all' |
| `out`      | string             | yes      |                     |

* Command line: `turboslide judge bundle --out <out>`
* MCP tool: `deck_judge_bundle`
* HTTP: No HTTP endpoint.
* Runs on: command line, MCP.
* Changes the presentation: no.
