panache-lint(1)

NAME
panache-lint - Lint a Quarto, Pandoc, or Markdown document

SYNOPSIS
panache lint [--check] [--fix] [--message-format] [--force-exclude] [-h|--help] [-V|--version] [FILES]

DESCRIPTION
Lint a document to check for correctness issues and best practice violations. Unlike the formatter which handles style, the linter catches semantic problems like syntax errors, heading hierarchy issues, and broken references.

OPTIONS

--check
    Exit with code 1 if violations found (CI mode)

--fix
    Automatically fix violations where possible

--message-format <MESSAGE_FORMAT> [default: human]
    Diagnostic rendering format
    Possible values:

    •   human

    •   short

--force-exclude
    Apply exclude patterns from your configuration even to files passed explicitly on the command line. By default, explicitly-named files bypass exclude patterns: the assumption is that if you asked for a specific file, you want it processed. With --force-exclude, those patterns are honored regardless. This is primarily intended for pre-commit hooks (and similar tooling), which pass changed files explicitly but should still respect the project's exclude configuration.

-h, --help
    Print help (see a summary with '-h')

-V, --version
    Print version

[FILES]
    Path(s) to the input file(s) or directories to check. If not provided, or if the single argument `-` is given, reads from stdin. Supports .qmd, .md, .Rmd/.Rmarkdown, and other Markdown-based formats. Supports glob patterns (e.g., *.md) and directories (e.g., . or docs/). Directories are traversed recursively, respecting .gitignore files. `-` cannot be combined with other paths.

EXTRA
Configure rules in panache.toml with [lint] section.

VERSION
v2.48.0

SEE ALSO
panache(1), panache-format(1), panache-parse(1), panache-lsp(1), panache-clean(1), panache-debug(1)