Skip to content

Latest commit

 

History

History
20 lines (15 loc) · 1.95 KB

CONTRIBUTING.md

File metadata and controls

20 lines (15 loc) · 1.95 KB

Contributing Guidelines

Make sure you have setup your environment based on the Developer Guide in this repo. The goal is to allow contributions to this project by anyone, and that all code requirements are automated. Here are the guidelines we adhere to as a team.

Development Guidelines

  • Always ask before creating a PR. To avoid duplication efforts, its better to discuss it with us first or create an issue.
  • All code must be reviewed via a pull request. Before anything can be merged, it must be reviewed by at least 2 others.
  • ** Use git flow processes.** Start a feature, release, or hotfix branch, and you should never commit and push directly to master or develop.
  • Squash commits into a single commit for your PR. We want to keep a clean git history.
  • Code should adhere to lint and codestyle tests. While you can commit code that doesn't validate but still works, it is encouraged to validate your code. It saves other's headaches down the road.
  • Code must pass existing tests when submitting a pull request. If your code breaks a test, it needs to be updated to pass the tests before merging.
  • New code should come with proper tests. Your code should come with proper test coverage, ideally 95+%, minimum 80%, before it can be merged.
  • Bug fixes must come with a test. Any bug fixes should come with an appropriate test to verify the bug is fixed, and does not return.
  • Code structure should be maintained. The structure of the repo and files has been carefully crafted, and any deviations from that should be only done when agreed upon by the entire team.

Design Guidelines

  • Follow the Material Design spec. All features should be designed to conform with the Material Design spec, and deviations can only be done with team consent.
  • Limit custom CSS as much as possible. Ideally, any custom CSS is stored with each individual component and limited to only what is absolutely necessary.