This project goal is to share and enforce code standards to all your projects.
Currently there are millions of php projects that do not follow or adapt any code standards.
I think the main reasons for that are:
- Lack of time to implement a script to check them;
- Not sure how those will help;
- Not sure how to enforce them for all team members;
- Not aware of what that is;
Using git-hook packages will enable everyone to share their hooks and reduce de number of projects not following any standards.
A git-hook
package is a composer package that uses the type git-hook
.
Any package that set git-hook-installer-plugin
as dependency and type
to git-hook
will be installed on your project using this plugin.
Create you own git-hook package to be listed here and share it with everyone.
You can start by looking into this example
Things required to create a new git-hook package?
-
composer.json
file. - The git hook files you want to use. view list of available hooks
Example of new composer.json file
{
"name": "yourname/your-package-name",
"type": "git-hook",
"description": "Composer git-hook package with hooks for your php projects.",
"require": {
"bernardosilva/git-hooks-installer-plugin": "^1.0.0"
}
}
Note: Your composer.json
must have a specific type
to be installed in correct directory:
"type": "git-hook"
Also your git hooks should have execution permission.
You can create any of those files on your package with execute permissions.
- applypatch-msg
- pre-applypatch
- pre-commit
- prepare-commit-msg
- commit-msg
- pre-rebase
- pre-push
- update
- post-update
See a list of all git hooks available
php composer.phar require bernardosilva/git-hooks-installer-plugin
./vendor/bin/phpunit
-
Create your own git hook composer package.
-
Create a PR to list your package on this page.
-
Raise new issues or add suggestions to improve this plugin.
MIT © Bernardo Silva