Overcommit is a tool that runs pre-commit hooks to check code quality and enforce best practices before code is committed to a repository. It can be installed on a new project by running "gem install overcommit" then "overcommit --install" which will configure pre-commit hooks for linting, formatting and other checks using tools like RuboCop. The hooks that can be run include CommitMsg, PostCheckout, PostCommit, PostMerge, PreCommit and others to check code at different stages of the development workflow.