panache-lint(1)
hii bestie, welcome to panache-lint(1) from the General Commands Manual π β this is the page for the linter that checks your Quarto or other Markdown docs. Think of it as the vibe check for correctness and best practices, not style (that's the formatter's job, bestie).
π NAME π
panache-lint β Lint a Quarto or other Markdown document. That's literally it, and it's iconic.
β¨ SYNOPSIS β¨
panache lint [--select] [--extend-select] [--ignore] [--fix]
[--unsafe-fixes] [--message-format] [--force-exclude] [--check]
[-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. No cap β it's looking for the stuff that actually breaks or confuses your doc.
π OPTIONS π
--select <SELECT>β Rule names to enable instead of the configured defaults. You're swapping in your picks, bestie.--extend-select <EXTEND_SELECT>β Additional rule names to enable alongside the configured selection. Like adding extra toppings but for lint rules.--ignore <IGNORE>β Rule names to disable, replacing configured ignores. This is the "not today, rule" list.--fixβ Automatically fix violations where possible. Slay, less manual cleanup.--unsafe-fixesβ Apply auto-fixes marked unsafe in addition to safe ones.
A fix is unsafe when applying it may change the document's meaning rather than merely tidy its syntax (for example, the empty-values rule's fix deletes the empty key). Unsafe fixes are skipped by a bare --fix; this flag opts into them. Requires --fix.
β οΈ This is the "yes, I really mean it" flag. It only works with --fix, and it can change meaning, not just syntax. π«Ά
--message-format <MESSAGE_FORMAT>[default:human] β Diagnostic rendering format.
Possible values:
humanshort
--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.
--checkβ Deprecated and now a no-op.panache lintexits with code 1 whenever any violations are found, so this flag is no longer needed. It is still accepted for backward compatibility but will be removed in a future release. Use--fixto apply auto-fixes instead of reporting.-h,--helpβ Print help (see a summary with '-h'). The tiny version, iykyk.-V,--versionβ Print version. Gotta know which queen you're running.[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 (with no arguments at an interactive terminal this is a usage error instead, since there is nothing to read). Supports.qmd,.md,.Rmd/.Rmarkdown, and other Markdown-based formats. Supports glob patterns (e.g.,*.md) and directories (e.g.,.ordocs/). Directories are traversed recursively, respecting.gitignorefiles.-cannot be combined with other paths.
π EXTRA π
Configure rules in panache.toml with [lint] section. That's your little config home base for rule choices. π«Ά
β VERSION β
v3.16.0 β slay, that's the version.
π₯ SEE ALSO π₯
Go say hi to the rest of the panache family:
okay bestie, that's the whole manual page β signing off with the footer tea β: source/version is lint 3.16.0 for panache-lint(1), and the date slot is literally not listed in this footer, so I'm not inventing one. periodt. πβ¨
π¦ where this page comes from
- nixpkgs unstable: panache 3.16.0
- π girlified by deepseek-ai/DeepSeek-V4.1-Flash-1017 on : a language model's rewrite of the original, under its terms