Contribuindo para o Código
Você está planejando contribuir para a Estrutura Nette e precisa se familiarizar com as regras e procedimentos? Este guia para iniciantes irá guiá-lo através dos passos para contribuir efetivamente com o código, trabalhar com os repositórios e implementar mudanças.
Procedimento
Para contribuir com o código, é essencial ter uma conta no GitHub e estar familiarizado com os fundamentos do trabalho com o sistema de controle de versões Git. Se você não está familiarizado com Git, você pode verificar o git – o guia simples e considerar o uso de um dos muitos clientes gráficos.
Preparação do Meio Ambiente e Repositório
- No GitHub, crie um garfo do repositório de pacotes que você pretende modificar
- Clonar este repositório em seu computador
- Instale as dependências, incluindo o Nette Tester, usando
o comando
composer install
- Verificar se os testes estão funcionando
composer tester
- Criar uma nova filial com base na última versão lançada
Implementando suas próprias mudanças
Agora você pode fazer seus próprios ajustes de código:
- Implementar as mudanças desejadas e não esquecer os testes
- Certifique-se de que os testes sejam executados com sucesso usando
composer tester
- Verificar se o código atende às normas de codificação
- Salvar (comprometer) as mudanças com uma descrição neste formato
Você pode criar vários compromissos, um para cada passo lógico. Cada compromisso deve ser significativo por si só.
Submetendo mudanças
Uma vez satisfeitos com as mudanças, você pode apresentá-las:
- Empurre as mudanças no GitHub para o seu garfo
- A partir daí, submetê-los ao repositório Nette, criando uma pull request (PR)
- Forneça informações suficientes na descrição
Incorporando Feedback
Seus compromissos agora são visíveis para os outros. É comum receber comentários com sugestões:
- Acompanhe as mudanças propostas
- Incorporá-los como novos compromissos ou fundi-los com os anteriores
- Reenviar os compromissos ao GitHub, e eles aparecerão automaticamente no pedido de puxar
Nunca criar um novo pedido de puxar para modificar um já existente.
Documentação
Se você mudou de funcionalidade ou adicionou uma nova, não se esqueça de adicioná-la também à documentação.
Nova filial
Se possível, faça alterações em relação à última versão lançada, ou seja, a última tag no ramo. Para a tag v3.2.1, criar um ramo usando este comando:
git checkout -b new_branch_name v3.2.1
Normas de Codificação
Seu código deve atender ao padrão de codificação utilizado no Nette Framework. Há uma ferramenta automática disponível para verificar e fixar o código. Você pode instalá-lo globalmente através do Composer em uma pasta de sua escolha:
composer create-project nette/coding-standard /path/to/nette-coding-standard
Agora você deve ser capaz de executar a ferramenta no terminal. O primeiro comando verifica e o segundo conserta o código
nas pastas src
e tests
no diretório atual:
/path/to/nette-coding-standard/ecs check
/path/to/nette-coding-standard/ecs check --fix
Descrição do compromisso
Em Nette, os assuntos de compromisso têm o seguinte formato: Presenter: fixed AJAX detection [Closes #69]
- área seguida por um cólon
- objetivo do compromisso no passado; se possível, comece com palavras como: added, fixed, refactored, changed, removed
- se o compromisso quebra a compatibilidade para trás, adicionar “BC break”
- qualquer conexão com o rastreador de problemas, como
(#123)
ou[Closes #69]
- após o assunto, pode haver uma linha em branco seguida por uma descrição mais detalhada, incluindo, por exemplo, links para o fórum
Descrição do Pedido de Puxar
Ao criar um pedido de puxar, a interface GitHub permitirá que você insira um título e uma descrição. Forneça um título conciso e inclua o máximo de informações possíveis na descrição sobre os motivos de sua mudança.
Além disso, especificar no cabeçalho se é uma nova característica ou uma correção de bug e se pode causar problemas de retrocompatibilidade (BC break). Se houver um problema relacionado, estabeleça um link com ele para que seja fechado após a aprovação do pedido de puxar.
- bug fix / new feature? <!-- #issue numbers, if any -->
- BC break? yes/no
- doc PR: nette/docs#? <!-- highly welcome, see https://nette.org/en/writing -->