pre-commit