Este é um documento colaborativo sobre a metodologia de desenvolvimento do projeto. Sinta-se livre para fazer sugestões caso tenha ideias ou gostaria de reavaliar alguma convenção.
Este projeto conta com duas branches centrais:
main
como a branch principal, contendo a versão oficial e entregue do projeto.projeto
como a branch secundária, contendo a versão testada e mais atualizada do projeto.
Durante o desenvolvimento, o padrão para criar branches é o seguinte:
feat/<branch-subject>
: branches para o desenvolvimento de uma nova funcionalidadefix/<branch-subject>
: branches para correção de um problema ou bugdocs/<branch-subject>
: branches para mudanças na documentação do projetorefactor/<branch-subject>
: branches para refatorações que não adicionam funcionalidades nem corrigem bugsstyle/<branch-subject>
: branches para mudanças em estilos e lints
Exemplos:
feat/create-student-endpoint
,fix/updates-not-being-saved
edocs/readme-installation-section
Este projeto segue o padrão conventional commits, como forma de padronizar as mensagens de commit. Por isso, cada commit deve estar em inglês (?) e seguir a seguinte estrutura:
type(optional scope): subject
Os tipos disponíveis são:
feat
: mudanças que introduzem uma nova funcionalidadefix
: mudanças que resolvem um problema ou bugrefactor
: refatorações que não adicionam funcionalidades nem corrigem problemasdocs
: mudanças na documentação do projetoperf
: mudanças para melhorias de performancebuild
: mudanças no processo de build ou em dependências externasstyle
: mudanças de estilo de código e lintrevert
: mudanças que revertem a commits anteriores
Exemplos:
feat: create model Student
efix(readme): add missing installation command
As tasks do projeto serão organizadas em issues, que facilitam o desenvolvimento no GitHub por permitirem adicionar descrições, criar discussões e atribuir tasks. Além disso, elas ficam centralizadas no próprio repositório e são de simples administração.
Pull requests devem ser direcionados à branch projeto
. É recomendado que eles tenham um título no
mesmo padrão dos commits, além de conter uma descrição do que foi modificado. Ao criar um pull
request, o template padrão está em pull_request_template.
-
Exemplos de títulos
feat: <funcionalidade adicionada>
fix: <fix realizado>
docs: <mudanças na documentação>
- ...
Seções que não foram modificadas podem ser omitidas do corpo do pull request. Por exemplo, se não houve mudanças em documentação, não é preciso incluir a seção
Docs
.