hookを利用してコードのチェックをしていますが、プロジェクトごとにhookのbashスクリプトをコピペ/修正するのが面倒。lintツールなどを利用するには、プロジェクトで使っている開発言語以外の言語用のパッケージマネジャーでインストールしなくてはいけないケースがある。scss-lint(Rubyで書かれている。)を利用する際、プロジェクトにGemfileを追加せずに、もしくはインストール方法を気にせずに利用できるようにしたい。nodeをインストールしてなくてJavaScriptファイルを修正している際に、root権限なしでnodeをインストールして、JSHintを実行できるようにしたい。hookのためのマルチ言語対応パッケージマネジャ「pre-commit」をオープンソースで公開しました。installが、既存のhookとpre-commitのhookを両方実行してくれる。いずれかの無効化もできる。設定したhookを部分的にskipできる。コミットしてない手元のファイルに対してhookを実行すると、誤って正しいと判断、もしくは修正してしまう可能性がある。add前のものにはチェックをかけないことで、コミット時のみの実行が担保されている。大規模プロジェクトでマージのコンフリクトの解決をする場合、数百ファイルあるので、つい--no-verifyをしてしまい、バグを潰し損ねるケースがでる。pre-commitのhookは、コンフリクトが起きたファイル、もしくはコンフリクトを解決する際に主導で修正したファイルのみに対して実行される。hookをうまく実行するために引数を設定する必要がでるケースがある。--max-line-length=131というように、引数を渡すことができる。システムがインストールしたデフォルとではなく、指定するバージョンの言語でhookを実行できる。#オープンソースワザノバTop200アクセスランキングBack。