Skip to content

Latest commit

 

History

History
72 lines (48 loc) · 4.38 KB

CONTRIBUTING.md

File metadata and controls

72 lines (48 loc) · 4.38 KB

Contributing

When contributing to this repository, please first discuss the change you wish to make via issue, email, or any other method with the owners of this repository before making a change.

Please note we have a Team Norms section discussing code of conduct, please follow it in all your interactions with the project.

Build and Testing Process

See README.md.

Pull Request Process

  1. Ensure any install or build dependencies are removed before the end of the layer when doing a build.
  2. Update the README.md with details of changes to the interface, this includes new environment variables, exposed ports, useful file locations and container parameters.
  3. You may merge the Pull Request into the main branch once you have the permission of other developers.

Team Norms

Below are a set of rules each team member must follow to establish a productive and positive environment.

Teams are ideally co-located in the same room or space while they work for fast interactions and rapid team building... or work harder to make sure collaboration takes place with dedicated chat rooms, video conferencing and conference calls.

Team Values

Team members are expected to display a right-minded attitude to ensure a positive environment.

Examples of behavior that contributes to creating a positive environment include:

  • Using welcoming and inclusive language
  • Being respectful of differing viewpoints and experiences
  • Gracefully accepting constructive criticism
  • Focusing on what is best for the community
  • Showing empathy towards other community members

Examples of unacceptable behavior by participants include:

  • The use of sexualized language or imagery and unwelcome sexual attention or advances
  • Insulting/derogatory comments, and personal or political attacks
  • Public or private harassment
  • Publishing others' private information, such as a physical or electronic address, without explicit permission
  • Other conduct which could reasonably be considered inappropriate in a professional setting

When a team member needs help due to extenuating circumstances, it is important reach out and notify all other team members as soon as possible, preferably a few days before any deadlines.

Project maintainers have the right and responsibility to remove, edit, or reject comments, commits, code, wiki edits, issues, and other contributions that are not aligned to these values, or to ban temporarily or permanently any contributor for other behaviors that they deem inappropriate, unproductive, threatening, offensive, or harmful.

Sprint Cadence

Sprints will take place over a period of two weeks, after which all maintainers will discuss their contributions in the Sprint Review.

Daily Standups

Daily standup times will be flexible according to times when all team members have an open schedule. Each standup will take approximately 30 minutes, and all maintainers are expected to present synchronously. Members will not cover for other members who do not participate.

A member who makes no progress on a task for two standups or more in a row will be reported to management.

Coding Standards

  • All team members will use VS Code and a designated linter to standardize code formatting.
  • Use hyphen in file names.
    • Do: UX-DESIGN.md
    • Don't: UX_DESIGN.md
  • Don't over-engineer. Write minimum code to get things working end to end, only then iterate to improve.
    • Code for each task and spike must be peer-reviewed and pass tests before merging into the main branch of code.
  • Always push working code, if you break the pipeline/build then fix it.
  • Make granular and small commits, per feature or per bug fix.
  • Provide descriptive commit messages.
  • Write self documenting code. Use descriptive variable and function names. Avoid unnecessary name shortening.
  • Don't leave dead/commented out code behind. If you see such code, delete it.
  • Write automated tests to cover critical integration points and functionality (once you learn how to do that).

Concluding thoughts

These listed rules and regulations are crucial for long-term progress, so it is important that all members follow everything as a baseline requirement. Everyone has their own unique qualities and offerings. Thus, any activity beyond these rules are allowed and encouraged as long as they are ethical and pragmatic. At the end of the day, we want all contributors to feel included, motivated and gratified. Happy coding!