# Use this file to configure the Overcommit hooks you wish to use. This will # extend the default configuration defined in: # https://github.com/sds/overcommit/blob/master/config/default.yml # # At the topmost level of this YAML file is a key representing type of hook # being run (e.g. pre-commit, commit-msg, etc.). Within each type you can # customize each hook, such as whether to only run it on certain files (via # `include`), whether to only display output if it fails (via `quiet`), etc. # # For a complete list of hooks, see: # https://github.com/sds/overcommit/tree/master/lib/overcommit/hook # # For a complete list of options that you can use to customize hooks, see: # https://github.com/sds/overcommit#configuration PreCommit: ALL: problem_on_unmodified_line: report requires_files: true required: false quiet: false AuthorEmail: enabled: true description: 'Check author email' requires_files: false required: true quiet: true pattern: '^[^@]+@.*$' AuthorName: enabled: true description: 'Check for author name' requires_files: false required: true quiet: true BundleCheck: enabled: true description: 'Check Gemfile dependencies' required_executable: 'bundle' flags: ['check'] include: - 'Gemfile' - 'Gemfile.lock' - '*.gemspec' BundleOutdated: enabled: true description: 'List installed gems with newer versions available' required_executable: 'bundle' flags: ['outdated', '--strict', '--parseable'] RuboCop: enabled: true description: 'Analyze with RuboCop' required_executable: 'bundle' flags: ['exec', 'rubocop'] # Hooks that are run against every commit message after a user has written it. # These hooks are useful for enforcing policies on commit messages written for a # project. CommitMsg: ALL: requires_files: false quiet: false EmptyMessage: enabled: true description: 'Check for empty commit message' quiet: true MessageFormat: enabled: true description: 'Check commit message matches expected pattern' pattern: '(\[#)(.+)(\]\s)(.+)' expected_pattern_message: '[#] ' sample_message: '[#167] Refactored onboarding flow' PrePush: ALL: requires_files: false required: false quiet: false RakeTarget: enabled: true quite: true description: 'Run rake targets' targets: - 'rubocop' - 'test' - 'xcop' required_executable: 'bundle' flags: ['exec', 'rake']