Git hooks manager intended for developers using pre-commit, prek and commitizen
Project description
pre-commit-crocodile
Git hooks manager intended for developers using pre-commit, prek 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 - prek: Better
pre-commit, re-engineered in Rust - CLI - commitizen: Commits tools and validation based upon conventional commits
- Hooks - pre-commit-hooks: Common
pre-commithooks useful for developers
pre-commit-crocodile provides the following features:
- CLI - pre-commit-crocodile: Management tool for
pre-commitGit hooks - CLI - pre-commit-crocodile: Easy Git hooks activation for development teams
- CLI - pre-commit-crocodile: Dependencies preparation for pre-commit or prek.
- CLI - pre-commit-crocodile: Automated customized configurations for maintainers
- Hooks - prepare-commit-msg: Prepare commit message automatically based on changes
Preview
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] [--commit]
[--components | --remotes | --no-components] [--offline] [--stage STAGE]
[--set-engine [ENGINE]] [--]
pre-commit-crocodile: Git hooks manager intended for developers using pre-commit, prek and commitizen
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
--commit # Commit configurations changes automatically (implies --configure)
--components # Import components from GitLab with 'include: component:'
--remotes # Import components from GitLab with 'include: remote:'
--no-components # Import components templates locally instead of 'include: component:'
--offline # Use offline mode to disable configurations autoupdate
--stage STAGE # Run a specific pre-commit stage with --run
# (use 'list' to list supported stages)
settings arguments:
--set-engine [ENGINE] # Set pre-commit engine to use (pre-commit, prek, default: pre-commit)
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 :
[](https://radiandevcore.gitlab.io/tools/pre-commit-crocodile)
<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 | 
Configure engine to use (once per user)
- prek: Recent Rust re-implementation, in development and faster (default, recommended)
- pre-commit: Original Python implementation, stable but slower (legacy)
pre-commit-crocodile --set-engine [pre-commit,prek]
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 | 
Import or refresh configurations
pre-commit-crocodile --configure
Projects maintenance | 
Update hooks automatically
pre-commit-crocodile --autoupdate
Cleanup hooks cache
pre-commit-crocodile --clean
Dependencies
- colored: Terminal colors and styles
- commitizen: Simple commit conventions for internet citizens
- pre-commit: A framework for managing and maintaining pre-commit hooks
- pre-commit-crocodile: Git hooks manager intended for developers using pre-commit, prek and commitizen
- prek: Better
pre-commit, re-engineered in Rust - setuptools: Build and manage Python packages
- update-checker: Check for package updates on PyPI
- uv: An extremely fast Python package and project manager, written in Rust.
References
- .gitlab-ci.yml: GitLab CI/CD Pipeline Configuration Reference
- conventionalcommits: Conventional Commits specification for commit messages
- gcil: Launch .gitlab-ci.yml jobs locally
- git-cliff: CHANGELOG generator
- gitlab-release: Utility for publishing on GitLab
- mkdocs: Project documentation with Markdown
- mkdocs-coverage: Coverage plugin for mkdocs documentation
- mkdocs-exporter: Exporter plugin for mkdocs documentation
- mkdocs-material: Material theme for mkdocs documentation
- mypy: Optional static typing for Python
- pexpect-executor: Automate interactive CLI tools actions
- PyPI: The Python Package Index
- termtosvg: Record terminal sessions as SVG animations
- twine: Utility for publishing on PyPI
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file pre_commit_crocodile-8.2.1.tar.gz.
File metadata
- Download URL: pre_commit_crocodile-8.2.1.tar.gz
- Upload date:
- Size: 160.7 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.13.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
1218bbd4cdc24552f4c09b388a9bfe81a5d2f001c25588b4d71793a5ea28bc24
|
|
| MD5 |
70523a781a4ffe8308c271acaa203cdb
|
|
| BLAKE2b-256 |
f442f3d9185efe21e20a48bad7fcc37a314940a34c946f299830213a4c5c9569
|
File details
Details for the file pre_commit_crocodile-8.2.1-py3-none-any.whl.
File metadata
- Download URL: pre_commit_crocodile-8.2.1-py3-none-any.whl
- Upload date:
- Size: 51.9 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.13.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
e26d8237cfcfb0f7041f55915bf99923f9d7f1ab85d32741bbec6cfa18a3bcf4
|
|
| MD5 |
d9efb1faa5ffb100e047dcf420c5faa5
|
|
| BLAKE2b-256 |
d3ebd32a5ae262a77df47e1baa4fb8413c7bccc55cf3104f7574363b2ed046ed
|