Add configuration for pre-commit, ruff as a hook and configuration to run ruff whenever a pull request is opened or code is pushed.