Vous en avez assez de défendre encore et encore la qualité du code ? GrumPHP le fera pour vous ! Ce plugin composer enregistrera quelques hooks git dans votre référentiel de packages. Lorsque quelqu'un valide des modifications, GrumPHP exécutera des tests sur le code validé. Si les tests échouent, vous ne pourrez pas valider vos modifications. Cet outil pratique améliorera non seulement votre base de code, mais apprendra également à vos collègues à écrire un meilleur code en suivant les meilleures pratiques que vous avez déterminées en équipe.
GrumPHP intègre un ensemble de tâches courantes. Vous pourrez utiliser GrumPHP avec un minimum de configuration.
Nous ne voulons pas vous ennuyer avec tous les détails, alors vite : installez-le vous-même et libérez la puissance de GrumPHP !
Pour que ce package fonctionne, vous devez vous assurer que les outils suivants sont détectables sur la ligne de commande :
php
compositeur
git
Ce package est un plugin composer et doit être installé dans la dépendance de développement de votre projet à l'aide de composer :
Installez GrumPHP en tant que phar sans dépendances :
composer require --dev phpro/grumphp-shim
Installez GrumPHP avec les dépendances :
composer require --dev phpro/grumphp
Installez GrumPHP sans dépendances et sans hooks git automatisés via phive
phive install grumphp
Une fois le package installé, GrumPHP s'attachera aux hooks git de votre projet. Vous verrez le message suivant dans les journaux du compositeur :
Attention! GrumPHP renifle vos commits !
GrumPHP ne vous poussera jamais à utiliser une tâche spécifique. Vous pouvez choisir les tâches qui correspondent à vos besoins et activer ou désactiver n'importe quelle tâche en un rien de temps ! Consultez la section suggest
dans composer.json.
Remarque : GrumPHP écrasera les hooks existants, sauf si vous exécutez composer install
avec --no-plugins
ou --no-scripts
. Nous créons une sauvegarde de votre git hook, mais il est préférable de vous assurer que vous disposez également d'une sauvegarde de vos hooks personnalisés avant d'essayer d'installer GrumPHP.
Vous rencontrez des difficultés pour installer GrumPHP ? Découvrez comment :
Installer globalement
Installer avec une structure de projet exotique
Certaines choses dans GrumPHP peuvent être configurées dans un fichier grumphp.yml
ou grumphp.yml.dist
ou grumphp.dist.yml
à la racine de votre projet (le répertoire dans lequel vous exécutez la commande grumphp). Vous pouvez spécifier un nom de fichier de configuration personnalisé et un emplacement dans composer.json
ou dans l'option --config
des commandes de la 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: échec: grumphp-grumpy.txt réussi: grumphp-happy.txtparallel: activé: truemax_workers: 32fixer: activé: truefix_by_default: falseenvironnement: fichiers: []variables: {}chemins: []tâches: {}suites de tests: []extensions: []
Les détails de la configuration sont répartis dans les sections suivantes.
Paramètres – Paramètres de configuration pour GrumPHP lui-même.
Tâches – Tâches externes effectuant la validation du code et leurs configurations respectives.
Suites de tests
Rallonges
Extension de TaskRunner
Vérificateur de conventions
Puisque GrumPHP n'est qu'un outil CLI, ces commandes peuvent être déclenchées :
configurer
git:init
git:déinit
git: pré-commit
git: commit-msg
courir
GrumPHP fonctionne avec PHP 5.6 ou supérieur.
Ce package a été testé avec les clients git suivants :
CLI Unix
CLIMac
Fenêtres CLI
PhpStormGit
Arbre source Atlassian
Syntevo SmartGit
De nombreuses tâches sont déjà disponibles pour garantir que votre équipe écrit un code de qualité. Nous cherchons toujours à prendre en charge de nouvelles tâches. N'hésitez pas à signaler un problème ou à créer une pull request pour une tâche que nous avons oubliée.
Il vous manque une fonctionnalité ou vous avez trouvé un bug ? Enregistrez-le dans le suivi des problèmes ! Vous voulez aider ? N'hésitez pas à nous contacter !
FAQ
Les bugs et les demandes de fonctionnalités sont suivis sur GitHub. Veuillez consulter nos règles avant de contribuer votre code.
GrumPHP est sous licence MIT.