iodigital-com / composer-git-hooks
iO Composer Git Hooks
Package info
github.com/iodigital-com/composer-git-hooks
Type:composer-plugin
pkg:composer/iodigital-com/composer-git-hooks
Requires
- php: ~8.1.0 || ~8.2.0 || ~8.3.0 || ~8.4.0
- composer-plugin-api: ^2.0
Requires (Dev)
- composer/composer: ^2.0
- iodigital-com/php-code-sniffer-standard: ^29.3
- phpstan/extension-installer: ^1.4
- phpstan/phpstan: ^2.1
- phpstan/phpstan-strict-rules: ^2.0
- slevomat/coding-standard: ^8.15
Replaces
This package is auto-updated.
Last update: 2026-05-29 01:52:50 UTC
README
Composer plugin to manage git hooks from bin/git-hooks/[hook].d folders.
How it works:
- Include the package as a dev dependency
- On execution of Composer's
installandupdatecommands, symlinks will be created from.git/hooks/[hook]to this module'sscripts/chain-hookscript for all non-remote git hooks. - The
chain-hookscript will run the scripts found in the project'sbin/git-hooks/[hook].dfolder.
Prerequisites
- A composer-managed project
Install
Add the package as a dev dependency.
composer require --dev iodigital-com/composer-git-hooks
Add the package to the allow-plugins section of your composer.json file:
{
"config": {
"allow-plugins": {
...
"iodigital-com/composer-git-hooks": true
...
}
}
}
Running the script manually
This package is a composer plugin and will install the githooks automatically on composer install and composer update. Should you need it however, you can run the installer manually by adding it as a composer script and executing it.
Add the following to composer.json:
"scripts": { ... "install-git-hooks": "IODigital\\ComposerGitHooks\\ComposerPlugin::process" ... },
Run it:
composer run-script install-git-hooks
Usage
Add project specific git-hooks to bin/git-hooks/[hook].d. For example:
bin/git-hooks/pre-commit.d/phpstanbin/git-hooks/pre-commit.d/phpcs
All scripts (for in this case pre-commit) should give a 0 exit code for the whole hook to succeed.
Contribute
Create a pull request.
This package makes use of the composer plugin interface. See the composer documentation.