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

# Run Linters

The main commands when running `trunk` from the command line are:

```bash theme={null}
trunk check       # runs the universal linter on all applicable files
trunk fmt         # runs all the enabled formatters and auto-applies changes
```

You can always find this list using `trunk check --help`.

<Info>
  Trunk is git-aware. When you run `trunk check` it will **only run on files you've modified according to git**. To run on a sampling in your repo, run: `trunk check --sample 5`
</Info>

### check

`trunk check` runs linters & formatters on your changed files, prompting you to apply fixes. Without additional args, `trunk check` will run all applicable linters on all files changed in the current branch.

### fmt

Run all applicable formatters as configured in `trunk.yaml`. `trunk fmt` is short-hand for running\
`trunk check` with a `--fix --filter` set to all formatters enabled in your repository.

## Options

| options      |                                                                                                                                       |
| ------------ | ------------------------------------------------------------------------------------------------------------------------------------- |
| `--all`      | Run on all the files in the repository. Useful if trying to assess a new linter in the system, or to find and fix pre-existing issues |
| `--fix`      | Auto-apply all suggested fixes                                                                                                        |
| `--no-fix`   | Surface, but do not prompt for autofixes                                                                                              |
| `--filter`   | List of comma-separated linters to run. Specify `--filter=-linter` to disable a linter.                                               |
| `--sample=N` | Run check on a [sampling](#sample) of all files in the repo                                                                           |
| `--help`     | Output help information                                                                                                               |

### Recipes

| Check                                                        | Command                                      |
| ------------------------------------------------------------ | -------------------------------------------- |
| all files                                                    | `trunk check --all --no-fix`                 |
| a specific file                                              | `trunk check some/file.py`                   |
| all applicable files with flake8                             | `trunk check --all --no-fix --filter=flake8` |
| a selection of five files in the repo                        | `trunk check --sample 5`                     |
| a selection of five files in the repo with a specific linter | `trunk check --sample 5 --filter=flake8`     |
| format the whole repo                                        | `trunk fmt --all`                            |
| format a specific file                                       | `trunk fmt some/file.py`                     |
| format all python code with `black`                          | `trunk fmt --all --filter=black`             |
