Skip to content

pre-commit-crocodile

Release Python Downloads License
Build Bugs Code Smells Coverage Lines of Code Quality Gate Status
pre-commit Commitizen friendly gcil pre-commit-crocodile guidelines

Git hooks intended for developers using pre-commit and commitizen

Documentation: https://radiandevcore.gitlab.io/tools/pre-commit-crocodile
Package: https://pypi.org/project/pre-commit-crocodile/


Features

pre-commit-crocodile uses the following features:

  • CLI - pre-commit: Automated Git hooks before commits and upon pushes
  • CLI - commitizen: Commits tools and validation based upon conventional commits
  • Hooks - pre-commit-hooks: Common pre-commit hooks useful for developers
  • Hooks - prepare-commit-msg: Prepare commit message automatically based on changes

Preview

preview.svg


Usage

usage: pre-commit-crocodile [-h] [--version] [--no-color] [--update-check] [--settings] [--set GROUP KEY VAL]
                            [-l | -i | -c | -b | -e | -d | -a | -C | -r] [--config FOLDER | -D] [--stage STAGE] [--]

pre-commit-crocodile: Git hooks intended for developers using pre-commit

internal arguments:
  -h, --help           # Show this help message
  --version            # Show the current version
  --no-color           # Disable colors outputs with 'NO_COLOR=1'
                       # (or default settings: [themes] > no_color)
  --update-check       # Check for newer package updates
  --settings           # Show the current settings path and contents
  --set GROUP KEY VAL  # Set settings specific 'VAL' value to [GROUP] > KEY
                       # or unset by using 'UNSET' as 'VAL'

modes arguments:
  -l, --list           # List Git hooks installed in sources
  -i, --install        # Install dependencies for pre-commit hooks
  -c, --configure      # Update sources with hooks configurations
  -b, --badges         # Update documentation with badges configurations
  -e, --enable         # Enable pre-commit hooks
  -d, --disable        # Disable pre-commit hooks
  -a, --autoupdate     # Autoupdate pre-commit hooks
  -C, --clean          # Clean pre-commit cached hooks
  -r, --run            # Run pre-commit hooks

configurations arguments:
  --config FOLDER      # Use configurations from a specific folder
  -D, --default        # Use global default configurations instead of sources
  --stage STAGE        # Run a specific pre-commit stage with --run
                       # (use 'list' to list supported stages)

positional arguments:
  --                   # Positional arguments separator (recommended)

Installation

{
  # Option 1: If using pipx
  if type pipx >/dev/null 2>&1; then
    pipx ensurepath
    pipx install pre-commit-crocodile
    pipx upgrade pre-commit-crocodile

  # Option 2: If using pip
  else
    sudo pip3 install pre-commit-crocodile
  fi
}

Compatibility

Projects compatible with pre-commit-crocodile can use this badge to ease things for developers, both as an indicator and a documentation shortcut button :

pre-commit-crocodile

Badge in Markdown
[![pre-commit-crocodile](https://img.shields.io/badge/pre--commit--crocodile-enabled-brightgreen?logo=gitlab)](https://radiandevcore.gitlab.io/tools/pre-commit-crocodile)
Badge in HTML
<a href="https://radiandevcore.gitlab.io/tools/pre-commit-crocodile"><img src="https://img.shields.io/badge/pre--commit--crocodile-enabled-brightgreen?logo=gitlab" alt="pre-commit-crocodile" style="max-width:100%;"></a>

Projects with configurations | pre-commit-crocodile

Install dependencies (once per user)

pre-commit-crocodile --install

Enable hooks for a project

pre-commit-crocodile --enable

Manually run hooks of a project

pre-commit-crocodile --run

Disable hooks for a project

pre-commit-crocodile --disable

Projects without configurations | pre-commit

Import or refresh configurations

pre-commit-crocodile --configure

Projects maintenance | pre-commit-crocodile

Update hooks automatically

pre-commit-crocodile --autoupdate

Cleanup hooks cache

pre-commit-crocodile --clean

Dependencies


References