# System map — stylelint/stylelint

> Canonical page: https://codevetter.com/unpack/stylelint/system-map

# System map — 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.

The runtime is a Node.js library and CLI centered on a shared PostCSS linting pipeline. Configuration discovery, rule execution, formatting, and persistence have separate modules, while each linter instance owns several caches. npm scripts define development checks, and GitHub workflows handle CI, preview packages, and releases.
- The npm package exports lib/index.mjs and TypeScript declarations, installs bin/stylelint.mjs as the stylelint command, and requires Node.js >=20.19.0. — [package.json#L31-50](https://github.com/stylelint/stylelint/blob/bc06c7cdb1413de3d8dc939b33af138ab7e59df1/package.json#L31-L50) [package.json#L205-207](https://github.com/stylelint/stylelint/blob/bc06c7cdb1413de3d8dc939b33af138ab7e59df1/package.json#L205-L207)
- bin/stylelint.mjs forwards process.argv.slice(2) to cli; lib/index.mjs augments the PostCSS plugin creator with lint, resolveConfig, registries, plugin creation, utilities, and reference data. — [bin/stylelint.mjs#L1-7](https://github.com/stylelint/stylelint/blob/bc06c7cdb1413de3d8dc939b33af138ab7e59df1/bin/stylelint.mjs#L1-L7) [lib/index.mjs#L14-38](https://github.com/stylelint/stylelint/blob/bc06c7cdb1413de3d8dc939b33af138ab7e59df1/lib/index.mjs#L14-L38)
- standalone orchestrates inputs and outputs; lintSource resolves configuration and parsing; lintPostcssResult loads and invokes configured rules on PostCSS roots. — [lib/standalone.mjs#L100-126](https://github.com/stylelint/stylelint/blob/bc06c7cdb1413de3d8dc939b33af138ab7e59df1/lib/standalone.mjs#L100-L126) [lib/lintSource.mjs#L64-122](https://github.com/stylelint/stylelint/blob/bc06c7cdb1413de3d8dc939b33af138ab7e59df1/lib/lintSource.mjs#L64-L122) [lib/lintPostcssResult.mjs#L55-73](https://github.com/stylelint/stylelint/blob/bc06c7cdb1413de3d8dc939b33af138ab7e59df1/lib/lintPostcssResult.mjs#L55-L73)
- createStylelint constructs cosmiconfig explorers, four in-memory Maps, and a FileCache; production discovery uses the global search strategy, while NODE_ENV=test sets a stop directory. — [lib/createStylelint.mjs#L8-36](https://github.com/stylelint/stylelint/blob/bc06c7cdb1413de3d8dc939b33af138ab7e59df1/lib/createStylelint.mjs#L8-L36)
- Core rules and built-in formatters are loaded through asynchronous getters; rule import promises are retained in a module-level Map. — [lib/rules/index.mjs#L1-19](https://github.com/stylelint/stylelint/blob/bc06c7cdb1413de3d8dc939b33af138ab7e59df1/lib/rules/index.mjs#L1-L19) [lib/rules/index.mjs#L175-187](https://github.com/stylelint/stylelint/blob/bc06c7cdb1413de3d8dc939b33af138ab7e59df1/lib/rules/index.mjs#L175-L187) [lib/formatters/index.mjs#L1-23](https://github.com/stylelint/stylelint/blob/bc06c7cdb1413de3d8dc939b33af138ab7e59df1/lib/formatters/index.mjs#L1-L23)
- Runtime integrations include PostCSS, cosmiconfig, globby, file-entry-cache, CSS parsers, and write-file-atomic; npm's version-3 lockfile records the package dependency graph. — [package.json#L127-162](https://github.com/stylelint/stylelint/blob/bc06c7cdb1413de3d8dc939b33af138ab7e59df1/package.json#L127-L162) [package-lock.json#L1-45](https://github.com/stylelint/stylelint/blob/bc06c7cdb1413de3d8dc939b33af138ab7e59df1/package-lock.json#L1-L45)
- npm scripts provide benchmarks, formatting, ESLint, Markdown linting, TypeScript checking, Jest, and node:test; TypeScript checks JavaScript strictly with no emit and excludes test files. — [package.json#L51-69](https://github.com/stylelint/stylelint/blob/bc06c7cdb1413de3d8dc939b33af138ab7e59df1/package.json#L51-L69) [tsconfig.json#L2-21](https://github.com/stylelint/stylelint/blob/bc06c7cdb1413de3d8dc939b33af138ab7e59df1/tsconfig.json#L2-L21)
- CI delegates matrix tests to a pinned reusable workflow; preview publishing uses pkg.pr.new; release-PR and release workflows delegate to pinned workflows with write permissions. — [.github/workflows/ci.yml#L16-29](https://github.com/stylelint/stylelint/blob/bc06c7cdb1413de3d8dc939b33af138ab7e59df1/.github/workflows/ci.yml#L16-L29) [.github/workflows/publish-to-pkg.pr.new.yml#L19-30](https://github.com/stylelint/stylelint/blob/bc06c7cdb1413de3d8dc939b33af138ab7e59df1/.github/workflows/publish-to-pkg.pr.new.yml#L19-L30) [.github/workflows/release-pr.yml#L3-13](https://github.com/stylelint/stylelint/blob/bc06c7cdb1413de3d8dc939b33af138ab7e59df1/.github/workflows/release-pr.yml#L3-L13) [.github/workflows/release.yml#L3-13](https://github.com/stylelint/stylelint/blob/bc06c7cdb1413de3d8dc939b33af138ab7e59df1/.github/workflows/release.yml#L3-L13)

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)
