[
 {
   elvis,
   [
    {config,
     [#{dirs    => [
                    "src"
                    %% TODO: "test"
                   ],
        filter  => "*.erl",
        rules   => [
                    {elvis_style, no_tabs},
                    {elvis_style, no_trailing_whitespace},
                    {elvis_style, no_if_expression},
                    {elvis_style, no_nested_try_catch},
                    {elvis_style, invalid_dynamic_call,
                     #{ignore => [
                                  elli,
                                  elli_http,
                                  elli_middleware,
                                  elli_test
                                 ]}},
                    {elvis_style, used_ignored_variable},
                    {elvis_style, no_behavior_info},
                    {elvis_style, state_record_and_type},
                    {elvis_style, no_spec_with_records},
                    {elvis_style, dont_repeat_yourself},
                    {elvis_style, no_debug_call}
                   ],
        ruleset => erl_files
       },
      #{dirs    => ["."],
        filter  => "Makefile",
        ruleset => makefiles
       },
      #{dirs    => ["."],
        filter  => "rebar.config",
        ruleset => rebar_config
       },
      #{dirs    => ["."],
        filter  => "elvis.config",
        ruleset => elvis_config
       }
     ]
    }
   ]
 }
].
