Pre-commit is a framework for managing pre-commit hooks for multiple languages that helps discover errors before committing or CI to avoid dirty commits and unhappy reviewers by installing and configuring pre-commit hooks that run checks and linting prior to committing code.