Cansado de defender a qualidade do código continuamente? GrumPHP fará isso por você! Este plugin do compositor registrará alguns ganchos git em seu repositório de pacotes. Quando alguém envia alterações, o GrumPHP executa alguns testes no código confirmado. Se os testes falharem, você não poderá confirmar suas alterações. Esta ferramenta útil não apenas melhorará sua base de código, mas também ensinará seus colegas de trabalho a escrever códigos melhores seguindo as práticas recomendadas que vocês determinaram como equipe.
GrumPHP possui um conjunto de tarefas comuns integradas. Você poderá usar o GrumPHP com um mínimo de configuração.
Não queremos aborrecê-lo com todos os detalhes, então rápido: instale você mesmo e libere o poder do GrumPHP!
Para que este pacote funcione, você deve certificar-se de que as seguintes ferramentas possam ser descobertas na linha de comando:
php
compositor
idiota
Este pacote é um plugin do compositor e deve ser instalado na dependência de desenvolvimento do seu projeto usando o compositor:
Instale o GrumPHP como um phar sem dependências:
compositor requer --dev phpro/grumphp-shim
Instale o GrumPHP com dependências:
composer require --dev phpro/grumphp
Instale o GrumPHP sem dependências e git hooks automatizados através do phive
phive install grumphp
Quando o pacote for instalado, o GrumPHP se anexará aos ganchos git do seu projeto. Você verá a seguinte mensagem nos logs do compositor:
Atenção! GrumPHP está farejando seus commits!
O GrumPHP nunca forçará você a usar uma tarefa específica. Você pode escolher as tarefas que atendem às suas necessidades e ativar ou desativar qualquer tarefa rapidamente! Consulte a seção suggest
em compositor.json.
Nota: O GrumPHP irá sobrescrever os ganchos existentes, a menos que você execute composer install
com --no-plugins
ou --no-scripts
. Nós criamos um backup do seu git hook, mas é melhor ter certeza de que você também tem um backup dos seus hooks personalizados antes de tentar instalar o GrumPHP.
Está tendo problemas para instalar o GrumPHP? Descubra como:
Instalar globalmente
Instale com uma estrutura de projeto exótica
Algumas coisas no GrumPHP podem ser configuradas em um arquivo grumphp.yml
ou grumphp.yml.dist
ou grumphp.dist.yml
na raiz do seu projeto (o diretório onde você executa o comando grumphp). Você pode especificar um nome de arquivo de configuração personalizado e localização em composer.json
ou na opção --config
dos comandos do console.
# grumphp.ymlgrumphp:hooks_dir: ~hooks_preset: localgit_hook_variables:VAGRANT_HOST_DIR: .VAGRANT_PROJECT_DIR: /var/wwwEXEC_GRUMPHP_COMMAND: execENV: {}stop_on_failure: falseignore_unstaged_changes: falsehide_circumvention_tip: falseprocess_timeout: 60ascii: falhou: grumphp-grumpy.txtsucceeded: grumphp-happy.txtparallel:enabled: truemax_workers: 32fixer:enabled: truefix_by_default: falseenvironment:files: []variáveis: {}caminhos: []tarefas: {}testsuites: []extensões: []
Os detalhes da configuração são divididos nas seções a seguir.
Parâmetros – Definições de configuração do próprio GrumPHP.
Tarefas – Tarefas externas que realizam validação de código e suas respectivas configurações.
Conjuntos de testes
Extensões
Estendendo o TaskRunner
Verificador de convenções
Como o GrumPHP é apenas uma ferramenta CLI, estes comandos podem ser acionados:
configurar
git:init
git:deinit
git:pré-commit
git:commit-msg
correr
GrumPHP funciona com PHP 5.6 ou superior.
Este pacote foi testado com os seguintes clientes git:
CLI Unix
CLIMac
Janelas CLI
PHPStorm Git
Árvore de origem Atlassian
Syntevo SmartGit
Muitas tarefas já estão disponíveis para garantir que sua equipe escreva um ótimo código. Estamos sempre procurando apoiar novas tarefas. Sinta-se à vontade para registrar um problema ou criar uma solicitação pull para uma tarefa que esquecemos.
Está faltando um recurso ou encontrou um bug? Faça login no rastreador de problemas! Quer ajudar? Sinta-se à vontade para entrar em contato conosco!
Perguntas frequentes
Bugs e solicitações de recursos são rastreados no GitHub. Por favor, dê uma olhada em nossas regras antes de contribuir com seu código.
GrumPHP é licenciado sob a licença MIT.