# Contributor handoff — stylelint/stylelint

> Canonical page: https://codevetter.com/unpack/stylelint/agent-handoff

# Contributor handoff — 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.

Start with the public API and the narrow rule or integration path being changed. Preserve configuration precedence, diagnostic locations, disable behavior, and the distinction between string output and file persistence. Tests and CI were inspected, not executed; future verification must report actual outcomes and respect the current read-only restriction.
- Read package.json and the npm lockfile before planning checks; npm test invokes pretest linting, then Jest and node:test, whereas test-only targets Jest with lifecycle scripts disabled. — [package.json#L57-69](https://github.com/stylelint/stylelint/blob/bc06c7cdb1413de3d8dc939b33af138ab7e59df1/package.json#L57-L69) [package-lock.json#L1-9](https://github.com/stylelint/stylelint/blob/bc06c7cdb1413de3d8dc939b33af138ab7e59df1/package-lock.json#L1-L9)
- For runtime changes, begin with index, standalone, lintSource, and lintPostcssResult; preserve the callable PostCSS export and its explicit module.exports interoperability binding. — [lib/index.mjs#L14-38](https://github.com/stylelint/stylelint/blob/bc06c7cdb1413de3d8dc939b33af138ab7e59df1/lib/index.mjs#L14-L38) [lib/standalone.mjs#L165-198](https://github.com/stylelint/stylelint/blob/bc06c7cdb1413de3d8dc939b33af138ab7e59df1/lib/standalone.mjs#L165-L198) [lib/lintSource.mjs#L108-134](https://github.com/stylelint/stylelint/blob/bc06c7cdb1413de3d8dc939b33af138ab7e59df1/lib/lintSource.mjs#L108-L134) [lib/lintPostcssResult.mjs#L130-154](https://github.com/stylelint/stylelint/blob/bc06c7cdb1413de3d8dc939b33af138ab7e59df1/lib/lintPostcssResult.mjs#L130-L154)
- Rule edits should remain standard-CSS focused and use validateOptions, syntax/type guards, and report; contributor guidance requires accepted/rejected cases and varied locations, including multiple warnings. — [docs/contributor-guide/rules.md#L11-19](https://github.com/stylelint/stylelint/blob/bc06c7cdb1413de3d8dc939b33af138ab7e59df1/docs/contributor-guide/rules.md#L11-L19) [docs/contributor-guide/rules.md#L30-58](https://github.com/stylelint/stylelint/blob/bc06c7cdb1413de3d8dc939b33af138ab7e59df1/docs/contributor-guide/rules.md#L30-L58) [docs/contributor-guide/rules.md#L78-88](https://github.com/stylelint/stylelint/blob/bc06c7cdb1413de3d8dc939b33af138ab7e59df1/docs/contributor-guide/rules.md#L78-L88) [docs/contributor-guide/rules.md#L121-126](https://github.com/stylelint/stylelint/blob/bc06c7cdb1413de3d8dc939b33af138ab7e59df1/docs/contributor-guide/rules.md#L121-L126)
- Maintain .mjs/JSDoc conventions and strict no-emit checking; EditorConfig uses tabs generally and two-space indentation for package.json, Markdown, CSS, and YAML. — [lib/rules/color-hex-length/index.mjs#L24-30](https://github.com/stylelint/stylelint/blob/bc06c7cdb1413de3d8dc939b33af138ab7e59df1/lib/rules/color-hex-length/index.mjs#L24-L30) [tsconfig.json#L2-21](https://github.com/stylelint/stylelint/blob/bc06c7cdb1413de3d8dc939b33af138ab7e59df1/tsconfig.json#L2-L21) [.editorconfig#L4-17](https://github.com/stylelint/stylelint/blob/bc06c7cdb1413de3d8dc939b33af138ab7e59df1/.editorconfig#L4-L17)
- Configuration edits require examining getConfigForFile and augmentConfig: cache keys include target paths, inheritance replaces whole rule settings, and overrides merge in matching order. — [lib/getConfigForFile.mjs#L43-61](https://github.com/stylelint/stylelint/blob/bc06c7cdb1413de3d8dc939b33af138ab7e59df1/lib/getConfigForFile.mjs#L43-L61) [lib/getConfigForFile.mjs#L89-106](https://github.com/stylelint/stylelint/blob/bc06c7cdb1413de3d8dc939b33af138ab7e59df1/lib/getConfigForFile.mjs#L89-L106) [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)
- Fix-related edits must cover string-input output, atomic file writes, disable ranges, and edit-information mutation; existing tests specify config-enabled fixes and disableFix behavior. — [lib/standalone.mjs#L171-202](https://github.com/stylelint/stylelint/blob/bc06c7cdb1413de3d8dc939b33af138ab7e59df1/lib/standalone.mjs#L171-L202) [lib/standalone.mjs#L287-297](https://github.com/stylelint/stylelint/blob/bc06c7cdb1413de3d8dc939b33af138ab7e59df1/lib/standalone.mjs#L287-L297) [lib/utils/report.mjs#L230-267](https://github.com/stylelint/stylelint/blob/bc06c7cdb1413de3d8dc939b33af138ab7e59df1/lib/utils/report.mjs#L230-L267) [lib/__tests__/standalone-compute-edit-info.test.mjs#L39-69](https://github.com/stylelint/stylelint/blob/bc06c7cdb1413de3d8dc939b33af138ab7e59df1/lib/__tests__/standalone-compute-edit-info.test.mjs#L39-L69)
- When execution is authorized, the existing test-only script supports a narrow Jest test-file check before broader verification; npm test adds linting and node:test, while the Yarn PnP suite requires explicit enabling and performs packaging/install operations. — [package.json#L63-69](https://github.com/stylelint/stylelint/blob/bc06c7cdb1413de3d8dc939b33af138ab7e59df1/package.json#L63-L69) [system-tests/006/yarn-pnp.test.mjs#L37-38](https://github.com/stylelint/stylelint/blob/bc06c7cdb1413de3d8dc939b33af138ab7e59df1/system-tests/006/yarn-pnp.test.mjs#L37-L38) [system-tests/006/yarn-pnp.test.mjs#L85-125](https://github.com/stylelint/stylelint/blob/bc06c7cdb1413de3d8dc939b33af138ab7e59df1/system-tests/006/yarn-pnp.test.mjs#L85-L125)
- This handoff records inspected test and CI specifications, not executed results; distinguish configured coverage thresholds and declared matrix jobs from observed passes, and do not treat snapshot system cases as exhaustive coverage. — [package.json#L96-103](https://github.com/stylelint/stylelint/blob/bc06c7cdb1413de3d8dc939b33af138ab7e59df1/package.json#L96-L103) [.github/workflows/ci.yml#L22-29](https://github.com/stylelint/stylelint/blob/bc06c7cdb1413de3d8dc939b33af138ab7e59df1/.github/workflows/ci.yml#L22-L29) [docs/contributor-guide/system-tests.md#L3-14](https://github.com/stylelint/stylelint/blob/bc06c7cdb1413de3d8dc939b33af138ab7e59df1/docs/contributor-guide/system-tests.md#L3-L14)

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)
