# Feature catalog — stylelint/stylelint

> Canonical page: https://codevetter.com/unpack/stylelint/feature-catalog

# Feature catalog — stylelint/stylelint

Scanned commit bc06c7cdb1413de3d8dc939b33af138ab7e59df1 (2026-10-01). Generated by codevetter codevetter 1.15.0 on 2026-10-02.

Source inspection; upstream code and tests were not executed.

Users can lint files, glob patterns, or supplied code and configure which rules run. Diagnostics support severity controls, custom messages, multiple formats, inline disabling, autofixes, and edit information. Custom syntaxes, reference files, configuration inheritance, and suppressions extend the basic CSS workflow.
- The CLI accepts file paths and globs or reads stdin when no positional input exists; the Node API requires either files or a code string, rejecting simultaneous or missing inputs. — [lib/cli.mjs#L576-581](https://github.com/stylelint/stylelint/blob/bc06c7cdb1413de3d8dc939b33af138ab7e59df1/lib/cli.mjs#L576-L581) [lib/cli.mjs#L691-704](https://github.com/stylelint/stylelint/blob/bc06c7cdb1413de3d8dc939b33af138ab7e59df1/lib/cli.mjs#L691-L704) [lib/standalone.mjs#L80-87](https://github.com/stylelint/stylelint/blob/bc06c7cdb1413de3d8dc939b33af138ab7e59df1/lib/standalone.mjs#L80-L87)
- Configured rules cover error prevention and conventions; color-no-invalid-hex checks declaration values while skipping URL functions, and color-hex-length supports short/long notation with autofixing. — [README.md#L26-39](https://github.com/stylelint/stylelint/blob/bc06c7cdb1413de3d8dc939b33af138ab7e59df1/README.md#L26-L39) [lib/rules/color-no-invalid-hex/index.mjs#L23-62](https://github.com/stylelint/stylelint/blob/bc06c7cdb1413de3d8dc939b33af138ab7e59df1/lib/rules/color-no-invalid-hex/index.mjs#L23-L62) [lib/rules/color-hex-length/index.mjs#L19-79](https://github.com/stylelint/stylelint/blob/bc06c7cdb1413de3d8dc939b33af138ab7e59df1/lib/rules/color-hex-length/index.mjs#L19-L79)
- Configuration supports extends and matching per-file overrides; extended rule settings are replaced as complete values, and the original config is merged last. — [lib/augmentConfig.mjs#L243-275](https://github.com/stylelint/stylelint/blob/bc06c7cdb1413de3d8dc939b33af138ab7e59df1/lib/augmentConfig.mjs#L243-L275) [lib/augmentConfig.mjs#L290-300](https://github.com/stylelint/stylelint/blob/bc06c7cdb1413de3d8dc939b33af138ab7e59df1/lib/augmentConfig.mjs#L290-L300) [lib/augmentConfig.mjs#L626-632](https://github.com/stylelint/stylelint/blob/bc06c7cdb1413de3d8dc939b33af138ab7e59df1/lib/augmentConfig.mjs#L626-L632)
- Custom syntaxes enable other styling languages and embedded containers; the loader accepts module names or syntax objects and supplies PostCSS.stringify for parser-only modules. — [docs/developer-guide/syntaxes.md#L1-25](https://github.com/stylelint/stylelint/blob/bc06c7cdb1413de3d8dc939b33af138ab7e59df1/docs/developer-guide/syntaxes.md#L1-L25) [lib/utils/getCustomSyntax.mjs#L12-43](https://github.com/stylelint/stylelint/blob/bc06c7cdb1413de3d8dc939b33af138ab7e59df1/lib/utils/getCustomSyntax.mjs#L12-L43)
- Output formats include compact, json, string, tap, unix, and verbose; custom formatters receive results and aggregate metadata, and --output-file writes a report with terminal control characters removed. — [lib/formatters/index.mjs#L1-23](https://github.com/stylelint/stylelint/blob/bc06c7cdb1413de3d8dc939b33af138ab7e59df1/lib/formatters/index.mjs#L1-L23) [docs/developer-guide/formatters.md#L3-32](https://github.com/stylelint/stylelint/blob/bc06c7cdb1413de3d8dc939b33af138ab7e59df1/docs/developer-guide/formatters.md#L3-L32) [lib/cli.mjs#L626-628](https://github.com/stylelint/stylelint/blob/bc06c7cdb1413de3d8dc939b33af138ab7e59df1/lib/cli.mjs#L626-L628) [lib/writeOutputFile.mjs#L11-14](https://github.com/stylelint/stylelint/blob/bc06c7cdb1413de3d8dc939b33af138ab7e59df1/lib/writeOutputFile.mjs#L11-L14)
- Users can control severity, messages, URLs, quiet reporting, and inline disables; lintSource additionally runs needless, invalid-scope, descriptionless, and unscoped-disable reporting after rules. — [lib/lintPostcssResult.mjs#L101-108](https://github.com/stylelint/stylelint/blob/bc06c7cdb1413de3d8dc939b33af138ab7e59df1/lib/lintPostcssResult.mjs#L101-L108) [lib/utils/report.mjs#L39-74](https://github.com/stylelint/stylelint/blob/bc06c7cdb1413de3d8dc939b33af138ab7e59df1/lib/utils/report.mjs#L39-L74) [lib/lintSource.mjs#L128-132](https://github.com/stylelint/stylelint/blob/bc06c7cdb1413de3d8dc939b33af138ab7e59df1/lib/lintSource.mjs#L128-L132)
- Autofixing offers strict and lax parsing modes; computeEditInfo returns replacement ranges and text when fixing is disabled, respecting disableFix and inline disable ranges. — [lib/cli.mjs#L81-90](https://github.com/stylelint/stylelint/blob/bc06c7cdb1413de3d8dc939b33af138ab7e59df1/lib/cli.mjs#L81-L90) [lib/getPostcssResult.mjs#L27-28](https://github.com/stylelint/stylelint/blob/bc06c7cdb1413de3d8dc939b33af138ab7e59df1/lib/getPostcssResult.mjs#L27-L28) [lib/getPostcssResult.mjs#L61-64](https://github.com/stylelint/stylelint/blob/bc06c7cdb1413de3d8dc939b33af138ab7e59df1/lib/getPostcssResult.mjs#L61-L64) [lib/utils/report.mjs#L230-280](https://github.com/stylelint/stylelint/blob/bc06c7cdb1413de3d8dc939b33af138ab7e59df1/lib/utils/report.mjs#L230-L280)
- Reference files are resolved as globs and parsed with optional custom syntax/loaders; experimental bulk suppressions persist error counts per file and rule, with stdin suppression rejected by the CLI. — [lib/augmentConfig.mjs#L491-518](https://github.com/stylelint/stylelint/blob/bc06c7cdb1413de3d8dc939b33af138ab7e59df1/lib/augmentConfig.mjs#L491-L518) [lib/utils/getReferenceRoots.mjs#L23-50](https://github.com/stylelint/stylelint/blob/bc06c7cdb1413de3d8dc939b33af138ab7e59df1/lib/utils/getReferenceRoots.mjs#L23-L50) [docs/user-guide/suppressions.md#L3-20](https://github.com/stylelint/stylelint/blob/bc06c7cdb1413de3d8dc939b33af138ab7e59df1/docs/user-guide/suppressions.md#L3-L20) [lib/cli.mjs#L583-593](https://github.com/stylelint/stylelint/blob/bc06c7cdb1413de3d8dc939b33af138ab7e59df1/lib/cli.mjs#L583-L593)

Every claim links to its cited files at the pinned commit. Citations identify source evidence; they do not establish runtime correctness. Independent CodeVetter scan — not reviewed by upstream maintainers.

## Public product links

- [CodeVetter](https://codevetter.com/)
- [Download](https://codevetter.com/download)
- [Documentation](https://codevetter.com/docs/)
- [Source](https://github.com/Codevetter/codevetter)
