pre-commit linting