Contributing
Thank you for wanting to contribute.
To help out, you can:
- get involved in any open issue or pull request
- 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
Not only will you help Stylelint thrive, but you may learn a thing or two — about CSS, PostCSS, Node.js, 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.
Code contributions
To start coding, you'll need the:
Then:
- Fork and clone the Stylelint repository.
- Install all the dependencies with
npm install
.
Run tests
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 unit-allowed-list
and unit-disallowed-list
rules:
- Run
npm run watch
to start the interactive testing prompt. - Press
p
to filter by a filename regex pattern. - Enter
unit-allowed-list|unit-disallowed-list
, i.e. each rule name separated by the pipe symbol (|
).
You can find more information about testing on the Jest website.
Write code
With the interactive testing prompt running, you can write code confident that things are working as expected.
You can write code to:
Format code
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
Open a pull request
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.
Financial contributions
We welcome financial contributions in full transparency on our Open Collective or GitHub Sponsor.
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 backer or sponsor on Open Collective or a sponsor on GitHub.