Awesome
git-hooks-installer-plugin
This project goal is to share and enforce code standards to all your projects.
Why create this?
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.
git-hook package
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.
Git-hook packages available
Create you own git-hook package to be listed here and share it with everyone.
How to create my git-hook packages?
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.
Available hooks
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
How to Install
php composer.phar require bernardosilva/git-hooks-installer-plugin
How to test
./vendor/bin/phpunit
How to contribute
-
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.
Created By
License
MIT © Bernardo Silva