Skip to content

Code of Conduct

This document is a set of guidelines and standards for contributing to the NEI website.

General

Code and name everything in English. Only use Portuguese for terms that are more easily understood in Portuguese than in English.

Branching

These are some branching name conventions to keep the consistency and improve team production. For starters, the branch names are all separeted by hyphens.

For more information, check Git/GitHub branching standards & conventions from where these practices were based on.

Instance Branch Description
Production deploy Accepts merges from Working and Hotfixes
Working main Accepts merges from Features/Issues and Hotfixes
Features/Issues dev-* <tid>-* Always branch off HEAD of Working
Hotfix hotfix-* Always branch off Production

The main repository will always hold two evergreen branches:

  • main
  • deploy

The remaining are supporting branches, which are used to aid parallel development between team members, ease tracking of features, and to assist in quickly fixing live production problems. Each of these branches have a specific purpose and are bound to strict rules as to which branches may be their originating branch and which branches must be their merge targets, as explained on the table above.

The different types of branches we may use are:

  • dev-* or <tid>-* - feature/issue branches
  • hotfix-* - hotfix branches

The feature/issue branch should be used when enhancing or creating a new feature. If its task is meant to resolve an issue, its name should be prefixed with the issue tracker ID <tid> instead of the dev prefix, for instance:

12-add-testing-module

The name shows that the branch applies to the task of adding a testing module, which is associated to the issue with the tracking ID 12. It is recommended to create these branches on the issue itself.

The hotfix branch come from the need to act immediately upon an undesired state of a live production version.

Issue Labeling

The labels were inspired in Best Practice System for Organizing and Tagging Github Issues.

Issue Labeling