Skip to main content

hookmaster

Project description

Hookmaster

Some nice git hooks for your pleasure.

Problem:

  • You have a policy where every commit message should mention the jira ticket it applies to. You have them in the branch name, and can't be arsed to type them manually to each commit message. Hookmaster provides you with a nice "default" commit message formatter in prepare-commit-msg hook.
  • You want to specify commands to run as different git hooks, in a file you share with your team in git.

Installation

uv tool install hookmaster

Usage

To add 'hookmaster' hooks to all projects under /my/path

hookmaster add /my/path

Now, you get a nice commit message hook that maps branch

/bugfixes/SOMETICKET-123-do-stuff

to

SOMETICKET-123: Do stuff

The hooks themselves relay the call to hookmaster, e.g. prepare-commit-msg hooks created by hookmaster looks like this:

#!/bin/sh
hookmaster prepare-commit-msg "$@"

This delegates the message creation to globally installed hookmaster application. This means fixes to hookmaster benefit all your repositories at once.

githooks.toml

For any other hooks, you can specify them in githooks.toml:

pre-commit = "python tasks.py format"

The format should be obvious.

The hook created by this will look like:

#!/bin/sh
hookmaster run pre-commit

The command hookmaster run will load the githooks.toml file, find the hook and run it. You can use command hookmaster run pre-commit to test the hook without actually committing anything.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

hookmaster-1.4.3.tar.gz (5.4 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

hookmaster-1.4.3-py3-none-any.whl (5.7 kB view details)

Uploaded Python 3

File details

Details for the file hookmaster-1.4.3.tar.gz.

File metadata

  • Download URL: hookmaster-1.4.3.tar.gz
  • Upload date:
  • Size: 5.4 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.12.8

File hashes

Hashes for hookmaster-1.4.3.tar.gz
Algorithm Hash digest
SHA256 7117dfa067ebcb2e6676b9f233f384d2053567fbcc3dad40cc52df6d195813cf
MD5 cac6c6383f55e271c6081fba08b36902
BLAKE2b-256 493789711893cad40c171aeb629facf19e0272a21daff289ab8b55a827bbc1e6

See more details on using hashes here.

File details

Details for the file hookmaster-1.4.3-py3-none-any.whl.

File metadata

  • Download URL: hookmaster-1.4.3-py3-none-any.whl
  • Upload date:
  • Size: 5.7 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.12.8

File hashes

Hashes for hookmaster-1.4.3-py3-none-any.whl
Algorithm Hash digest
SHA256 8b8a646800fe7a7e3ee871f6dfb24e4134499f70c07149c7b2bdcfffd69e89e6
MD5 d0730be8a4ad39b1f24222062ab4f5a5
BLAKE2b-256 b2cd2a30ec415bd9aca3e0b48d5791cbaa5f5e5b1636dc80409124d7a2365a2c

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page