A fully configurable and extendable Git hook manager for Ruby projects.
Overcommit is a Git hook manager that allows developers to configure and extend automated checks that run during Git operations like commits, pushes, and merges. It provides a comprehensive set of built-in hooks for code quality, linting, and security, along with tools to create custom hooks specific to a repository's needs.
Ruby developers and teams who want to enforce code quality standards, automate checks, and maintain consistent workflows across Git repositories.
Developers choose Overcommit for its extensive built-in hook library, flexible configuration system, and ability to run hooks in parallel for faster feedback. Its security features and support for custom hooks make it a robust alternative to manual Git hook management.
A fully configurable and extendable Git hook manager
Open-Awesome is built by the community, for the community. Submit a project, suggest an awesome list, or help improve the catalog on GitHub.
Includes over 100 pre-configured hooks for linting, syntax checking, and security across languages like Ruby, JavaScript, and Python, as listed in the Built-In Hooks section.
Offers extensive YAML configuration per repository with options for file patterns, branch exclusions, and failure handling, allowing precise tuning as detailed in the Hook Options section.
Runs hooks concurrently by default with configurable concurrency settings, improving feedback speed during Git operations, per the Concurrency section.
Features signature verification to warn of changes to hook plugins or configurations, preventing malicious code execution, highlighted in the Security section.
Forces Ruby installation and management even for non-Ruby projects, as it requires Ruby 2.6+ and best-effort Windows support, limiting adoption in polyglot environments.
Loading Bundler context for gem dependencies can introduce significant startup delays, especially with many gems, as cautioned in the Gemfile section.
Mandatory signature checks for plugin changes require manual intervention on updates, adding a step that can disrupt automated workflows and increase maintenance overhead.