Skip to content

Latest commit

 

History

History
108 lines (58 loc) · 4.69 KB

CONTRIBUTING.md

File metadata and controls

108 lines (58 loc) · 4.69 KB

Contributing

Material Components is an open source project that accepts contributions from community members.

Want to contribute? Great! First, read this page (including the small print).

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.

Code of Conduct

The Material Components authors value respect and are committed to making the repos and communication channels a safe space for all peoples.

To learn more about what to expect from us and what we expect from you, read the Code of Conduct.

Questions?

Ask them on Stack Overflow and tag them with material-components and the platform (android, ios, web.)

Issues and Bugs

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!

Feature or Component Requests

To learn how to request new components or changes to the UX of an existing component, read Components Request Policy.

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.

Pull Requests

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:

  1. Make sure there’s a GitHub issue for the change you’re proposing.
  2. Fork the repo for the platform your code works in.
  3. Write code on a branch in your fork.
  4. Create a pull request to merge your branch’s contributions into the corresponding MDC repo.
  5. The pull request will be triaged by a core team member and code reviewed by the community.
  6. If the pull request is accepted, the accepting core team member will merge the pull request for you.

Coding Conventions

MDC follows certain coding styles and conventions. See the CONTRIBUTING files in the platform specific repos for more information.

Code review

Regardless of language or platform, all code goes through code review before it can be merged into main branches.

Tips

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.

Community Structure

Members of the core team are Google employees responsible for the strategic direction of Material Components and appointment of technical leaders from the community. The core team will work with the community to accept contributions in line with Material Design guidelines.

Signing the CLA

Please sign our Contributor License Agreement (CLA) before sending pull requests.

For any code changes to be accepted, the CLA must be signed. It's a quick process, we promise!


The small print

Contributions made by corporations are covered by a different agreement than the one above, the Software Grant and Corporate Contributor License Agreement.

Useful Links