A framework for managing and maintaining multi-language pre-commit hooks