blob: fe80bd0e279991b988046cd67173dc56c7761143 [file] [view]
<!--docs:
title: "Contributing"
layout: landing
section: docs
path: /docs/contributing/
-->
# General Contributing Guidelines
The Material Components contributing policies and procedures can be found in the main Material Components documentation repository’s [contributing page](https://github.com/material-components/material-components/blob/develop/CONTRIBUTING.md).
## iOS-specific Additions
The iOS team also abides by the following policy items:
### Code Conventions
MDC follows certain [coding styles and conventions](code-conventions.md) for its code to help
everyone easily read, review, and understand our code. Please follow these conventions when
submitting pull requests.
### Component Checklist
All components should pass [these](checklist.md) checks or give a compelling reason why they shouldn’t.
There is a [great script](../scripts/check_components) that checks for _some_ of these criteria. Run it regularly during development. It will also be run by the continuous integration system when you make a pull request. If the script fails at that point, the pull request will be blocked.
### Issue and Pull Request Titles
Start the title with `[ComponentName]` to identify which component a change affects. Use
`[ComponentName|OtherComponentName]` for commits affecting multiple components, which should be rare.
```
[FooBar] Removes the deprecated fooWithBar:(Bar*)bar method.
```
#### Using assignee to indicate who should action on a PR
Since PRs on github permanently stay in the `Changes requested` state it is hard to tell when the author has addressed the concerns. By change the assignee to whomever still needs to action (review or modify/justify) we can more easily keep track of what needs attention in our PR queues.
1. For a reviewer this means adding the author as an assignee once the review is finished.
1. For an author it means adding back the reviewer (and removing themselves) as an assignee.
### Deprecation
See [deprecation_policy.md](deprecation_policy.md) for details.
### Hotfixing
Occasionally it is necessary to hotfix the framework. See [hotfixing.md](hotfixing.md) for details.
## Finding an issue to work on
MDC-iOS uses GitHub to file and track issues.
To find an issue to work on, filter the issues list by the ["is:fixit" label](https://github.com/material-components/material-components-ios/labels/is%3Afixit).
## 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](https://cla.developers.google.com/about/google-corporate).
- - -
## Useful Links
- [How To Use MDC-iOS](../docs/)
- [All Components](../components/)
- [Demo Apps](../demos/)
- [MDC-iOS on Stack Overflow](https://www.stackoverflow.com/questions/tagged/material-components+ios) (external site)
- [Material.io](https://material.io) (external site)
- [Material Design Guidelines](https://material.io/guidelines) (external site)