Thank you for wanting to contribute.
To help out, you can:
- get involved in any open issue or pull request
- improve our support for non-standard syntaxes
- create, enhance and debug rules using our guide
- improve the documentation
- add new tests to absolutely anything
- improve the performance of rules
- open new issues about your ideas for making stylelint better
- create or contribute to integrations, like our plugin for VS Code
Not only will you help stylelint thrive, but you may learn a thing or two — about CSS, PostCSS, Node, ES2015, unit testing, open-source software, and more. We want to encourage contributions! If you want to participate but couldn't, please give us feedback about what we could do better.
To start coding, you'll need:
Then:
- Fork and clone the stylelint repository.
- Install all the dependencies with
npm ci
.
Next, you'll want to run the tests using npm test
.
However, this runs all 25,000+ unit tests and also linting.
You can use the interactive testing prompt to run tests for just a chosen set of files (which you'll want to do during development). For example, to run the tests for just the color-hex-case
and color-hex-length
rules:
- Run
npm run watch
to start the interactive testing prompt. - Press
p
to filter by a filename regex pattern. - Enter
color-hex-case|color-hex-length
, i.e. each rule name separated by the pipe symbol (|
).
You can find more information about testing on the Jest website.
With the interactive testing prompt running, you can write code confident that things are working as expected.
You can write code to:
And many more things, including writing system tests and improving the documentation.
We use Prettier (with a Husky and lint-staged precommit) to format your code automatically.
Alternatively, you can:
- trigger the pretty-printing all the files using
npm run format
- use a Prettier editor integration
When you have something to share, it's time to open a pull request.
After we review and merge your pull request, we'll invite you to become a maintainer of the stylelint organization. You'll then be able to help manage issues, pull requests and releases. You'll also be able to work on the stylelint repository rather than your fork.
We welcome financial contributions in full transparency on our Open Collective.
Anyone can file an expense. We will "merge" the expense into the ledger if it makes sense for the development of the community. Open Collective then reimburses the person who filed the expense.
You can financially support us by becoming a: