PHPackages                             captainhook/hook-installer - PHPackages - PHPackages  [Skip to content](#main-content)[PHPackages](/)[Directory](/)[Categories](/categories)[Trending](/trending)[Leaderboard](/leaderboard)[Changelog](/changelog)[Analyze](/analyze)[Collections](/collections)[Log in](/login)[Sign up](/register)

1. [Directory](/)
2. /
3. [Utility &amp; Helpers](/categories/utility)
4. /
5. captainhook/hook-installer

ActiveComposer-plugin[Utility &amp; Helpers](/categories/utility)

captainhook/hook-installer
==========================

Composer Plugin that makes everyone activate the CaptainHook git hooks locally

1.0.4(1y ago)51.1M↓17.4%120MITPHPPHP &gt;=8.0CI passing

Since Dec 13Pushed 1w ago1 watchersCompare

[ Source](https://github.com/captainhook-git/hook-installer)[ Packagist](https://packagist.org/packages/captainhook/hook-installer)[ RSS](/packages/captainhook-hook-installer/feed)WikiDiscussions main Synced 2w ago

READMEChangelog (10)Dependencies (2)Versions (11)Used By (20)

Hook-Installer
==============

[](#hook-installer)

[![Latest Stable Version](https://camo.githubusercontent.com/061431ef003ab971120c11dfed77e032260b74023fd2fed5e08b5cb818532e1a/68747470733a2f2f706f7365722e707567782e6f72672f6361707461696e686f6f6b2f686f6f6b2d696e7374616c6c65722f762f737461626c652e7376673f763d31)](https://packagist.org/packages/captainhook/hook-installer)[![Minimum PHP Version](https://camo.githubusercontent.com/905c670b6e3bc20026bddbc8923df4d38111e526b88f1252ac4ceb6643299d96/68747470733a2f2f696d672e736869656c64732e696f2f62616467652f7068702d253345253344253230382e302d3838393242462e737667)](https://php.net/)[![Downloads](https://camo.githubusercontent.com/890fdae8020171648d614de5269e0c4cb4cfe2e32aeeb7e29b633446d213c994/68747470733a2f2f696d672e736869656c64732e696f2f7061636b61676973742f64742f6361707461696e686f6f6b2f686f6f6b2d696e7374616c6c65722e7376673f7631)](https://packagist.org/packages/captainhook/hook-installer)[![License](https://camo.githubusercontent.com/50090247b6852f13d188d81a90165d150cc49089f582578381f0ac351728367f/68747470733a2f2f706f7365722e707567782e6f72672f6361707461696e686f6f6b2f686f6f6b2d696e7374616c6c65722f6c6963656e73652e7376673f763d31)](https://packagist.org/packages/captainhook/hook-installer)[![Continuous Integration](https://github.com/captainhook-git/hook-installer/actions/workflows/integration.yml/badge.svg)](https://github.com/captainhook-git/hook-installer/actions/workflows/integration.yml)

*HookInstaller* is a *Composer* plugin for [CaptainHook](https://github.com/captainhook-git/captainhook) it takes care of activating your local git hooks after `composer install` or `composer update`. If you want to make sure your teammates activate their hooks, install this plugin and you don't have to remind them anymore.

For more information about `CaptainHook` visit the [Website](http://captainhook.info/).

Installation:
-------------

[](#installation)

As this is a *Composer* plugin you should use *Composer* to install it.

```
$ composer require --dev captainhook/hook-installer
```

For this to work you must have `CaptainHook` installed already. If you need help installing `CaptainHook` have a look at the Captain´s [README](https://github.com/captainhook-git/captainhook)

Everything else should happen automagically.

Customize
---------

[](#customize)

If you choose to not put your configuration in the default location you can set the path to your `CaptainHook` configuration file. If you installed `CaptainHook` without using any of its Composer packages `captainhook/captainhook`or `captainhook/captainhook-phar` you have to set the path to the executable. All extra config settings are optional and if you are using the default settings you do not have to configure anything to make it work.

```
{
  "extra": {
    "captainhook": {
      "config": "config/captainhook.json",
      "exec": "tools/captainhook.phar",
      "force-install": true,
      "only-enabled": true,
      "disable-plugin": false
    }
  }
}
```

A word of warning
-----------------

[](#a-word-of-warning)

It is still possible to commit without invoking the hooks. So make sure you run appropriate backend-sanity checks on your code!

###  Health Score

52

—

FairBetter than 96% of packages

Maintenance73

Regular maintenance activity

Popularity45

Moderate usage in the ecosystem

Community28

Small or concentrated contributor base

Maturity54

Maturing project, gaining track record

 Bus Factor1

Top contributor holds 90.3% of commits — single point of failure

How is this calculated?**Maintenance (25%)** — Last commit recency, latest release date, and issue-to-star ratio. Uses a 2-year decay window.

**Popularity (30%)** — Total and monthly downloads, GitHub stars, and forks. Logarithmic scaling prevents top-heavy scores.

**Community (15%)** — Contributors, dependents, forks, watchers, and maintainers. Measures real ecosystem engagement.

**Maturity (30%)** — Project age, version count, PHP version support, and release stability.

###  Release Activity

Cadence

Every ~53 days

Recently: every ~120 days

Total

10

Last Release

497d ago

Major Versions

0.9.4 → 1.0.02023-12-13

### Community

Maintainers

![](https://avatars.githubusercontent.com/u/9250358?v=4)[Sebastian Feldmann](/maintainers/sebastianfeldmann)[@sebastianfeldmann](https://github.com/sebastianfeldmann)

---

Top Contributors

[![sebastianfeldmann](https://avatars.githubusercontent.com/u/9250358?v=4)](https://github.com/sebastianfeldmann "sebastianfeldmann (28 commits)")[![CybotTM](https://avatars.githubusercontent.com/u/326348?v=4)](https://github.com/CybotTM "CybotTM (1 commits)")[![Eydamos](https://avatars.githubusercontent.com/u/56870300?v=4)](https://github.com/Eydamos "Eydamos (1 commits)")[![Sm1lEE](https://avatars.githubusercontent.com/u/2184676?v=4)](https://github.com/Sm1lEE "Sm1lEE (1 commits)")

---

Tags

automationgitgit-hooks

### Embed Badge

![Health badge](/badges/captainhook-hook-installer/health.svg)

```
[![Health](https://phpackages.com/badges/captainhook-hook-installer/health.svg)](https://phpackages.com/packages/captainhook-hook-installer)
```

###  Alternatives

[symfony/runtime

Enables decoupling PHP applications from global state

740103.0M1.2k](/packages/symfony-runtime)[drupal/core-composer-scaffold

A flexible Composer project scaffold builder.

5346.5M600](/packages/drupal-core-composer-scaffold)[drupal/core-project-message

Adds a message after Composer installation.

2125.4M213](/packages/drupal-core-project-message)[phpro/grumphp-shim

GrumPHP Phar distribution

284.9M348](/packages/phpro-grumphp-shim)[automattic/jetpack-autoloader

Creates a custom autoloader for a plugin or theme.

566.3M167](/packages/automattic-jetpack-autoloader)[altis/core

Core module for Altis

19233.0k4](/packages/altis-core)

PHPackages © 2026

[Directory](/)[Categories](/categories)[Trending](/trending)[Changelog](/changelog)[Analyze](/analyze)
