overcommit-jeygeethanmedia 0.53.1

Sign up to get free protection for your applications and to get access to all the features.
Files changed (226) hide show
  1. checksums.yaml +7 -0
  2. data/bin/overcommit +50 -0
  3. data/config/default.yml +1356 -0
  4. data/config/starter.yml +33 -0
  5. data/lib/overcommit.rb +26 -0
  6. data/lib/overcommit/cli.rb +223 -0
  7. data/lib/overcommit/command_splitter.rb +146 -0
  8. data/lib/overcommit/configuration.rb +350 -0
  9. data/lib/overcommit/configuration_loader.rb +96 -0
  10. data/lib/overcommit/configuration_validator.rb +186 -0
  11. data/lib/overcommit/constants.rb +12 -0
  12. data/lib/overcommit/exceptions.rb +52 -0
  13. data/lib/overcommit/git_config.rb +22 -0
  14. data/lib/overcommit/git_repo.rb +286 -0
  15. data/lib/overcommit/git_version.rb +17 -0
  16. data/lib/overcommit/hook/base.rb +294 -0
  17. data/lib/overcommit/hook/commit_msg/base.rb +14 -0
  18. data/lib/overcommit/hook/commit_msg/capitalized_subject.rb +25 -0
  19. data/lib/overcommit/hook/commit_msg/empty_message.rb +12 -0
  20. data/lib/overcommit/hook/commit_msg/gerrit_change_id.rb +22 -0
  21. data/lib/overcommit/hook/commit_msg/hard_tabs.rb +17 -0
  22. data/lib/overcommit/hook/commit_msg/message_format.rb +31 -0
  23. data/lib/overcommit/hook/commit_msg/russian_novel.rb +16 -0
  24. data/lib/overcommit/hook/commit_msg/single_line_subject.rb +16 -0
  25. data/lib/overcommit/hook/commit_msg/spell_check.rb +45 -0
  26. data/lib/overcommit/hook/commit_msg/text_width.rb +56 -0
  27. data/lib/overcommit/hook/commit_msg/trailing_period.rb +16 -0
  28. data/lib/overcommit/hook/post_checkout/base.rb +22 -0
  29. data/lib/overcommit/hook/post_checkout/bower_install.rb +13 -0
  30. data/lib/overcommit/hook/post_checkout/bundle_install.rb +13 -0
  31. data/lib/overcommit/hook/post_checkout/composer_install.rb +13 -0
  32. data/lib/overcommit/hook/post_checkout/index_tags.rb +12 -0
  33. data/lib/overcommit/hook/post_checkout/npm_install.rb +13 -0
  34. data/lib/overcommit/hook/post_checkout/submodule_status.rb +12 -0
  35. data/lib/overcommit/hook/post_checkout/yarn_install.rb +13 -0
  36. data/lib/overcommit/hook/post_commit/base.rb +12 -0
  37. data/lib/overcommit/hook/post_commit/bower_install.rb +13 -0
  38. data/lib/overcommit/hook/post_commit/bundle_install.rb +13 -0
  39. data/lib/overcommit/hook/post_commit/commitplease.rb +16 -0
  40. data/lib/overcommit/hook/post_commit/composer_install.rb +13 -0
  41. data/lib/overcommit/hook/post_commit/git_guilt.rb +43 -0
  42. data/lib/overcommit/hook/post_commit/index_tags.rb +12 -0
  43. data/lib/overcommit/hook/post_commit/npm_install.rb +13 -0
  44. data/lib/overcommit/hook/post_commit/submodule_status.rb +12 -0
  45. data/lib/overcommit/hook/post_commit/yarn_install.rb +13 -0
  46. data/lib/overcommit/hook/post_merge/base.rb +12 -0
  47. data/lib/overcommit/hook/post_merge/bower_install.rb +13 -0
  48. data/lib/overcommit/hook/post_merge/bundle_install.rb +13 -0
  49. data/lib/overcommit/hook/post_merge/composer_install.rb +13 -0
  50. data/lib/overcommit/hook/post_merge/index_tags.rb +12 -0
  51. data/lib/overcommit/hook/post_merge/npm_install.rb +13 -0
  52. data/lib/overcommit/hook/post_merge/submodule_status.rb +12 -0
  53. data/lib/overcommit/hook/post_merge/yarn_install.rb +13 -0
  54. data/lib/overcommit/hook/post_rewrite/base.rb +12 -0
  55. data/lib/overcommit/hook/post_rewrite/bower_install.rb +13 -0
  56. data/lib/overcommit/hook/post_rewrite/bundle_install.rb +13 -0
  57. data/lib/overcommit/hook/post_rewrite/composer_install.rb +13 -0
  58. data/lib/overcommit/hook/post_rewrite/index_tags.rb +19 -0
  59. data/lib/overcommit/hook/post_rewrite/npm_install.rb +13 -0
  60. data/lib/overcommit/hook/post_rewrite/submodule_status.rb +12 -0
  61. data/lib/overcommit/hook/post_rewrite/yarn_install.rb +13 -0
  62. data/lib/overcommit/hook/pre_commit/author_email.rb +26 -0
  63. data/lib/overcommit/hook/pre_commit/author_name.rb +25 -0
  64. data/lib/overcommit/hook/pre_commit/base.rb +19 -0
  65. data/lib/overcommit/hook/pre_commit/berksfile_check.rb +24 -0
  66. data/lib/overcommit/hook/pre_commit/broken_symlinks.rb +17 -0
  67. data/lib/overcommit/hook/pre_commit/bundle_audit.rb +24 -0
  68. data/lib/overcommit/hook/pre_commit/bundle_check.rb +32 -0
  69. data/lib/overcommit/hook/pre_commit/bundle_outdated.rb +25 -0
  70. data/lib/overcommit/hook/pre_commit/case_conflicts.rb +27 -0
  71. data/lib/overcommit/hook/pre_commit/chamber_compare.rb +43 -0
  72. data/lib/overcommit/hook/pre_commit/chamber_security.rb +15 -0
  73. data/lib/overcommit/hook/pre_commit/chamber_verification.rb +36 -0
  74. data/lib/overcommit/hook/pre_commit/code_spell_check.rb +36 -0
  75. data/lib/overcommit/hook/pre_commit/coffee_lint.rb +35 -0
  76. data/lib/overcommit/hook/pre_commit/cook_style.rb +35 -0
  77. data/lib/overcommit/hook/pre_commit/credo.rb +27 -0
  78. data/lib/overcommit/hook/pre_commit/css_lint.rb +26 -0
  79. data/lib/overcommit/hook/pre_commit/dogma.rb +33 -0
  80. data/lib/overcommit/hook/pre_commit/es_lint.rb +38 -0
  81. data/lib/overcommit/hook/pre_commit/execute_permissions.rb +76 -0
  82. data/lib/overcommit/hook/pre_commit/fasterer.rb +25 -0
  83. data/lib/overcommit/hook/pre_commit/file_size.rb +47 -0
  84. data/lib/overcommit/hook/pre_commit/fix_me.rb +17 -0
  85. data/lib/overcommit/hook/pre_commit/flay.rb +38 -0
  86. data/lib/overcommit/hook/pre_commit/foodcritic.rb +149 -0
  87. data/lib/overcommit/hook/pre_commit/forbidden_branches.rb +26 -0
  88. data/lib/overcommit/hook/pre_commit/ginkgo_focus.rb +23 -0
  89. data/lib/overcommit/hook/pre_commit/go_fmt.rb +17 -0
  90. data/lib/overcommit/hook/pre_commit/go_lint.rb +29 -0
  91. data/lib/overcommit/hook/pre_commit/go_vet.rb +24 -0
  92. data/lib/overcommit/hook/pre_commit/golangci_lint.rb +21 -0
  93. data/lib/overcommit/hook/pre_commit/hadolint.rb +27 -0
  94. data/lib/overcommit/hook/pre_commit/haml_lint.rb +23 -0
  95. data/lib/overcommit/hook/pre_commit/hard_tabs.rb +15 -0
  96. data/lib/overcommit/hook/pre_commit/hlint.rb +34 -0
  97. data/lib/overcommit/hook/pre_commit/html_hint.rb +23 -0
  98. data/lib/overcommit/hook/pre_commit/html_tidy.rb +30 -0
  99. data/lib/overcommit/hook/pre_commit/image_optim.rb +28 -0
  100. data/lib/overcommit/hook/pre_commit/java_checkstyle.rb +27 -0
  101. data/lib/overcommit/hook/pre_commit/js_hint.rb +23 -0
  102. data/lib/overcommit/hook/pre_commit/js_lint.rb +22 -0
  103. data/lib/overcommit/hook/pre_commit/jscs.rb +27 -0
  104. data/lib/overcommit/hook/pre_commit/jsl.rb +28 -0
  105. data/lib/overcommit/hook/pre_commit/json_syntax.rb +21 -0
  106. data/lib/overcommit/hook/pre_commit/kt_lint.rb +19 -0
  107. data/lib/overcommit/hook/pre_commit/license_finder.rb +14 -0
  108. data/lib/overcommit/hook/pre_commit/license_header.rb +48 -0
  109. data/lib/overcommit/hook/pre_commit/line_endings.rb +77 -0
  110. data/lib/overcommit/hook/pre_commit/local_paths_in_gemfile.rb +16 -0
  111. data/lib/overcommit/hook/pre_commit/mdl.rb +29 -0
  112. data/lib/overcommit/hook/pre_commit/merge_conflicts.rb +16 -0
  113. data/lib/overcommit/hook/pre_commit/nginx_test.rb +26 -0
  114. data/lib/overcommit/hook/pre_commit/pep257.rb +23 -0
  115. data/lib/overcommit/hook/pre_commit/pep8.rb +23 -0
  116. data/lib/overcommit/hook/pre_commit/php_cs.rb +43 -0
  117. data/lib/overcommit/hook/pre_commit/php_cs_fixer.rb +57 -0
  118. data/lib/overcommit/hook/pre_commit/php_lint.rb +44 -0
  119. data/lib/overcommit/hook/pre_commit/php_stan.rb +30 -0
  120. data/lib/overcommit/hook/pre_commit/pronto.rb +12 -0
  121. data/lib/overcommit/hook/pre_commit/puppet_lint.rb +26 -0
  122. data/lib/overcommit/hook/pre_commit/puppet_metadata_json_lint.rb +29 -0
  123. data/lib/overcommit/hook/pre_commit/pycodestyle.rb +23 -0
  124. data/lib/overcommit/hook/pre_commit/pydocstyle.rb +23 -0
  125. data/lib/overcommit/hook/pre_commit/pyflakes.rb +32 -0
  126. data/lib/overcommit/hook/pre_commit/pylint.rb +32 -0
  127. data/lib/overcommit/hook/pre_commit/python_flake8.rb +32 -0
  128. data/lib/overcommit/hook/pre_commit/rails_best_practices.rb +34 -0
  129. data/lib/overcommit/hook/pre_commit/rails_schema_up_to_date.rb +58 -0
  130. data/lib/overcommit/hook/pre_commit/rake_target.rb +12 -0
  131. data/lib/overcommit/hook/pre_commit/reek.rb +26 -0
  132. data/lib/overcommit/hook/pre_commit/rst_lint.rb +27 -0
  133. data/lib/overcommit/hook/pre_commit/rubo_cop.rb +35 -0
  134. data/lib/overcommit/hook/pre_commit/ruby_lint.rb +23 -0
  135. data/lib/overcommit/hook/pre_commit/ruby_syntax.rb +27 -0
  136. data/lib/overcommit/hook/pre_commit/scalariform.rb +22 -0
  137. data/lib/overcommit/hook/pre_commit/scalastyle.rb +31 -0
  138. data/lib/overcommit/hook/pre_commit/scss_lint.rb +43 -0
  139. data/lib/overcommit/hook/pre_commit/semi_standard.rb +23 -0
  140. data/lib/overcommit/hook/pre_commit/shell_check.rb +23 -0
  141. data/lib/overcommit/hook/pre_commit/slim_lint.rb +23 -0
  142. data/lib/overcommit/hook/pre_commit/sqlint.rb +26 -0
  143. data/lib/overcommit/hook/pre_commit/standard.rb +23 -0
  144. data/lib/overcommit/hook/pre_commit/stylelint.rb +23 -0
  145. data/lib/overcommit/hook/pre_commit/swift_lint.rb +19 -0
  146. data/lib/overcommit/hook/pre_commit/terraform_format.rb +19 -0
  147. data/lib/overcommit/hook/pre_commit/trailing_whitespace.rb +15 -0
  148. data/lib/overcommit/hook/pre_commit/travis_lint.rb +15 -0
  149. data/lib/overcommit/hook/pre_commit/ts_lint.rb +28 -0
  150. data/lib/overcommit/hook/pre_commit/vint.rb +22 -0
  151. data/lib/overcommit/hook/pre_commit/w3c_css.rb +67 -0
  152. data/lib/overcommit/hook/pre_commit/w3c_html.rb +64 -0
  153. data/lib/overcommit/hook/pre_commit/xml_lint.rb +24 -0
  154. data/lib/overcommit/hook/pre_commit/xml_syntax.rb +21 -0
  155. data/lib/overcommit/hook/pre_commit/yaml_lint.rb +18 -0
  156. data/lib/overcommit/hook/pre_commit/yaml_syntax.rb +20 -0
  157. data/lib/overcommit/hook/pre_commit/yard_coverage.rb +90 -0
  158. data/lib/overcommit/hook/pre_commit/yarn_check.rb +37 -0
  159. data/lib/overcommit/hook/pre_push/base.rb +33 -0
  160. data/lib/overcommit/hook/pre_push/brakeman.rb +15 -0
  161. data/lib/overcommit/hook/pre_push/cargo_test.rb +12 -0
  162. data/lib/overcommit/hook/pre_push/go_test.rb +14 -0
  163. data/lib/overcommit/hook/pre_push/golangci_lint.rb +16 -0
  164. data/lib/overcommit/hook/pre_push/minitest.rb +20 -0
  165. data/lib/overcommit/hook/pre_push/php_unit.rb +16 -0
  166. data/lib/overcommit/hook/pre_push/pronto.rb +12 -0
  167. data/lib/overcommit/hook/pre_push/protected_branches.rb +74 -0
  168. data/lib/overcommit/hook/pre_push/pytest.rb +16 -0
  169. data/lib/overcommit/hook/pre_push/python_nose.rb +16 -0
  170. data/lib/overcommit/hook/pre_push/r_spec.rb +16 -0
  171. data/lib/overcommit/hook/pre_push/rake_target.rb +12 -0
  172. data/lib/overcommit/hook/pre_push/test_unit.rb +16 -0
  173. data/lib/overcommit/hook/pre_rebase/base.rb +14 -0
  174. data/lib/overcommit/hook/pre_rebase/merged_commits.rb +31 -0
  175. data/lib/overcommit/hook/prepare_commit_msg/base.rb +25 -0
  176. data/lib/overcommit/hook/prepare_commit_msg/replace_branch.rb +57 -0
  177. data/lib/overcommit/hook/shared/bower_install.rb +15 -0
  178. data/lib/overcommit/hook/shared/bundle_install.rb +15 -0
  179. data/lib/overcommit/hook/shared/composer_install.rb +15 -0
  180. data/lib/overcommit/hook/shared/index_tags.rb +14 -0
  181. data/lib/overcommit/hook/shared/npm_install.rb +15 -0
  182. data/lib/overcommit/hook/shared/pronto.rb +21 -0
  183. data/lib/overcommit/hook/shared/rake_target.rb +26 -0
  184. data/lib/overcommit/hook/shared/submodule_status.rb +32 -0
  185. data/lib/overcommit/hook/shared/yarn_install.rb +15 -0
  186. data/lib/overcommit/hook_context.rb +19 -0
  187. data/lib/overcommit/hook_context/base.rb +139 -0
  188. data/lib/overcommit/hook_context/commit_msg.rb +48 -0
  189. data/lib/overcommit/hook_context/post_checkout.rb +36 -0
  190. data/lib/overcommit/hook_context/post_commit.rb +33 -0
  191. data/lib/overcommit/hook_context/post_merge.rb +37 -0
  192. data/lib/overcommit/hook_context/post_rewrite.rb +49 -0
  193. data/lib/overcommit/hook_context/pre_commit.rb +212 -0
  194. data/lib/overcommit/hook_context/pre_push.rb +89 -0
  195. data/lib/overcommit/hook_context/pre_rebase.rb +38 -0
  196. data/lib/overcommit/hook_context/prepare_commit_msg.rb +34 -0
  197. data/lib/overcommit/hook_context/run_all.rb +48 -0
  198. data/lib/overcommit/hook_loader/base.rb +48 -0
  199. data/lib/overcommit/hook_loader/built_in_hook_loader.rb +14 -0
  200. data/lib/overcommit/hook_loader/plugin_hook_loader.rb +102 -0
  201. data/lib/overcommit/hook_runner.rb +219 -0
  202. data/lib/overcommit/hook_signer.rb +123 -0
  203. data/lib/overcommit/installer.rb +193 -0
  204. data/lib/overcommit/interrupt_handler.rb +91 -0
  205. data/lib/overcommit/logger.rb +92 -0
  206. data/lib/overcommit/message_processor.rb +148 -0
  207. data/lib/overcommit/os.rb +38 -0
  208. data/lib/overcommit/printer.rb +145 -0
  209. data/lib/overcommit/subprocess.rb +98 -0
  210. data/lib/overcommit/utils.rb +309 -0
  211. data/lib/overcommit/utils/file_utils.rb +71 -0
  212. data/lib/overcommit/utils/messages_utils.rb +77 -0
  213. data/lib/overcommit/version.rb +6 -0
  214. data/libexec/gerrit-change-id +174 -0
  215. data/libexec/index-tags +17 -0
  216. data/template-dir/hooks/commit-msg +116 -0
  217. data/template-dir/hooks/overcommit-hook +116 -0
  218. data/template-dir/hooks/post-checkout +116 -0
  219. data/template-dir/hooks/post-commit +116 -0
  220. data/template-dir/hooks/post-merge +116 -0
  221. data/template-dir/hooks/post-rewrite +116 -0
  222. data/template-dir/hooks/pre-commit +116 -0
  223. data/template-dir/hooks/pre-push +116 -0
  224. data/template-dir/hooks/pre-rebase +116 -0
  225. data/template-dir/hooks/prepare-commit-msg +116 -0
  226. metadata +303 -0
@@ -0,0 +1,7 @@
1
+ ---
2
+ SHA256:
3
+ metadata.gz: 5da4259a1cb1af1c2e56198efddd0a7a26ed94d685fa4ac74bc65b30529e4c2d
4
+ data.tar.gz: 4e2d5af70a255d390c6f5b9eac408aefbd7737270b9c6723050acf3ca71e7890
5
+ SHA512:
6
+ metadata.gz: e8b77bd2169b55446f30e726f9be3cf35f24b475a70b1f38c97e7d9567a980f90e46577b72b4b665db1c42c25c66b50f41d9e3becac012136cce75215264e887
7
+ data.tar.gz: 37b94701d16881a6e9def35719c97f1b23181310d62c5d286d9610a508f746ef94f8456ef9e32970e1cdb5a369e212a928b6ea188f584891720ec5c35f42a019
@@ -0,0 +1,50 @@
1
+ #!/usr/bin/env ruby
2
+ # frozen_string_literal: true
3
+
4
+ # Check if Overcommit should invoke a Bundler context for loading gems
5
+ require 'yaml'
6
+ if gemfile = YAML.load_file('.overcommit.yml')['gemfile'] rescue nil
7
+ ENV['BUNDLE_GEMFILE'] = gemfile
8
+ require 'bundler'
9
+
10
+ begin
11
+ # We need to temporarily silence STDERR to remove annoying Gem specification
12
+ # warnings that ultimately don't matter, e.g.
13
+ # https://github.com/rubygems/rubygems/issues/1070
14
+ old_stderr = $stderr
15
+ begin
16
+ $stderr = File.new(File::NULL, 'w')
17
+ Bundler.setup
18
+ ensure
19
+ $stderr = old_stderr
20
+ end
21
+ rescue Bundler::BundlerError => ex
22
+ puts "Problem loading '#{gemfile}': #{ex.message}"
23
+ puts "Try running:\nbundle install --gemfile=#{gemfile}" if ex.is_a?(Bundler::GemNotFound)
24
+ exit 78 # EX_CONFIG
25
+ rescue Gem::LoadError => ex
26
+ # Handle case where user is executing overcommit without `bundle exec` and
27
+ # whose local Gemfile has a gem requirement that does not match a gem
28
+ # requirement of the installed version of Overcommit.
29
+ raise unless ex.message =~ /already activated/i
30
+ exec('bundle', 'exec', $0, *ARGV)
31
+ end
32
+ end
33
+
34
+ begin
35
+ require 'overcommit/cli'
36
+ rescue LoadError
37
+ if gemfile
38
+ puts 'You have specified the `gemfile` option in your Overcommit ' \
39
+ 'configuration but have not added the `overcommit` gem to ' \
40
+ "#{gemfile}."
41
+ else
42
+ raise
43
+ end
44
+
45
+ exit 64 # EX_USAGE
46
+ end
47
+
48
+ logger = Overcommit::Logger.new(STDOUT)
49
+
50
+ Overcommit::CLI.new(ARGV, STDIN, logger).run
@@ -0,0 +1,1356 @@
1
+ # Default configuration that all Overcommit configurations inherit from.
2
+ #
3
+ # This is an opinionated list of which hooks are valuable to run and what their
4
+ # out-of-the-box settings should be.
5
+ #-------------------------------------------------------------------------------
6
+
7
+ # Loads Bundler context from a Gemfile. If false, does nothing (default).
8
+ #
9
+ # Specifying a Gemfile for Bundler to load allows you to control which gems are
10
+ # available in the load path (i.e. loadable via `require`) within your hook
11
+ # runs. Note that having a Gemfile requires you to include `overcommit` itself
12
+ # in your Gemfile (otherwise Overcommit can't load itself!).
13
+ #
14
+ # This is useful if you want to:
15
+ #
16
+ # - Enforce a specific version of Overcommit to use for all hook runs
17
+ # (or to use a version from the master branch that has not been released yet)
18
+ # - Enforce a specific version or unreleased branch is used for a gem you want
19
+ # to use in your git hooks
20
+ #
21
+ # WARNING: This makes your hook runs slower, but you can work around this!
22
+ #
23
+ # Loading a Bundler context necessarily adds a startup delay to your hook runs
24
+ # as Bundler parses the Gemfile and checks that the dependencies are satisfied.
25
+ # Thus for projects with many gems this can introduce a noticeable delay.
26
+ #
27
+ # The recommended workaround is to create a separate Gemfile in the root of your
28
+ # repository (call it `.overcommit_gems.rb`), and include only the gems that
29
+ # your Overcommit hooks need in order to run. This significantly reduces the
30
+ # startup delay in your hook runs. Make sure to commit both
31
+ # `.overcommit_gems.rb` and the resulting `.overcommit_gems.rb.lock` file to
32
+ # your repository, and then set the `gemfile` option below to the name you gave
33
+ # the file.
34
+ # (Generate lock file by running `bundle install --gemfile=.overcommit_gems.rb`)
35
+ gemfile: false
36
+
37
+ # Where to store hook plugins specific to a repository. These are loaded in
38
+ # addition to the default hooks Overcommit comes with. The location is relative
39
+ # to the root of the repository.
40
+ plugin_directory: '.git-hooks'
41
+
42
+ # Whether to hide hook output by default. This results in completely silent hook
43
+ # runs except in the case of warning or failure.
44
+ quiet: false
45
+
46
+ # Number of hooks that can be run concurrently. Typically this won't need to be
47
+ # adjusted, but if you know that some of your hooks themselves use multiple
48
+ # processors you can lower this value accordingly. You can define
49
+ # single-operator mathematical expressions, e.g. '%{processors} * 2', or
50
+ # '%{processors} / 2'.
51
+ concurrency: '%{processors}'
52
+
53
+ # Whether to check if a hook plugin has changed since Overcommit last ran it.
54
+ # This is a defense mechanism when working with repositories which can contain
55
+ # untrusted code (e.g. when you fetch a pull request from a third party).
56
+ # See https://github.com/brigade/overcommit#security for more information.
57
+ verify_signatures: true
58
+
59
+ # Hooks that are run against every commit message after a user has written it.
60
+ # These hooks are useful for enforcing policies on commit messages written for a
61
+ # project.
62
+ CommitMsg:
63
+ ALL:
64
+ requires_files: false
65
+ quiet: false
66
+
67
+ CapitalizedSubject:
68
+ enabled: true
69
+ description: 'Check subject capitalization'
70
+
71
+ EmptyMessage:
72
+ enabled: true
73
+ description: 'Check for empty commit message'
74
+ quiet: true
75
+
76
+ GerritChangeId:
77
+ enabled: false
78
+ description: 'Ensure Gerrit Change-Id is present'
79
+ required: true
80
+
81
+ HardTabs:
82
+ enabled: false
83
+ description: 'Check for hard tabs'
84
+
85
+ MessageFormat:
86
+ enabled: false
87
+ description: 'Check commit message matches expected pattern'
88
+ pattern: '(.+)[|](.+)[|](.+)'
89
+ expected_pattern_message: '<Issue Id> | <Commit Message Description> | <Developer(s)>'
90
+ sample_message: 'DEFECT-1234 | Refactored Onboarding flow | John Doe'
91
+
92
+ RussianNovel:
93
+ enabled: false
94
+ description: 'Check length of commit message'
95
+ quiet: true
96
+
97
+ SingleLineSubject:
98
+ enabled: true
99
+ description: 'Check subject line'
100
+
101
+ SpellCheck:
102
+ enabled: false
103
+ description: 'Check for misspelled words'
104
+ required_executable: 'hunspell'
105
+ flags: ['-a']
106
+
107
+ TextWidth:
108
+ enabled: true
109
+ description: 'Check text width'
110
+ max_subject_width: 60
111
+ min_subject_width: 0
112
+ max_body_width: 72
113
+
114
+ TrailingPeriod:
115
+ enabled: true
116
+ description: 'Check for trailing periods in subject'
117
+
118
+ # Hooks that are run after `git commit` is executed, before the commit message
119
+ # editor is displayed. These hooks are ideal for syntax checkers, linters, and
120
+ # other checks that you want to run before you allow a commit object to be
121
+ # created.
122
+ PreCommit:
123
+ ALL:
124
+ problem_on_unmodified_line: report
125
+ requires_files: true
126
+ required: false
127
+ quiet: false
128
+
129
+ AuthorEmail:
130
+ enabled: true
131
+ description: 'Check author email'
132
+ requires_files: false
133
+ required: true
134
+ quiet: true
135
+ pattern: '^[^@]+@.*$'
136
+
137
+ AuthorName:
138
+ enabled: true
139
+ description: 'Check for author name'
140
+ requires_files: false
141
+ required: true
142
+ quiet: true
143
+
144
+ BerksfileCheck:
145
+ enabled: false
146
+ description: 'Check Berksfile lock'
147
+ required_executable: 'berks'
148
+ flags: ['list', '--quiet']
149
+ install_command: 'gem install berks'
150
+ include:
151
+ - 'Berksfile'
152
+ - 'Berksfile.lock'
153
+
154
+ BrokenSymlinks:
155
+ enabled: true
156
+ description: 'Check for broken symlinks'
157
+ quiet: true
158
+
159
+ BundleAudit:
160
+ enabled: false
161
+ description: 'Check for vulnerable versions of gems'
162
+ required_executable: 'bundle-audit'
163
+ install_command: 'gem install bundler-audit'
164
+
165
+ BundleCheck:
166
+ enabled: false
167
+ description: 'Check Gemfile dependencies'
168
+ required_executable: 'bundle'
169
+ flags: ['check']
170
+ install_command: 'gem install bundler'
171
+ include:
172
+ - 'Gemfile'
173
+ - 'Gemfile.lock'
174
+ - '*.gemspec'
175
+
176
+ BundleOutdated:
177
+ enabled: false
178
+ description: 'List installed gems with newer versions available'
179
+ required_executable: 'bundle'
180
+ flags: ['outdated', '--strict', '--parseable']
181
+ install_command: 'gem install bundler'
182
+
183
+ CaseConflicts:
184
+ enabled: true
185
+ description: 'Check for case-insensitivity conflicts'
186
+ quiet: true
187
+
188
+ ChamberCompare:
189
+ enabled: false
190
+ description: 'Check that settings are equivalent between namespaces'
191
+ required_executable: 'chamber'
192
+ flags: ['compare']
193
+ install_command: 'gem install chamber'
194
+ namespaces:
195
+ - ['development']
196
+ - ['test']
197
+ - ['production']
198
+ exclusions: []
199
+ include: &chamber_settings_files
200
+ - 'config/settings*.yml'
201
+ - 'config/settings*.yml.erb'
202
+ - 'config/settings/**/*.yml'
203
+ - 'config/settings/**/*.yml.erb'
204
+ - 'settings*.yml'
205
+ - 'settings*.yml.erb'
206
+ - 'settings/**/*.yml'
207
+ - 'settings/**/*.yml.erb'
208
+
209
+ ChamberSecurity:
210
+ enabled: false
211
+ description: 'Check that settings have been secured with Chamber'
212
+ required_executable: 'chamber'
213
+ flags: ['secure', '--files']
214
+ install_command: 'gem install chamber'
215
+ include: *chamber_settings_files
216
+
217
+ ChamberVerification:
218
+ enabled: false
219
+ description: 'Verify that all settings changes have been approved'
220
+ required_executable: 'chamber'
221
+ flags: ['sign', '--verify']
222
+ install_command: 'gem install chamber'
223
+ include: *chamber_settings_files
224
+
225
+ CodeSpellCheck:
226
+ enabled: false
227
+ description: 'Check if all your code is spell-checked correctly'
228
+ command: 'alfonsox'
229
+ install_command: 'gem install alfonsox'
230
+ include:
231
+ - '**/*.rb'
232
+ - '**/*.erb'
233
+
234
+ CoffeeLint:
235
+ enabled: false
236
+ description: 'Analyze with coffeelint'
237
+ required_executable: 'coffeelint'
238
+ flags: ['--reporter=csv']
239
+ install_command: 'npm install -g coffeelint'
240
+ include: '**/*.coffee'
241
+
242
+ CookStyle:
243
+ enabled: false
244
+ description: 'Analyze with CookStyle'
245
+ required_executable: 'cookstyle'
246
+ flags: ['--format=emacs', '--force-exclusion', '--display-cop-names']
247
+ install_command: 'gem install cookstyle'
248
+ include:
249
+ - '**/*.rb'
250
+ - '**/*.erb'
251
+
252
+ Credo:
253
+ enabled: false
254
+ description: 'Analyze with credo'
255
+ required_executable: 'mix'
256
+ flags: ['credo', '--all', '--strict', '--format', 'flycheck']
257
+ include:
258
+ - '**/*.ex'
259
+ - '**/*.exs'
260
+
261
+ CssLint:
262
+ enabled: false
263
+ description: 'Analyze with csslint'
264
+ required_executable: 'csslint'
265
+ flags: ['--quiet', '--format=compact']
266
+ install_command: 'npm install -g csslint'
267
+ include: '**/*.css'
268
+
269
+ Dogma:
270
+ enabled: false
271
+ description: 'Analyze with dogma'
272
+ required_executable: 'mix'
273
+ flags: ['dogma']
274
+ include:
275
+ - '**/*.ex'
276
+ - '**/*.exs'
277
+
278
+ EsLint:
279
+ enabled: false
280
+ description: 'Analyze with ESLint'
281
+ required_executable: 'eslint'
282
+ flags: ['--format=compact']
283
+ install_command: 'npm install -g eslint'
284
+ include: '**/*.js'
285
+
286
+ ExecutePermissions:
287
+ enabled: false
288
+ description: 'Check for file execute permissions'
289
+ quiet: true
290
+
291
+ Fasterer:
292
+ enabled: false
293
+ description: 'Analyzing for potential speed improvements'
294
+ required_executable: 'fasterer'
295
+ install_command: 'gem install fasterer'
296
+ include: '**/*.rb'
297
+
298
+ FixMe:
299
+ enabled: false
300
+ description: 'Check for "token" strings'
301
+ required_executable: 'grep'
302
+ flags: ['-IEHnw']
303
+ keywords: ['BROKEN', 'BUG', 'ERROR', 'FIXME', 'HACK', 'NOTE', 'OPTIMIZE', 'REVIEW', 'TODO', 'WTF', 'XXX']
304
+
305
+ FileSize:
306
+ enabled: false
307
+ description: 'Check for oversized files'
308
+ size_limit_bytes: 1_000_000
309
+
310
+ Flay:
311
+ enabled: false
312
+ description: 'Analyze ruby code for structural similarities with Flay'
313
+ required_executable: 'flay'
314
+ install_command: 'gem install flay'
315
+ mass_threshold: 16
316
+ fuzzy: 1
317
+ liberal: false
318
+ include: '**/*.rb'
319
+
320
+ Foodcritic:
321
+ enabled: false
322
+ description: 'Analyze with Foodcritic'
323
+ required_executable: 'foodcritic'
324
+ flags: ['--epic-fail=any']
325
+ install_command: 'gem install foodcritic'
326
+
327
+ ForbiddenBranches:
328
+ enabled: false
329
+ description: 'Check for commit to forbidden branch'
330
+ quiet: true
331
+ branch_patterns: ['master']
332
+
333
+ GinkgoFocus:
334
+ enabled: false
335
+ description: 'Check for "focused" tests'
336
+ required_executable: 'grep'
337
+ flags: ['-IEHnw']
338
+ keywords: ['FContext','FDescribe','FIt','FMeasure','FSpecify','FWhen']
339
+
340
+ GoFmt:
341
+ enabled: true
342
+ description: 'Fix with go fmt'
343
+ required_executable: 'go'
344
+ command: ['go', 'fmt']
345
+ parallelize: false
346
+ include: '**/*.go'
347
+
348
+ GolangciLint:
349
+ enabled: false
350
+ description: 'Analyze with golangci-lint'
351
+ required_executable: 'golangci-lint'
352
+ install_command: 'go get github.com/golangci/golangci-lint/cmd/golangci-lint'
353
+ flags: ['--out-format=line-number', '--print-issued-lines=false']
354
+ command: ['golangci-lint', 'run']
355
+ include: '**/*.go'
356
+
357
+ GoLint:
358
+ enabled: false
359
+ description: 'Analyze with golint'
360
+ required_executable: 'golint'
361
+ install_command: 'go get github.com/golang/lint/golint'
362
+ include: '**/*.go'
363
+
364
+ GoVet:
365
+ enabled: false
366
+ description: 'Analyze with go vet'
367
+ required_executable: 'go'
368
+ flags: ['tool', 'vet']
369
+ install_command: 'go get golang.org/x/tools/cmd/vet'
370
+ include: '**/*.go'
371
+
372
+ Hadolint:
373
+ enabled: false
374
+ description: 'Analyze with hadolint'
375
+ required_executable: 'hadolint'
376
+ include:
377
+ - '**/Dockerfile*'
378
+
379
+ HamlLint:
380
+ enabled: false
381
+ description: 'Analyze with haml-lint'
382
+ required_executable: 'haml-lint'
383
+ install_command: 'gem install haml-lint'
384
+ flags: ['--no-summary']
385
+ include: '**/*.haml'
386
+
387
+ HardTabs:
388
+ enabled: false
389
+ description: 'Check for hard tabs'
390
+ quiet: true
391
+ required_executable: 'grep'
392
+ flags: ['-IHn', "\t"]
393
+ exclude:
394
+ - '**/Makefile'
395
+ - '**/*.go'
396
+
397
+ Hlint:
398
+ enabled: false
399
+ description: 'Analyze with hlint'
400
+ required_executable: 'hlint'
401
+ install_command: 'cabal install hlint'
402
+ include: '**/*.hs'
403
+
404
+ HtmlHint:
405
+ enabled: false
406
+ description: 'Analyze with HTMLHint'
407
+ required_executable: 'htmlhint'
408
+ install_command: 'npm install -g htmlhint'
409
+ include: '**/*.html'
410
+
411
+ HtmlTidy:
412
+ enabled: false
413
+ description: 'Analyze HTML with tidy'
414
+ required_executable: 'tidy'
415
+ flags: ['-errors', '-quiet', '-utf8']
416
+ include: '**/*.html'
417
+
418
+ ImageOptim:
419
+ enabled: false
420
+ description: 'Check for optimizable images'
421
+ required_executable: 'image_optim'
422
+ install_command: 'gem install image_optim'
423
+ include:
424
+ - '**/*.gif'
425
+ - '**/*.jpeg'
426
+ - '**/*.jpg'
427
+ - '**/*.png'
428
+ - '**/*.svg'
429
+
430
+ JavaCheckstyle:
431
+ enabled: false
432
+ description: 'Analyze with checkstyle'
433
+ required_executable: 'checkstyle'
434
+ flags: ['-c', '/sun_checks.xml']
435
+ include: '**/*.java'
436
+
437
+ Jscs:
438
+ enabled: false
439
+ description: 'Analyze with JSCS'
440
+ required_executable: 'jscs'
441
+ flags: ['--reporter=inline']
442
+ install_command: 'npm install -g jscs'
443
+ include: '**/*.js'
444
+
445
+ JsHint:
446
+ enabled: false
447
+ description: 'Analyze with JSHint'
448
+ required_executable: 'jshint'
449
+ flags: ['--verbose']
450
+ install_command: 'npm install -g jshint'
451
+ include: '**/*.js'
452
+
453
+ JsLint:
454
+ enabled: false
455
+ description: 'Analyze with JSLint'
456
+ required_executable: 'jslint'
457
+ flags: ['--terse']
458
+ install_command: 'npm install -g jslint'
459
+ include: '**/*.js'
460
+
461
+ Jsl:
462
+ enabled: false
463
+ description: 'Analyze with JSL'
464
+ required_executable: 'jsl'
465
+ flags: ['-nologo', '-nofilelisting', '-nocontext', '-nosummary']
466
+ include: '**/*.js'
467
+
468
+ JsonSyntax:
469
+ enabled: false
470
+ description: 'Validate JSON syntax'
471
+ required_library: 'json'
472
+ install_command: 'gem install json'
473
+ include: '**/*.json'
474
+
475
+ KtLint:
476
+ enabled: false
477
+ description: 'Analyze with KtLint'
478
+ required_executable: 'ktlint'
479
+ flags: []
480
+ include: '**/*.kt'
481
+
482
+ LicenseFinder:
483
+ enabled: false
484
+ description: 'Analyze with LicenseFinder'
485
+ required_executable: 'license_finder'
486
+ install_command: 'gem install license_finder'
487
+ include:
488
+ - 'Gemfile'
489
+ - 'requirements.txt'
490
+ - 'package.json'
491
+ - 'pom.xml'
492
+ - 'build.gradle'
493
+ - 'bower.json'
494
+ - 'Podfile'
495
+ - 'rebar.config'
496
+
497
+ LicenseHeader:
498
+ enabled: false
499
+ license_file: 'LICENSE.txt'
500
+ description: 'Check source files for license headers'
501
+
502
+ LocalPathsInGemfile:
503
+ enabled: false
504
+ description: 'Check for local paths in Gemfile'
505
+ required_executable: 'grep'
506
+ flags: ['-IHnE', "^[^#]*((\\bpath:)|(:path[ \t]*=>))"]
507
+ include: '**/Gemfile'
508
+
509
+ Mdl:
510
+ enabled: false
511
+ description: 'Analyze markdown files with mdl'
512
+ required_executable: 'mdl'
513
+ flags: ['--json']
514
+ install_command: 'gem install mdl'
515
+ include: '**/*.md'
516
+
517
+ MergeConflicts:
518
+ enabled: true
519
+ description: 'Check for merge conflicts'
520
+ quiet: true
521
+ required_executable: 'grep'
522
+ flags: ['-IHn', "^<<<<<<<[ \t]"]
523
+
524
+ PuppetMetadataJsonLint:
525
+ enabled: false
526
+ description: 'Checking module metadata'
527
+ flags: ['--strict-license', '--strict-dependencies', '--fail-on-warning']
528
+ include: 'metadata.json'
529
+ required_executable: 'metadata-json-lint'
530
+ install_command: 'gem install metadata-json-lint'
531
+
532
+ NginxTest:
533
+ enabled: false
534
+ description: 'Test nginx configs'
535
+ required_executable: 'nginx'
536
+ flags: ['-t']
537
+ include: '**/nginx.conf'
538
+
539
+ Pep257: # Deprecated – use Pydocstyle instead.
540
+ enabled: false
541
+ description: 'Analyze docstrings with pep257'
542
+ required_executable: 'pep257'
543
+ install_command: 'pip install pep257'
544
+ include: '**/*.py'
545
+
546
+ Pep8: # Deprecated – use Pycodestyle instead.
547
+ enabled: false
548
+ description: 'Analyze with pep8'
549
+ required_executable: 'pep8'
550
+ install_command: 'pip install pep8'
551
+ include: '**/*.py'
552
+
553
+ PhpLint:
554
+ enabled: false
555
+ description: 'Testing with PHP lint'
556
+ required_executable: 'php'
557
+ command: 'php'
558
+ flags: ['-l']
559
+ include: '**/*.php'
560
+
561
+ PhpCs:
562
+ enabled: false
563
+ description: 'Analyze with PHP_CodeSniffer'
564
+ command: 'vendor/bin/phpcs'
565
+ flags: ['--standard=PSR2', '--report=csv']
566
+ include: '**/*.php'
567
+
568
+ PhpCsFixer:
569
+ enabled: false
570
+ description: 'Fix non compliant PHP files'
571
+ required_executable: 'php-cs-fixer'
572
+ command: 'vendor/bin/php-cs-fixer'
573
+ flags: ['fix', '-v', '--path-mode=intersection']
574
+ install_command: 'composer global require friendsofphp/php-cs-fixer'
575
+ include: '**/*.php'
576
+
577
+ PhpStan:
578
+ description: 'Analyze with phpstan'
579
+ enabled: false
580
+ command: 'phpstan'
581
+ flags: ['analyze', '--errorFormat=raw']
582
+ include:
583
+ - '**/*.php'
584
+
585
+ Pronto:
586
+ enabled: false
587
+ description: 'Analyzing with pronto'
588
+ required_executable: 'pronto'
589
+ install_command: 'gem install pronto'
590
+ flags: ['run', '--staged', '--exit-code']
591
+
592
+ PuppetLint:
593
+ enabled: false
594
+ description: 'Analyze with puppet-lint'
595
+ required_executable: 'puppet-lint'
596
+ install_command: 'gem install puppet-lint'
597
+ flags:
598
+ - '--log-format="%{fullpath}:%{line}:%{column}:%{KIND}: %{message} (%{check})"'
599
+ - '--fail-on-warnings'
600
+ - '--error-level=all'
601
+ include: '**/*.pp'
602
+
603
+ Pycodestyle:
604
+ enabled: false
605
+ description: 'Analyze with pycodestyle'
606
+ required_executable: 'pycodestyle'
607
+ install_command: 'pip install pycodestyle'
608
+ include: '**/*.py'
609
+
610
+ Pydocstyle:
611
+ enabled: false
612
+ description: 'Analyze docstrings with pydocstyle'
613
+ required_executable: 'pydocstyle'
614
+ install_command: 'pip install pydocstyle'
615
+ include: '**/*.py'
616
+
617
+ Pyflakes:
618
+ enabled: false
619
+ description: 'Analyze with pyflakes'
620
+ required_executable: 'pyflakes'
621
+ install_command: 'pip install pyflakes'
622
+ include: '**/*.py'
623
+
624
+ Pylint:
625
+ enabled: false
626
+ description: 'Analyze with Pylint'
627
+ required_executable: 'pylint'
628
+ install_command: 'pip install pylint'
629
+ flags:
630
+ - '--msg-template="{path}:{line}:{C}: {msg} ({symbol})"'
631
+ - '--reports=n'
632
+ - '--persistent=n'
633
+ include: '**/*.py'
634
+
635
+ PythonFlake8:
636
+ enabled: false
637
+ description: 'Analyze with flake8'
638
+ required_executable: 'flake8'
639
+ install_command: 'pip install flake8'
640
+ include: '**/*.py'
641
+
642
+ RakeTarget:
643
+ enabled: false
644
+ description: 'Run rake targets'
645
+ # targets:
646
+ # - 'lint'
647
+ # - 'validate'
648
+ # - '...'
649
+ required_executable: 'rake'
650
+ install_command: 'gem install rake'
651
+
652
+ RailsBestPractices:
653
+ enabled: false
654
+ description: 'Analyze with RailsBestPractices'
655
+ required_executable: 'rails_best_practices'
656
+ flags: ['--without-color']
657
+ install_command: 'gem install rails_best_practices'
658
+
659
+ RailsSchemaUpToDate:
660
+ enabled: false
661
+ description: 'Check if database schema is up to date'
662
+ include:
663
+ - 'db/migrate/*.rb'
664
+ - 'db/schema.rb'
665
+ - 'db/structure.sql'
666
+
667
+ Reek:
668
+ enabled: false
669
+ description: 'Analyze with Reek'
670
+ required_executable: 'reek'
671
+ flags: ['--single-line', '--no-color', '--force-exclusion']
672
+ install_command: 'gem install reek'
673
+ include:
674
+ - '**/*.gemspec'
675
+ - '**/*.rake'
676
+ - '**/*.rb'
677
+ - '**/Gemfile'
678
+ - '**/Rakefile'
679
+
680
+ RstLint:
681
+ enabled: false
682
+ description: 'Analyze reStructuredText files with rst-lint'
683
+ required_executable: 'rst-lint'
684
+ install_command: 'pip install restructuredtext_lint'
685
+ include: '**/*.rst'
686
+
687
+ RuboCop:
688
+ enabled: false
689
+ description: 'Analyze with RuboCop'
690
+ required_executable: 'rubocop'
691
+ flags: ['--format=emacs', '--force-exclusion', '--display-cop-names']
692
+ install_command: 'gem install rubocop'
693
+ include:
694
+ - '**/*.gemspec'
695
+ - '**/*.rake'
696
+ - '**/*.rb'
697
+ - '**/*.ru'
698
+ - '**/Gemfile'
699
+ - '**/Rakefile'
700
+
701
+ RubyLint:
702
+ enabled: false
703
+ description: 'Analyze with ruby-lint'
704
+ required_executable: 'ruby-lint'
705
+ flags: ['--presenter=syntastic', '--levels=error,warning']
706
+ install_command: 'gem install ruby-lint'
707
+ include:
708
+ - '**/*.gemspec'
709
+ - '**/*.rb'
710
+
711
+ RubySyntax:
712
+ enabled: false
713
+ description: 'Check ruby syntax'
714
+ required_executable: 'ruby'
715
+ command: [
716
+ 'ruby',
717
+ '-e',
718
+ 'ARGV.each { |applicable_file| ruby_c_output = `ruby -c #{applicable_file}`; puts ruby_c_output unless $?.success? }'
719
+ ]
720
+ include:
721
+ - '**/*.gemspec'
722
+ - '**/*.rb'
723
+
724
+ Scalariform:
725
+ enabled: false
726
+ description: 'Check formatting with Scalariform'
727
+ required_executable: 'scalariform'
728
+ flags: ['--test']
729
+ include: '**/*.scala'
730
+
731
+ Scalastyle:
732
+ enabled: false
733
+ description: 'Analyze with Scalastyle'
734
+ required_executable: 'scalastyle'
735
+ include: '**/*.scala'
736
+
737
+ ScssLint:
738
+ enabled: false
739
+ description: 'Analyze with scss-lint'
740
+ required_library: 'json'
741
+ required_executable: 'scss-lint'
742
+ flags: ['--format', 'JSON']
743
+ install_command: 'gem install scss_lint'
744
+ include: '**/*.scss'
745
+
746
+ SemiStandard:
747
+ enabled: false
748
+ description: 'Analyze with semistandard'
749
+ required_executable: 'semistandard'
750
+ flags: ['--verbose']
751
+ install_command: 'npm install -g semistandard'
752
+ include: '**/*.js'
753
+
754
+ ShellCheck:
755
+ enabled: false
756
+ description: 'Analyze with ShellCheck'
757
+ required_executable: 'shellcheck'
758
+ flags: ['--format=gcc']
759
+ include: '**/*.sh'
760
+
761
+ SlimLint:
762
+ enabled: false
763
+ description: 'Analyze with slim-lint'
764
+ required_executable: 'slim-lint'
765
+ install_command: 'gem install slim_lint'
766
+ include: '**/*.slim'
767
+
768
+ Sqlint:
769
+ enabled: false
770
+ description: 'Analyze with sqlint'
771
+ required_executable: 'sqlint'
772
+ install_command: 'gem install sqlint'
773
+ include: '**/*.sql'
774
+
775
+ Standard:
776
+ enabled: false
777
+ description: 'Analyze with standard'
778
+ required_executable: 'standard'
779
+ flags: ['--verbose']
780
+ install_command: 'npm install -g standard'
781
+ include: '**/*.js'
782
+
783
+ Stylelint:
784
+ enabled: false
785
+ description: 'Check styles with Stylelint'
786
+ required_executable: 'stylelint'
787
+ flags: ['-f', 'compact']
788
+ install_command: 'npm install -g stylelint'
789
+ include:
790
+ - '**/*.scss'
791
+ - '**/*.css'
792
+ - '**/*.less'
793
+
794
+ SwiftLint:
795
+ enabled: false
796
+ description: 'Analyze with SwiftLint'
797
+ required_executable: 'swiftlint'
798
+ flags: ['lint', '--strict']
799
+ install_command: 'brew install swiftlint'
800
+ include: '**/*.swift'
801
+
802
+ TerraformFormat:
803
+ enabled: false
804
+ description: 'Analyze with Terraform'
805
+ required_executable: 'terraform'
806
+ flags: ['fmt', '-check=true', '-diff=false']
807
+ include: '**/*.tf'
808
+
809
+ TsLint:
810
+ enabled: false
811
+ description: 'Analyze with TSLint'
812
+ required_executable: 'tslint'
813
+ install_command: 'npm install -g tslint typescript'
814
+ include: '**/*.ts'
815
+
816
+ TrailingWhitespace:
817
+ enabled: false
818
+ description: 'Check for trailing whitespace'
819
+ required_executable: 'grep'
820
+ flags: ['-IHn', "[ \t]$"]
821
+
822
+ TravisLint:
823
+ enabled: false
824
+ description: 'Check Travis CI configuration'
825
+ required_executable: 'travis'
826
+ flags: ['lint']
827
+ install_command: 'gem install travis'
828
+ include: '.travis.yml'
829
+
830
+ Vint:
831
+ enabled: false
832
+ description: 'Analyze with Vint'
833
+ required_executable: 'vint'
834
+ install_command: 'pip install vim-vint'
835
+ include:
836
+ - '**/*.vim'
837
+ - '**/*.vimrc'
838
+
839
+ W3cCss:
840
+ enabled: false
841
+ description: 'Analyze with W3C CSS validation service'
842
+ required_library: 'w3c_validators'
843
+ install_command: 'gem install w3c_validators'
844
+ validator_uri: 'http://jigsaw.w3.org/css-validator/validator'
845
+ language: 'en'
846
+ profile: 'css3'
847
+ warn_level: 2
848
+ include:
849
+ - '**/*.css'
850
+
851
+ W3cHtml:
852
+ enabled: false
853
+ description: 'Analyze with W3C HTML validation service'
854
+ required_library: 'w3c_validators'
855
+ install_command: 'gem install w3c_validators'
856
+ validator_uri: 'https://validator.w3.org/nu'
857
+ charset: 'utf-8'
858
+ doctype: 'HTML5'
859
+ include:
860
+ - '**/*.html'
861
+
862
+ LineEndings:
863
+ description: 'Check line endings'
864
+ enabled: false
865
+ eol: "\n" # or "\r\n" for Windows-style newlines
866
+
867
+ XmlLint:
868
+ enabled: false
869
+ description: 'Analyze with xmllint'
870
+ required_executable: 'xmllint'
871
+ flags: ['--noout']
872
+ include:
873
+ - '**/*.xml'
874
+ - '**/*.svg'
875
+
876
+ XmlSyntax:
877
+ enabled: false
878
+ description: 'Check XML syntax'
879
+ required_library: 'rexml/document'
880
+ include:
881
+ - '**/*.xml'
882
+ - '**/*.svg'
883
+
884
+ YamlLint:
885
+ enabled: false
886
+ description: 'Analyze with YAMLlint'
887
+ required_executable: 'yamllint'
888
+ flags: ['--format=parsable']
889
+ install_command: 'pip install yamllint'
890
+ include:
891
+ - '**/*.yaml'
892
+ - '**/*.yml'
893
+
894
+ YamlSyntax:
895
+ enabled: false
896
+ description: 'Check YAML syntax'
897
+ required_library: 'yaml'
898
+ include:
899
+ - '**/*.yaml'
900
+ - '**/*.yml'
901
+
902
+ YardCoverage:
903
+ enabled: false
904
+ description: 'Checking for yard coverage'
905
+ command: ['yard', 'stats', '--list-undoc', '--compact']
906
+ flags: ['--private', '--protected']
907
+ required_executable: 'yard'
908
+ install_command: 'gem install yard'
909
+ min_coverage_percentage: 100
910
+ include:
911
+ - '/**/*.rb'
912
+
913
+ YarnCheck:
914
+ enabled: false
915
+ description: 'Check yarn.lock dependencies'
916
+ required_executable: 'yarn'
917
+ flags: ['check', '--silent', '--no-progress', '--non-interactive']
918
+ install_command: 'npm install --global yarn'
919
+ include:
920
+ - 'package.json'
921
+ - 'yarn.lock'
922
+
923
+ # Hooks that run after HEAD changes or a file is explicitly checked out.
924
+ PostCheckout:
925
+ ALL:
926
+ required: false
927
+ quiet: false
928
+ skip_file_checkout: true
929
+
930
+ BowerInstall:
931
+ enabled: false
932
+ description: 'Install bower dependencies'
933
+ requires_files: true
934
+ required_executable: 'bower'
935
+ install_command: 'npm install -g bower'
936
+ flags: ['install']
937
+ include: 'bower.json'
938
+
939
+ BundleInstall:
940
+ enabled: false
941
+ description: 'Install Bundler dependencies'
942
+ requires_files: true
943
+ required_executable: 'bundle'
944
+ install_command: 'gem install bundler'
945
+ flags: ['install']
946
+ include:
947
+ - 'Gemfile'
948
+ - 'Gemfile.lock'
949
+ - '*.gemspec'
950
+
951
+ ComposerInstall:
952
+ enabled: false
953
+ description: 'Install composer dependencies'
954
+ requires_files: true
955
+ required_executable: 'composer'
956
+ install_command: 'curl -sS https://getcomposer.org/installer | sudo php -- --install-dir=/usr/local/bin --filename=composer'
957
+ flags: ['install']
958
+ include: 'composer.json'
959
+
960
+ GitLfs:
961
+ enabled: false
962
+ description: 'Check status of lockable files tracked by Git LFS'
963
+ required_executable: 'git-lfs'
964
+ install_command: 'brew install git-lfs'
965
+
966
+ IndexTags:
967
+ enabled: false
968
+ description: 'Generate tags file from source'
969
+ quiet: true
970
+ required_executable: 'ctags'
971
+
972
+ NpmInstall:
973
+ enabled: false
974
+ description: 'Install NPM dependencies'
975
+ requires_files: true
976
+ required_executable: 'npm'
977
+ flags: ['install']
978
+ include:
979
+ - 'package.json'
980
+ - 'npm-shrinkwrap.json'
981
+
982
+ SubmoduleStatus:
983
+ enabled: false
984
+ description: 'Check submodule status'
985
+ quiet: true
986
+ recursive: false
987
+
988
+ YarnInstall:
989
+ enabled: false
990
+ description: 'Install Yarn dependencies'
991
+ requires_files: true
992
+ required_executable: 'yarn'
993
+ flags: ['install']
994
+ include:
995
+ - 'package.json'
996
+ - 'yarn.lock'
997
+
998
+ # Hooks that run after a commit is created.
999
+ PostCommit:
1000
+ ALL:
1001
+ requires_files: false
1002
+ required: false
1003
+ quiet: false
1004
+
1005
+ BowerInstall:
1006
+ enabled: false
1007
+ description: 'Install bower dependencies'
1008
+ requires_files: true
1009
+ required_executable: 'bower'
1010
+ install_command: 'npm install -g bower'
1011
+ flags: ['install']
1012
+ include: 'bower.json'
1013
+
1014
+ BundleInstall:
1015
+ enabled: false
1016
+ description: 'Install Bundler dependencies'
1017
+ requires_files: true
1018
+ required_executable: 'bundle'
1019
+ install_command: 'gem install bundler'
1020
+ flags: ['install']
1021
+ include:
1022
+ - 'Gemfile'
1023
+ - 'Gemfile.lock'
1024
+ - '*.gemspec'
1025
+
1026
+ Commitplease:
1027
+ enabled: false
1028
+ description: 'Analyze with Commitplease'
1029
+ required_executable: './node_modules/.bin/commitplease'
1030
+ install_command: 'npm install --save-dev commitplease'
1031
+ flags: ['-1']
1032
+
1033
+ ComposerInstall:
1034
+ enabled: false
1035
+ description: 'Install composer dependencies'
1036
+ requires_files: true
1037
+ required_executable: 'composer'
1038
+ install_command: 'curl -sS https://getcomposer.org/installer | sudo php -- --install-dir=/usr/local/bin --filename=composer'
1039
+ flags: ['install']
1040
+ include: 'composer.json'
1041
+
1042
+ GitGuilt:
1043
+ enabled: false
1044
+ description: 'Calculate changes in blame since last commit'
1045
+ requires_files: true
1046
+ required_executable: 'git-guilt'
1047
+ flags: ['HEAD~', 'HEAD']
1048
+ install_command: 'npm install -g git-guilt'
1049
+
1050
+ GitLfs:
1051
+ enabled: false
1052
+ description: 'Check status of lockable files tracked by Git LFS'
1053
+ required_executable: 'git-lfs'
1054
+ install_command: 'brew install git-lfs'
1055
+
1056
+ IndexTags:
1057
+ enabled: false
1058
+ description: 'Generate tags file from source'
1059
+ quiet: true
1060
+ required_executable: 'ctags'
1061
+
1062
+ NpmInstall:
1063
+ enabled: false
1064
+ description: 'Install NPM dependencies'
1065
+ requires_files: true
1066
+ required_executable: 'npm'
1067
+ flags: ['install']
1068
+ include:
1069
+ - 'package.json'
1070
+ - 'npm-shrinkwrap.json'
1071
+
1072
+ SubmoduleStatus:
1073
+ enabled: false
1074
+ description: 'Check submodule status'
1075
+ quiet: true
1076
+ recursive: false
1077
+
1078
+ YarnInstall:
1079
+ enabled: false
1080
+ description: 'Install Yarn dependencies'
1081
+ requires_files: true
1082
+ required_executable: 'yarn'
1083
+ flags: ['install']
1084
+ include:
1085
+ - 'package.json'
1086
+ - 'yarn.lock'
1087
+
1088
+ # Hooks that run after `git merge` executes successfully (no merge conflicts).
1089
+ PostMerge:
1090
+ ALL:
1091
+ requires_files: false
1092
+ quiet: false
1093
+
1094
+ BowerInstall:
1095
+ enabled: false
1096
+ description: 'Install bower dependencies'
1097
+ requires_files: true
1098
+ required_executable: 'bower'
1099
+ install_command: 'npm install -g bower'
1100
+ flags: ['install']
1101
+ include: 'bower.json'
1102
+
1103
+ BundleInstall:
1104
+ enabled: false
1105
+ description: 'Install Bundler dependencies'
1106
+ requires_files: true
1107
+ required_executable: 'bundle'
1108
+ install_command: 'gem install bundler'
1109
+ flags: ['install']
1110
+ include:
1111
+ - 'Gemfile'
1112
+ - 'Gemfile.lock'
1113
+ - '*.gemspec'
1114
+
1115
+ ComposerInstall:
1116
+ enabled: false
1117
+ description: 'Install composer dependencies'
1118
+ requires_files: true
1119
+ required_executable: 'composer'
1120
+ install_command: 'curl -sS https://getcomposer.org/installer | sudo php -- --install-dir=/usr/local/bin --filename=composer'
1121
+ flags: ['install']
1122
+ include: 'composer.json'
1123
+
1124
+ GitLfs:
1125
+ enabled: false
1126
+ description: 'Check status of lockable files tracked by Git LFS'
1127
+ required_executable: 'git-lfs'
1128
+ install_command: 'brew install git-lfs'
1129
+
1130
+ IndexTags:
1131
+ enabled: false
1132
+ description: 'Generate tags file from source'
1133
+ quiet: true
1134
+ required_executable: 'ctags'
1135
+
1136
+ NpmInstall:
1137
+ enabled: false
1138
+ description: 'Install NPM dependencies'
1139
+ requires_files: true
1140
+ required_executable: 'npm'
1141
+ flags: ['install']
1142
+ include:
1143
+ - 'package.json'
1144
+ - 'npm-shrinkwrap.json'
1145
+
1146
+ SubmoduleStatus:
1147
+ enabled: false
1148
+ description: 'Check submodule status'
1149
+ quiet: true
1150
+ recursive: false
1151
+
1152
+ YarnInstall:
1153
+ enabled: false
1154
+ description: 'Install Yarn dependencies'
1155
+ requires_files: true
1156
+ required_executable: 'yarn'
1157
+ flags: ['install']
1158
+ include:
1159
+ - 'package.json'
1160
+ - 'yarn.lock'
1161
+
1162
+ # Hooks that run after a commit is modified by an amend or rebase.
1163
+ PostRewrite:
1164
+ ALL:
1165
+ requires_files: false
1166
+ quiet: false
1167
+
1168
+ BowerInstall:
1169
+ enabled: false
1170
+ description: 'Install bower dependencies'
1171
+ requires_files: true
1172
+ required_executable: 'bower'
1173
+ install_command: 'npm install -g bower'
1174
+ flags: ['install']
1175
+ include: 'bower.json'
1176
+
1177
+ BundleInstall:
1178
+ enabled: false
1179
+ description: 'Install Bundler dependencies'
1180
+ requires_files: true
1181
+ required_executable: 'bundle'
1182
+ install_command: 'gem install bundler'
1183
+ flags: ['install']
1184
+ include:
1185
+ - 'Gemfile'
1186
+ - 'Gemfile.lock'
1187
+ - '*.gemspec'
1188
+
1189
+ ComposerInstall:
1190
+ enabled: false
1191
+ description: 'Install composer dependencies'
1192
+ requires_files: true
1193
+ required_executable: 'composer'
1194
+ install_command: 'curl -sS https://getcomposer.org/installer | sudo php -- --install-dir=/usr/local/bin --filename=composer'
1195
+ flags: ['install']
1196
+ include: 'composer.json'
1197
+
1198
+ IndexTags:
1199
+ enabled: false
1200
+ description: 'Generate tags file from source'
1201
+ quiet: true
1202
+ required_executable: 'ctags'
1203
+
1204
+ NpmInstall:
1205
+ enabled: false
1206
+ description: 'Install NPM dependencies'
1207
+ requires_files: true
1208
+ required_executable: 'npm'
1209
+ flags: ['install']
1210
+ include:
1211
+ - 'package.json'
1212
+ - 'npm-shrinkwrap.json'
1213
+
1214
+ SubmoduleStatus:
1215
+ enabled: false
1216
+ description: 'Check submodule status'
1217
+ quiet: true
1218
+ recursive: false
1219
+
1220
+ YarnInstall:
1221
+ enabled: false
1222
+ description: 'Install Yarn dependencies'
1223
+ requires_files: true
1224
+ required_executable: 'yarn'
1225
+ flags: ['install']
1226
+ include:
1227
+ - 'package.json'
1228
+ - 'yarn.lock'
1229
+
1230
+ # Hooks that run during the `prepare-commit-msg` hook.
1231
+ PrepareCommitMsg:
1232
+ ALL:
1233
+ requires_files: false
1234
+ required: false
1235
+ quiet: false
1236
+
1237
+ ReplaceBranch:
1238
+ enabled: false
1239
+ description: 'Prepends the commit message with text based on the branch name'
1240
+ branch_pattern: '\A.*\w+[-_](\d+).*\z'
1241
+ replacement_text: '[#\1]'
1242
+ skipped_commit_types: ['message', 'template', 'merge', 'squash']
1243
+ on_fail: warn
1244
+
1245
+ # Hooks that run during `git push`, after remote refs have been updated but
1246
+ # before any objects have been transferred.
1247
+ PrePush:
1248
+ ALL:
1249
+ requires_files: false
1250
+ required: false
1251
+ quiet: false
1252
+
1253
+ Brakeman:
1254
+ enabled: false
1255
+ description: 'Check for security vulnerabilities'
1256
+ required_executable: 'brakeman'
1257
+ flags: ['--exit-on-warn', '--quiet', '--summary']
1258
+ install_command: 'gem install brakeman'
1259
+
1260
+ CargoTest:
1261
+ enabled: false
1262
+ description: 'Run tests with cargo'
1263
+ required_executable: 'cargo'
1264
+ flags: ['test']
1265
+ include: 'src/**/*.rs'
1266
+
1267
+ GitLfs:
1268
+ enabled: false
1269
+ description: 'Upload files tracked by Git LFS'
1270
+ required_executable: 'git-lfs'
1271
+ install_command: 'brew install git-lfs'
1272
+
1273
+ GolangciLint:
1274
+ enabled: false
1275
+ description: 'Analyze with golangci-lint'
1276
+ required_executable: 'golangci-lint'
1277
+ install_command: 'go get github.com/golangci/golangci-lint/cmd/golangci-lint'
1278
+ flags: ['--out-format=line-number', '--print-issued-lines=false']
1279
+ command: ['golangci-lint', 'run']
1280
+
1281
+ GoTest:
1282
+ enabled: false
1283
+ description: 'Run go test suite'
1284
+ required_executable: 'go'
1285
+ command: ['go', 'test', './...']
1286
+
1287
+ Minitest:
1288
+ enabled: false
1289
+ description: 'Run Minitest test suite'
1290
+ command: ['ruby', '-Ilib:test', '-rminitest', "-e 'exit! Minitest.run'"]
1291
+ include: 'test/**/*_test.rb'
1292
+
1293
+ PhpUnit:
1294
+ enabled: false
1295
+ description: 'Run PhpUnit test suite'
1296
+ command: 'vendor/bin/phpunit'
1297
+ flags: ['--bootstrap', 'vendor/autoload.php', 'tests']
1298
+ install_command: 'composer require --dev phpunit/phpunit'
1299
+
1300
+ Pronto:
1301
+ enabled: false
1302
+ description: 'Analyzing with pronto'
1303
+ required_executable: 'pronto'
1304
+ install_command: 'gem install pronto'
1305
+ flags: ['run', '--exit-code']
1306
+
1307
+ ProtectedBranches:
1308
+ enabled: false
1309
+ description: 'Check for illegal pushes to protected branches'
1310
+ destructive_only: true
1311
+ branches: ['master']
1312
+
1313
+ Pytest:
1314
+ enabled: false
1315
+ description: 'Run pytest test suite'
1316
+ required_executable: 'pytest'
1317
+ install_command: 'pip install -U pytest'
1318
+
1319
+ PythonNose:
1320
+ enabled: false
1321
+ description: 'Run nose test suite'
1322
+ required_executable: 'nosetests'
1323
+ install_command: 'pip install -U nose'
1324
+
1325
+ RSpec:
1326
+ enabled: false
1327
+ description: 'Run RSpec test suite'
1328
+ required_executable: 'rspec'
1329
+
1330
+ RakeTarget:
1331
+ enabled: false
1332
+ description: 'Run rake targets'
1333
+ # targets:
1334
+ # - 'lint'
1335
+ # - 'validate'
1336
+ # - '...'
1337
+ required_executable: 'rake'
1338
+ install_command: 'gem install rake'
1339
+
1340
+ TestUnit:
1341
+ enabled: false
1342
+ description: 'Run Test::Unit test suite'
1343
+ command: ['ruby', '-Ilib:test', '-rtest/unit', "-e 'exit! Test::Unit::AutoRunner.run'"]
1344
+
1345
+ # Hooks that run during `git rebase`, before any commits are rebased.
1346
+ # If a hook fails, the rebase is aborted.
1347
+ PreRebase:
1348
+ ALL:
1349
+ requires_files: false
1350
+ required: false
1351
+ quiet: false
1352
+
1353
+ MergedCommits:
1354
+ enabled: false
1355
+ description: 'Check for commits that have already been merged'
1356
+ branches: ['master']