Nervous Penpal Message


    1.1.11 • Public • Published


    write git hooks in javascript - works in Windows

    git-hooks-ws is an utility for managing and running project git hooks for nodejs projects.

    It has zero dependecies and easy to use.

    Just install git-hooks-win and it will run your hooks when a hook is called by git.

    This version works in Windows 7.

    Why do you need git hooks in your project?

    Hooks are little scripts you can place in $GIT_DIR/hooks directory to trigger action at certain points.

    They are very powerful and helpful.

    You can do a lot of things with them:

    • Validate commit message contents (for example: must include ticket number)
    • Validate code and run tests before commit.
    • Check codestyle.
    • Spell check the commit message or check it format.
    • and etc.

    Note. When you use git-hooks-win, you should not modify $GIT_DIR/hooks directory manually because git-hooks-win will do it for you.


    Install git-hooks-win in your project.

    npm install git-hooks-win --save-dev

    To keep things organized, git-hooks-win looks for scripts in sub-directories named after the git hook name. All these sub-directories should be stored in .githooks directory in the project root.

    Let's create some dummy pre-commit hook (bash)

    mkdir -p .githooks/pre-commit
    echo -e '#!/usr/bin/env node' "\nconsole.log('hi!');" > .githooks/pre-commit/hello.js
    chmod +x .githooks/pre-commit/hello.js

    On Windows, one does not have any "execute" permissions on files, so just

    mkdir .githooks\commit-msg
    echo !/usr/bin/env node >> .githooks\commit-msg\hello.js & echo console.log('hi!'); >> .githooks\commit-msg\hello.js

    Then just try to commit and see how things are rolling.

    git add .githooks package.json
    git commit -m "Add git-hooks-win"

    See also hooks examples.

    It's worth to mention that our library checks for gitignore rules while executing scripts in .githooks/ directories.

    Related projects


    npm i git-hooks-win

    DownloadsWeekly Downloads






    Last publish


    • john.lewczyk