Adoraríamos que você contribuísse com o projeto e ajudasse a torná-la ainda melhor do que é hoje! Como contribuidor, aqui estão as diretrizes que gostaríamos que você seguisse:
Ajude-nos a manter a comunidade DevPR aberta e inclusiva. Por favor, leia e siga nosso Código de Conduta.
Se você quiser conversar sobre a questão em tempo real, entre em contato por meio de nosso Slack.
Você pode solicitar um novo recurso iniciando uma discussão. Se você gostaria de implementar um novo recurso, considere o tamanho da alteração para determinar as etapas corretas para prosseguir:
-
Para um novo recurso, primeiro inicie uma discussão e esboce sua proposta para que possa ser avaliada. Esse processo nos permite coordenar melhor nossos esforços, evitar a duplicação de trabalho e ajudá-lo a elaborar a alteração para que seja aceita com sucesso no projeto.
Nota: Adicionar um novo tópico à documentação, ou reescrever significativamente um tópico, conta como um novo recurso.
-
Pequenos recursos podem ser criados e diretamente enviados como um pull request.
Antes de enviar sua solicitação (PR), considere as seguintes diretrizes:
-
Pesquise no GitHub um PR aberto ou fechado relacionado ao seu envio. Você não quer duplicar os esforços existentes.
-
Certifique-se de que um problema descreve o problema que você está corrigindo ou documenta o design do recurso que você deseja adicionar. Discutir o design antecipadamente ajuda a garantir que estamos prontos para aceitar seu trabalho.
-
Faça um fork do repositório developerparana/recursos.
-
Faça suas alterações em um novo branch:
git checkout -b my-fix-branch main
-
Crie seu patch, incluindo casos de teste apropriados.
-
Siga nossas Regras de codificação.
-
Faça commit de suas mudanças usando uma mensagem de commit descritiva que segue nossas convenções de mensagem de commit. A adesão a essas convenções é necessária porque as notas de versão são geradas automaticamente a partir dessas mensagens.
npm run commit
*Nota: a opção de linha de comando opcional commit
-a
irá automaticamente" adicionar "e" rm "os arquivos editados.* -
Envie seu branch para o GitHub:
git push origin my-fix-branch
-
No GitHub, envie uma solicitação de pull para
recursos:main
.
A organização Dev Paraná reserva-se o direito de não aceitar solicitações de pull de membros da comunidade que não tenham sido bons cidadãos na comunidade. Tal comportamento inclui não seguir o código de conduta DevPR e se aplica dentro ou fora dos canais gerenciados Dev Paraná.
Se solicitarmos alterações por meio de revisões de código:
-
Faça as atualizações necessárias para o código.
-
Execute novamente os conjuntos de teste para garantir que os testes ainda estejam passando.
-
Crie um commit de correção e envie para seu repositório GitHub (isso atualizará sua solicitação de pull):
git commit --all --fixup HEAD git push
É isso aí! Obrigado pela sua contribuição!
Um revisor pode frequentemente sugerir mudanças em uma mensagem de confirmação (por exemplo, para adicionar mais contexto para uma mudança ou aderir às nossas [diretrizes de mensagem de confirmação] (# commit)). Para atualizar a mensagem de commit do último commit em seu branch:
-
Confira sua branch:
git checkout my-fix-branch
-
Corrija o último commit e modifique a mensagem de commit:
git commit --amend
-
Envie para seu repositório GitHub:
git push --force-with-lease
NOTA:
Se você precisa atualizar a mensagem de commit de um commit anterior, você pode usargit rebase
no modo interativo. Consulte os documentos git para obter mais detalhes.
Depois que sua pull request for mesclada, você pode excluir com segurança seu branch e extrair as alterações do repositório principal (upstream):
-
Exclua o branch remoto no GitHub por meio da IU da Web do GitHub ou do shell local da seguinte maneira:
git push origin --delete my-fix-branch
-
Confira o branch main:
git checkout main -f
-
Exclua a branch local:
git branch -D my-fix-branch
-
Atualize seu mestre com a versão upstream mais recente:
git pull --ff upstream main
Para garantir a consistência em toda a base de código, lembre-se destas regras enquanto trabalha:
- Todos os recursos ou correções de bugs devem ser testados por uma ou mais especificações (testes de unidade).
- Todos os métodos de API públicos devem ser documentados.
A mensagem do commit deve ser estruturada da seguinte forma:
<tipo>[escopo opcional]: <descrição>
[corpo opcional]
[rodapé opcional]
O commit contém os seguintes elementos estruturais, para comunicar a intenção ao utilizador da sua biblioteca:
-
fix: um commit do tipo
fix
soluciona um problema na sua base de código (isso se correlaciona com PATCH do versionamento semântico). -
feat: um commit do tipo
feat
inclui um novo recurso na sua base de código (isso se correlaciona com MINOR do versionamento semântico). -
BREAKING CHANGE: um commit que contém o texto
BREAKING CHANGE
:, no começo do texto do corpo opcional ou do rodapé opcional, inclui uma modificação que quebra a compatibilidade da API (isso se correlaciona com MAJOR do versionamento semântico). Uma BREAKING CHANGE pode fazer parte de commits de qualquer tipo. -
Outros: tipos adicionais são permitidos além de
fix:
efeat:
, por exemplo @commitlint/config-conventional (baseado na Convenção do Angular) recomenda-sechore:
,docs:
,style:
,refactor:
,perf:
,test:
, entre outros.
Também recomendamos improvement
para commits que melhoram uma implementação atual sem adicionar um novo recurso ou consertar um bug. Observe que esses tipos não são obrigatórios pela especificação do Conventional Commits e não têm efeito implícito no versionamento semântico (a menos que incluam uma BREAKING CHANGE). Um escopo pode ser adicionado ao tipo do commit, para fornecer informações contextuais adicionais e está contido entre parênteses, por exemplo feat(parser): adiciona capacidade de interpretar arrays
.
feat: permitir que o objeto de configuração fornecido estenda outras configurações
BREAKING CHANGE: a chave `extends`, no arquivo de configuração, agora é utilizada
para estender outro arquivo de configuração
chore: remove Node 6 da matriz de testes
BREAKING CHANGE: removendo Node 6 que atinge o final de vida em Abril
docs: ortografia correta de CHANGELOG
feat(lang): adiciona tradução para português brasileiro
fix: corrige pequenos erros de digitação no código
veja o ticket para detalhes sobre os erros de digitação corrigidos
closes issue #12
As palavras-chaves "DEVE" ("MUST"), "NÃO DEVE" ("MUST NOT"), "OBRIGATÓRIO" ("REQUIRED"), "DEVERÁ" ("SHALL"), "NÃO DEVERÁ" ("SHALL NOT"), "PODEM" ("SHOULD"), "NÃO PODEM" ("SHOULD NOT"), "RECOMENDADO" ("RECOMMENDED"), "PODE" ("MAY") e "OPCIONAL" ("OPTIONAL"), nesse documento, devem ser interpretados como descrito na RFC 2119.
-
A mensagem de commit DEVE ser prefixado com um tipo, que consiste em um substantivo,
feat
,fix
, etc., seguido por um escopo OPCIONAL, e OBRIGATÓRIO terminar com dois-pontos e um espaço. -
O tipo
feat
DEVE ser usado quando um commit adiciona um novo recurso ao seu aplicativo ou biblioteca. -
O tipo
fix
DEVE ser usado quando um commit representa a correção de um problema em seu aplicativo ou biblioteca. -
Um escopo PODE ser fornecido após um tipo. Um escopo DEVE consistir em um substantivo que descreve uma seção da base de código entre parênteses, por exemplo,
fix(parser):
-
Uma descrição DEVE existir depois do espaço após o prefixo tipo/escopo. A descrição é um breve resumo das alterações de código, por exemplo, fix: problema na interpretação do array quando uma string tem vários espaços.
-
Um corpo de mensagem de commit mais longo PODE ser fornecido após a descrição curta, fornecendo informações contextuais adicionais sobre as alterações no código. O corpo DEVE começar depois de uma linha em branco após a descrição.
-
Um rodapé de uma ou mais linhas PODE ser fornecido depois de uma linha em branco após o corpo. O rodapé DEVE conter informações adicionais sobre o commit, por exemplo, pull-requests, revisores, modificações que quebram a compatibilidade, com uma informação adicional por linha.
-
A modificação que quebra a compatibilidade DEVE ser indicadas logo no início da seção do corpo ou no início de uma linha na seção de rodapé. Uma modificação que quebra a compatibilidade DEVE consistir de um texto em maiúsculas BREAKING CHANGE, seguido por dois-pontos e um espaço.
-
Uma descrição DEVE ser fornecida após o texto “BREAKING CHANGE:”, descrevendo o que mudou na API, por exemplo, BREAKING CHANGE: as variáveis de ambiente agora têm preferência sobre os arquivos de configuração.
-
Além de
feat
efix
, outro tipo PODE ser usados em suas mensagens de commit. -
Cada bloco de informação que compõem o commit convencional NÃO DEVE ser tratado como sensível a maiúscula e minúscula pelos implementadores, com exceção de BREAKING CHANGE, que DEVE ser maiúscula.
-
Um
!
PODE ser acrescentado antes do:
no prefixo tipo/escopo, para chamar a atenção para modificações que quebram a compatibilidade.BREAKING CHANGE: description
também DEVE ser incluído no corpo ou no rodapé, junto com o!
no prefixo.
- Criação automatizada de CHANGELOGs.
- Determinar automaticamente o versionamento semântico (com base nos tipos de commits).
- Comunicar a natureza das mudanças para mantenedores do repositório, a comunidade e outras partes interessadas.
- Disparar processos de build e deploy.
- Facilitar a contribuição de outras pessoas em seus projetos, permitindo que eles explorem um histórico de commits mais estruturado.