ECMAScript/JavaScriptの問題のあるパターンを検出し、多くの問題を自動修正できる、プラグイン対応のリンターです。
sds/overcommit
Ruby製の設定可能なGitフック管理ツール。コミットやプッシュなどのGitイベント時に、リンター、テスト、カスタムスクリプトを実行します。
- スター
- 4,005
- フォーク
- 291
- 未解決の Issue
- 34
- 最終コミット
- 24 時間前
これは何?
OvercommitはリポジトリのGitフックを管理し、pre-commit、commit-msg、pre-push、post-checkoutなどのタイミングで、リンター、テストランナー、フォーマッターといったチェックを自動実行します。フックの動作はリポジトリごとの .overcommit.yml ファイルで設定でき、個々のフックの有効・無効、対象ファイルの指定、並列実行や失敗時の処理などのオプションを調整できます。
Ruby(RuboCop、RSpec)、JavaScript(ESLint、Stylelint)、Python(Pylint、Flake8)、Go、PHP、Java、Shellなどの言語やツールに対応する多数の組み込みフックを備えています。また、末尾の空白、マージコンフリクトマーカー、ファイルサイズをチェックする汎用フックも用意されています。チーム独自のフックをRubyで作成できるほか、Rubyコードを書かずに既存のシェルスクリプトをフックとして登録することもできます。
設定はソース管理を通じて共有でき、.local-overcommit.yml ファイルを使えば個人用の設定で上書きできます。Overcommitはフックのコードと設定の署名も記録するため、他のメンバーによる変更があった場合、フックが次に実行される前に通知されます。
主な機能
- 01pre-commit、commit-msg、pre-push、post-checkoutなど、さまざまなGitイベントでフックを実行します。
- 02一般的な言語に対応した、多数の組み込みリンターとテストランナーを備えています。
- 03Rubyを書かずに、既存のシェルスクリプトをフックとして追加できます。
- 04フックごとのファイルフィルター、ブランチ除外、並列実行に対応しています。
- 05--run モードを使って、CIでリポジトリ全体をチェックできます。
ユースケース
- チームのリポジトリで、コミットのたびにRuboCopやESLintを自動実行する。
- 保護対象ブランチへのプッシュや、マージコンフリクトマーカーを含むコミットを拒否する。
- 開発者がコミット前にローカルで実行するものと同じリンタースイートを、CIでも実行する。
クイックスタート
- 1
RubyGems経由でovercommit gemをインストールします
gem install overcommit - 2
リポジトリに移動し、必要に応じてGitを初期化します
git init - 3
Overcommitのフックをリポジトリにインストールします
overcommit --install
使う前に知っておきたいこと
- 一部のフックはサードパーティ製ツール(例: scss_lint)に依存します。これらのツールはご自身でインストールしてください。
- Ruby環境が必要です。*nixではRuby 2.6以降が必要で、Windowsのサポートはベストエフォートのみです。
収録されている特集
トピック
よくある質問
- overcommit とは?
- Ruby製の設定可能なGitフック管理ツール。コミットやプッシュなどのGitイベント時に、リンター、テスト、カスタムスクリプトを実行します。 OvercommitはリポジトリのGitフックを管理し、pre-commit、commit-msg、pre-push、post-checkoutなどのタイミングで、リンター、テストランナー、フォーマッターといったチェックを自動実行します。フックの動作はリポジトリごとの .overcommit.yml ファイルで設定でき、個々のフックの有効・無効、対象ファイルの指定、並列実行や失敗時の処理などのオプションを調整できます。
- overcommit は無料で使えますか?ライセンスは?
- overcommit は MIT ライセンスのオープンソースです。商用製品で使う前にライセンス条件を確認してください。
- overcommit は今もメンテナンスされていますか?
- 活発にメンテナンス中。overcommit の最終コミットは 2026年11月6日 です。
- overcommit は何に使えますか?
- チームのリポジトリで、コミットのたびにRuboCopやESLintを自動実行する。 保護対象ブランチへのプッシュや、マージコンフリクトマーカーを含むコミットを拒否する。 開発者がコミット前にローカルで実行するものと同じリンタースイートを、CIでも実行する。
- overcommit のインストール方法は?
- RubyGems経由でovercommit gemをインストールします: gem install overcommit リポジトリに移動し、必要に応じてGitを初期化します: git init Overcommitのフックをリポジトリにインストールします: overcommit --install
- overcommit はどこで入手できますか?
- ソースコードとインストール手順は GitHub にあります:https://github.com/sds/overcommit
概要はプロジェクトの README をもとに AI が生成しています。GitHub の数値は毎日更新されます。
関連プロジェクト
cargoサブコマンドとして実行でき、800種類以上のlintでよくあるミスを検出し、より慣用的なコードを提案するRust用リンター。
Pythonコードを実行せずに解析し、エラーの検出、コーディング規約の適用、コードスメルの指摘を行う静的解析ツールです。
golintの置き換えとして使える、高速で設定可能なGoリンター。独自ルールや出力フォーマッターにも対応します。
コード内の未使用のimport文を検出して削除する、Python向けのリンター兼フォーマッターです。
Git commitの前にコードをチェックする、多言語対応のpre-commitフックを管理・実行するためのフレームワーク。