anchor.diff:  %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
   %%% Private
   %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
  -
  -%%% Rocking it hard
  -
  --spec run(elvis_config:config()) -> ok | fail.
  -run(Config = #{files := Files, rules := _Rules}) ->
  -    Results = [apply_rules(Config, File) || File <- Files],
  -
  -    elvis_result:print(Results),
  -    elvis_result:status(Results);
  -run(Config = #{src_dirs := SrcDirs, rules := _Rules}) ->
  -    Pattern = ?FILE_PATTERN,
  -    Files = elvis_utils:find_files(SrcDirs, Pattern),
  -
  -    run(Config#{files => Files});
  -run(Config) ->
  -    throw({invalid_config, Config}).
   
   -spec apply_rules(elvis_config:config(), elvis_utils:file()) ->
       elvis_result:file_result().
  
positive.code:             help()
      end.
  
  %%% Commands
  
  -spec rock() -> ok.
  rock() ->
      Config = elvis_config:default(),
      rock(Config).
  
  -spec rock(elvis_config:config()) -> ok.
  rock(Config) ->
      run(Config).
  
  -spec git_hook(elvis_config:config()) -> ok.
  git_hook(Config) ->
  
negative.code: 
      NewConfig = Config#{files => ErlFiles},
  
      case rock(NewConfig) of
          fail -> elvis_utils:erlang_halt(1);
          ok -> ok
      end.
  