I'd love for you to contribute and make this project even better than it is today! Here are the guidelines we'd like you to follow:
This is an open source project that accepts contributions from community members.
Want to contribute? Great!
If you’ve never contributed to an open source project before, take a look at GitHub’s Contributing to Open Source on GitHub to learn some of the basics.
The Material Components authors value respect and are committed to making the repos and communication channels a safe space for all peoples.
Ask them on Stack Overflow and tag them with project-name
and the platform (web
)
If you find a bug in the source code or a mistake in the documentation, you can help us by submitting an issue to the GitHub repository for that platform.
Even better: propose a fix with a pull request and link it to the issue!
You can request new features that do not change the UX on an existing component by submitting an issue to the GitHub repository for that platform.
The best way to make an impact is by creating code submissions called pull requests. Pull requests should be ‘solutions’ to GitHub issues.
To make a pull request:
- Make sure there’s a GitHub issue for the change you’re proposing.
- Fork the repo for the platform your code works in.
- Write code on a branch in your fork.
- Create a pull request to merge your branch’s contributions into the corresponding project's repo.
- The pull request will be reviewed by the community.
- If the pull request is accepted, the accepting core team member will merge the pull request for you.
Pull requests can be hard to review if they try to tackle too many things at once. Phabricator's "Writing Reviewable Code" provides a set of guidelines that help increase the likelihood of your pull request getting merged.
In short (slightly modified from the original article):
- A pull request should be as small as possible, but no smaller.
- The smallest a pull request can be is a single cohesive idea: don't make pull requests so small that they are meaningless on their own.
- Turn large pull requests into small pull requests by dividing large problems into smaller problems and solving the small problems one at a time.
- Write sensible pull request descriptions.
Our additions:
- A pull request should affect as few components as possible.
We strive to make developing Material Components Web as frictionless as possible, both for ourselves and for our community. This section should get you up and running working on the Project codebase.
You'll need a recent version of nodejs to work on Project. We test our builds using both the latest and LTS node versions, so use of one of those is recommended. You can use nvm to easily install and manage different versions of node on your system.