|
| 1 | +# Guia de Contribuição :smile: |
| 2 | + |
| 3 | +Bem vindo ao Mia Ajuda! |
| 4 | + |
| 5 | +Adoramos quando novas pessoas contribuem com o projeto. Queremos que a sua contribuição para o Mia Ajuda se torne a mais simples possível. Todas as ajudas ao projeto são bem vindas, seja: |
| 6 | + |
| 7 | +* Reportando _bugs_ encontrados; |
| 8 | +* Enviando correção de _bugs_; |
| 9 | +* Propondo novas soluções para o projeto, seja: Visual, Arquitetural ou de Negócio; |
| 10 | +* Propondo novas funcionalidades; |
| 11 | +* Implementado novas funcionalidades previstas em _issues_ nos nossos repositórios. |
| 12 | + |
| 13 | +Caso queira conhecer melhor nosso projeto, acesse o nosso [site](https://miaajuda.netlify.app/), nosso [Instagram](https://www.instagram.com/miaajuda/) ou a nossa [Organização no Github](https://github.com/mia-ajuda). |
| 14 | + |
| 15 | +Para entrar em contato conosco, além de abrir uma _issue _ aqui no Github, você pode nos enviar um email, para: [email protected] |
| 16 | + |
| 17 | +## Como Iniciar a sua Contribuição ao Mia Ajuda |
| 18 | + |
| 19 | +Muito Obrigado pelo interesse em contribuir para o Projeto. |
| 20 | + |
| 21 | +Para iniciar a sua jornada, você pode estar contribuindo para o projeto abrindo _issues_ em nosso repositório de documentação [repositório](https://github.com/mia-ajuda/Documentation/issues), seguindo o nosso [template](https://github.com/mia-ajuda/Documentation/tree/master/.github/ISSUE_TEMPLATE). Essas _issues_ podem ser abertas reportando possíveis _bugs_ ou sugerindo novas funcionalidades para o projeto. |
| 22 | + |
| 23 | +Caso você queira contribuir para o código do Mia Ajuda, basta seguir os próximos passos: |
| 24 | + |
| 25 | +* Busque a _issue_ na qual você se identifica, se marque e comente nessa _issue_. Atenção: Certifique-se antes, de que a _issue_ não está sendo resolvida por alguém, antes; |
| 26 | +* Faça um _fork_ dos nossos repositórios, se você for um contribuidor externo; |
| 27 | +* Crie uma _branch_ a partir da develop, seguindo nossas políticas de _branch_ abaixo; |
| 28 | +* Crie um _Pull Request_ com o status _WIP_, no repositório para nos certificarmos que você está trabalhando na sua _issue_; |
| 29 | +* Ao gerar _commits_, siga a nossa política de _commits_; |
| 30 | +* Ao concluir o desenvolvimento da _issue_, troque o status do seu _Pull Request_ de _WIP_ para _Solve_, seguindo o nosso [template de Pull Request](https://github.com/mia-ajuda/Backend/blob/develop/.github/pull_request_template.md); |
| 31 | +* Após um revisor aprovar o seu _Pull Request_, mescle-o com a a _branch_ base, seguindo a política do [_Squash Rebase_](https://docs.github.com/pt/github/collaborating-with-pull-requests/incorporating-changes-from-a-pull-request/about-pull-request-merges#squash-and-merge-your-pull-request-commits); |
| 32 | + |
| 33 | +## _Workflow_ de Trabalho |
| 34 | + |
| 35 | +Todo o nosso _workflow_ de trabalho é inteiramente baseado no [_GitFlow_](https://www.atlassian.com/br/git/tutorials/comparing-workflows/gitflow-workflow). |
| 36 | + |
| 37 | +## Politicas de _Branches_ |
| 38 | + |
| 39 | +As _branches_ são dividas em camadas de desenvolvimento, baseado do modelo do [_GitFlow_](https://www.atlassian.com/br/git/tutorials/comparing-workflows/gitflow-workflow), sendo a `main` a camada que contém a aplicação em sua versão estável, a `develop` a versão de estado em desenvolvimento. Para a criação de `feature` _branches_ utilize a `develop` como base. |
| 40 | + |
| 41 | +O formato para os nomes das _feature_ _branches_ será composto por: |
| 42 | + |
| 43 | +US + NUMERO_DA_US + FUNCIONALIDADE. |
| 44 | + |
| 45 | +Exemplo: |
| 46 | +``` |
| 47 | +US13-Creation_of_a_new_screen |
| 48 | +``` |
| 49 | + |
| 50 | +Para _hotfix branches_, o formato do nome da _branch_ se dará pela seguinte forma: |
| 51 | + |
| 52 | +HOTFIX + NOME_DA_FIX |
| 53 | + |
| 54 | +Exemplo: |
| 55 | +``` |
| 56 | +hotfix_login_bug |
| 57 | +``` |
| 58 | + |
| 59 | +### Mantendo as _branches_ atualizadas |
| 60 | + |
| 61 | +Mantenha as suas _branches_ atualizadas com a _branch_ base. Utilize o comando _rebase_ para isso. |
| 62 | + |
| 63 | +Exemplo: |
| 64 | + |
| 65 | +``` |
| 66 | +> git pull --rebase origin develop |
| 67 | +``` |
| 68 | + |
| 69 | +## Política de _Commits_ |
| 70 | + |
| 71 | +Os nossos _commits_ possuem um [_lint_](https://github.com/legend80s/commit-msg-linter#readme), sendo obrigatório seguir esse padrão: |
| 72 | + |
| 73 | +``` |
| 74 | +tipo do commit: descrição concisa e em inglês do commit |
| 75 | +``` |
| 76 | + |
| 77 | +Exemplo: |
| 78 | + |
| 79 | +``` |
| 80 | +git commit -m "feat: create login button" |
| 81 | +``` |
| 82 | + |
| 83 | +As nossas regras são: |
| 84 | + |
| 85 | +* _Commits_ devem ser redigidos em idioma inglês; |
| 86 | +* Devem seguir as regras do [_lint_](https://github.com/legend80s/commit-msg-linter#readme); |
| 87 | +* Devem ser simples e concisos, possuindo títulos curtos; |
| 88 | +* Devem iniciar com verbo no infinitivo informando o objetivo. |
| 89 | + |
| 90 | +### _Commits_ em equipes |
| 91 | + |
| 92 | +Caso mais de uma pessoa tenha trabalhado com você no _commit_, utilize do _Co-authored-by_, na descrição do _commit_. |
| 93 | + |
| 94 | +Exemplo: |
| 95 | + |
| 96 | +``` |
| 97 | +fix: fix contacts modal |
| 98 | +
|
| 99 | +
|
| 100 | +Co-authored-by: Link <[email protected]> |
| 101 | +``` |
0 commit comments