Você que chegou aqui com o objetivo de contribuir com este projeto, nós do PHP Santa Catarina agradecemos!
Testes de unidades, documentação, novas funcionalidades, sugestões... temos muitas áreas que com certeza você tem plenas possibilidades de nos ajudar! Aliás, você já conferiu nossa lista de tarefas?
Antes de explicarmos a estrutura básica do projeto é necessario conhecermos as ferramentas fundamentais que utilizamos para organizar o desenvolvimento.
A partir deste post surgiu uma extensão para o git, o git-flow.
Esta ferramenta é extremamente útil para agilizar o desenvolvimento usando branchs.
Leia o post e instale a ferramenta para poder acompanhar as explicações que virão mais abaixo. Utilize também o cheatsheet do git-flow como material de auxílio.
O composer é uma ferramenta de gerenciamento de dependências de projetos PHP. Com ele é possível realizar a instalação de todas as bibliotecas que o software necessita utilizando um único comando.
Recomendamos também a leitura dos slides desta palestra do nosso amigo Rafael Dohms.
Todas as alterações DEVEM seguir a PSR-2.
Você quer realizar alterações no código então? Muito bem, para começar a brincadeira você deve seguir os passos abaixo:
- Crie um fork e clone o projeto;
- Instale as dependências utilizando o composer (
composer install
); - Defina as permissões de diretórios com o phing (
vendor/bin/phing post-install
); - Aponte o branch local master para origin/master (
git branch master origin/master
); - Inicialize o git-flow (
git flow init -d
); - Crie seu branch
- Caso seja uma nova funcionalidade você deve executar o
comando
git flow feature start $feature
, onde $feature é um identificador para a funcionalidade a ser implementada; - Caso você opte por corrigir um bug você deverá inicializar
um hotfix branch
git flow hotfix start $hotfix
, onde $hotfix deverá ser a versão atual, incrementando o número da última posição (PATCH).
- Caso seja uma nova funcionalidade você deve executar o
comando
Se tiver dúvidas a respeito do versionamento, leia esta especificação (ou sua versão original, em inglês).