First, thank you for considering contributing to Spruce. We appreciate your time and effort in making this CSS system better. We want to make contributing to this project as easy and transparent as possible, whether it's:
- reporting a bug,
- discussing the current state of the code,
- submitting a fix,
- proposing new features,
- creating a new style preset or component,
- becoming a maintainer.
Following these guidelines helps communicate that you respect the developers' time managing and developing this open-source project. In return, they should reciprocate that respect by addressing your issue, assessing changes, and helping you finalize your pull requests.
- Create issues for any significant changes and enhancements you wish to make. Discuss things transparently, and get community feedback.
- Keep feature versions as small as possible, preferably one new feature per commit.
Pull requests are the best way to propose changes to the codebase. We actively welcome your pull requests:
- Fork the repo and create your branch from
main. - Add tests if you've added code that should be tested (
npm test). - If you've changed APIs, update the documentation and the changelog.
- Ensure the test suite passes.
- Make sure you lint your code (
npm run sass:lint). - Check your change in the preview (
npm start) with different styles, in dark mode and in RTL. - Open a pull request!
Are you working on your first Pull Request? You can learn how from this free series, How to Contribute to an Open Source Project on GitHub.
In short, when you submit code changes, your submissions are understood to be under the same MIT License that covers the project. Feel free to contact the maintainers if that is a concern.
Please follow and use the practices under the Structure and Code page.


