sqlfluff lint --format json --dialect postgresql --help

Usage: sqlfluff lint [OPTIONS] [PATHS]...

  Lint SQL files via passing a list of files or using stdin.

  PATH is the path to a sql file or directory to lint. This can be either a
  file ('path/to/file.sql'), a path ('directory/of/sql/files'), a single ('-')
  character to indicate reading from *stdin* or a dot/blank ('.'/' ') which
  will be interpreted like passing the current working directory as a path
  argument.

  Linting SQL files:

      sqlfluff lint path/to/file.sql     sqlfluff lint directory/of/sql/files

  Linting a file via stdin (note the lone '-' character):

      cat path/to/file.sql | sqlfluff lint -     echo 'select col from tbl' |
      sqlfluff lint -

Options:
  -n, --nocolor / --color         No color - output will be without ANSI color
                                  codes.
  -v, --verbose                   Verbosity, how detailed should the output
                                  be. This is *stackable*, so `-vv` is more
                                  verbose than `-v`. For the most verbose
                                  option try `-vvvv` or `-vvvvv`.
  --version                       Show the version and exit.
  --stdin-filename PATH           When using stdin as an input, load the
                                  configuration as if the contents of stdin
                                  was in a file in the listed location. This
                                  is useful for some editors that pass file
                                  contents from the editor that might not
                                  match the content on disk.
  --library-path TEXT             Override the `library_path` value from the
                                  [sqlfluff:templater:jinja] configuration
                                  value. Set this to 'none' to disable
                                  entirely. This overrides any values set by
                                  users in configuration files or inline
                                  directives.
  --disable-noqa-except TEXT      Ignore all but the listed rules inline noqa
                                  comments.
  --disable-noqa                  Set this flag to ignore inline noqa
                                  comments.
  --logger [templater|lexer|parser|linter|rules|config]
                                  Choose to limit the logging to one of the
                                  loggers.
  --bench                         Set this flag to engage the benchmarking
                                  tool output.
  -i, --ignore TEXT               Ignore particular families of errors so that
                                  they don't cause a failed run. For example
                                  `--ignore parsing` would mean that any
                                  parsing errors are ignored and don't
                                  influence the success or fail of a run.
                                  `--ignore` behaves somewhat like `noqa`
                                  comments, except it applies globally.
                                  Multiple options are possible if comma
                                  separated: e.g. `--ignore
                                  parsing,templating`.
  --encoding TEXT                 Specify encoding to use when reading and
                                  writing files. Defaults to autodetect.
  --ignore-local-config           Ignore config files in default search path
                                  locations. This option allows the user to
                                  lint with the default config or can be used
                                  in conjunction with --config to only
                                  reference the custom config file.
  --config PATH                   Include additional config file. By default
                                  the config is generated from the standard
                                  configuration files described in the
                                  documentation. This argument allows you to
                                  specify an additional configuration file
                                  that overrides the standard configuration
                                  files. N.B. cfg format is required.
  -e, --exclude-rules TEXT        Exclude specific rules. For example
                                  specifying `--exclude-rules LT01` will
                                  remove rule `LT01` (Unnecessary trailing
                                  whitespace) from the set of considered
                                  rules. This could either be the allowlist,
                                  or the general set if there is no specific
                                  allowlist. Multiple rules can be specified
                                  with commas e.g. `--exclude-rules LT01,LT02`
                                  will exclude violations of rule `LT01` and
                                  rule `LT02`.
  -r, --rules TEXT                Narrow the search to only specific rules.
                                  For example specifying `--rules LT01` will
                                  only search for rule `LT01` (Unnecessary
                                  trailing whitespace). Multiple rules can be
                                  specified with commas e.g. `--rules
                                  LT01,LT02` will specify only looking for
                                  violations of rule `LT01` and rule `LT02`.
  -t, --templater [raw|jinja|python|placeholder]
                                  The templater to use (default=jinja)
  -d, --dialect TEXT              The dialect of SQL to lint
  --disregard-sqlfluffignores     Perform the operation regardless of
                                  .sqlfluffignore configurations
  --warn-unused-ignores           Warn about unneeded '-- noqa:' comments.
  --persist-timing TEXT           A filename to persist the timing information
                                  for a linting run to in csv format for
                                  external analysis. NOTE: This feature should
                                  be treated as beta, and the format of the
                                  csv file may change in future releases
                                  without warning.
  --disable-progress-bar          Disables progress bars.
  -p, --processes INTEGER         The number of parallel processes to run.
                                  Positive numbers work as expected. Zero and
                                  negative numbers will work as number_of_cpus
                                  - number. e.g  -1 means all cpus except one.
                                  0 means all cpus.
  -f, --format [human|json|yaml|github-annotation|github-annotation-native|none]
                                  What format to return the lint result in
                                  (default=human).
  --write-output TEXT             Optionally provide a filename to write the
                                  results to, mostly used in tandem with
                                  --format. NB: Setting an output file re-
                                  enables normal stdout logging.
  --annotation-level [notice|warning|failure|error]
                                  When format is set to "github-annotation" or
                                  "github-annotation-native", default
                                  annotation level (default="warning").
                                  "failure" and "error" are equivalent. Any
                                  rules configured only as warnings will
                                  always come through with type "notice"
                                  regardless of this option.
  --nofail                        If set, the exit code will always be zero,
                                  regardless of violations found. This is
                                  potentially useful during rollout.
  -h, --help                      Show this message and exit.
