Skip to main content

Contributing

Thank you for wanting to contribute.

To help out, you can:

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.

Code contributions

To start coding, you'll need:

  • a minimum of Node.js v10, though we do recommend using the latest LTS release
  • the latest npm

Then:

  1. Fork and clone the Stylelint repository.
  2. Install all the dependencies with npm ci.

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 color-hex-case and color-hex-length rules:

  1. Run npm run watch to start the interactive testing prompt.
  2. Press p to filter by a filename regex pattern.
  3. 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.

Write code

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.

Format code

We use Prettier (with a Husky and lint-staged precommit) to format your code automatically.

Alternatively, you can:

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.

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: