Autohook is a lightweight Git hook manager built around a single shell script. It provides a straightforward way to organise and execute commands in response to Git events, without requiring a separate framework or complex configuration system.
The application uses symbolic links to connect Git’s hook entry points to a common script. When an event occurs, Autohook locates the corresponding directory and executes the scripts stored there.
Autohook supports two approaches to managing hooks. Scripts can be stored directly in a repository, allowing them to be shared with the source code and vary between branches. Alternatively, they can be maintained centrally for use across multiple projects and development environments.
This is free and open source software.
Key Features
- Uses a single Bash script to dispatch Git hook events to their associated commands.
- Creates symbolic links in the repository’s .git/hooks directory using the install command.
- Supports pre-commit, commit-msg, post-checkout, pre-push and other Git hook types.
- Runs multiple executable scripts for a single Git event, allowing checks and automation tasks to be separated.
- Uses relative symbolic links for repository-local installations and absolute paths for centrally installed scripts.
- Supports numbered script prefixes to control execution order.
- Provides the AUTOHOOK_HOOKS_PATH environment variable for specifying alternative hook directories.
- Accepts colon-separated search paths, allowing project-specific scripts to run alongside common shared hooks.
- Forwards Git hook command-line arguments and standard input to the individual scripts.
- Allows scripts to be reused between different Git hooks through symbolic links, hard links or wrapper scripts.
- Requires no separate configuration file or additional programming-language runtime beyond its shell environment.
Website: github.com/Autohook/Autohook
Support:
Developer: Nikola Kantar and contributors
License: MIT License
Autohook is written in Bash.
Related Software
| Git Hook Managers | |
|---|---|
| lefthook | Git hooks manager for Node.js, Ruby, Python and more |
| husky | Git hooks made easy |
| pre-commit | Manage and maintain multi-language pre-commit hooks |
| prek | Reimagined version of pre-commit |
| overcommit | Manage and configure Git hooks |
| hk | Git hooks manager and project linting tool focusing on performance |
| simple-git-hooks | Simple git hooks manager for small projects |
| CaptainHook | Flexible Git hook manager |
| Githooks | Platform-independent hooks manager |
| git-hooks | Rewritten from icefox/git-hooks, with extra features |
| Jig | Git pre-commit hook on steroids |
Read our verdict in the software roundup.
Explore our carefully curated directory of recommended free and open source software, covering every major software category.The directory forms part of our extensive collection of articles for Linux enthusiasts. It includes hundreds of detailed reviews, together with free and open source alternatives to proprietary software from companies such as Google, Microsoft, Apple, Adobe, IBM, Cisco, Oracle, and Autodesk. LinuxLinks also covers interesting projects worth exploring, Linux-compatible hardware, free programming books and tutorials, and much more. Know a useful free and open source Linux application that we haven’t covered? Tell us about it using our submission form. |


Please read our Comment Policy before commenting.