jadb / monohook
Fully configurable and extendable VCS hook manager
Requires
- php: >=5.3.0
Requires (Dev)
- phpunit/phpunit: ~4.0
This package is auto-updated.
Last update: 2024-10-28 01:18:15 UTC
README
A re-visited approach to Git hooks - and probably other like Mercurial or Subversion?
Install
Monohook can be installed using Composer:
composer require --dev jadb/monohook:dev-master
Usage
Now that you have the package installed, you just need to create your hooks and symlink them to
the .monohook
config you create.
To create your .monohook
, please refer to the one used for this repository.
Now, symlink the hooks you want managed by monohook:
$ ln -s ../../.monohook .git/hooks/pre-commit
$ ln -s ../../.monohook .git/hooks/post-commit
$ ln -s ../../.monohook .git/hooks/pre-rebase
What's included?
Processors
- CodeSnifferProcessor: Detect violations of a defined set of coding standards in PHP and CSS.
- LintProcessor: Syntax check every new PHP file.
- PHPUnitProcessor: Test (when possible) every new PHP file.
- RebaseProcessor: Make sure that a rebase does not overwrite already pushed commits.
- TODO ContentFilterProcessor: Check any new code for filterable content (debug, wording, etc.).
- TODO ImageOptimizerProcessor: Reduce images' sizes.
Providers
- GitProvider
- TODO MercurialProvider
- TODO SubversionProvider
Handlers
- StdoutHandler
- TODO EmailHandler
- TODO StreamHandler
Contributing
- Fork
- Mod, fix, test
- Optionally write some documentation (currently in
README.md
) - Send pull request
All contributed code must be licensed under the BSD 3-Clause License.
Bugs & Feedback
http://github.com/jadb/monohook/issues
License
Copyright (c) 2015, Jad Bitar
Licensed under the BSD 3-Clause License Redistributions of files must retain the above copyright notice.
Acknowledgements
Originally inspired by AD7six/git-hooks and Seldaek/monolog.